[libc][NFC] Move aligned access implementations to separate header
[llvm-project.git] / libc / docs / stdio.rst
blob1063aa2432af93af9271cef841088a1859e18ee0
1 ===============
2 StdIO Functions
3 ===============
5 .. include:: check.rst
7 ---------------
8 Source location
9 ---------------
11 -   The main source for string functions is located at:
12     ``libc/src/stdio`` with subdirectories for internal implementations.
14 ---------------------
15 Implementation Status
16 ---------------------
18 Formatted Input/Output Functions
19 ================================
21 These functions take in format strings and arguments of various types and
22 convert either to or from those arguments. These functions are the current focus
23 (owner: michaelrj).
25 =============  =========
26 Function Name  Available
27 =============  =========
28 \*printf       Mostly
29 \*scanf        |check|
30 =============  =========
32 ``FILE`` Access
33 ===============
35 These functions are used to interact with the ``FILE`` object type, which is an
36 I/O stream, often used to represent a file on the host's hard drive. Currently
37 the ``FILE`` object is only available on linux.
39 =============  =========
40 Function Name  Available
41 =============  =========
42 fopen          |check|
43 freopen
44 fclose         |check|
45 fflush         |check|
46 setbuf         |check|
47 setvbuf        |check|
48 ftell          |check|
49 fgetpos
50 fseek          |check|
51 fsetpos
52 rewind
53 tmpfile
54 clearerr       |check|
55 feof           |check|
56 ferror         |check|
57 flockfile      |check|
58 funlockfile    |check|
59 =============  =========
61 Operations on system files
62 ==========================
64 These functions operate on files on the host's system, without using the 
65 ``FILE`` object type. They only take the name of the file being operated on.
67 =============  =========
68 Function_Name  Available
69 =============  =========
70 remove         |check|
71 rename
72 tmpnam
73 =============  =========
75 Unformatted ``FILE`` Input/Output Functions
76 ===========================================
78 The ``gets`` function was removed in C11 for having no bounds checking and
79 therefor being impossible to use safely.
81 =============  =========
82 Function Name  Available
83 =============  =========
84 (f)getc        |check|
85 fgets          |check|
86 getchar        |check|
87 fread          |check|
88 (f)putc        |check|
89 (f)puts        |check|
90 putchar        |check|
91 fwrite         |check|
92 ungetc         |check|
93 =============  =========