Skip to content

Latest commit

 

History

History
68 lines (61 loc) · 6.06 KB

STANDARD.md

File metadata and controls

68 lines (61 loc) · 6.06 KB

Supported stdio.h standard file API

pico-vfs provides low-level file IO "system calls", allowing many of the file manipulation APIs of stdio.h to be used.

System call

System call Availability Standard
close IEEE Std 1003.1-1988 ("POSIX.1")
fstat IEEE Std 1003.1-1988 ("POSIX.1")
lseek IEEE Std 1003.1-1988 ("POSIX.1")
open Version 6 AT&T UNIX
read IEEE Std 1003.1-1990 ("POSIX.1")
stat IEEE Std 1003.1-1988 ("POSIX.1")
unlink POSIX.1-2008
write IEEE Std 1003.1-1990 ("POSIX.1")

Input and Output(stdio.h)

Note that many functions from stdio.h are available, but some do not behave as expected. Among the input/output functions that have been tested to work, those related to POSIX and the C standard are as follows:

Function Availability Standard
clearerr ISO/IEC 9899:1990 ("ISO C90")
fflush ISO/IEC 9899:1990 ("ISO C90") and Single UNIX Specification ("SUSv3")
fgetc ISO/IEC 9899:1990 ("ISO C90")
fgetpos ISO/IEC 9899:1990 ("ISO C90")
fgets ISO/IEC 9899:1999 ("ISO C99")
fgetwc ISO/IEC 9899:1999 ("ISO C99")
fgetws IEEE Std 1003.1-2001 ("POSIX.1")
fileno ISO/IEC 9899:1990 ("ISO C90")
fmemopen IEEE Std 1003.1-2008 ("POSIX.1")
fopen ISO/IEC 9899:1990 ("ISO C90")
fprintf ANSI X3.159-1989 ("ANSI C89") and ISO/IEC 9899:1999 ("ISO C99")
fputc ISO/IEC 9899:1990 ("ISO C90")
fputs ISO/IEC 9899:1990 ("ISO C90")
fputwc ISO/IEC 9899:1999 ("ISO C99")
fputws IEEE Std 1003.1-2001 ("POSIX.1")
fread ISO/IEC 9899:1990 ("ISO C90")
freopen ISO/IEC 9899:1990 ("ISO C90")
fscanf ISO/IEC 9899:1999 ("ISO C99")
fseek ISO/IEC 9899:1990 ("ISO C90")
fsetpos ISO/IEC 9899:1990 ("ISO C90")
ftell ISO/IEC 9899:1990 ("ISO C90")
fwide ISO/IEC 9899:1999 ("ISO C99")
fwprintf ISO/IEC 9899:1999 ("ISO C99")
fwrite ISO/IEC 9899:1990 ("ISO C90")
fwscanf ISO/IEC 9899:1999 ("ISO C99")
getc ISO/IEC 9899:1990 ("ISO C90")
getw ISO/IEC 9899:1990 ("ISO C90")
mkstemp IEEE Std 1003.1-2008 ("POSIX.1")
open_memstream IEEE Std 1003.1-2008 ("POSIX.1")
perror ISO/IEC 9899:1999 ("ISO C99")
putc ISO/IEC 9899:1990 ("ISO C90")
remove ISO/IEC 9899:1990 ("ISO C90") and X/Open Portability Guide Issue 4, Version 2 ("XPG4.2")
rename IEEE Std 1003.1-1988 ("POSIX.1")
rewind ISO/IEC 9899:1990 ("ISO C90")
setbuf ISO/IEC 9899:1990 ("ISO C90")
setvbuf ISO/IEC 9899:1990 ("ISO C90")
tmpfile ISO/IEC 9899:1990 ("ISO C90")
tmpnam ISO/IEC 9899:1990 ("ISO C90")
ungetc ISO/IEC 9899:1990 ("ISO C90")
ungetwc ISO/IEC 9899:1999 ("ISO C99")
vfprintf ANSI X3.159-1989 ("ANSI C89") and ISO/IEC 9899:1999 ("ISO C99")
vfscanf ISO/IEC 9899:1999 ("ISO C99")
vfwscanf ISO/IEC 9899:1999 ("ISO C99")

For more information see the Newlib documentation.