1 /* 2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003. 3 ** See ../LICENSE for license information. 4 ** 5 */ 6 /* 7 ** fileId.h 8 */ 9 10 # ifndef fileId_H 11 # define fileId_H 12 13 immut_typedef int fileId; 14 15 /*@constant fileId fileId_invalid; @*/ 16 # define fileId_invalid -1 17 18 extern bool fileId_isValid (fileId) /*@*/ ; 19 # define fileId_isValid(f) ((f) > fileId_invalid) 20 21 extern bool fileId_isInvalid (fileId) /*@*/ ; 22 # define fileId_isInvalid(f) ((f) == fileId_invalid) 23 24 extern bool fileId_equal (fileId p_t1, fileId p_t2) /*@*/ ; 25 # define fileId_equal(p_t1, p_t2) (fileTable_sameBase (context_fileTable (), p_t1, p_t2)) 26 /* evs 2000-07-27: was 27 # define fileId_equal(t1,t2) ((t1) == (t2)) 28 */ 29 30 /* fileId_baseEqual moved to fileTable.h */ 31 32 extern /*@unused@*/ int 33 fileId_compare (/*@sef@*/ fileId p_t1, /*@sef@*/ fileId p_t2) /*@*/ ; 34 # define fileId_compare(t1,t2) (int_compare (t1, t2)) 35 36 # else 37 # error "Multiple include" 38 # endif 39