(* Release 3.10 *) (*-------------------------------------------------------------------------* * * * STDIO.DEF - Modula-2 interface to STDIO.H * * * * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. * * All Rights Reserved * * * *--------------------------------------------------------------------------*) (*# project("#set tsc='on'") *) (*# call(o_a_size=>off, o_a_copy=>off, c_conv=>on, result_optional=>on) *) (*# module(implementation=>off, init_code=>off) *) (*# name(prefix=>c) *) DEFINITION MODULE stdio; IMPORT CoreFile; TYPE File = CoreFile.File; FileInf = CoreFile.FileInf; CONST _IOFBF = 0; _IOLBF = 1; _IONBF = 2; EOF = -1; OPEN_MAX = 20; SYS_OPEN = 20; CONST _F_READ = {0}; (* Read only file *) _F_WRIT = {1}; (* Write only file *) _F_UBUF = {2}; (* User allocated buffer *) _F_APP = {3}; (* Append data *) _F_ERR = {4}; (* Error *) _F_EOF = {5}; (* EOF *) _F_BIN = {6}; (* Binary file *) _F_IN = {7}; (* Data is incoming *) _F_OUT = {8}; (* Data is outgoing *) _F_DEV = {9}; (* File is terminal *) _F_RST = {10}; (* Newly opened stream *) _F_LBUF = {11}; (* line buffered stream *) _F_CTZ = {12}; _F_RDWR = {0..1}; (* Read/write *) BUFSIZ = 512; SEEK_SET = 0; SEEK_CUR = 1; SEEK_END = 2; PROCEDURE clearerr(_st: FileInf); PROCEDURE fclose(_st: FileInf): INTEGER; PROCEDURE fflush(_st: FileInf): INTEGER; PROCEDURE fgetc(_st: FileInf): INTEGER; PROCEDURE fgets(VAR s: ARRAY OF CHAR; _n: CARDINAL; _st: FileInf): ADDRESS; PROCEDURE fopen(_path,_mode: ARRAY OF CHAR): FileInf; PROCEDURE fputc(_c: INTEGER; _st: FileInf): INTEGER; PROCEDURE fputs(_s: ARRAY OF CHAR; st: FileInf): INTEGER; PROCEDURE fread(_ptr: ADDRESS; _size,_n: CARDINAL; _st: FileInf): CARDINAL; PROCEDURE freopen(_path,_mode: ARRAY OF CHAR; _oldfile: FileInf): FileInf; PROCEDURE fseek(_st: FileInf; _offset: LONGINT; _whence: INTEGER): INTEGER; PROCEDURE ftell(_st: FileInf): INTEGER; PROCEDURE fwrite(_ptr: ADDRESS; _size,_n: CARDINAL; _st: FileInf): CARDINAL; PROCEDURE gets(VAR _s: ARRAY OF CHAR): ADDRESS; PROCEDURE perror(_s: ARRAY OF CHAR); PROCEDURE puts(_s: ARRAY OF CHAR): INTEGER; PROCEDURE rename(_oldname,_newname: ARRAY OF CHAR): INTEGER; PROCEDURE rewind(_st: FileInf); PROCEDURE rmtmp(): INTEGER; PROCEDURE setbuf(st: FileInf; _buf: ADDRESS); PROCEDURE setvbuf(_st: FileInf; _buf: ADDRESS; _type: INTEGER; _size: CARDINAL): INTEGER; PROCEDURE strerror(_errnum: INTEGER): ADDRESS; PROCEDURE tmpfile(): FileInf; PROCEDURE tmpname(_s: ARRAY OF CHAR): ADDRESS; PROCEDURE tempnam(_dir,_prefix: ARRAY OF CHAR): ADDRESS; PROCEDURE ungetc(_c: INTEGER; _st: FileInf): INTEGER; (*# save *) (*# call(c_conv=>on, var_arg=>on, reg_param=>()) *) PROCEDURE fprintf(_st: FileInf; _format: ARRAY OF CHAR): INTEGER; PROCEDURE fscanf(_st: FileInf; _format: ARRAY OF CHAR): INTEGER; PROCEDURE printf(_format: ARRAY OF CHAR): INTEGER; PROCEDURE sprintf(_s,_format: ARRAY OF CHAR): INTEGER; PROCEDURE sscanf(_s,_format: ARRAY OF CHAR): INTEGER; PROCEDURE scanf(_format: ARRAY OF CHAR): INTEGER; PROCEDURE vfprintf(_st: FileInf; _format: ARRAY OF CHAR; _argptr: ADDRESS): INTEGER; PROCEDURE vfscanf(_st: FileInf; _format: ARRAY OF CHAR; _argptr: ADDRESS): INTEGER; PROCEDURE vprintf(_format: ARRAY OF CHAR; _argptr: ADDRESS): INTEGER; PROCEDURE vscanf(_format: ARRAY OF CHAR; _argptr: ADDRESS): INTEGER; (*# restore *) PROCEDURE fcloseall(): INTEGER; PROCEDURE fdopen(_handle: INTEGER; _type: ARRAY OF CHAR): FileInf; PROCEDURE fgetchar(): INTEGER; PROCEDURE fgetpos(_st: FileInf; VAR _fp: LONGINT): INTEGER; PROCEDURE fsetpos(_st: FileInf; VAR _fp: LONGINT): INTEGER; PROCEDURE flushall(): INTEGER; PROCEDURE fputchar(_c: INTEGER): INTEGER; PROCEDURE getw(_st: FileInf): INTEGER; PROCEDURE putw(_w: INTEGER; _st: FileInf): INTEGER; PROCEDURE _strerror(_s: ARRAY OF CHAR): ADDRESS; PROCEDURE unlink(_path: ARRAY OF CHAR): INTEGER; PROCEDURE _filbuf(_stt: FileInf): INTEGER; PROCEDURE _flsbuf(_c: INTEGER; _stt: FileInf): INTEGER; PROCEDURE putchar(_c: INTEGER): INTEGER; PROCEDURE getchar(): INTEGER; PROCEDURE putc(_c: INTEGER; _st: FileInf): INTEGER; PROCEDURE getc(_st: FileInf): INTEGER; PROCEDURE remove(_path: ARRAY OF CHAR): INTEGER; PROCEDURE fileno(_st: FileInf): CARDINAL; PROCEDURE feof(_st: FileInf): INTEGER; PROCEDURE ferror(_st: FileInf): INTEGER; CONST P_tmpdir = '\'; L_tmpname = SIZE(P_tmpdir)+13; FOPEN_MAX = 15; FILENAME_MAX = 80; TMP_MAX = 10000; END stdio.