summaryrefslogtreecommitdiff
path: root/notes.md
blob: 344b1fa2448819ce264a95a4c9498e01ba0bb260 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

Which file to include:

> The <stdint.h> header is a subset of the <inttypes.h> header

|----------------------------------------|-----------------------------------|--------------------------------|
| C INTS                                 |                                   |                                |
| `{CHAR,SHRT,INT,LONG,LLONG}_{MIN,MAX}` | `<limits.h>`                      |                                |
| `U{CHAR,SHRT,INT,LONG,LLONG}_MAX`      | `<limits.h>`                      |                                |
|----------------------------------------|-----------------------------------|--------------------------------|
| C SIZED INTS                           |                                   |                                |
| `(C u)int{n}_t` (and `_{MIN,MAX}`)     | `<stdint.h>`                      | exact                          |
| `(u)int_least{n}_t` (and `_{MIN,MAX}`) | `<stdint.h>`                      | type may be more than `n` bits |
| `(u)int_fast{n}_t` (and `_{MIN,MAX}`)  | `<stdint.h>`                      | type may be more than `n` bits |
| `(u)intptr_t` (and `_{MIN,MAX}`)       | `<stdint.h>`                      |                                |
| `(u)intmax_t` (and `_{MIN,MAX}`)       | `<stdint.h>`                      |                                |
| `PRI*`                                 | `<inttypes.h>`                    |                                |
| `SCN*`                                 | `<inttypes.h>`                    |                                |
|----------------------------------------|-----------------------------------|--------------------------------|
| C ADDRESS INTS                         |                                   |                                |
| `ptrdiff_t`                            | `<stddef.h>`                      |                                |
| `PTRDIFF_{MIN,MAX}`                    | `<stdint.h>`                      |                                |
| `size_t`                               | `<stddef.h>` (or `<sys/types.h>`) |                                |
| `SIZE_MAX`                             | `<stdint.h>`                      |                                |
|----------------------------------------|-----------------------------------|--------------------------------|
| C WCHAR INTS                           |                                   |                                |
| `wchar_t`                              | `<stddef.h>`                      |                                |
| `WCHAR_{MIN,MAX}`                      | `<stdint.h>`                      |                                |
| `wint_t`                               | `<wchar.h>`                       |                                |
| `WINT_{MIN,MAX}`                       | `<stdint.h>`                      |                                |
|----------------------------------------|-----------------------------------|--------------------------------|
| POSIX INTS                             |                                   |                                |
| `sig_atomic_t`                         | `<signal.h>`                      |                                |
| `SIG_ATOMIC_{MIN,MAX}`                 | `<stdint.h>`                      |                                |
| `mode_t`                               | `<sys/types.h>`                   | unsigned                       |
| `dev_t`                                | `<sys/types.h>`                   | unsigned                       |
| `nlink_t`                              | `<sys/types.h>`                   | unsigned                       |
| `{u,g,}id_t`                           | `<sys/types.h>`                   | unsigned                       |
| `blkcnt_t`                             | `<sys/types.h>`                   | signed                         |
| `off_t`                                | `<sys/types.h>`                   | signed                         |
| `fsblkcnt_t`                           | `<sys/types.h>`                   | unsigned                       |
| `fsfilecnt_t`                          | `<sys/types.h>`                   | unsigned                       |
| `ino_t`                                | `<sys/types.h>`                   | unsigned                       |
| `blksize_t`                            | `<sys/types.h>`                   | signed                         |
| `pid_t`                                | `<sys/types.h>`                   | signed                         |
| `ssize_t`                              | `<sys/types.h>`                   | signed                         |
| `SSIZE_MAX`                            | `<limits.h>`                      |                                |
| `suseconds_t`                          | `<sys/types.h>`                   | signed                         |
| `clock_t`                              | `<sys/types.h>`                   | could be float                 |
| `time_t`                               | `<sys/types.h>`                   | signed                         |