]>
Commit | Line | Data |
---|---|---|
885824d3 | 1 | /* |
c0de361f | 2 | ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003. |
885824d3 | 3 | ** See ../LICENSE for license information. |
4 | ** | |
5 | */ | |
6 | /* | |
7 | ** misc.h | |
8 | ** | |
9 | ** (general.c) | |
10 | */ | |
11 | ||
12 | # ifndef MISC_H | |
13 | # define MISC_H | |
14 | ||
885824d3 | 15 | # include "lclMisc.h" |
885824d3 | 16 | |
17 | extern void assertSet (/*@special@*/ /*@sef@*/ /*@unused@*/ void *p_x) | |
18 | /*@sets p_x, *p_x@*/ ; | |
19 | # define assertSet(x) ; | |
20 | ||
cd7d9b17 | 21 | extern void assertDefined (/*@sef@*/ /*@unused@*/ void *p_x) ; |
22 | # define assertDefined(x) ; | |
23 | ||
24 | ||
885824d3 | 25 | /*@-czechfcns@*/ |
e5081f8c | 26 | extern int size_toInt (size_t p_x) /*@*/ /*@ensures result == p_x@*/; |
27 | extern long size_toLong (size_t p_x) /*@*/ /*@ensures result == p_x@*/ ; | |
28 | extern size_t size_fromInt (int p_x) /*@*/ /*@ensures result == p_x@*/ ; | |
29 | extern size_t size_fromLong (long p_x) /*@*/ /*@ensures result == p_x@*/ ; | |
30 | extern size_t size_fromLongUnsigned (long unsigned p_x) /*@*/ /*@ensures result == p_x@*/ ; | |
31 | extern int longUnsigned_toInt (long unsigned int p_x) /*@*/ /*@ensures result == p_x@*/ ; | |
32 | extern int long_toInt (long p_x) /*@*/ /*@ensures result == p_x@*/; | |
33 | extern long unsigned longUnsigned_fromInt (int p_x) /*@*/ /*@ensures result == p_x@*/ ; | |
885824d3 | 34 | /*@=czechfcns@*/ |
35 | ||
abd7f895 | 36 | # include "mstring.h" |
885824d3 | 37 | |
885824d3 | 38 | extern int int_compare (/*@sef@*/ int p_x, /*@sef@*/ int p_y) /*@*/ ; |
39 | # define int_compare(x,y) (((x) > (y)) ? 1 : (((x) < (y)) ? -1 : 0)) | |
40 | ||
41 | /*@-macroparams@*/ | |
42 | /*@-macrofcndecl@*/ /* works for lots of types */ | |
43 | # define generic_compare(x,y) (((x) > (y)) ? 1 : (((x) < (y)) ? -1 : 0)) | |
44 | /*@=macrofcndecl@*/ | |
45 | /*@=macroparams@*/ | |
46 | ||
47 | /*@notfunction@*/ | |
48 | # define GET(s) ((s *)smalloc(sizeof(s))) | |
49 | ||
28bf4b0b | 50 | /*@-czechfcns@*/ |
885824d3 | 51 | extern bool isHeaderFile (cstring) /*@*/ ; |
52 | ||
53 | extern void fputline (FILE *p_out, char *p_s) /*@modifies p_out@*/; | |
54 | ||
55 | extern int int_log (int p_x) /*@*/ ; | |
56 | ||
57 | extern char char_fromInt (int p_x) /*@*/ ; | |
58 | ||
28bf4b0b | 59 | extern /*@exposed@*/ cstring removePreDirs (cstring p_s); |
885824d3 | 60 | |
61 | /* These are defined by the bison library (?) */ | |
62 | extern /*@external@*/ int isatty (int); | |
63 | extern /*@external@*/ int yywrap (void); | |
28bf4b0b | 64 | /*@=czechfcns@*/ |
885824d3 | 65 | |
66 | # else | |
67 | # error "Multiple include" | |
68 | # endif | |
28bf4b0b | 69 | |
70 | ||
71 | ||
72 | ||
73 |