zkStdio.h is a portable wrapper for the Standard C header <stdio.h>. It is part of the libzk library because there are parts of the Zero Knowledge code base that assume it contains functionality beyond that provided by Standard C, namely POSIX or platform-specific features.

zkStdio.h - Supported Macros from <stdio.h>
Macro Description
BUFSIZ Size of <stdio.h> buffers.
FILENAME_MAX Maximum size in bytes of the longest filename string that the implementation guarantees can be opened.
FOPEN_MAX Number of streams which the implementation guarantees can be open simultaneously.
_IOFBF Input/output fully buffered.
_IOLBF Input/output line buffered.
_IONBF Input/output unbuffered.
L_tmpnam Maximum size of character array to hold tmpnam() output.
SEEK_CUR Seek relative to current position.
SEEK_END Seek relative to end-of-file.
SEEK_SET Seek relative to start-of-file.
TMP_MAX Minimum number of unique filenames generated by tmpnam(). Maximum number of times an application can call tmpnam() reliably.
EOF End-of-file return value.

zkStdio.h - Supported Types from <stdio.h>
Type Description
FILE A structure containing information about a file.
fpos_t Type containing all information needed to specify uniquely every position within a file.

zkStdio.h - Supported Variables from <stdio.h>
Variable Description
stderr Standard error output stream.
stdin Standard input stream.
stdout Standard output stream.

zkStdio.h - Supported Functions from <stdio.h>

### Under Evaluation... ###

tmpnam

tmpfile

setbuf

setvbuf

ungetc

gets

puts

getchar

putchar

freopen

ferror

feof

clearerr

perror

scanf

fscanf

sscanf

vscanf

vfscanf

vsscanf

zkStdio.h - Deprecated Functions from <stdio.h>
Don't Call This Instead, Call This Reason
fclose zkFclose Standard C doesn't define fclose as setting errno.
fflush zkFflush Standard C doesn't define fflush as setting errno.
fgetc zkFgetc Standard C doesn't define fgetc as setting errno.
fgetpos zkFgetpos For consistency with the other function declarations in zkStdio.h.
fgets zkFgets Standard C doesn't define fgets as setting errno.
fileno zkFileno Not in Standard C.
fopen zkFopen Standard C doesn't define fopen as setting errno.
fprintf zkFprintf Standard C doesn't define fprintf as setting errno.
fputc zkFputc Standard C doesn't define fputc as setting errno.
fputs zkFputs Standard C doesn't define fputs as setting errno.
fread zkFread Standard C doesn't define fread as setting errno.
fseek zkFseek For consistency with the other function declarations in zkStdio.h.
fsetpos zkFsetpos For consistency with the other function declarations in zkStdio.h.
ftell zkFtell For consistency with the other function declarations in zkStdio.h.
fwrite zkFwrite Standard C doesn't define fwrite as setting errno.
printf zkPrintf Standard C doesn't define printf as setting errno.
remove zkRemove Standard C doesn't define remove as setting errno.
rename zkRename Standard C doesn't define rename as setting errno.
rewind zkRewind Standard C doesn't define rewind as setting errno.
snprintf zkSnprintf Not in Standard C.
sprintf zkSprintf Standard C doesn't define sprintf as setting errno.
vfprintf zkVfprintf Standard C doesn't define vfprintf as setting errno.
vprintf zkVprintf Standard C doesn't define vprintf as setting errno.
vsnprintf zkVsnprintf Not in Standard C.
vsprintf zkVsprintf Standard C doesn't define vsprintf as setting errno.