Alejandro Colomar
6f2b277e6d
Add mappings for itimerspec
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-03 12:37:20 +02:00
Alejandro Colomar
3bb4e2dc8d
Add mappings for getopt(3) and opt{arg,err,ind,opt}
...
Glibc also provides them in <getopt.h>, but let's recommend the
portable POSIX header only.
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-03 12:37:20 +02:00
Alejandro Colomar
983fe5a8fb
Add another mapping for NULL
...
POSIX defines NULL in <unistd.h> too.
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-08-01 20:10:27 +02:00
Alejandro Colomar
979002bf8e
Add mappings for SIGABRT
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-09 21:59:46 +02:00
Alejandro Colomar
fdca99fcd2
Add mappings for 'struct iovec'
...
As recently documented in iovec(3type).
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-09 21:59:46 +02:00
Alejandro Colomar
ec625ea9db
Add mappings for 'MAP_POPULATE'
...
It's not in POSIX, so I found it experimentally.
$ grepc -k MAP_POPULATE
./asm-generic/mman-common.h:26:#define MAP_POPULATE 0x008000 /* populate (prefault) pagetables */
./x86_64-linux-gnu/bits/mman-map-flags-generic.h:34:# define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */
$ grep -r '<bits/mman-map-flags-generic.h>'
x86_64-linux-gnu/bits/mman.h:#include <bits/mman-map-flags-generic.h>
x86_64-linux-gnu/bits/mman-map-flags-generic.h:# error "Never use <bits/mman-map-flags-generic.h> directly; include <sys/mman.h> instead."
So glibc defines it in <sys/mman.h>.
$ grep -r '<asm-generic/mman-common.h>'
asm-generic/mman.h:#include <asm-generic/mman-common.h>
$ grep -r '<asm-generic/mman.h>'
x86_64-linux-gnu/asm/mman.h:#include <asm-generic/mman.h>
$ grep -r '<asm/mman.h>'
linux/mman.h:#include <asm/mman.h>
And the kernel in <linux/mman.h>.
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-09 21:59:46 +02:00
Alejandro Colomar
a7d6088546
Add mappings for 'MAXHOSTNAMELEN'
...
I couldn't find an documentation about where it should be defined
(POSIX doesn't define it), so my best guess was to find the
definitions experimentally. Combining my findings in the glibc
repo with the findings in my own Debian system, and ignoring
kernel headers and unrelated headers such as X11's, this is my
best guess.
See:
alx@asus5775:/usr/include$ grepc -k MAXHOSTNAMELEN
./X11/Xtrans/Xtranssock.c:225:#define MAXHOSTNAMELEN 255
./asm-generic/param.h:17:#define MAXHOSTNAMELEN 64 /* max length of hostname */
./protocols/timed.h:44:#define MAXHOSTNAMELEN 64
./x86_64-linux-gnu/ruby-3.0.0/rb_mjit_min_header-3.0.4.h:24134:#define MAXHOSTNAMELEN 64
./x86_64-linux-gnu/sys/param.h:54:# define MAXHOSTNAMELEN HOST_NAME_MAX
alx@asus5775:~/src/gnu/glibc$ grepc -kx '\.h$' MAXHOSTNAMELEN
./inet/protocols/timed.h:44:#define MAXHOSTNAMELEN 64
./misc/sys/param.h:54:# define MAXHOSTNAMELEN HOST_NAME_MAX
./sunrpc/rpc/types.h:102:#define MAXHOSTNAMELEN 64
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-09 21:59:46 +02:00
Alejandro Colomar
21d4c7d2df
Add mappings for 'struct tm'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-09 21:59:46 +02:00
Alejandro Colomar
fb7f8557a1
Add mappings for byteorder(3) functions
...
Update incidental use of htons(3) to use a private name to avoid influence of
the default mappings on test output.
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-05-21 10:49:29 +02:00
Alejandro Colomar
a0da664a05
Add mappings for the macro 'SIGCHLD'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-12-05 10:44:25 +01:00
Alejandro Colomar
3dcdbf1520
Add mappings for the macro 'MAP_STACK'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-12-05 10:44:25 +01:00
Alejandro Colomar
635c287c4e
Add mappings for (struct) 'stat'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-12-05 10:44:25 +01:00
Omar Sandoval
44480a2de0
Add export from <stdint.h> to <inttypes.h>
...
IWYU currently warns for this example:
$ cat test.c
#include <inttypes.h>
#include <stdio.h>
int main(void)
{
uint64_t x = UINT64_C(1234);
printf("%" PRIu64 "\n", x);
return 0;
}
$ include-what-you-use test.c
test.c should add these lines:
#include <stdint.h> // for UINT64_C, uint64_t
test.c should remove these lines:
The full include-list for test.c:
#include <inttypes.h> // for PRIu64
#include <stdint.h> // for UINT64_C, uint64_t
#include <stdio.h> // for printf
---
However, the C standard states that "the header <inttypes.h> includes
the header <stdint.h>". So, this program shouldn't need to include
<stdint.h>.
Some mappings were previously added for individual symbols from
<stdint.h> (e.g., commit 24f9fdf0af
("Add more mappings for
[u]intptr_t"), but it's more accurate to export everything. Get rid of
the symbol mappings and add an include mapping.
2021-12-04 20:25:50 +01:00
Alejandro Colomar
9e0d33d828
Add more mappings for 'va_list'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
b6eb039187
Add mappings for 'uintmax_t'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
4c187d46aa
Reorder (alphabetically) mappings for 'uid_t'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
de49a862c8
Add more mappings for (struct) 'timeval'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
dc2acabc58
Add more mappings for (struct) 'timespec'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
029d045f1a
Add mappings for 'timer_t'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
2499d91c45
Add more mappings for 'time_t'
...
Use <time.h> as the primary header for portability to non-POSIX systems.
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
96b7299340
Reorder (alphabetically) mappings for 'suseconds_t'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
e89c3c1638
Add more mappings for 'ssize_t'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
289e0d3856
Fix mappings for 'socklen_t'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
bcdd338d4d
Add mappings for 'struct sockaddr'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
d50530f319
Add more mappings for 'size_t'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
c19ae5ef07
Add mappings for 'union sigval'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
e109386c09
Fix mappings for 'sigset_t'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
d83f42cd46
Add mappings for 'siginfo_t'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
291e1c7ae3
Add mappings for 'struct sigevent'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
3a2b81eb94
Add mappings for 'regoff_t'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
12e6971de4
Add mappings for 'regmatch_t'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
17ee1d337d
Add mappings for 'regex_t'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
9bdc2bb869
Add more mappings for 'pid_t'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
2c4a2ac7b1
Add more mappings for 'off_t'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
5a683775e9
Add more mappings for 'mode_t'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
d860e3cd5c
Add mappings for [l]ldiv_t
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
c934d8d290
Add mappings for 'struct lconv'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
ba0b231cfe
Remove incorrect mapping for 'intptr_t'
...
If a library defines intptr_t in <unistd.h> that's a bug.
It shall only be defined in <stdint.h> and <inttypes.h>.
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
24f9fdf0af
Add more mappings for [u]intptr_t
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
58bd50401c
Add more mappings for [u]intN_t types
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
f0b94379b3
Remove incorrect mapping for 'int8_t'
...
If some library defines int8_t in <sys/types.h>, that's a bug.
The standard only defines it in <stdint.h> and <inttypes.h>.
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
dcd77be4ea
Add mappings for 'intmax_t'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
4edca3eedf
Add mappings for 'imaxdiv_t'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
c139dd8991
Add more mappings for 'gid_t'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
f7efbd721e
Add mappings for 'float_t'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
748bdded08
Add mappings for 'FILE'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
aba2bf38a6
Add mappings for 'fexcept_t'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
cbedecd8bd
Add mappings for 'fenv_t'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
522c74e5ee
Add mappings for 'fd_set'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00
Alejandro Colomar
abf40ce89c
Add mappings for 'double_t'
...
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-07-11 09:03:34 +02:00