ReC98/libs/BorlandC/stdio.inc

64 lines
1.8 KiB
PHP

; stdio.h
; Definitions for stream input/output.
_NFILE equ 20
; Bufferisation type to be used as 3rd argument for "setvbuf" function
_IOFBF equ 0
_IOLBF equ 1
_IONBF equ 2
; "flags" bits definitions
_F_RDWR equ 00003h ; Read/write flag
_F_READ equ 00001h ; Read only file
_F_WRIT equ 00002h ; Write only file
_F_BUF equ 00004h ; Malloc'ed Buffer data
_F_LBUF equ 00008h ; line-buffered file
_F_ERR equ 00010h ; Error indicator
_F_EOF equ 00020h ; EOF indicator
_F_BIN equ 00040h ; Binary file indicator
_F_IN equ 00080h ; Data is incoming
_F_OUT equ 00100h ; Data is outgoing
_F_TERM equ 00200h ; File is a terminal
; End-of-file constant definition
EOF equ (-1) ; End of file indicator
; Default buffer size use by "setbuf" function
STDIO_BUFSIZ equ 512 ; Buffer size for stdio
; Size of an arry large enough to hold a temporary file name string
L_ctermid equ 5 ; CON: plus null byte
P_tmpdir equ "" ; temporary directory
L_tmpnam equ 13 ; tmpnam buffer size
; Constants to be used as 3rd argument for "fseek" function
SEEK_CUR equ 1
SEEK_END equ 2
SEEK_SET equ 0
; Number of unique file names that shall be generated by "tmpnam" function
TMP_MAX equ 0FFFFh
; Definition of the control structure for streams
FILE struc
level dw ? ; fill/empty level of buffer
flags dw ? ; File status flags
fd db ? ; File descriptor
hold db ? ; Ungetc char if no buffer
_bsize dw ? ; Buffer size. Yes, calling it just "bsize" crashes TASM.
if LDATA
buffer dd ? ; Data transfer buffer
curp dd ? ; Current active pointer
else
buffer dw ? ; Data transfer buffer
curp dw ? ; Current active pointer
endif
istemp dw ? ; Temporary file indicator
token dw ? ; Used for validity checking
FILE ends
FOPEN_MAX equ _NFILE
SYS_OPEN equ _NFILE
FILENAME_MAX equ 80