============================= StdIO Functions in LLVM-libc ============================= ------- Summary ------- This document tracks the status of the implementation of stdio functions in LLVM Libc. --------------- Source location --------------- - The main source for string functions is located at: ``libc/src/stdio`` with subdirectories for internal implementations. --------------------- Implementation Status --------------------- Formatted Input/Output Functions ================================ These functions take in format strings and arguments of various types and convert either to or from those arguments. These functions are the current focus (owner: michaelrj). ============= ========= Function_Name Available ============= ========= \*printf WIP \*scanf ============= ========= ``FILE`` Access =============== These functions are used to interact with the ``FILE`` object type, which is an I/O stream, often used to represent a file on the host's hard drive. Currently the ``FILE`` object is only available on linux. ============= ========= Function_Name Available ============= ========= fopen YES freopen fclose YES fflush YES setbuf setvbuf ftell fgetpos fseek YES fsetpos rewind tmpfile clearerr YES feof YES ferror YES flockfile YES funlockfile YES ============= ========= Operations on system files ========================== These functions operate on files on the host's system, without using the ``FILE`` object type. They only take the name of the file being operated on. ============= ========= Function_Name Available ============= ========= remove rename tmpnam ============= ========= Unformatted ``FILE`` Input/Output Functions =========================================== The ``gets`` function was removed in C11 for having no bounds checking and therefor being impossible to use safely. ============= ========= Function_Name Available ============= ========= (f)getc fgets getchar fread YES (f)putc (f)puts putchar fwrite YES ungetc ============= =========