]> andersk Git - splint.git/blob - lib/ansi.h
Added legacy flag for unix lib.
[splint.git] / lib / ansi.h
1 /*
2 ** ansi.h --- LCLint Standard C Library
3 **
4 ** Process with -DSTRICT to get strict library.
5 */
6
7 /*@-nextlinemacros@*/
8 /*@+allimponly@*/
9 /*@+globsimpmodifiesnothing@*/
10
11 /*
12 ** errno.h
13 */
14
15 /*@constant int EDOM;@*/
16 /*@constant int ERANGE;@*/
17 /*@constant int EILSEQ;@*/
18
19 # ifdef STRICT
20 /*@checkedstrict@*/ int errno;
21 # else 
22 /*@unchecked@*/ int errno;
23 # endif
24
25 /*
26 ** types 
27 */
28
29 typedef /*@integraltype@*/ ptrdiff_t;    
30 typedef /*@unsignedintegraltype@*/ size_t;
31 typedef /*@signedintegraltype@*/ ssize_t;
32 typedef /*@integraltype@*/ wchar_t;
33
34 /*
35 ** Added by Amendment 1 to ISO.
36 */
37
38 typedef /*@integraltype@*/ wint_t;
39 typedef /*@abstract@*/ mbstate_t;
40
41 /*@constant null anytype NULL = 0;@*/
42
43 /*
44 ** assert.h
45 */
46
47 /*@constant lltX_bool NDEBUG;@*/
48
49 # ifdef STRICT
50 /*@falseexit@*/ void assert (/*@sef@*/ lltX_bool e) 
51   /*@*/ ;
52 # else
53 /*@falseexit@*/ void assert (/*@sef@*/ lltX_bool /*@alt int@*/ e) 
54   /*@*/ ;
55 # endif
56
57
58 /*
59 ** ctype.h
60 */
61
62 # ifdef STRICT
63 lltX_bool isalnum (int c) /*@*/ ;
64 lltX_bool isalpha (int c) /*@*/ ;
65 lltX_bool iscntrl (int c) /*@*/ ;
66 lltX_bool isdigit (int c) /*@*/ ;
67 lltX_bool isgraph (int c) /*@*/ ;
68 lltX_bool islower (int c) /*@*/ ;
69 lltX_bool isprint (int c) /*@*/ ;
70 lltX_bool ispunct (int c) /*@*/ ;
71 lltX_bool isspace (int c) /*@*/ ;
72 lltX_bool isupper (int c) /*@*/ ;
73 lltX_bool isxdigit (int c) /*@*/ ;
74 char tolower (int c) /*@*/ ;
75 char toupper (int c) /*@*/ ;
76 # else
77 lltX_bool /*@alt int@*/ isalnum (int /*@alt unsigned char@*/ c) /*@*/ ;
78 lltX_bool /*@alt int@*/ isalpha (int /*@alt unsigned char@*/ c) /*@*/ ;
79 lltX_bool /*@alt int@*/ iscntrl (int /*@alt unsigned char@*/ c) /*@*/ ;
80 lltX_bool /*@alt int@*/ isdigit (int /*@alt unsigned char@*/ c) /*@*/ ;
81 lltX_bool /*@alt int@*/ isgraph (int /*@alt unsigned char@*/ c) /*@*/ ;
82 lltX_bool /*@alt int@*/ islower (int /*@alt unsigned char@*/ c) /*@*/ ;
83 lltX_bool /*@alt int@*/ isprint (int /*@alt unsigned char@*/ c) /*@*/ ;
84 lltX_bool /*@alt int@*/ ispunct (int /*@alt unsigned char@*/ c) /*@*/ ;
85 lltX_bool /*@alt int@*/ isspace (int /*@alt unsigned char@*/ c) /*@*/ ;
86 lltX_bool /*@alt int@*/ isupper (int /*@alt unsigned char@*/ c) /*@*/ ;
87 lltX_bool /*@alt int@*/ isxdigit (int /*@alt unsigned char@*/ c) /*@*/ ;
88 char /*@alt int@*/ tolower (int /*@alt unsigned char@*/ c) /*@*/ ;
89 char /*@alt int@*/ toupper (int /*@alt unsigned char@*/ c) /*@*/ ;
90 # endif
91
92 /*
93 ** locale.h
94 */
95
96 struct lconv
97 {
98   char *decimal_point;
99   char *thousands_sep;
100   char *grouping;
101   char *int_curr_symbol;
102   char *currency_symbol;
103   char *mon_decimal_point;
104   char *mon_thousands_sep;
105   char *mon_grouping;
106   char *positive_sign;
107   char *negative_sign;
108   char int_frac_digits;
109   char frac_digits;
110   char p_cs_precedes;
111   char p_sep_by_space;
112   char n_cs_precedes;
113   char n_sep_by_space;
114   char p_sign_posn;
115   char n_sign_posn;
116 } ;
117
118 /*@constant int LC_ALL;@*/
119 /*@constant int LC_COLLATE;@*/
120 /*@constant int LC_CTYPE;@*/
121 /*@constant int LC_MONETARY;@*/
122 /*@constant int LC_NUMERIC;@*/
123 /*@constant int LC_TIME;@*/
124
125 /*@observer@*/ /*@null@*/ char *setlocale (int category, /*@null@*/ char *locale) 
126    /*@modifies internalState, errno@*/ ;
127
128 struct lconv *localeconv (void) /*@*/ ;
129
130 /*
131 ** float.h
132 */
133
134 /*
135 ** Note, these are defined by macros, but NOT necessarily
136 ** constants.  They may be used as lvalues.
137 */
138
139 /*@unchecked@*/ int    DBL_DIG;
140 /*@unchecked@*/ double DBL_EPSILON;
141 /*@unchecked@*/ int    DBL_MANT_DIG;
142 /*@unchecked@*/ double DBL_MAX;
143 /*@unchecked@*/ int    DBL_MAX_10_EXP;
144 /*@unchecked@*/ int    DBL_MAX_EXP;
145 /*@unchecked@*/ double DBL_MIN;
146 /*@unchecked@*/ int    DBL_MIN_10_EXP;
147 /*@unchecked@*/ int    DBL_MIN_EXP;
148
149 /*@unchecked@*/ int   FLT_DIG;
150 /*@unchecked@*/ float FLT_EPSILON;
151 /*@unchecked@*/ int   FLT_MANT_DIG;
152 /*@unchecked@*/ float FLT_MAX;
153 /*@unchecked@*/ int   FLT_MAX_10_EXP;
154 /*@unchecked@*/ int   FLT_MAX_EXP;
155 /*@unchecked@*/ float FLT_MIN;
156 /*@unchecked@*/ int   FLT_MIN_10_EXP;
157 /*@unchecked@*/ int   FLT_MIN_EXP;
158 /*@constant            int   FLT_RADIX@*/
159 /*@unchecked@*/ int   FLT_ROUNDS;
160
161 /*@unchecked@*/ int         LDBL_DIG;
162 /*@unchecked@*/ long double LDBL_EPSILON;
163 /*@unchecked@*/ int         LDBL_MANT_DIG;
164 /*@unchecked@*/ long double LDBL_MAX;
165 /*@unchecked@*/ int         LDBL_MAX_10_EXP;
166 /*@unchecked@*/ int         LDBL_MAX_EXP;
167 /*@unchecked@*/ long double LDBL_MIN;
168 /*@unchecked@*/ int         LDBL_MIN_10_EXP;
169 /*@unchecked@*/ int         LDBL_MIN_EXP;
170
171 /*
172 ** limits.h
173 */
174
175 /*@constant int CHAR_BIT; @*/
176 /*@constant char CHAR_MAX; @*/
177 /*@constant char CHAR_MIN; @*/
178 /*@constant int INT_MAX; @*/
179 /*@constant int INT_MIN; @*/
180 /*@constant long int LONG_MAX; @*/
181 /*@constant long int LONG_MIN; @*/
182 /*@constant long int MB_LEN_MAX@*/
183 /*@constant signed char SCHAR_MAX; @*/
184 /*@constant signed char SCHAR_MIN; @*/
185 /*@constant short SHRT_MAX; @*/
186 /*@constant short SHRT_MIN; @*/
187 /*@constant unsigned char UCHAR_MAX; @*/
188 /*@constant unsigned char UCHAR_MIN; @*/
189 /*@constant unsigned int UINT_MAX; @*/
190 /*@constant unsigned long ULONG_MAX; @*/
191 /*@constant unsigned short USHRT_MAX; @*/
192
193 /*
194 ** math.h
195 */
196
197 /*@constant double HUGE_VAL; @*/
198
199 /*
200 ** math functions that may have a range error modify errno 
201 */
202
203 double sin (double x) /*@*/ ;
204 double cos (double x) /*@*/ ;
205 double tan (double x) /*@*/ ;
206 double asin (double x) /*@modifies errno@*/ ;
207 double acos (double x) /*@modifies errno@*/ ;
208 double atan (double x) /*@*/ ;
209 double atan2 (double y, double x) /*@*/ ;
210 double sinh (double x) /*@*/ ;
211 double cosh (double x) /*@modifies errno@*/ ;
212 double tanh (double x) /*@*/ ;
213
214 double exp (double x) /*@modifies errno@*/ ;
215 double ldexp (double x, int n) /*@modifies errno@*/ ;
216 double frexp (double x, /*@out@*/ int *xp) /*@modifies *xp;@*/ ;
217
218 double log (double x) /*@modifies errno@*/ ;
219 double log10 (double x) /*@modifies errno@*/ ;
220
221 double pow (double x, double y) /*@modifies errno@*/ ;
222 double sqrt (double x) /*@modifies errno@*/ ;
223
224 double ceil (double x) /*@*/ ;
225 double floor (double x) /*@*/ ;
226 double fabs (double x) /*@*/ ;
227
228 double modf (double x, /*@out@*/ double *ip) /*@modifies *ip;@*/ ;
229 double fmod (double x, double y) /*@*/ ;
230
231 /*
232 ** These functions are optional in iso C.  An implementation does not
233 ** have to provide them.  They are included in comments here, but
234 ** are not required to be part of the standard library.
235 */
236
237 # ifdef OPTIONAL_MATH
238
239 float acosf (float x) /*@modifies errno@*/ ;
240 long double acosl (long double x) /*@modifies errno@*/ ;
241 float asinf (float x)   /*@modifies errno@*/ ;
242 long double asinl (long double x) /*@modifies errno@*/ ;
243 float atanf (float x)   /*@*/ ;
244 long double atanl (long double x) /*@*/ ;
245 float atan2f (float y, float x) /*@*/ ;
246 long double atan2l (long double y, long double x) /*@*/ ;
247 float ceilf (float x)   /*@*/ ;
248 long double ceill (long double x) /*@*/ ;
249 float cosf (float x) /*@*/ ;
250 long double cosl (long double x) /*@*/ ;
251 float coshf (float x)   /*@modifies errno@*/ ;
252 long double coshl (long double x) /*@modifies errno@*/ ;
253 float expf (float x) /*@modifies errno@*/ ;
254 long double expl (long double x) /*@modifies errno@*/;
255 float fabsf (float x)   /*@*/ ;
256 long double fabsl (long double x) /*@*/ ;
257 float floorf (float x) /*@*/ ;
258 long double floorl (long double x) /*@*/ ;
259 float fmodf (float x, float y) /*@*/ ;
260 long double fmodl (long double x, long double y)        /*@*/ ;
261 float frexpf (float x, /*@out@*/ int *xp) /*@modifies *xp@*/;
262 long double frexpl (long double x, /*@out@*/ int *xp) /*@modifies *xp@*/;
263 float ldexpf (float x, int n) /*@modifies errno@*/ ;
264 long double ldexpl (long double x, int n) /*@modifies errno@*/ ;
265 float logf (float x) /*@modifies errno@*/ ;
266 long double logl (long double x) /*@modifies errno@*/ ;
267 float log10f (float x) /*@modifies errno@*/;
268 long double log10l (long double x) /*@modifies errno@*/;
269 float modff (float x, /*@out@*/ float *xp) /*@modifies *xp@*/ ;
270 long double modfl (long double x, /*@out@*/ long double *xp) /*@modifies *xp@*/ ;
271 float powf (float x, float y) /*@modifies errno@*/ ;
272 long double powl (long double x, long double y) /*@modifies errno@*/ ;
273 float sinf (float x) /*@*/ ;
274 long double sinl (long double x)        /*@*/ ;
275 float sinhf (float x) /*@*/ ;
276 long double sinhl (long double x) /*@*/ ;
277 float sqrtf (float x) /*@modifies errno@*/ ;
278 long double sqrtl (long double x) /*@modifies errno@*/ ;
279 float tanf (float x) /*@*/ ;
280 long double tanl (long double x)        /*@*/ ;
281 float tanhf (float x) /*@*/ ;
282 long double tanhl (long double x) /*@*/ ;
283
284 # endif
285
286 /*
287 ** setjmp.h
288 */
289
290 typedef /*@abstract@*/ /*@mutable@*/ void *jmp_buf;
291
292 int setjmp (/*@out@*/ jmp_buf env) /*@modifies env;@*/ ;
293 /*@mayexit@*/ void longjmp (jmp_buf env, int val) /*@*/ ;
294
295 /*
296 ** signal.h
297 */
298
299 /*@constant int SIGABRT; @*/
300 /*@constant int SIGFPE; @*/
301 /*@constant int SIGILL; @*/
302 /*@constant int SIGINT; @*/
303 /*@constant int SIGSEGV; @*/
304 /*@constant int SIGTERM; @*/
305
306 typedef /*@integraltype@*/ sig_atomic_t;
307
308 /*@constant void (*SIG_DFL)(int); @*/
309 /*@constant void (*SIG_ERR)(int); @*/
310 /*@constant void (*SIG_IGN)(int); @*/
311
312 /*
313 ** signal takes an int, and a function takes int returns void, and
314 ** returns the function (or NULL if unsuccessful).
315 */
316
317 /*@null@*/ void (*signal (int sig, /*@null@*/ void (*func)(int))) (int) 
318    /*@modifies internalState, errno;@*/ ;
319
320 /*@mayexit@*/ int raise (int sig) ;
321
322 /*
323 ** stdarg.h
324 */
325
326 typedef /*@abstract@*/ /*@mutable@*/ void *va_list;
327
328 void va_start (/*@out@*/ va_list ap, ...) /*@modifies ap;@*/ ;
329 void va_end (va_list va) /*@modifies va;@*/ ;
330
331 /*
332 ** va_arg is builtin
333 */
334
335 /*
336 ** stdio.h
337 */
338
339 typedef /*@abstract@*/ /*@mutable@*/ void *FILE;
340 typedef /*@abstract@*/ /*@mutable@*/ void *fpos_t;
341
342 /*@constant int _IOFBF; @*/
343 /*@constant int _IOLBF; @*/
344 /*@constant int _IONBF; @*/
345
346 /*@constant int BUFSIZ; @*/
347 /*@constant int EOF; @*/
348
349 /*@constant int FOPEN_MAX; @*/
350 /*@constant int FILENAME_MAX; @*/
351
352 /*@constant int L_tmpnam; @*/
353
354 /*@constant int SEEK_CUR; @*/
355 /*@constant int SEEK_END; @*/
356 /*@constant int SEEK_SET; @*/
357
358 /*@constant int TMP_MAX; @*/
359
360 # ifdef STRICT
361 /*@checked@*/ FILE *stderr;
362 /*@checked@*/ FILE *stdin;
363 /*@checked@*/ FILE *stdout;
364 # else
365 /*@unchecked@*/ FILE *stderr;
366 /*@unchecked@*/ FILE *stdin;
367 /*@unchecked@*/ FILE *stdout;
368 # endif
369
370 int remove (char *filename) /*@modifies fileSystem, errno@*/ ;
371 int rename (char *old, char *new) /*@modifies fileSystem, errno@*/ ;
372
373 /*@null@*/ FILE *tmpfile (void) /*@modifies fileSystem@*/ ;
374 /*@observer@*/ char *
375   tmpnam (/*@out@*/ /*@null@*/ /*@returned@*/ char *s) 
376   /*@modifies *s, internalState@*/ ;
377
378 int fclose (FILE *stream) /*@modifies *stream, errno, fileSystem;@*/ ;
379 int fflush (/*@null@*/ FILE *stream) 
380    /*@modifies *stream, errno, fileSystem;@*/ ;
381
382 /*@null@*/ /*@dependent@*/ FILE *fopen (char *filename, char *mode) 
383    /*@modifies fileSystem@*/ ;         
384
385 /*@null@*/ FILE *freopen (char *filename, char *mode, FILE *stream) 
386   /*@modifies *stream, fileSystem, errno@*/ ;
387
388 void setbuf (FILE *stream, /*@null@*/ /*@exposed@*/ char *buf) 
389    /*@modifies fileSystem, *stream, *buf@*/ ;
390
391 int setvbuf (FILE *stream, /*@null@*/ /*@exposed@*/ char *buf, 
392                     int mode, size_t size)
393    /*@modifies fileSystem, *stream, *buf@*/ ;
394
395 # ifdef STRICT
396 /*@printflike@*/ 
397 int fprintf (FILE *stream, char *format, ...)
398    /*@modifies fileSystem, *stream@*/ ;
399 # else
400 /*@printflike@*/ 
401 int /*@alt void@*/ fprintf (FILE *stream, char *format, ...)
402    /*@modifies fileSystem, *stream@*/ ;
403 # endif
404
405 /*@scanflike@*/ 
406 int fscanf (FILE *stream, char *format, ...)
407    /*@modifies fileSystem, *stream@*/ ;
408
409 # ifdef STRICT
410 /*@printflike@*/ 
411 int printf (char *format, ...) 
412    /*@globals stdout@*/
413    /*@modifies fileSystem, *stdout@*/ ;
414 # else
415 /*@printflike@*/ 
416 int /*@alt void@*/ printf (char *format, ...) 
417    /*@globals stdout@*/
418    /*@modifies fileSystem, *stdout@*/ ;
419 # endif
420
421 /*@scanflike@*/
422 int scanf(char *format, ...)
423    /*@globals stdin@*/
424    /*@modifies fileSystem, *stdin@*/ ;
425
426 # ifdef STRICT
427 /*@printflike@*/ 
428 int sprintf (/*@out@*/ char *s, char *format, ...) 
429    /*@modifies *s@*/ ;
430 # else
431 /*@printflike@*/ 
432 int /*@alt void@*/ sprintf (/*@out@*/ char *s, char *format, ...) 
433    /*@modifies *s@*/ ;
434 # endif
435
436 /*@scanflike@*/ 
437 int sscanf (/*@out@*/ char *s, char *format, ...) /*@*/ ;
438    /* modifies extra arguments */
439
440 int vprintf (const char *format, va_list arg)
441    /*@globals stdout@*/
442    /*@modifies fileSystem, *stdout@*/ ;
443
444 int vfprintf (FILE *stream, char *format, va_list arg)
445    /*@modifies fileSystem, *stream, arg, errno@*/ ;
446
447 int vsprintf (/*@out@*/ char *str, const char *format, va_list ap)
448      /*@warn bufferoverflowhigh "Use vsnprintf instead"@*/
449      /*@modifies str@*/ ;
450
451 int vsnprintf (/*@out@*/ char *str, size_t size, const char *format, va_list ap)
452      /*@requires maxSet(str) >= size@*/
453      /*@modifies str@*/ ;
454
455 int fgetc (FILE *stream) 
456    /*@modifies fileSystem, *stream, errno@*/ ;
457
458 /*@null@*/ char *
459   fgets (/*@returned@*/ /*@out@*/ char *s, int n, FILE *stream)
460      /*@modifies fileSystem, *s, *stream, errno@*/
461      /*@requires MaxSet(s) >= (n -1); @*/
462      /*@ensures MaxRead(s) <= (n -1) /\ MaxRead(s) >= 0; @*/
463      ;
464
465 int fputc (int /*@alt char@*/ c, FILE *stream)
466   /*:errorcode EOF:*/
467   /*@modifies fileSystem, *stream, errno@*/ ;
468
469 int fputs (char *s, FILE *stream)
470   /*@modifies fileSystem, *stream@*/ ;
471
472 /* note use of sef --- stream may be evaluated more than once */
473 int getc (/*@sef@*/ FILE *stream)
474   /*@modifies fileSystem, *stream@*/ ;
475
476 int getchar (void) /*@globals stdin@*/ /*@modifies fileSystem, *stdin@*/ ;
477
478 /*@null@*/ char *gets (/*@out@*/ char *s) 
479    /*@warn bufferoverflowhigh
480            "Use of gets leads to a buffer overflow vulnerability.  Use fgets instead"@*/
481    /*@globals stdin@*/ /*@modifies fileSystem, *s, *stdin, errno@*/ ;
482
483 int putc (int /*@alt char@*/ c, /*@sef@*/ FILE *stream)
484    /*:errorcode EOF:*/
485    /*@modifies fileSystem, *stream;@*/ ;
486
487 int putchar (int /*@alt char@*/ c)
488    /*:errorcode EOF:*/
489    /*@globals stdout@*/ /*@modifies fileSystem, *stdout@*/ ; 
490
491 int puts (const char *s)
492    /*:errorcode EOF:*/
493    /*@globals stdout@*/
494    /*@modifies fileSystem, *stdout@*/ ; 
495
496 int ungetc (int /*@alt char@*/ c, FILE *stream)
497   /*@modifies fileSystem, *stream, errno@*/ ;
498
499 size_t 
500   fread (/*@out@*/ void *ptr, size_t size, size_t nobj, FILE *stream)
501   /*@modifies fileSystem, *ptr, *stream, errno@*/ ;
502
503 size_t fwrite (void *ptr, size_t size, size_t nobj, FILE *stream)
504   /*@modifies fileSystem, *stream, errno@*/ ;
505
506 int fgetpos (FILE *stream, /*@out@*/ fpos_t *pos)
507   /*@modifies *pos, errno@*/ ;
508
509 int fseek (FILE *stream, long int offset, int whence)
510    /*:errorcode -1:*/
511    /*@modifies fileSystem, *stream, errno@*/ ;
512
513 int fsetpos (FILE *stream, fpos_t *pos)
514    /*@modifies fileSystem, *stream, errno@*/ ;
515
516 long int ftell(FILE *stream) 
517    /*:errorcode -1:*/ /*@modifies errno*/ ;
518
519 void rewind (FILE *stream) /*@modifies *stream@*/ ;
520 void clearerr (FILE *stream) /*@modifies *stream@*/ ;
521
522 int feof (FILE *stream) /*@modifies errno@*/ ;
523 int ferror (FILE *stream) /*@modifies errno@*/ ;
524
525 void perror (/*@null@*/ char *s) 
526    /*@globals errno, stderr@*/ /*@modifies fileSystem, *stderr@*/ ; 
527
528 /*
529 ** stdlib.h
530 */
531
532 double atof (char *s) /*@*/ ;
533 int atoi (char *s) /*@*/ ;
534 long int atol (char *s) /*@*/ ;
535
536 double strtod (char *s, /*@null@*/ /*@out@*/ char **endp)
537   /*@modifies *endp, errno@*/ ;
538
539 long strtol (char *s, /*@null@*/ /*@out@*/ char **endp, int base)
540   /*@modifies *endp, errno@*/ ;
541
542 unsigned long 
543   strtoul (char *s, /*@null@*/ /*@out@*/ char **endp, int base)
544   /*@modifies *endp, errno@*/ ;
545
546 /*@constant int RAND_MAX; @*/
547 int rand (void) /*@modifies internalState@*/ ;
548 void srand (unsigned int seed) /*@modifies internalState@*/ ;
549
550 /*
551   drl
552   changed 12/29/2000
553 */
554
555 /*@null@*/ /*@only@*/ void *calloc (size_t nobj, size_t size) /*@*/
556      /*@ensures MaxSet(result) == (nobj - 1); @*/ ;
557 /*@null@*/ /*@out@*/ /*@only@*/ void *malloc (size_t size) /*@*/
558      /*@ensures MaxSet(result) == (size - 1); @*/ ;
559
560 /*end drl changed */
561      
562 /* 11 June 1997: removed out on return value */
563
564 # if 0
565 /*@null@*/ /*@only@*/ void *
566    realloc (/*@null@*/ /*@only@*/ /*@special@*/ void *p, 
567             size_t size) /*@releases p@*/ /*@modifies *p@*/
568      /*@ensures MaxSet(result) == (size - 1) @*/;
569 # endif
570
571 /*
572 ** LCLint annotations cannot fully describe realloc.  The semantics we
573 ** want are:
574 **    realloc returns null: ownership of parameter is not changed
575 **    realloc returns non-null: ownership of parameter is transferred to return value
576 **
577 ** Otherwise, storage is in the same state before and after the call.
578 */
579
580 /*@null@*/ /*@only@*/ void *
581    realloc (/*@null@*/ /*@only@*/ /*@out@*/ /*@returned@*/ void *p, size_t size) 
582      /*@modifies *p@*/ /*@ensures MaxSet(result) >= (size - 1) @*/;
583
584 void free (/*@null@*/ /*@out@*/ /*@only@*/ void *p) /*@modifies p@*/ ;
585
586 /*@constant int EXIT_FAILURE; @*/ 
587 /*@constant int EXIT_SUCCESS; @*/ 
588
589 /*@exits@*/ void abort (void) /*@*/ ;
590 /*@exits@*/ void exit (int status) /*@*/ ;
591 int atexit (void (*func)(void)) /*@modifies internalState@*/ ;
592
593 /*@observer@*/ /*@null@*/ char *getenv (char *name) /*@*/ ;
594
595 int system (/*@null@*/ char *s) /*@modifies fileSystem@*/ ;
596
597 /*@null@*/ /*@dependent@*/ void *
598   bsearch (void *key, void *base, 
599            size_t n, size_t size, 
600            int (*compar)(void *, void *)) /*@*/ ;
601
602 void qsort (void *base, size_t n, size_t size, 
603                    int (*compar)(void *, void *))
604    /*@modifies *base, errno@*/ ;
605
606 int abs (int n) /*@*/ ;
607
608 typedef /*@concrete@*/ struct 
609 {
610   int quot;
611   int rem;
612 } div_t ;
613
614 div_t div (int num, int denom) /*@*/ ;
615
616 long int labs (long int n) /*@*/ ; 
617
618 typedef /*@concrete@*/ struct 
619 {
620   long int quot;
621   long int rem;
622 } ldiv_t ;
623
624 ldiv_t ldiv (long num, long denom) /*@*/ ;
625
626 /*@constant size_t MB_CUR_MAX; @*/
627
628 /*
629 ** wchar_t and wint_t functions added by Amendment 1 to ISO.
630 */
631
632 /*@constant int WCHAR_MAX@*/
633 /*@constant int WCHAR_MIN@*/
634 /*@constant wint_t WEOF@*/
635
636 wint_t btowc (int c) /*@*/ ;
637
638 wint_t fgetwc (FILE *fp)        /*@modifies fileSystem, *fp*/ ;
639
640 /*@null@*/ wchar_t *fgetws (/*@returned@*/ wchar_t *s, int n, FILE *stream)
641    /*@modifies fileSystem, *s, *stream@*/;
642
643 wint_t fputwc (wchar_t c, FILE *stream)
644    /*@modifies fileSystem, *stream@*/;
645
646 int fputws (const wchar_t *s, FILE *stream)
647    /*@modifies fileSystem, *stream@*/ ;
648
649 int fwide (FILE *stream, int mode) /*@*/ ; 
650    /* does not modify the stream */
651
652 /*@printflike@*/ int fwprintf (FILE *stream, const wchar_t *format, ...)
653     /*@modifies *stream, fileSystem@*/ ;
654
655 /*@scanflike@*/ int fwscanf (FILE *stream, const wchar_t *format, ...)
656         /*@modifies *stream, fileSystem@*/ ;
657
658 /* note use of sef --- stream may be evaluated more than once */
659 wint_t getwc (/*@sef@*/ FILE *stream) /*@modifies fileSystem, *stream@*/ ;
660
661 wint_t getwchar (void) /*@modifies fileSystem, *stdin@*/;
662
663 size_t mbrlen (const char *s, size_t n, /*@null@*/ mbstate_t *ps) /*@*/ ;
664
665 size_t mbrtowc (/*@null@*/ wchar_t *pwc, const char *s, size_t n,
666                        /*@null@*/ mbstate_t *ps) 
667    /*@modifies *pwc@*/ ;
668
669 int mbsinit (/*@null@*/ const mbstate_t *ps) /*@*/ ;
670
671 size_t mbsrtowcs (/*@null@*/ wchar_t *dst, const char **src, size_t len,
672                          /*@null@*/ mbstate_t *ps) 
673    /*@modifies *dst@*/ ;
674
675 /* note use of sef --- stream may be evaluated more than once */
676 wint_t putwc (wchar_t c, /*@sef@*/ FILE *stream)        /*@modifies fileSystem, *stream@*/ ;
677
678 wint_t putwchar (wchar_t c) /*@modifies fileSystem, *stdout@*/ ;
679
680 /*@printflike@*/ int swprintf (wchar_t *s, size_t n, const wchar_t *format, ...)
681    /*@modifies *s@*/ ;
682
683 /*@scanflike@*/ int swscanf (const wchar_t *s, const wchar_t *format, ...)
684    /*@modifies *stdin@*/ ;
685
686 wint_t ungetwc (wint_t c, FILE *stream) /*@modifies fileSystem, *stream@*/ ;
687
688 int vfwprintf (FILE *stream, const wchar_t *format, va_list arg)
689    /*@modifies fileSystem, *stream@*/ ;
690
691 int vswprintf (wchar_t *s, size_t n, const wchar_t *format, va_list arg)
692    /*@modifies *s@*/ ;
693
694 int vwprintf (const wchar_t *format, va_list arg)
695    /*@modifies fileSystem, *stdout@*/ ;
696
697 size_t wcrtomb (/*@null@*/ /*@out@*/ char *s, wchar_t wc, /*@null@*/ mbstate_t *ps)
698    /*@modifies *s@*/;
699
700 void /*@alt wchar_t *@*/
701   wcscat (/*@unique@*/ /*@returned@*/ /*@out@*/ wchar_t *s1, const wchar_t *s2)
702   /*@modifies *s1@*/ ;
703
704 /*@exposed@*/ /*@null@*/ wchar_t *
705   wcschr (/*@returned@*/ const wchar_t *s, wchar_t c)
706   /*@*/ ;
707
708 int wcscmp (const wchar_t *s1, const wchar_t *s2) /*@*/ ;
709
710 int wcscoll (const wchar_t *s1, const wchar_t *s2) /*@*/ ;
711
712 void /*@alt wchar_t *@*/ 
713   wcscpy (/*@unique@*/ /*@out@*/ /*@returned@*/ wchar_t *s1, const wchar_t *s2)
714   /*@modifies *s1@*/ ;
715
716 size_t wcscspn (const wchar_t *s1, const wchar_t *s2) /*@*/ ;
717
718 size_t wcsftime (/*@out@*/ wchar_t *s, size_t maxsize, const wchar_t *format,
719                         const struct tm *timeptr) 
720    /*@modifies *s@*/ ;
721
722 size_t wcslen (const wchar_t *s) /*@*/ ;
723
724 void /*@alt wchar_t *@*/
725   wcsncat (/*@unique@*/ /*@returned@*/ /*@out@*/ wchar_t *s1, const wchar_t *s2,
726            size_t n) 
727   /*@modifies *s1@*/ ;
728
729 int wcsncmp (const wchar_t *s1, const wchar_t *s2, size_t n) /*@*/ ;
730
731 void /*@alt wchar_t *@*/
732   wcsncpy (/*@unique@*/ /*@returned@*/ /*@out@*/ wchar_t *s1, const wchar_t *s2,
733            size_t n) 
734    /*@modifies *s1@*/ ;
735
736 /*@null@*/ wchar_t *
737   wcspbrk (/*@returned@*/ const wchar_t *s1, const wchar_t *s2)
738   /*@*/ ;
739
740 /*@null@*/ wchar_t *
741   wcsrchr (/*@returned@*/ const wchar_t *s, wchar_t c)
742   /*@*/ ;
743
744 size_t
745   wcsrtombs (/*@null@*/ char *dst, const wchar_t **src, size_t len,
746              /*@null@*/ mbstate_t *ps) 
747   /*@modifies *src@*/ ;
748
749 size_t wcsspn (const wchar_t *s1, const wchar_t *s2) /*@*/ ;
750
751 /*@null@*/ wchar_t *wcsstr (const wchar_t *s1, const wchar_t *s2) /*@*/ ;
752
753 double wcstod (const wchar_t *nptr, /*@null@*/ wchar_t **endptr)
754    /*@modifies *endptr@*/ ;
755
756 /*@null@*/ wchar_t *
757   wcstok (/*@null@*/ wchar_t *s1, const wchar_t *s2, wchar_t **ptr)
758   /*@modifies *ptr@*/;
759
760 long wcstol (const wchar_t *nptr, /*@null@*/ wchar_t **endptr, int base)
761    /*@modifies *endptr@*/;
762
763 unsigned long
764   wcstoul (const wchar_t *nptr, /*@null@*/ wchar_t **endptr, int base)
765   /*@modifies *endptr@*/;
766
767 size_t
768   wcsxfrm (/*@null@*/ wchar_t *s1, const wchar_t *s2, size_t n)
769   /*@modifies *s1@*/;
770
771 int wctob (wint_t c) /*@*/;
772
773 /*@null@*/ wchar_t *wmemchr (const wchar_t *s, wchar_t c, size_t n) /*@*/ ;
774
775 int wmemcmp (const wchar_t *s1, const wchar_t *s2, size_t n) /*@*/ ;
776
777 wchar_t *wmemcpy (/*@returned@*/ wchar_t *s1, const wchar_t *s2, size_t n)
778    /*@modifies *s1@*/;
779
780 wchar_t *wmemmove (/*@returned@*/ wchar_t *s1, const wchar_t *s2, size_t n)
781    /*@modifies *s1@*/;
782
783 wchar_t *wmemset (/*@returned@*/ wchar_t *s, wchar_t c, size_t n)
784    /*@modifies *s@*/;
785
786 /*@printflike@*/ int wprintf (const wchar_t *format, ...)
787    /*@globals stdout@*/ /*@modifies errno, *stdout@*/;
788
789 /*@scanflike@*/ int
790   wscanf (const wchar_t *format, ...)
791   /*@globals stdin@*/ /*@modifies errno, *stdin@*/;
792
793 /*
794 ** wctype.h (added by Amendment 1)
795 */
796
797 /* Warning: not sure about these (maybe abstract?): */
798 typedef /*@integraltype@*/ wctype_t;
799 typedef /*@integraltype@*/ wctrans_t;
800
801 # ifdef STRICT
802 lltX_bool iswalnum (wint_t c) /*@*/ ;
803 lltX_bool iswalpha (wint_t c) /*@*/ ;
804 lltX_bool iswcntrl (wint_t c) /*@*/ ;
805 lltX_bool iswctype (wint_t c, wctype_t ctg) /*@*/ ;
806 lltX_bool iswdigit (wint_t c) /*@*/ ;
807 lltX_bool iswgraph (wint_t c) /*@*/ ;
808 lltX_bool iswlower (wint_t c) /*@*/ ;
809 lltX_bool iswprint (wint_t c) /*@*/ ;
810 lltX_bool iswpunct (wint_t c) /*@*/ ;
811 lltX_bool iswspace (wint_t c) /*@*/ ;
812 lltX_bool iswupper (wint_t c) /*@*/ ;
813 lltX_bool iswxdigit (wint_t c) /*@*/ ;
814
815 wint_t towctrans (wint_t c, wctrans_t ctg) /*@*/ ;
816 wint_t towlower (wint_t c) /*@*/ ;
817 wint_t towupper (wint_t c) /*@*/ ;
818 # else
819 lltX_bool /*@alt int@*/ iswalnum (wint_t c) /*@*/ ;
820 lltX_bool /*@alt int@*/ iswalpha (wint_t c) /*@*/ ;
821 lltX_bool /*@alt int@*/ iswcntrl (wint_t c) /*@*/ ;
822 lltX_bool /*@alt int@*/ iswctype (wint_t c, wctype_t ctg) /*@*/ ;
823 lltX_bool /*@alt int@*/ iswdigit (wint_t c) /*@*/ ;
824 lltX_bool /*@alt int@*/ iswgraph (wint_t c) /*@*/ ;
825 lltX_bool /*@alt int@*/ iswlower (wint_t c) /*@*/ ;
826 lltX_bool /*@alt int@*/ iswprint (wint_t c) /*@*/ ;
827 lltX_bool /*@alt int@*/ iswpunct (wint_t c) /*@*/ ;
828 lltX_bool /*@alt int@*/ iswspace (wint_t c) /*@*/ ;
829 lltX_bool /*@alt int@*/ iswupper (wint_t c) /*@*/ ;
830 lltX_bool /*@alt int@*/ iswxdigit (wint_t c) /*@*/ ;
831
832 wint_t /*@alt int@*/ towctrans (wint_t c, wctrans_t ctg)        /*@*/ ;
833 wint_t /*@alt int@*/ towlower (wint_t c)        /*@*/ ;
834 wint_t /*@alt int@*/ towupper (wint_t c)        /*@*/ ;
835 # endif
836
837 wctrans_t wctrans (const char *property)        /*@*/ ;
838 wctype_t wctype (const char *property) /*@*/ ;
839
840 int mblen (char *s, size_t n) /*@*/ ;
841 int mbtowc (/*@null@*/ wchar_t *pwc, /*@null@*/ char *s, size_t n) 
842    /*@modifies *pwc@*/ ;
843 int wctomb (/*@out@*/ /*@null@*/ char *s, wchar_t wchar) 
844    /*@modifies *s@*/ ;
845 size_t mbstowcs (/*@out@*/ wchar_t *pwcs, char *s, size_t n)
846   /*@modifies *pwcs@*/ ;
847 size_t wcstombs (/*@out@*/ char *s, wchar_t *pwcs, size_t n)
848   /*@modifies *s@*/ ;
849
850 /*
851 ** string.h
852 */
853      
854 void /*@alt void * @*/
855   memcpy (/*@unique@*/ /*@returned@*/ /*@out@*/ void *s1, void *s2, size_t n) 
856   /*@modifies *s1@*/
857      /*@requires MaxRead(s2) >= (n - 1) /\ MaxSet(s1) >= (n - 1); @*/
858      ;
859
860 void /*@alt void * @*/
861   memmove (/*@returned@*/ /*@out@*/ void *s1, void *s2, size_t n)
862   /*@modifies *s1@*/
863   /*@requires MaxRead(s2) >= (n - 1) /\ MaxSet(s1) >= (n - 1); @*/
864    ;
865
866   
867   /* drl
868      modifed  12/29/2000
869   */
870
871 void /*@alt char * @*/
872   strcpy (/*@unique@*/ /*@out@*/ /*@returned@*/ char *s1, char *s2) 
873      /*@modifies *s1@*/ 
874      /*@requires maxSet(s1) >= maxRead(s2) @*/
875      /*@ensures MaxRead(s1) == MaxRead (s2) /\ MaxRead(result) == MaxRead(s2) /\ MaxSet(result) == MaxSet(s1); @*/;
876
877 void /*@alt char * @*/
878   strncpy (/*@unique@*/ /*@out@*/ /*@returned@*/ char *s1, char *s2, size_t n) 
879   /*@modifies *s1@*/      /*@requires MaxSet(s1) >= ( n - 1 ); @*/ /*@ensures MaxRead (s2) >= MaxRead(s1) /\ MaxRead (s1) <= n; @*/; 
880
881 void /*@alt char * @*/
882   strcat (/*@unique@*/ /*@returned@*/ char *s1, char *s2) 
883      /*@modifies *s1@*/ /*@requires MaxSet(s1) >= (MaxRead(s1) + MaxRead(s2) );@*/
884      /*@ensures MaxRead(result) == (MaxRead(s1) + MaxRead(s2) );@*/;
885
886 void /*@alt char * @*/
887   strncat (/*@unique@*/ /*@returned@*/ char *s1, char *s2, size_t n)
888      /*@modifies *s1@*/ 
889      /*@requires MaxSet(s1) >= ( MaxRead(s1) + n); @*/
890       /*@ensures MaxRead(s1) >= (MaxRead(s1) + n); @*/;
891
892      /*drl end*/
893      
894 int memcmp (void *s1, void *s2, size_t n) /*@*/ ;
895 int strcmp (char *s1, char *s2) /*@*/ ;
896 int strcoll (char *s1, char *s2) /*@*/ ;
897 int strncmp (char *s1, char *s2, size_t n) /*@*/ ;
898 size_t strxfrm (/*@out@*/ /*@null@*/ char *s1, char *s2, size_t n) 
899   /*@modifies *s1@*/ ;  /* s1 may be null only if n == 0 */ 
900
901 /*@null@*/ void *memchr (void *s, int c, size_t n) /*@*/ ;
902
903 # ifdef STRICT
904 /*@exposed@*/ /*@null@*/ char *
905 strchr (/*@returned@*/ char *s, char c) /*@*/ /*@ensures MaxSet(result) >= 0 /\ MaxSet(result) <= MaxSet(s) /\ MaxRead (result) <= MaxRead(s) /\ MaxRead(result) >= 0 @*/ ;
906 # else
907 /*@exposed@*/ /*@null@*/ char *
908   strchr (/*@returned@*/ char *s, int /*@alt char@*/ c) /*@*/ /*@ensures MaxSet(result) >= 0 /\ MaxSet(result) <= MaxSet(s) /\ MaxRead (result) <= MaxRead(s) /\ MaxRead(result) >= 0; @*/ ;
909 # endif
910
911 size_t strcspn (char *s1, char *s2) /*@*/ ;
912 /*@null@*/ /*@exposed@*/ char *
913   strpbrk (/*@returned@*/ char *s, char *t) /*@*/ ;
914
915 # ifdef STRICT
916 /*@null@*/ /*@exposed@*/ char *
917   strrchr (/*@returned@*/ char *s, char c) /*@*/  /*@ensures MaxSet(result) >= 0 /\ MaxSet(result) <= MaxSet(s) /\ MaxRead (result) <= MaxRead(s) /\ MaxRead(result) >= 0 @*/ ;
918 # else
919 /*@null@*/ /*@exposed@*/ char *
920   strrchr (/*@returned@*/ char *s, int /*@alt char@*/ c) /*@*/  /*@ensures MaxSet(result) >= 0 /\ MaxSet(result) <= MaxSet(s) /\ MaxRead (result) <= MaxRead(s) /\ MaxRead(result) >= 0 @*/ ;
921 # endif
922
923 size_t strspn (char *s, char *t) /*@*/ ;
924
925 /*@null@*/ /*@exposed@*/  char *
926   strstr (/*@returned@*/ /*@unique@*/ char *s, char *t) /*@*/
927        /*@ensures MaxSet(result) >= 0 /\ MaxSet(result) <= MaxSet(s) /\ MaxRead (result) <= MaxRead(s) /\ MaxRead(result) >= 0 @*/ ;
928
929 /*@null@*/ /*@exposed@*/ char *
930   strtok (/*@returned@*/ /*@null@*/ char *s, char *t)
931   /*@modifies *s, internalState, errno@*/ ;
932
933 void /*@alt void *@*/ memset (/*@out@*/ /*@returned@*/ void *s, 
934                                      int c, size_t n)
935      /*@modifies *s@*/ /*@requires MaxSet(s) >= (n - 1) @*/ /*@ensures MaxRead(s) >= (n - 1) @*/ ;
936
937 /*@observer@*/ char *strerror (int errnum) /*@*/ ;
938
939 /*drl */
940 size_t strlen (char *s) /*@*/ /*@ensures result == MaxRead(s); @*/; 
941
942 /*
943 ** time.h
944 */
945
946 /*@constant int CLOCKS_PER_SEC;@*/
947
948 typedef /*@integraltype@*/ clock_t;
949 typedef /*@integraltype@*/ time_t;
950
951 struct tm
952   {
953     int tm_sec;
954     int tm_min;
955     int tm_hour;
956     int tm_mday;
957     int tm_mon;
958     int tm_year;
959     int tm_wday;
960     int tm_yday;
961     int tm_isdst;
962   } ;
963
964 clock_t clock (void) /*@modifies internalState@*/ ;
965 double difftime (time_t time1, time_t time0) /*@*/ ;
966 time_t mktime (struct tm *timeptr) /*@*/ ;
967
968 time_t time (/*@null@*/ /*@out@*/ time_t *tp)
969   /*@modifies *tp@*/ ;
970
971 /*@observer@*/ char *asctime (struct tm *timeptr) 
972   /*@modifies errno*/ /*@ensures MaxSet(result) == 25 /\  MaxRead(result) == 25; @*/ ;
973
974 /*@observer@*/ char *ctime (time_t *tp) /*@*/
975      /*@ensures MaxSet(result) == 25 /\  MaxRead(result) == 25; @*/;
976
977 /*@null@*/ /*@observer@*/ struct tm *gmtime (time_t *tp) /*@*/ ;
978
979 /*@null@*/ /*@observer@*/ struct tm *localtime (time_t *tp) 
980   /*@modifies errno@*/ ;
981
982 size_t strftime (/*@out@*/ char *s, size_t smax,
983                         char *fmt, struct tm *timeptr)
984   /*@modifies *s@*/ ;
985
986 /*
987 ** ISO c99: 7.18 Integer types <stdint.h>
988 */
989
990 /*
991 ** These types are OPTIONAL.  Provide warnings on use.
992 */
993
994 typedef /*@integraltype@*/ int8_t
995    /*@warn implementationoptional "ISO99 specifies as optional type, implementation need not provide. Consider int_least8_t instead."@*/ ;
996
997 typedef /*@integraltype@*/ int16_t
998    /*@warn implementationoptional "ISO99 specifies as optional type, implementation need not provide. Consider int_least16_t instead."@*/ ;
999
1000 typedef /*@integraltype@*/ int32_t
1001    /*@warn implementationoptional "ISO99 specifies as optional type, implementation need not provide. Consider int_least32_t instead."@*/ ;
1002
1003 typedef /*@integraltype@*/ int64_t
1004    /*@warn implementationoptional "ISO99 specifies as optional type, implementation need not provide. Consider int_least64_t instead."@*/ ;
1005
1006 typedef /*@unsignedintegraltype@*/ uint8_t
1007    /*@warn implementationoptional "ISO99 specifies as optional type, implementation need not provide. Consider uint_least8_t instead."@*/ ;
1008
1009 typedef /*@unsignedintegraltype@*/ uint16_t
1010    /*@warn implementationoptional "ISO99 specifies as optional type, implementation need not provide. Consider uint_least16_t instead."@*/ ;
1011
1012 typedef /*@unsignedintegraltype@*/ uint32_t
1013    /*@warn implementationoptional "ISO99 specifies as optional type, implementation need not provide. Consider uint_least32_t instead."@*/ ;
1014
1015 typedef /*@unsignedintegraltype@*/ uint64_t
1016    /*@warn implementationoptional "ISO99 specifies as optional type, implementation need not provide. Consider uint_least64_t instead."@*/ ;
1017
1018 typedef /*@integraltype@*/ int_least8_t;
1019 typedef /*@integraltype@*/ int_least16_t;
1020 typedef /*@integraltype@*/ int_least32_t;
1021 typedef /*@integraltype@*/ int_least64_t;
1022
1023 typedef /*@unsignedintegraltype@*/ uint_least8_t;
1024 typedef /*@unsignedintegraltype@*/ uint_least16_t;
1025 typedef /*@unsignedintegraltype@*/ uint_least32_t;
1026 typedef /*@unsignedintegraltype@*/ uint_least64_t;
1027
1028 typedef /*@integraltype@*/ int_fast8_t;
1029 typedef /*@integraltype@*/ int_fast16_t;
1030 typedef /*@integraltype@*/ int_fast32_t;
1031 typedef /*@integraltype@*/ int_fast64_t;
1032
1033 typedef /*@unsignedintegraltype@*/ uint_fast8_t;
1034 typedef /*@unsignedintegraltype@*/ uint_fast16_t;
1035 typedef /*@unsignedintegraltype@*/ uint_fast32_t;
1036 typedef /*@unsignedintegraltype@*/ uint_fast64_t;
1037
1038 typedef int *intptr_t
1039    /*@warn implementationoptional "ISO99 specifies as optional type, implementation need not provide."@*/ ;
1040
1041 typedef unsigned int *uintptr_t
1042    /*@warn implementationoptional "ISO99 specifies as optional type, implementation need not provide."@*/ ;
1043
1044 typedef /*@signedintegraltype@*/ intmax_t;
1045 typedef /*@unsignedintegraltype@*/ uintmax_t;
1046
1047 /*
1048 ** What should the types be here? 
1049 */ /*#*/
1050
1051 /*@constant int INT8_MIN@*/
1052 /*@constant int INT16_MIN@*/
1053 /*@constant int INT32_MIN@*/
1054 /*@constant int INT64_MIN@*/
1055
1056 /*@constant int INT8_MAX@*/
1057 /*@constant int INT16_MAX@*/
1058 /*@constant int INT32_MAX@*/
1059 /*@constant int INT64_MAX@*/
1060
1061 /*@constant int UINT8_MIN@*/
1062 /*@constant int UINT16_MIN@*/
1063 /*@constant int UINT32_MIN@*/
1064 /*@constant int UINT64_MIN@*/
1065
1066 /*@constant int INT_LEAST8_MIN@*/
1067 /*@constant int INT_LEAST16_MIN@*/
1068 /*@constant int INT_LEAST32_MIN@*/
1069 /*@constant int INT_LEAST64_MIN@*/
1070
1071 /*@constant int INT_LEAST8_MAX@*/
1072 /*@constant int INT_LEAST16_MAX@*/
1073 /*@constant int INT_LEAST32_MAX@*/
1074 /*@constant int INT_LEAST64_MAX@*/
1075
1076 /*@constant int UINT_LEAST8_MAX@*/
1077 /*@constant int UINT_LEAST16_MAX@*/
1078 /*@constant int UINT_LEAST32_MAX@*/
1079 /*@constant int UINT_LEAST64_MAX@*/
1080
1081 /*@constant int INT_FAST8_MIN@*/
1082 /*@constant int INT_FAST16_MIN@*/
1083 /*@constant int INT_FAST32_MIN@*/
1084 /*@constant int INT_FAST64_MIN@*/
1085
1086 /*@constant int INT_FAST8_MAX@*/
1087 /*@constant int INT_FAST16_MAX@*/
1088 /*@constant int INT_FAST32_MAX@*/
1089 /*@constant int INT_FAST64_MAX@*/
1090
1091 /*@constant int UINT_FAST8_MAX@*/
1092 /*@constant int UINT_FAST16_MAX@*/
1093 /*@constant int UINT_FAST32_MAX@*/
1094 /*@constant int UINT_FAST64_MAX@*/
1095
1096 /*@constant size_t INTPTR_MIN@*/
1097 /*@constant size_t INTPTR_MAX@*/
This page took 2.300316 seconds and 5 git commands to generate.