/* Copyright 1989, 1991, 1992 Digital Equipment Corporation All rights reserved. This software is furnished under a license and may be used and copied only in accordance with the terms of such license and with the inclusion of the above copyright notice. This software and any copies shall not be provided to any other person. No title to or ownership of the software is hereby transferred. The information in this software is subject to change without notice. DIGITAL assumes no responsibility for the use, functionality or reliability of its software on equipment which is not supplied by DIGITAL. Standard I/O Definitions */ #ifndef __STDIO #define __STDIO 1 /* Type Definitions: */ #ifndef __DEFINED_SIZE_T #define __DEFINED_SIZE_T typedef unsigned int size_t; #endif typedef struct __file FILE; #ifndef __DEFINED_FPOS_T #define __DEFINED_FPOS_T typedef struct { unsigned long __block_number; short __record_start_offset; short __offset_within_current; } fpos_t; #endif /* Macro Definitions: */ #ifndef __DEFINED_NULL_MACRO #define __DEFINED_NULL_MACRO #define NULL ((void *) 0) #endif /* Contant Definitions: */ #define _IOFBF ( 2 ) #define _IOLBF ( 1 ) #define _IONBF ( 0 ) #define BUFSIZ ( 512 ) #define EOF ( -1 ) #define FOPEN_MAX ( 8 ) #define FILENAME_MAX ( 14 ) #define L_tmpnam ( 14 ) #define SEEK_CUR ( 1 ) #define SEEK_END ( 2 ) #define SEEK_SET ( 0 ) #define TMP_MAX ( 26 ) #define stderr _stder extern FILE *stderr; #define stdin _stdin extern FILE *stdin; #define stdout _stdou extern FILE *stdout; /* Linkage Definitions: */ #pragma linkage c getchar, putchar, getc, fgetc #ifndef __STDC__ #define OPEN_MAX (8) /* For VMS compatibility */ #define PATH_MAX (14) /* For VMS compatibility */ #define SEEK_EOF (2) /* For VMS compatibility */ #define remove $PREMO #define rename $PRENA #define tmpfile $PTMPF #define tmpnam $PTMPN #define fclose $PCLOS #define fflush $PFLUS #define fopen $POPE #define freopen $PREOP #define setbuf $PSETB #define setvbuf $PSETV #define fprintf $PFPRI #define fscanf $PFSCA #define printf $PPRIN #define scanf $PSCAN #define sprintf C$SPRI #define sscanf C$SSCR #define vfprintf $PVFPR #define vprintf $PVPRI #define vsprintf $PVSPR #define fgetc $PFGTC #define fgets $PFGTS #define fputc $PFPTC #define fputs $PFPTS #define getc $PFGTC #define gets $PGETS #define puts $PPUTS #define ungetc $PUNGE #define fread $PREAD #define fwrite $PWRIT #define fgetpos $PGETP #define fseek $PSEEK #define fsetpos $PSETP #define ftell $PTELL #define rewind $PREWI #define clearerr $PCLEA #define feof $PEOF #define ferror $PERRO #define perror $PPERR #define fgetname $PFGN #define __fgnm $PFGN #define __fger $PFGE #define __frec $PFGR #define __fbuf $PFGB #define __flun $PFGL #endif #pragma linkage c remove, rename, tmpfile, tmpnam, fflush #pragma linkage c fopen, freopen, setbuf, setvbuf, fprintf #pragma linkage c fscanf, printf, scanf, sprintf, sscanf #pragma linkage c vfprintf, vprintf, vsprintf, fgets, fputc #pragma linkage c putc, puts, ungetc, fread, fputs #pragma linkage c fwrite, fgetpos, fseek, fsetpos, ftell #pragma linkage c rewind, clearerr, feof, ferror, perror #pragma linkage c __fgnm, __fger, __frec, __fbuf, __flun #pragma linkage c gets, fclose /* Operations on Files: */ int remove (const char * __filename); int rename (const char * __old, const char * __new); FILE *tmpfile(void); char *tmpnam (char * __s); /* File Access Functions: */ int fclose (FILE * __stream); int fflush (FILE * __stream); FILE *fopen (const char * __filename, const char * __mode); FILE *freopen(const char * __filename, const char * __mode, FILE * __stream); void setbuf (FILE * __stream, char * __buf); int setvbuf (FILE * __stream, char * __buf, int __mode, size_t __size); /* Formatted Input/Output Functions: */ int fprintf (FILE * __stream, const char * __format, ...); int fscanf (FILE * __stream, const char * __format, ...); int printf (const char * __format, ...); int scanf (const char * __format, ...); int sprintf (char * __s, const char * __format, ...); int sscanf (const char * __s, const char * __format, ...); int vfprintf(FILE * __stream, const char * __format, char * __arg); int vprintf (const char * __format, char * __arg); int vsprintf(char * __s, const char * __format, char * __arg); /* Character Input/Output Functions: */ int fgetc (FILE * __stream); char *fgets (char * __s, int __n, FILE * __stream); int fputc (int __c, FILE * __stream); int fputs (const char * __s, FILE * __stream); int getc (FILE * __stream); int getchar (void); #define getchar() fgetc(stdin) char *gets (char * __s); int putc (int __c, FILE * __stream); #define putc(x,p) fputc(x,p) int putchar (int __c); #define putchar(x) fputc(x,stdout) int puts (const char * __s); int ungetc (int __c, FILE * __stream); /* Direct Input/Output Functions: */ size_t fread (void * __ptr, size_t __size, size_t __nmemb, FILE * __stream); size_t fwrite (const void * __ptr, size_t __size, size_t __nmemb, FILE * __stream); int fgetpos (FILE * __stream, fpos_t * __pos); int fseek (FILE * __stream, long int __offset, int __whence); int fsetpos (FILE * __stream, const fpos_t * __pos); long int ftell (FILE * __stream); void rewind (FILE * __stream); void clearerr(FILE * __stream); int feof (FILE * __stream); int ferror (FILE * __stream); void perror (const char * __s); /* File Information Requests: */ char *__fgnm (FILE * __stream, char * __s, ...); int __fger (FILE * __stream); long __frec (FILE * __stream); long __fbuf (FILE * __stream); int __flun (FILE * __stream); #endif