| ============================= |
| 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 |
| ============= ========= |