/*
** stdio.h - Unix Specification
*/
/*
** evans 2001-12-30: added from http://www.opengroup.org/onlinepubs/007908799/xsh/stdio.h.html
*/
/*@constant unsignedintegraltype BUFSIZ@*/
/*@constant unsignedintegraltype FILENAME_MAX@*/
/*@constant unsignedintegraltype FOPEN_MAX@*/
/*@constant _Bool _IOFBF@*/
/*@constant _Bool _IOLBF@*/
/*@constant _Bool _IONBF@*/
/*@constant unsignedintegraltype L_ctermid@*/
/*@constant unsignedintegraltype L_cuserid@*/
/*@constant unsignedintegraltype L_tmpnam@*/
/*@constant unsignedintegraltype SEEK_CUR@*/
/*@constant unsignedintegraltype SEEK_END@*/
/*@constant unsignedintegraltype SEEK_SET@*/
/*@constant unsignedintegraltype TMP_MAX@*/
/*@constant observer char *P_tmpdir@*/
void clearerr (FILE *stream) /*@modifies *stream@*/ ;
/*@dependent@*/ char *ctermid (/*@returned@*/ /*@null@*/ char *) /*@*/ ;
/* Result may be static pointer if parameter is NULL, otherwise is fresh. */
// *@requires maxSet(s) >= ( L_ctermid - 1) @*/ *ensures maxRead(s) <= ( L_ctermid - 1) /\ maxRead(s) >= 0 */
/*DRL 9-11-2001 I've modified the definition in ansi.h to remove modifies SystemState and I've added a requires and ensures*/ ;
/*check returns*/
/* cuserid is in the 1988 version of POSIX but removed in 1990 */
char *cuserid (/*@null@*/ /*@out@*/ /*@returned@*/ char *s)
/*@warn legacy "cuserid is obsolete"@*/
/*@modifies *s@*/
// *@requires maxSet(s) >= ( L_ctermid - 1) @*/ *@ensures maxRead(s) <= ( L_ctermid - 1) /\ maxRead(s) >= 0 /\ maxRead(result) <= ( L_ctermid - 1) /\ maxRead(result) >= 0 @*/
;
/* in standard.h: int fclose (FILE *stream) @modifies *stream, errno, fileSystem;@ */
/*@null@*/ /*@dependent@*/ FILE *fdopen (int fd, const char *type)
/*@modifies errno, fileSystem@*/;
/* feof, ferror fflush, fgetc, fgetpos, fgets - in standard.h */
int fileno (/*@notnull@*/ FILE *)
/*:errorcode -1:*/
/*@modifies errno@*/ ;
void flockfile (/*@notnull@*/ FILE *f)
/*@modifies f, fileSystem@*/ ;
/* fopen, fprintf, fputc, fread, frepoen, fscanf, etc. in standard.h */
int fseeko (FILE *stream, off_t offset, int whence)
/*:errorcode -1:*/
/*@modifies stream, errno@*/ ;
off_t ftello(FILE *stream)
/*:errorcode -1:*/ /*@modifies errno*/ ;
int ftrylockfile(FILE *stream)
/*:errorcode !0:*/
/*@modifies stream, fileSystem, errno*/ ;
void funlockfile (FILE *stream)
/*@modifies stream, fileSystem*/ ;
int getc_unlocked(FILE *stream)
/*@warn multithreaded "getc_unlocked is a thread unsafe version of getc"@*/
/*@modifies *stream, fileSystem, errno@*/ ;
int getchar_unlocked (void)
/*@warn multithreaded "getchar_unlocked is a thread unsafe version of getchar"@*/
/*@globals stdin@*/
/*@modifies *stdin, fileSystem@*/ ;
/*@unchecked@*/ char *optarg;
/*@unchecked@*/ int optind;
/*@unchecked@*/ int optopt;
/*@unchecked@*/ int opterr;
/*@unchecked@*/ int optreset;
int getopt (int argc, char * const *argv, const char *optstring)
/*@warn legacy@*/
/*@globals optarg, optind, optopt, opterr, optreset@*/
/*@modifies optarg, optind, optopt@*/
/*@requires maxRead(argv) >= (argc - 1) @*/
;
int getw (FILE *stream)
/*@warn legacy@*/
/*:errorcode EOF:*/
/*@modifies fileSystem, *stream, errno@*/ ;
int pclose(FILE *stream)
/*:errorcode -1:*/
/*@modifies fileSystem, *stream, errno@*/ ;
/*@dependent@*/ /*@null@*/ FILE *popen (const char *command, const char *mode)
/*:errorcode NULL:*/
/*@modifies fileSystem, errno@*/ ;
int putc_unlocked (int, FILE *stream)
/*@warn multithreaded "putc_unlocked is a thread unsafe version of putc"@*/
/*:errorcode EOF:*/
/*@modifies fileSystem, *stream, errno@*/ ;
int putchar_unlocked(int)
/*@warn multithreaded "putchar_unlocked is a thread unsafe version of putchar"@*/
/*:errorcode EOF:*/
/*@modifies fileSystem, *stdout, errno@*/ ;
int putw(int, FILE *stream)
/*@warn legacy@*/
/*:errorcode EOF:*/
/*@modifies fileSystem, *stdout, errno@*/ ;
int remove (char *filename) /*@modifies fileSystem, errno@*/ ;
int rename (char *old, char *new) /*@modifies fileSystem, errno@*/ ;
void rewind (FILE *stream) /*@modifies *stream, fileSystem, errno@*/ ;
/* evans 2002-07-09: snprintf moved to standard.h (its in ISO C99 now) */
/*@null@*/ char *tempnam (char *dir, /*@null@*/ char *pfx)
/*@modifies internalState, errno@*/
/*@ensures maxSet(result) >= 0 /\ maxRead(result) >= 0 @*/
/*@warn toctou "Between the time a pathname is created and the file is opened, it is possible for some other process to create a file with the same name. Use tmpfile instead."*/
/*drl added errno 09-19-001 */
;
/*@null@*/ FILE *tmpfile (void)
/*@modifies fileSystem, errno@*/
/*drl added errno 09-19-001 */
;
/*@observer@*/ char *tmpnam (/*@out@*/ /*@null@*/ /*@returned@*/ char *s)
/*@modifies *s, internalState @*/
// *@requires maxSet(s) >= (L_tmpnam - 1) @*
/*@warn toctou "Between the time a pathname is created and the file is opened, another process may create a file with the same name. Use tmpfile instead."*/
;
syntax highlighted by Code2HTML, v. 0.9.1