| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- (* 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.
|