Skip to content

Instantly share code, notes, and snippets.

@jyio
Created February 25, 2012 06:43
Show Gist options
  • Save jyio/1907085 to your computer and use it in GitHub Desktop.
Save jyio/1907085 to your computer and use it in GitHub Desktop.
libmusl, an extension wrapper around android's bionic, based on musl
--- arch/arm/bits/limits.h
+++ arch/arm/bits/limits.h
@@ -1,6 +1,5 @@
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
-#define PAGE_SIZE 4096
#define LONG_BIT 32
#endif
--- arch/arm/bits/mman.h
+++ arch/arm/bits/mman.h
@@ -1,20 +1,3 @@
-#define MAP_FAILED ((void *) -1)
-
-#define PROT_NONE 0
-#define PROT_READ 1
-#define PROT_WRITE 2
-#define PROT_EXEC 4
-#define PROT_GROWSDOWN 0x01000000
-#define PROT_GROWSUP 0x02000000
-
-#define MAP_SHARED 0x01
-#define MAP_PRIVATE 0x02
-#define MAP_FIXED 0x10
-
-#define MAP_TYPE 0x0f
-#define MAP_FILE 0x00
-#define MAP_ANON 0x20
-#define MAP_ANONYMOUS MAP_ANON
#define MAP_32BIT 0x40
#define POSIX_MADV_NORMAL 0
@@ -23,22 +6,10 @@
#define POSIX_MADV_WILLNEED 3
#define POSIX_MADV_DONTNEED 0
-#define MS_ASYNC 1
-#define MS_INVALIDATE 2
-#define MS_SYNC 4
-
#define MCL_CURRENT 1
#define MCL_FUTURE 2
#ifdef _GNU_SOURCE
-#define MADV_NORMAL 0
-#define MADV_RANDOM 1
-#define MADV_SEQUENTIAL 2
-#define MADV_WILLNEED 3
-#define MADV_DONTNEED 4
-#define MADV_REMOVE 9
-#define MADV_DONTFORK 10
-#define MADV_DOFORK 11
#define MADV_MERGEABLE 12
#define MADV_UNMERGEABLE 13
#define MADV_HUGEPAGE 14
--- arch/arm/bits/msg.h
+++ arch/arm/bits/msg.h
@@ -1,3 +1,5 @@
+#undef __unused
+
struct msqid_ds
{
struct ipc_perm msg_perm;
--- arch/arm/bits/stdint.h
+++ arch/arm/bits/stdint.h
@@ -20,4 +20,3 @@
#define PTRDIFF_MAX INT32_MAX
#define SIG_ATOMIC_MIN INT32_MIN
#define SIG_ATOMIC_MAX INT32_MAX
-#define SIZE_MAX UINT32_MAX
--- arch/arm/bits/syscall.h
+++ arch/arm/bits/syscall.h
@@ -43,766 +43,334 @@
#define __socketcall(nm,a,b,c,d,e,f) syscall(SYS_##nm, a, b, c, d, e, f)
#define __socketcall_cp(nm,a,b,c,d,e,f) syscall_cp(SYS_##nm, a, b, c, d, e, f)
-#define __NR_restart_syscall 0
-#define __NR_exit 1
-#define __NR_fork 2
-#define __NR_read 3
-#define __NR_write 4
-#define __NR_open 5
-#define __NR_close 6
-#define __NR_creat 8
-#define __NR_link 9
-#define __NR_unlink 10
-#define __NR_execve 11
-#define __NR_chdir 12
-#define __NR_time 13
-#define __NR_mknod 14
-#define __NR_chmod 15
-#define __NR_lchown 16
-#define __NR_lseek 19
-#define __NR_getpid 20
-#define __NR_mount 21
-#define __NR_umount 22
-#define __NR_setuid 23
-#define __NR_getuid 24
-#define __NR_stime 25
-#define __NR_ptrace 26
-#define __NR_alarm 27
-#define __NR_pause 29
-#define __NR_utime 30
-#define __NR_access 33
-#define __NR_nice 34
-#define __NR_sync 36
-#define __NR_kill 37
-#define __NR_rename 38
-#define __NR_mkdir 39
-#define __NR_rmdir 40
-#define __NR_dup 41
-#define __NR_pipe 42
-#define __NR_times 43
-#define __NR_brk 45
-#define __NR_setgid 46
-#define __NR_getgid 47
-#define __NR_geteuid 49
-#define __NR_getegid 50
-#define __NR_acct 51
-#define __NR_umount2 52
-#define __NR_ioctl 54
-#define __NR_fcntl 55
-#define __NR_setpgid 57
-#define __NR_umask 60
-#define __NR_chroot 61
-#define __NR_ustat 62
-#define __NR_dup2 63
-#define __NR_getppid 64
-#define __NR_getpgrp 65
-#define __NR_setsid 66
-#define __NR_sigaction 67
-#define __NR_setreuid 70
-#define __NR_setregid 71
-#define __NR_sigsuspend 72
-#define __NR_sigpending 73
-#define __NR_sethostname 74
-#define __NR_setrlimit 75
-#define __NR_getrusage 77
-#define __NR_gettimeofday 78
-#define __NR_settimeofday 79
-#define __NR_getgroups 80
-#define __NR_setgroups 81
-#define __NR_select 82
-#define __NR_symlink 83
-#define __NR_readlink 85
-#define __NR_uselib 86
-#define __NR_swapon 87
-#define __NR_reboot 88
-#define __NR_readdir 89
-#define __NR_mmap 90
-#define __NR_munmap 91
-#define __NR_truncate 92
-#define __NR_ftruncate 93
-#define __NR_fchmod 94
-#define __NR_fchown 95
-#define __NR_getpriority 96
-#define __NR_setpriority 97
-#define __NR_statfs 99
-#define __NR_fstatfs 100
-#define __NR_socketcall 102
-#define __NR_syslog 103
-#define __NR_setitimer 104
-#define __NR_getitimer 105
-#define __NR_stat 106
-#define __NR_lstat 107
-#define __NR_fstat 108
-#define __NR_vhangup 111
-#define __NR_syscall 113
-#define __NR_wait4 114
-#define __NR_swapoff 115
-#define __NR_sysinfo 116
-#define __NR_ipc 117
-#define __NR_fsync 118
-#define __NR_sigreturn 119
-#define __NR_clone 120
-#define __NR_setdomainname 121
-#define __NR_uname 122
-#define __NR_adjtimex 124
-#define __NR_mprotect 125
-#define __NR_sigprocmask 126
-#define __NR_init_module 128
-#define __NR_delete_module 129
-#define __NR_quotactl 131
-#define __NR_getpgid 132
-#define __NR_fchdir 133
-#define __NR_bdflush 134
-#define __NR_sysfs 135
-#define __NR_personality 136
-#define __NR_setfsuid 138
-#define __NR_setfsgid 139
-#define __NR__llseek 140
-#define __NR_getdents 141
-#define __NR__newselect 142
-#define __NR_flock 143
-#define __NR_msync 144
-#define __NR_readv 145
-#define __NR_writev 146
-#define __NR_getsid 147
-#define __NR_fdatasync 148
-#define __NR__sysctl 149
-#define __NR_mlock 150
-#define __NR_munlock 151
-#define __NR_mlockall 152
-#define __NR_munlockall 153
-#define __NR_sched_setparam 154
-#define __NR_sched_getparam 155
-#define __NR_sched_setscheduler 156
-#define __NR_sched_getscheduler 157
-#define __NR_sched_yield 158
-#define __NR_sched_get_priority_max 159
-#define __NR_sched_get_priority_min 160
-#define __NR_sched_rr_get_interval 161
-#define __NR_nanosleep 162
-#define __NR_mremap 163
-#define __NR_setresuid 164
-#define __NR_getresuid 165
-#define __NR_poll 168
-#define __NR_nfsservctl 169
-#define __NR_setresgid 170
-#define __NR_getresgid 171
-#define __NR_prctl 172
-#define __NR_rt_sigreturn 173
-#define __NR_rt_sigaction 174
-#define __NR_rt_sigprocmask 175
-#define __NR_rt_sigpending 176
-#define __NR_rt_sigtimedwait 177
-#define __NR_rt_sigqueueinfo 178
-#define __NR_rt_sigsuspend 179
-#define __NR_pread64 180
-#define __NR_pwrite64 181
-#define __NR_chown 182
-#define __NR_getcwd 183
-#define __NR_capget 184
-#define __NR_capset 185
-#define __NR_sigaltstack 186
-#define __NR_sendfile 187
-#define __NR_vfork 190
-#define __NR_ugetrlimit 191
-#define __NR_mmap2 192
-#define __NR_truncate64 193
-#define __NR_ftruncate64 194
-#define __NR_stat64 195
-#define __NR_lstat64 196
-#define __NR_fstat64 197
-#define __NR_lchown32 198
-#define __NR_getuid32 199
-#define __NR_getgid32 200
-#define __NR_geteuid32 201
-#define __NR_getegid32 202
-#define __NR_setreuid32 203
-#define __NR_setregid32 204
-#define __NR_getgroups32 205
-#define __NR_setgroups32 206
-#define __NR_fchown32 207
-#define __NR_setresuid32 208
-#define __NR_getresuid32 209
-#define __NR_setresgid32 210
-#define __NR_getresgid32 211
-#define __NR_chown32 212
-#define __NR_setuid32 213
-#define __NR_setgid32 214
-#define __NR_setfsuid32 215
-#define __NR_setfsgid32 216
-#define __NR_getdents64 217
-#define __NR_pivot_root 218
-#define __NR_mincore 219
-#define __NR_madvise 220
-#define __NR_fcntl64 221
-#define __NR_gettid 224
-#define __NR_readahead 225
-#define __NR_setxattr 226
-#define __NR_lsetxattr 227
-#define __NR_fsetxattr 228
-#define __NR_getxattr 229
-#define __NR_lgetxattr 230
-#define __NR_fgetxattr 231
-#define __NR_listxattr 232
-#define __NR_llistxattr 233
-#define __NR_flistxattr 234
-#define __NR_removexattr 235
-#define __NR_lremovexattr 236
-#define __NR_fremovexattr 237
-#define __NR_tkill 238
-#define __NR_sendfile64 239
-#define __NR_futex 240
-#define __NR_sched_setaffinity 241
-#define __NR_sched_getaffinity 242
-#define __NR_io_setup 243
-#define __NR_io_destroy 244
-#define __NR_io_getevents 245
-#define __NR_io_submit 246
-#define __NR_io_cancel 247
-#define __NR_exit_group 248
-#define __NR_lookup_dcookie 249
-#define __NR_epoll_create 250
-#define __NR_epoll_ctl 251
-#define __NR_epoll_wait 252
-#define __NR_remap_file_pages 253
-#define __NR_set_tid_address 256
-#define __NR_timer_create 257
-#define __NR_timer_settime 258
-#define __NR_timer_gettime 259
-#define __NR_timer_getoverrun 260
-#define __NR_timer_delete 261
-#define __NR_clock_settime 262
-#define __NR_clock_gettime 263
-#define __NR_clock_getres 264
-#define __NR_clock_nanosleep 265
-#define __NR_statfs64 266
-#define __NR_fstatfs64 267
-#define __NR_tgkill 268
-#define __NR_utimes 269
-#define __NR_fadvise64_64 270
-#define __NR_pciconfig_iobase 271
-#define __NR_pciconfig_read 272
-#define __NR_pciconfig_write 273
-#define __NR_mq_open 274
-#define __NR_mq_unlink 275
-#define __NR_mq_timedsend 276
-#define __NR_mq_timedreceive 277
-#define __NR_mq_notify 278
-#define __NR_mq_getsetattr 279
-#define __NR_waitid 280
-#define __NR_socket 281
-#define __NR_bind 282
-#define __NR_connect 283
-#define __NR_listen 284
-#define __NR_accept 285
-#define __NR_getsockname 286
-#define __NR_getpeername 287
-#define __NR_socketpair 288
-#define __NR_send 289
-#define __NR_sendto 290
-#define __NR_recv 291
-#define __NR_recvfrom 292
-#define __NR_shutdown 293
-#define __NR_setsockopt 294
-#define __NR_getsockopt 295
-#define __NR_sendmsg 296
-#define __NR_recvmsg 297
-#define __NR_semop 298
-#define __NR_semget 299
-#define __NR_semctl 300
-#define __NR_msgsnd 301
-#define __NR_msgrcv 302
-#define __NR_msgget 303
-#define __NR_msgctl 304
-#define __NR_shmat 305
-#define __NR_shmdt 306
-#define __NR_shmget 307
-#define __NR_shmctl 308
-#define __NR_add_key 309
-#define __NR_request_key 310
-#define __NR_keyctl 311
-#define __NR_semtimedop 312
-#define __NR_vserver 313
-#define __NR_ioprio_set 314
-#define __NR_ioprio_get 315
-#define __NR_inotify_init 316
-#define __NR_inotify_add_watch 317
-#define __NR_inotify_rm_watch 318
-#define __NR_mbind 319
-#define __NR_get_mempolicy 320
-#define __NR_set_mempolicy 321
-#define __NR_openat 322
-#define __NR_mkdirat 323
-#define __NR_mknodat 324
-#define __NR_fchownat 325
-#define __NR_futimesat 326
-#define __NR_fstatat64 327
-#define __NR_unlinkat 328
-#define __NR_renameat 329
-#define __NR_linkat 330
-#define __NR_symlinkat 331
-#define __NR_readlinkat 332
-#define __NR_fchmodat 333
-#define __NR_faccessat 334
-#define __NR_pselect6 335
-#define __NR_ppoll 336
-#define __NR_unshare 337
-#define __NR_set_robust_list 338
-#define __NR_get_robust_list 339
-#define __NR_splice 340
-#define __NR_sync_file_range2 341
-#define __NR_tee 342
-#define __NR_vmsplice 343
-#define __NR_move_pages 344
-#define __NR_getcpu 345
-#define __NR_epoll_pwait 346
-#define __NR_kexec_load 347
-#define __NR_utimensat 348
-#define __NR_signalfd 349
-#define __NR_timerfd_create 350
-#define __NR_eventfd 351
-#define __NR_fallocate 352
-#define __NR_timerfd_settime 353
-#define __NR_timerfd_gettime 354
-#define __NR_signalfd4 355
-#define __NR_eventfd2 356
-#define __NR_epoll_create1 357
-#define __NR_dup3 358
-#define __NR_pipe2 359
-#define __NR_inotify_init1 360
-#define __NR_preadv 361
-#define __NR_pwritev 362
-#define __NR_rt_tgsigqueueinfo 363
-#define __NR_perf_event_open 364
-#define __NR_recvmmsg 365
-#define __NR_accept4 366
-#define __NR_fanotify_init 367
-#define __NR_fanotify_mark 368
-#define __NR_prlimit64 369
-#define __NR_name_to_handle_at 370
-#define __NR_open_by_handle_at 371
-#define __NR_clock_adjtime 372
-#define __NR_syncfs 373
-#define __NR_sendmmsg 374
-#define __NR_setns 375
-
-/* fixup legacy 16-bit junk */
-#undef __NR_lchown
-#undef __NR_getuid
-#undef __NR_getgid
-#undef __NR_geteuid
-#undef __NR_getegid
-#undef __NR_setreuid
-#undef __NR_setregid
-#undef __NR_getgroups
-#undef __NR_setgroups
-#undef __NR_fchown
-#undef __NR_setresuid
-#undef __NR_getresuid
-#undef __NR_setresgid
-#undef __NR_getresgid
-#undef __NR_chown
-#undef __NR_setuid
-#undef __NR_setgid
-#undef __NR_setfsuid
-#undef __NR_setfsgid
-#define __NR_lchown __NR_lchown32
-#define __NR_getuid __NR_getuid32
-#define __NR_getgid __NR_getgid32
-#define __NR_geteuid __NR_geteuid32
-#define __NR_getegid __NR_getegid32
-#define __NR_setreuid __NR_setreuid32
-#define __NR_setregid __NR_setregid32
-#define __NR_getgroups __NR_getgroups32
-#define __NR_setgroups __NR_setgroups32
-#define __NR_fchown __NR_fchown32
-#define __NR_setresuid __NR_setresuid32
-#define __NR_getresuid __NR_getresuid32
-#define __NR_setresgid __NR_setresgid32
-#define __NR_getresgid __NR_getresgid32
-#define __NR_chown __NR_chown32
-#define __NR_setuid __NR_setuid32
-#define __NR_setgid __NR_setgid32
-#define __NR_setfsuid __NR_setfsuid32
-#define __NR_setfsgid __NR_setfsgid32
-
-
-/* fixup legacy 32-bit-vs-lfs64 junk */
-#undef __NR_fcntl
-#undef __NR_getdents
-#undef __NR_ftruncate
-#undef __NR_truncate
-#undef __NR_stat
-#undef __NR_fstat
-#undef __NR_lstat
-#undef __NR_statfs
-#undef __NR_fstatfs
-#define __NR_fcntl __NR_fcntl64
-#define __NR_getdents __NR_getdents64
-#define __NR_ftruncate __NR_ftruncate64
-#define __NR_truncate __NR_truncate64
-#define __NR_stat __NR_stat64
-#define __NR_fstat __NR_fstat64
-#define __NR_lstat __NR_lstat64
-#define __NR_statfs __NR_statfs64
-#define __NR_fstatfs __NR_fstatfs64
-#define __NR_fstatat __NR_fstatat64
-#define __NR_pread __NR_pread64
-#define __NR_pwrite __NR_pwrite64
-
-#define __NR_fadvise __NR_fadvise64_64
-
-#undef __NR_getrlimit
-#define __NR_getrlimit __NR_ugetrlimit
-
-#undef __NR_select
-#define __NR_select __NR__newselect
-
-
-/* Repeated with SYS_ prefix */
-
-#define SYS_restart_syscall 0
-#define SYS_exit 1
-#define SYS_fork 2
-#define SYS_read 3
-#define SYS_write 4
-#define SYS_open 5
-#define SYS_close 6
-#define SYS_creat 8
-#define SYS_link 9
-#define SYS_unlink 10
-#define SYS_execve 11
-#define SYS_chdir 12
-#define SYS_time 13
-#define SYS_mknod 14
-#define SYS_chmod 15
-#define SYS_lchown 16
-#define SYS_lseek 19
-#define SYS_getpid 20
-#define SYS_mount 21
-#define SYS_umount 22
-#define SYS_setuid 23
-#define SYS_getuid 24
-#define SYS_stime 25
-#define SYS_ptrace 26
-#define SYS_alarm 27
-#define SYS_pause 29
-#define SYS_utime 30
-#define SYS_access 33
-#define SYS_nice 34
-#define SYS_sync 36
-#define SYS_kill 37
-#define SYS_rename 38
-#define SYS_mkdir 39
-#define SYS_rmdir 40
-#define SYS_dup 41
-#define SYS_pipe 42
-#define SYS_times 43
-#define SYS_brk 45
-#define SYS_setgid 46
-#define SYS_getgid 47
-#define SYS_geteuid 49
-#define SYS_getegid 50
-#define SYS_acct 51
-#define SYS_umount2 52
-#define SYS_ioctl 54
-#define SYS_fcntl 55
-#define SYS_setpgid 57
-#define SYS_umask 60
-#define SYS_chroot 61
-#define SYS_ustat 62
-#define SYS_dup2 63
-#define SYS_getppid 64
-#define SYS_getpgrp 65
-#define SYS_setsid 66
-#define SYS_sigaction 67
-#define SYS_setreuid 70
-#define SYS_setregid 71
-#define SYS_sigsuspend 72
-#define SYS_sigpending 73
-#define SYS_sethostname 74
-#define SYS_setrlimit 75
-#define SYS_getrusage 77
-#define SYS_gettimeofday 78
-#define SYS_settimeofday 79
-#define SYS_getgroups 80
-#define SYS_setgroups 81
-#define SYS_select 82
-#define SYS_symlink 83
-#define SYS_readlink 85
-#define SYS_uselib 86
-#define SYS_swapon 87
-#define SYS_reboot 88
-#define SYS_readdir 89
-#define SYS_mmap 90
-#define SYS_munmap 91
-#define SYS_truncate 92
-#define SYS_ftruncate 93
-#define SYS_fchmod 94
-#define SYS_fchown 95
-#define SYS_getpriority 96
-#define SYS_setpriority 97
-#define SYS_statfs 99
-#define SYS_fstatfs 100
-#define SYS_socketcall 102
-#define SYS_syslog 103
-#define SYS_setitimer 104
-#define SYS_getitimer 105
-#define SYS_stat 106
-#define SYS_lstat 107
-#define SYS_fstat 108
-#define SYS_vhangup 111
-#define SYS_syscall 113
-#define SYS_wait4 114
-#define SYS_swapoff 115
-#define SYS_sysinfo 116
-#define SYS_ipc 117
-#define SYS_fsync 118
-#define SYS_sigreturn 119
-#define SYS_clone 120
-#define SYS_setdomainname 121
-#define SYS_uname 122
-#define SYS_adjtimex 124
-#define SYS_mprotect 125
-#define SYS_sigprocmask 126
-#define SYS_init_module 128
-#define SYS_delete_module 129
-#define SYS_quotactl 131
-#define SYS_getpgid 132
-#define SYS_fchdir 133
-#define SYS_bdflush 134
-#define SYS_sysfs 135
-#define SYS_personality 136
-#define SYS_setfsuid 138
-#define SYS_setfsgid 139
-#define SYS__llseek 140
-#define SYS_getdents 141
-#define SYS__newselect 142
-#define SYS_flock 143
-#define SYS_msync 144
-#define SYS_readv 145
-#define SYS_writev 146
-#define SYS_getsid 147
-#define SYS_fdatasync 148
-#define SYS__sysctl 149
-#define SYS_mlock 150
-#define SYS_munlock 151
-#define SYS_mlockall 152
-#define SYS_munlockall 153
-#define SYS_sched_setparam 154
-#define SYS_sched_getparam 155
-#define SYS_sched_setscheduler 156
-#define SYS_sched_getscheduler 157
-#define SYS_sched_yield 158
-#define SYS_sched_get_priority_max 159
-#define SYS_sched_get_priority_min 160
-#define SYS_sched_rr_get_interval 161
-#define SYS_nanosleep 162
-#define SYS_mremap 163
-#define SYS_setresuid 164
-#define SYS_getresuid 165
-#define SYS_poll 168
-#define SYS_nfsservctl 169
-#define SYS_setresgid 170
-#define SYS_getresgid 171
-#define SYS_prctl 172
-#define SYS_rt_sigreturn 173
-#define SYS_rt_sigaction 174
-#define SYS_rt_sigprocmask 175
-#define SYS_rt_sigpending 176
-#define SYS_rt_sigtimedwait 177
-#define SYS_rt_sigqueueinfo 178
-#define SYS_rt_sigsuspend 179
-#define SYS_pread64 180
-#define SYS_pwrite64 181
-#define SYS_chown 182
-#define SYS_getcwd 183
-#define SYS_capget 184
-#define SYS_capset 185
-#define SYS_sigaltstack 186
-#define SYS_sendfile 187
-#define SYS_vfork 190
-#define SYS_ugetrlimit 191
-#define SYS_mmap2 192
-#define SYS_truncate64 193
-#define SYS_ftruncate64 194
-#define SYS_stat64 195
-#define SYS_lstat64 196
-#define SYS_fstat64 197
-#define SYS_lchown32 198
-#define SYS_getuid32 199
-#define SYS_getgid32 200
-#define SYS_geteuid32 201
-#define SYS_getegid32 202
-#define SYS_setreuid32 203
-#define SYS_setregid32 204
-#define SYS_getgroups32 205
-#define SYS_setgroups32 206
-#define SYS_fchown32 207
-#define SYS_setresuid32 208
-#define SYS_getresuid32 209
-#define SYS_setresgid32 210
-#define SYS_getresgid32 211
-#define SYS_chown32 212
-#define SYS_setuid32 213
-#define SYS_setgid32 214
-#define SYS_setfsuid32 215
-#define SYS_setfsgid32 216
-#define SYS_getdents64 217
-#define SYS_pivot_root 218
-#define SYS_mincore 219
-#define SYS_madvise 220
-#define SYS_fcntl64 221
-#define SYS_gettid 224
-#define SYS_readahead 225
-#define SYS_setxattr 226
-#define SYS_lsetxattr 227
-#define SYS_fsetxattr 228
-#define SYS_getxattr 229
-#define SYS_lgetxattr 230
-#define SYS_fgetxattr 231
-#define SYS_listxattr 232
-#define SYS_llistxattr 233
-#define SYS_flistxattr 234
-#define SYS_removexattr 235
-#define SYS_lremovexattr 236
-#define SYS_fremovexattr 237
-#define SYS_tkill 238
-#define SYS_sendfile64 239
-#define SYS_futex 240
-#define SYS_sched_setaffinity 241
-#define SYS_sched_getaffinity 242
-#define SYS_io_setup 243
-#define SYS_io_destroy 244
-#define SYS_io_getevents 245
-#define SYS_io_submit 246
-#define SYS_io_cancel 247
-#define SYS_exit_group 248
-#define SYS_lookup_dcookie 249
-#define SYS_epoll_create 250
-#define SYS_epoll_ctl 251
-#define SYS_epoll_wait 252
-#define SYS_remap_file_pages 253
-#define SYS_set_tid_address 256
-#define SYS_timer_create 257
-#define SYS_timer_settime 258
-#define SYS_timer_gettime 259
-#define SYS_timer_getoverrun 260
-#define SYS_timer_delete 261
-#define SYS_clock_settime 262
-#define SYS_clock_gettime 263
-#define SYS_clock_getres 264
-#define SYS_clock_nanosleep 265
-#define SYS_statfs64 266
-#define SYS_fstatfs64 267
-#define SYS_tgkill 268
-#define SYS_utimes 269
-#define SYS_fadvise64_64 270
-#define SYS_pciconfig_iobase 271
-#define SYS_pciconfig_read 272
-#define SYS_pciconfig_write 273
-#define SYS_mq_open 274
-#define SYS_mq_unlink 275
-#define SYS_mq_timedsend 276
-#define SYS_mq_timedreceive 277
-#define SYS_mq_notify 278
-#define SYS_mq_getsetattr 279
-#define SYS_waitid 280
-#define SYS_socket 281
-#define SYS_bind 282
-#define SYS_connect 283
-#define SYS_listen 284
-#define SYS_accept 285
-#define SYS_getsockname 286
-#define SYS_getpeername 287
-#define SYS_socketpair 288
-#define SYS_send 289
-#define SYS_sendto 290
-#define SYS_recv 291
-#define SYS_recvfrom 292
-#define SYS_shutdown 293
-#define SYS_setsockopt 294
-#define SYS_getsockopt 295
-#define SYS_sendmsg 296
-#define SYS_recvmsg 297
-#define SYS_semop 298
-#define SYS_semget 299
-#define SYS_semctl 300
-#define SYS_msgsnd 301
-#define SYS_msgrcv 302
-#define SYS_msgget 303
-#define SYS_msgctl 304
-#define SYS_shmat 305
-#define SYS_shmdt 306
-#define SYS_shmget 307
-#define SYS_shmctl 308
-#define SYS_add_key 309
-#define SYS_request_key 310
-#define SYS_keyctl 311
-#define SYS_semtimedop 312
-#define SYS_vserver 313
-#define SYS_ioprio_set 314
-#define SYS_ioprio_get 315
-#define SYS_inotify_init 316
-#define SYS_inotify_add_watch 317
-#define SYS_inotify_rm_watch 318
-#define SYS_mbind 319
-#define SYS_get_mempolicy 320
-#define SYS_set_mempolicy 321
-#define SYS_openat 322
-#define SYS_mkdirat 323
-#define SYS_mknodat 324
-#define SYS_fchownat 325
-#define SYS_futimesat 326
-#define SYS_fstatat64 327
-#define SYS_unlinkat 328
-#define SYS_renameat 329
-#define SYS_linkat 330
-#define SYS_symlinkat 331
-#define SYS_readlinkat 332
-#define SYS_fchmodat 333
-#define SYS_faccessat 334
-#define SYS_pselect6 335
-#define SYS_ppoll 336
-#define SYS_unshare 337
-#define SYS_set_robust_list 338
-#define SYS_get_robust_list 339
-#define SYS_splice 340
-#define SYS_sync_file_range2 341
-#define SYS_tee 342
-#define SYS_vmsplice 343
-#define SYS_move_pages 344
-#define SYS_getcpu 345
-#define SYS_epoll_pwait 346
-#define SYS_kexec_load 347
-#define SYS_utimensat 348
-#define SYS_signalfd 349
-#define SYS_timerfd_create 350
-#define SYS_eventfd 351
-#define SYS_fallocate 352
-#define SYS_timerfd_settime 353
-#define SYS_timerfd_gettime 354
-#define SYS_signalfd4 355
-#define SYS_eventfd2 356
-#define SYS_epoll_create1 357
-#define SYS_dup3 358
-#define SYS_pipe2 359
-#define SYS_inotify_init1 360
-#define SYS_preadv 361
-#define SYS_pwritev 362
-#define SYS_rt_tgsigqueueinfo 363
-#define SYS_perf_event_open 364
-#define SYS_recvmmsg 365
-#define SYS_accept4 366
-#define SYS_fanotify_init 367
-#define SYS_fanotify_mark 368
-#define SYS_prlimit64 369
-#define SYS_name_to_handle_at 370
-#define SYS_open_by_handle_at 371
-#define SYS_clock_adjtime 372
-#define SYS_syncfs 373
-#define SYS_sendmmsg 374
-#define SYS_setns 375
+#define SYS_restart_syscall __NR_restart_syscall
+#define SYS_exit __NR_exit
+#define SYS_fork __NR_fork
+#define SYS_read __NR_read
+#define SYS_write __NR_write
+#define SYS_open __NR_open
+#define SYS_close __NR_close
+#define SYS_creat __NR_creat
+#define SYS_link __NR_link
+#define SYS_unlink __NR_unlink
+#define SYS_execve __NR_execve
+#define SYS_chdir __NR_chdir
+#define SYS_time __NR_time
+#define SYS_mknod __NR_mknod
+#define SYS_chmod __NR_chmod
+#define SYS_lchown __NR_lchown
+#define SYS_lseek __NR_lseek
+#define SYS_getpid __NR_getpid
+#define SYS_mount __NR_mount
+#define SYS_umount __NR_umount
+#define SYS_setuid __NR_setuid
+#define SYS_getuid __NR_getuid
+#define SYS_stime __NR_stime
+#define SYS_ptrace __NR_ptrace
+#define SYS_alarm __NR_alarm
+#define SYS_pause __NR_pause
+#define SYS_utime __NR_utime
+#define SYS_access __NR_access
+#define SYS_nice __NR_nice
+#define SYS_sync __NR_sync
+#define SYS_kill __NR_kill
+#define SYS_rename __NR_rename
+#define SYS_mkdir __NR_mkdir
+#define SYS_rmdir __NR_rmdir
+#define SYS_dup __NR_dup
+#define SYS_pipe __NR_pipe
+#define SYS_times __NR_times
+#define SYS_brk __NR_brk
+#define SYS_setgid __NR_setgid
+#define SYS_getgid __NR_getgid
+#define SYS_geteuid __NR_geteuid
+#define SYS_getegid __NR_getegid
+#define SYS_acct __NR_acct
+#define SYS_umount2 __NR_umount2
+#define SYS_ioctl __NR_ioctl
+#define SYS_fcntl __NR_fcntl
+#define SYS_setpgid __NR_setpgid
+#define SYS_umask __NR_umask
+#define SYS_chroot __NR_chroot
+#define SYS_ustat __NR_ustat
+#define SYS_dup2 __NR_dup2
+#define SYS_getppid __NR_getppid
+#define SYS_getpgrp __NR_getpgrp
+#define SYS_setsid __NR_setsid
+#define SYS_sigaction __NR_sigaction
+#define SYS_setreuid __NR_setreuid
+#define SYS_setregid __NR_setregid
+#define SYS_sigsuspend __NR_sigsuspend
+#define SYS_sigpending __NR_sigpending
+#define SYS_sethostname __NR_sethostname
+#define SYS_setrlimit __NR_setrlimit
+#define SYS_getrusage __NR_getrusage
+#define SYS_gettimeofday __NR_gettimeofday
+#define SYS_settimeofday __NR_settimeofday
+#define SYS_getgroups __NR_getgroups
+#define SYS_setgroups __NR_setgroups
+#define SYS_select __NR_select
+#define SYS_symlink __NR_symlink
+#define SYS_readlink __NR_readlink
+#define SYS_uselib __NR_uselib
+#define SYS_swapon __NR_swapon
+#define SYS_reboot __NR_reboot
+#define SYS_readdir __NR_readdir
+#define SYS_mmap __NR_mmap
+#define SYS_munmap __NR_munmap
+#define SYS_truncate __NR_truncate
+#define SYS_ftruncate __NR_ftruncate
+#define SYS_fchmod __NR_fchmod
+#define SYS_fchown __NR_fchown
+#define SYS_getpriority __NR_getpriority
+#define SYS_setpriority __NR_setpriority
+#define SYS_statfs __NR_statfs
+#define SYS_fstatfs __NR_fstatfs
+#define SYS_socketcall __NR_socketcall
+#define SYS_syslog __NR_syslog
+#define SYS_setitimer __NR_setitimer
+#define SYS_getitimer __NR_getitimer
+#define SYS_stat __NR_stat
+#define SYS_lstat __NR_lstat
+#define SYS_fstat __NR_fstat
+#define SYS_vhangup __NR_vhangup
+#define SYS_syscall __NR_syscall
+#define SYS_wait4 __NR_wait4
+#define SYS_swapoff __NR_swapoff
+#define SYS_sysinfo __NR_sysinfo
+#define SYS_ipc __NR_ipc
+#define SYS_fsync __NR_fsync
+#define SYS_sigreturn __NR_sigreturn
+#define SYS_clone __NR_clone
+#define SYS_setdomainname __NR_setdomainname
+#define SYS_uname __NR_uname
+#define SYS_adjtimex __NR_adjtimex
+#define SYS_mprotect __NR_mprotect
+#define SYS_sigprocmask __NR_sigprocmask
+#define SYS_init_module __NR_init_module
+#define SYS_delete_module __NR_delete_module
+#define SYS_quotactl __NR_quotactl
+#define SYS_getpgid __NR_getpgid
+#define SYS_fchdir __NR_fchdir
+#define SYS_bdflush __NR_bdflush
+#define SYS_sysfs __NR_sysfs
+#define SYS_personality __NR_personality
+#define SYS_setfsuid __NR_setfsuid
+#define SYS_setfsgid __NR_setfsgid
+#define SYS__llseek __NR__llseek
+#define SYS_getdents __NR_getdents
+#define SYS__newselect __NR__newselect
+#define SYS_flock __NR_flock
+#define SYS_msync __NR_msync
+#define SYS_readv __NR_readv
+#define SYS_writev __NR_writev
+#define SYS_getsid __NR_getsid
+#define SYS_fdatasync __NR_fdatasync
+#define SYS__sysctl __NR__sysctl
+#define SYS_mlock __NR_mlock
+#define SYS_munlock __NR_munlock
+#define SYS_mlockall __NR_mlockall
+#define SYS_munlockall __NR_munlockall
+#define SYS_sched_setparam __NR_sched_setparam
+#define SYS_sched_getparam __NR_sched_getparam
+#define SYS_sched_setscheduler __NR_sched_setscheduler
+#define SYS_sched_getscheduler __NR_sched_getscheduler
+#define SYS_sched_yield __NR_sched_yield
+#define SYS_sched_get_priority_max __NR_sched_get_priority_max
+#define SYS_sched_get_priority_min __NR_sched_get_priority_min
+#define SYS_sched_rr_get_interval __NR_sched_rr_get_interval
+#define SYS_nanosleep __NR_nanosleep
+#define SYS_mremap __NR_mremap
+#define SYS_setresuid __NR_setresuid
+#define SYS_getresuid __NR_getresuid
+#define SYS_poll __NR_poll
+#define SYS_nfsservctl __NR_nfsservctl
+#define SYS_setresgid __NR_setresgid
+#define SYS_getresgid __NR_getresgid
+#define SYS_prctl __NR_prctl
+#define SYS_rt_sigreturn __NR_rt_sigreturn
+#define SYS_rt_sigaction __NR_rt_sigaction
+#define SYS_rt_sigprocmask __NR_rt_sigprocmask
+#define SYS_rt_sigpending __NR_rt_sigpending
+#define SYS_rt_sigtimedwait __NR_rt_sigtimedwait
+#define SYS_rt_sigqueueinfo __NR_rt_sigqueueinfo
+#define SYS_rt_sigsuspend __NR_rt_sigsuspend
+#define SYS_pread64 __NR_pread64
+#define SYS_pwrite64 __NR_pwrite64
+#define SYS_chown __NR_chown
+#define SYS_getcwd __NR_getcwd
+#define SYS_capget __NR_capget
+#define SYS_capset __NR_capset
+#define SYS_sigaltstack __NR_sigaltstack
+#define SYS_sendfile __NR_sendfile
+#define SYS_vfork __NR_vfork
+#define SYS_ugetrlimit __NR_ugetrlimit
+#define SYS_mmap2 __NR_mmap2
+#define SYS_truncate64 __NR_truncate64
+#define SYS_ftruncate64 __NR_ftruncate64
+#define SYS_stat64 __NR_stat64
+#define SYS_lstat64 __NR_lstat64
+#define SYS_fstat64 __NR_fstat64
+#define SYS_lchown32 __NR_lchown32
+#define SYS_getuid32 __NR_getuid32
+#define SYS_getgid32 __NR_getgid32
+#define SYS_geteuid32 __NR_geteuid32
+#define SYS_getegid32 __NR_getegid32
+#define SYS_setreuid32 __NR_setreuid32
+#define SYS_setregid32 __NR_setregid32
+#define SYS_getgroups32 __NR_getgroups32
+#define SYS_setgroups32 __NR_setgroups32
+#define SYS_fchown32 __NR_fchown32
+#define SYS_setresuid32 __NR_setresuid32
+#define SYS_getresuid32 __NR_getresuid32
+#define SYS_setresgid32 __NR_setresgid32
+#define SYS_getresgid32 __NR_getresgid32
+#define SYS_chown32 __NR_chown32
+#define SYS_setuid32 __NR_setuid32
+#define SYS_setgid32 __NR_setgid32
+#define SYS_setfsuid32 __NR_setfsuid32
+#define SYS_setfsgid32 __NR_setfsgid32
+#define SYS_getdents64 __NR_getdents64
+#define SYS_pivot_root __NR_pivot_root
+#define SYS_mincore __NR_mincore
+#define SYS_madvise __NR_madvise
+#define SYS_fcntl64 __NR_fcntl64
+#define SYS_gettid __NR_gettid
+#define SYS_readahead __NR_readahead
+#define SYS_setxattr __NR_setxattr
+#define SYS_lsetxattr __NR_lsetxattr
+#define SYS_fsetxattr __NR_fsetxattr
+#define SYS_getxattr __NR_getxattr
+#define SYS_lgetxattr __NR_lgetxattr
+#define SYS_fgetxattr __NR_fgetxattr
+#define SYS_listxattr __NR_listxattr
+#define SYS_llistxattr __NR_llistxattr
+#define SYS_flistxattr __NR_flistxattr
+#define SYS_removexattr __NR_removexattr
+#define SYS_lremovexattr __NR_lremovexattr
+#define SYS_fremovexattr __NR_fremovexattr
+#define SYS_tkill __NR_tkill
+#define SYS_sendfile64 __NR_sendfile64
+#define SYS_futex __NR_futex
+#define SYS_sched_setaffinity __NR_sched_setaffinity
+#define SYS_sched_getaffinity __NR_sched_getaffinity
+#define SYS_io_setup __NR_io_setup
+#define SYS_io_destroy __NR_io_destroy
+#define SYS_io_getevents __NR_io_getevents
+#define SYS_io_submit __NR_io_submit
+#define SYS_io_cancel __NR_io_cancel
+#define SYS_exit_group __NR_exit_group
+#define SYS_lookup_dcookie __NR_lookup_dcookie
+#define SYS_epoll_create __NR_epoll_create
+#define SYS_epoll_ctl __NR_epoll_ctl
+#define SYS_epoll_wait __NR_epoll_wait
+#define SYS_remap_file_pages __NR_remap_file_pages
+#define SYS_set_tid_address __NR_set_tid_address
+#define SYS_timer_create __NR_timer_create
+#define SYS_timer_settime __NR_timer_settime
+#define SYS_timer_gettime __NR_timer_gettime
+#define SYS_timer_getoverrun __NR_timer_getoverrun
+#define SYS_timer_delete __NR_timer_delete
+#define SYS_clock_settime __NR_clock_settime
+#define SYS_clock_gettime __NR_clock_gettime
+#define SYS_clock_getres __NR_clock_getres
+#define SYS_clock_nanosleep __NR_clock_nanosleep
+#define SYS_statfs64 __NR_statfs64
+#define SYS_fstatfs64 __NR_fstatfs64
+#define SYS_tgkill __NR_tgkill
+#define SYS_utimes __NR_utimes
+#define SYS_fadvise64_64 __NR_arm_fadvise64_64
+#define SYS_pciconfig_iobase __NR_pciconfig_iobase
+#define SYS_pciconfig_read __NR_pciconfig_read
+#define SYS_pciconfig_write __NR_pciconfig_write
+#define SYS_mq_open __NR_mq_open
+#define SYS_mq_unlink __NR_mq_unlink
+#define SYS_mq_timedsend __NR_mq_timedsend
+#define SYS_mq_timedreceive __NR_mq_timedreceive
+#define SYS_mq_notify __NR_mq_notify
+#define SYS_mq_getsetattr __NR_mq_getsetattr
+#define SYS_waitid __NR_waitid
+#define SYS_socket __NR_socket
+#define SYS_bind __NR_bind
+#define SYS_connect __NR_connect
+#define SYS_listen __NR_listen
+#define SYS_accept __NR_accept
+#define SYS_getsockname __NR_getsockname
+#define SYS_getpeername __NR_getpeername
+#define SYS_socketpair __NR_socketpair
+#define SYS_send __NR_send
+#define SYS_sendto __NR_sendto
+#define SYS_recv __NR_recv
+#define SYS_recvfrom __NR_recvfrom
+#define SYS_shutdown __NR_shutdown
+#define SYS_setsockopt __NR_setsockopt
+#define SYS_getsockopt __NR_getsockopt
+#define SYS_sendmsg __NR_sendmsg
+#define SYS_recvmsg __NR_recvmsg
+#define SYS_semop __NR_semop
+#define SYS_semget __NR_semget
+#define SYS_semctl __NR_semctl
+#define SYS_msgsnd __NR_msgsnd
+#define SYS_msgrcv __NR_msgrcv
+#define SYS_msgget __NR_msgget
+#define SYS_msgctl __NR_msgctl
+#define SYS_shmat __NR_shmat
+#define SYS_shmdt __NR_shmdt
+#define SYS_shmget __NR_shmget
+#define SYS_shmctl __NR_shmctl
+#define SYS_add_key __NR_add_key
+#define SYS_request_key __NR_request_key
+#define SYS_keyctl __NR_keyctl
+#define SYS_semtimedop __NR_semtimedop
+#define SYS_vserver __NR_vserver
+#define SYS_ioprio_set __NR_ioprio_set
+#define SYS_ioprio_get __NR_ioprio_get
+#define SYS_inotify_init __NR_inotify_init
+#define SYS_inotify_add_watch __NR_inotify_add_watch
+#define SYS_inotify_rm_watch __NR_inotify_rm_watch
+#define SYS_mbind __NR_mbind
+#define SYS_get_mempolicy __NR_get_mempolicy
+#define SYS_set_mempolicy __NR_set_mempolicy
+#define SYS_openat __NR_openat
+#define SYS_mkdirat __NR_mkdirat
+#define SYS_fchownat __NR_fchownat
+#define SYS_futimesat __NR_futimesat
+#define SYS_fstatat64 __NR_fstatat64
+#define SYS_unlinkat __NR_unlinkat
+#define SYS_renameat __NR_renameat
+#define SYS_symlinkat __NR_symlinkat
+#define SYS_fchmodat __NR_fchmodat
+#define SYS_pselect6 __NR_pselect6
+#define SYS_ppoll __NR_ppoll
+#define SYS_unshare __NR_unshare
+#define SYS_set_robust_list __NR_set_robust_list
+#define SYS_get_robust_list __NR_get_robust_list
+#define SYS_splice __NR_splice
+#define SYS_sync_file_range2 __NR_sync_file_range2
+#define SYS_tee __NR_tee
+#define SYS_vmsplice __NR_vmsplice
+#define SYS_move_pages __NR_move_pages
+#define SYS_getcpu __NR_getcpu
+#define SYS_kexec_load __NR_kexec_load
+#define SYS_timerfd_create __NR_timerfd_create
+#define SYS_timerfd_settime __NR_timerfd_settime
+#define SYS_timerfd_gettime __NR_timerfd_gettime
+#define SYS_dup3 __NR_dup3
+#define SYS_pipe2 __NR_pipe2
+#define SYS_preadv __NR_preadv
+#define SYS_pwritev __NR_pwritev
+#define SYS_rt_tgsigqueueinfo __NR_rt_tgsigqueueinfo
+#define SYS_perf_event_open __NR_perf_event_open
+#define SYS_recvmmsg __NR_recvmmsg
+#define SYS_accept4 __NR_accept4
+#define SYS_fanotify_init __NR_fanotify_init
+#define SYS_fanotify_mark __NR_fanotify_mark
+#define SYS_name_to_handle_at __NR_name_to_handle_at
+#define SYS_open_by_handle_at __NR_open_by_handle_at
+#define SYS_clock_adjtime __NR_clock_adjtime
+#define SYS_syncfs __NR_syncfs
+#define SYS_sendmmsg __NR_sendmmsg
+#define SYS_setns __NR_setns
/* fixup legacy 16-bit junk */
#undef SYS_lchown
--- config.mak
+++ config.mak
@@ -1,27 +1,9 @@
-#
-# musl config.mak template (original in dist/config.mak)
-#
-
-# Target CPU architecture. Supported values: i386, x86_64
-ARCH = i386
-
-# Installation prefix. DO NOT use /, /usr, or /usr/local !
-prefix = /usr/local/musl
-
-# Installation prefix for musl-gcc compiler wrapper.
-exec_prefix = /usr/local
-
-# Location for the dynamic linker ld-musl-$(ARCH).so.1
-syslibdir = /lib
-
-# Uncomment if you want to build i386 musl on a 64-bit host
-#CFLAGS += -m32
-
-# Uncomment for smaller code size.
-#CFLAGS += -fomit-frame-pointer -mno-accumulate-outgoing-args
-
-# Uncomment for warnings (as errors). Might need tuning to your gcc version.
-#CFLAGS += -Werror -Wall -Wpointer-arith -Wcast-align -Wno-parentheses -Wno-char-subscripts -Wno-uninitialized -Wno-sequence-point -Wno-missing-braces -Wno-unused-value -Wno-overflow -Wno-int-to-pointer-cast
-
-# Uncomment if you want to disable building the shared library.
-#SHARED_LIBS =
+ARCH := arm
+CC := agcc.bash
+LD := agcc.bash
+CFLAGS := -Os -std=c99 -D_XOPEN_SOURCE=700 -pipe
+LDFLAGS := -shared
+AR := arm-linux-androideabi-ar
+RANLIB := arm-linux-androideabi-ranlib
+OBJCOPY := arm-linux-androideabi-objcopy
+LIBNAME := musl
--- include/aio.h
+++ include/aio.h
@@ -10,11 +10,7 @@
#include <signal.h>
#include <time.h>
-
-#define __NEED_ssize_t
-#define __NEED_off_t
-
-#include <bits/alltypes.h>
+#include <sys/types.h>
struct aiocb {
int aio_fildes, aio_lio_opcode, aio_reqprio;
--- include/arpa/nameser.h
+++ include/arpa/nameser.h
@@ -1,6 +1,8 @@
#ifndef _ARPA_NAMESER_H_
#define _ARPA_NAMESER_H_
+#include_next <arpa/nameser.h>
+
#define __NAMESER 19991006
#define NS_PACKETSZ 512
#define NS_MAXDNAME 1025
--- include/ctype.h
+++ include/ctype.h
@@ -1,32 +1,12 @@
#ifndef _CTYPE_H
#define _CTYPE_H
+#include_next <ctype.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-int isalnum(int);
-int isalpha(int);
-int isblank(int);
-int iscntrl(int);
-int isdigit(int);
-int isgraph(int);
-int islower(int);
-int isprint(int);
-int ispunct(int);
-int isspace(int);
-int isupper(int);
-int isxdigit(int);
-int tolower(int);
-int toupper(int);
-
-#define isalpha(a) ((((unsigned)(a)|32)-'a') < 26)
-#define isdigit(a) (((unsigned)(a)-'0') < 10)
-#define islower(a) (((unsigned)(a)-'a') < 26)
-#define isupper(a) (((unsigned)(a)-'A') < 26)
-#define isprint(a) (((unsigned)(a)-0x20) < 0x5f)
-#define isgraph(a) (((unsigned)(a)-0x21) < 0x5e)
-
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
@@ -50,11 +30,6 @@
int tolower_l(int, locale_t);
int toupper_l(int, locale_t);
-int isascii(int);
-int toascii(int);
-#define _tolower(a) ((a)|0x20)
-#define _toupper(a) ((a)&0x5f)
-
#endif
#ifdef __cplusplus
--- include/fcntl.h
+++ include/fcntl.h
@@ -1,49 +1,18 @@
#ifndef _FCNTL_H
+#include_next <fcntl.h>
+
+#ifndef _FCNTL_H
#define _FCNTL_H
+#endif
#ifdef __cplusplus
extern "C" {
#endif
-#define __NEED_off_t
-#define __NEED_pid_t
-#define __NEED_mode_t
-
-#include <bits/alltypes.h>
-
-#include <bits/fcntl.h>
-
-struct flock
-{
- short l_type;
- short l_whence;
- off_t l_start;
- off_t l_len;
- pid_t l_pid;
-};
-
-int creat(const char *, mode_t);
-int fcntl(int, int, ...);
-int open(const char *, int, ...);
-int openat(int, const char *, int, ...);
+#include <sys/types.h>
+
int posix_fadvise(int, off_t, off_t, int);
-int posix_fallocate(int, off_t, off_t);
-#define O_ACCMODE 03
-#define O_RDONLY 00
-#define O_WRONLY 01
-#define O_RDWR 02
-
-#define F_RDLCK 0
-#define F_WRLCK 1
-#define F_UNLCK 2
-
-#define FD_CLOEXEC 1
-
-#define AT_FDCWD (-100)
-#define AT_SYMLINK_NOFOLLOW 0x100
-#define AT_REMOVEDIR 0x200
-#define AT_SYMLINK_FOLLOW 0x400
#define AT_EACCESS 0x200
#define POSIX_FADV_NORMAL 0
@@ -60,23 +29,7 @@
#define SEEK_CUR 1
#define SEEK_END 2
-#ifndef S_IRUSR
-#define S_ISUID 04000
-#define S_ISGID 02000
-#define S_ISVTX 01000
-#define S_IRUSR 0400
-#define S_IWUSR 0200
-#define S_IXUSR 0100
-#define S_IRWXU 0700
-#define S_IRGRP 0040
-#define S_IWGRP 0020
-#define S_IXGRP 0010
-#define S_IRWXG 0070
-#define S_IROTH 0004
-#define S_IWOTH 0002
-#define S_IXOTH 0001
-#define S_IRWXO 0007
-#endif
+#include <linux/stat.h>
#ifdef _GNU_SOURCE
#define FAPPEND O_APPEND
--- include/float.h
+++ include/float.h
@@ -1,10 +1,10 @@
#ifndef _FLOAT_H
#define _FLOAT_H
+#include <limits.h>
+
#define FLT_RADIX 2
-#define FLT_MIN 1.17549435e-38F
-#define FLT_MAX 3.40282347e+38F
#define FLT_EPSILON 1.19209290e-07F
#define FLT_MANT_DIG 24
@@ -15,8 +15,6 @@
#define FLT_MIN_10_EXP (-37)
#define FLT_MAX_10_EXP 38
-#define DBL_MIN 2.2250738585072014e-308
-#define DBL_MAX 1.7976931348623157e+308
#define DBL_EPSILON 2.2204460492503131e-16
#define DBL_MANT_DIG 53
--- include/glob.h
+++ include/glob.h
@@ -5,9 +5,7 @@
extern "C" {
#endif
-#define __NEED_size_t
-
-#include <bits/alltypes.h>
+#include <sys/types.h>
typedef struct {
size_t gl_pathc;
--- include/iconv.h
+++ include/iconv.h
@@ -5,9 +5,7 @@
extern "C" {
#endif
-#define __NEED_size_t
-
-#include <bits/alltypes.h>
+#include <sys/types.h>
typedef void *iconv_t;
--- include/inttypes.h
+++ include/inttypes.h
@@ -1,224 +1,19 @@
#ifndef _INTTYPES_H
#define _INTTYPES_H
+#include_next <inttypes.h>
+
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
-#define __NEED_wchar_t
-#include <bits/alltypes.h>
-
-typedef struct { intmax_t quot, rem; } imaxdiv_t;
-
-intmax_t imaxabs(intmax_t);
-imaxdiv_t imaxdiv(intmax_t, intmax_t);
-
-intmax_t strtoimax(const char *, char **, int);
-uintmax_t strtoumax(const char *, char **, int);
+#include <sys/types.h>
intmax_t wcstoimax(const wchar_t *, wchar_t **, int);
uintmax_t wcstoumax(const wchar_t *, wchar_t **, int);
-#if !defined __cplusplus || defined __STDC_FORMAT_MACROS
-
-#define __PRI64 "ll"
-#define __PRIPTR "l"
-
-#define PRId8 "d"
-#define PRId16 "d"
-#define PRId32 "d"
-#define PRId64 __PRI64 "d"
-
-#define PRIdLEAST8 "d"
-#define PRIdLEAST16 "d"
-#define PRIdLEAST32 "d"
-#define PRIdLEAST64 __PRI64 "d"
-
-#define PRIdFAST8 "d"
-#define PRIdFAST16 "d"
-#define PRIdFAST32 "d"
-#define PRIdFAST64 __PRI64 "d"
-
-#define PRIi8 "i"
-#define PRIi16 "i"
-#define PRIi32 "i"
-#define PRIi64 __PRI64 "i"
-
-#define PRIiLEAST8 "i"
-#define PRIiLEAST16 "i"
-#define PRIiLEAST32 "i"
-#define PRIiLEAST64 __PRI64 "i"
-
-#define PRIiFAST8 "i"
-#define PRIiFAST16 "i"
-#define PRIiFAST32 "i"
-#define PRIiFAST64 __PRI64 "i"
-
-#define PRIo8 "o"
-#define PRIo16 "o"
-#define PRIo32 "o"
-#define PRIo64 __PRI64 "o"
-
-#define PRIoLEAST8 "o"
-#define PRIoLEAST16 "o"
-#define PRIoLEAST32 "o"
-#define PRIoLEAST64 __PRI64 "o"
-
-#define PRIoFAST8 "o"
-#define PRIoFAST16 "o"
-#define PRIoFAST32 "o"
-#define PRIoFAST64 __PRI64 "o"
-
-#define PRIu8 "u"
-#define PRIu16 "u"
-#define PRIu32 "u"
-#define PRIu64 __PRI64 "u"
-
-#define PRIuLEAST8 "u"
-#define PRIuLEAST16 "u"
-#define PRIuLEAST32 "u"
-#define PRIuLEAST64 __PRI64 "u"
-
-#define PRIuFAST8 "u"
-#define PRIuFAST16 "u"
-#define PRIuFAST32 "u"
-#define PRIuFAST64 __PRI64 "u"
-
-#define PRIx8 "x"
-#define PRIx16 "x"
-#define PRIx32 "x"
-#define PRIx64 __PRI64 "x"
-
-#define PRIxLEAST8 "x"
-#define PRIxLEAST16 "x"
-#define PRIxLEAST32 "x"
-#define PRIxLEAST64 __PRI64 "x"
-
-#define PRIxFAST8 "x"
-#define PRIxFAST16 "x"
-#define PRIxFAST32 "x"
-#define PRIxFAST64 __PRI64 "x"
-
-#define PRIX8 "X"
-#define PRIX16 "X"
-#define PRIX32 "X"
-#define PRIX64 __PRI64 "X"
-
-#define PRIXLEAST8 "X"
-#define PRIXLEAST16 "X"
-#define PRIXLEAST32 "X"
-#define PRIXLEAST64 __PRI64 "X"
-
-#define PRIXFAST8 "X"
-#define PRIXFAST16 "X"
-#define PRIXFAST32 "X"
-#define PRIXFAST64 __PRI64 "X"
-
-#define PRIdMAX __PRI64 "d"
-#define PRIiMAX __PRI64 "i"
-#define PRIoMAX __PRI64 "o"
-#define PRIuMAX __PRI64 "u"
-#define PRIxMAX __PRI64 "x"
-#define PRIXMAX __PRI64 "X"
-
-#define PRIdPTR __PRIPTR "d"
-#define PRIiPTR __PRIPTR "i"
-#define PRIoPTR __PRIPTR "o"
-#define PRIuPTR __PRIPTR "u"
-#define PRIxPTR __PRIPTR "x"
-#define PRIXPTR __PRIPTR "X"
-
-#define SCNd8 "hhd"
-#define SCNd16 "hd"
-#define SCNd32 "d"
-#define SCNd64 __PRI64 "d"
-
-#define SCNdLEAST8 "hhd"
-#define SCNdLEAST16 "hd"
-#define SCNdLEAST32 "d"
-#define SCNdLEAST64 __PRI64 "d"
-
-#define SCNdFAST8 "hhd"
-#define SCNdFAST16 __PRIPTR "d"
-#define SCNdFAST32 __PRIPTR "d"
-#define SCNdFAST64 __PRI64 "d"
-
-#define SCNi8 "hhi"
-#define SCNi16 "hi"
-#define SCNi32 "i"
-#define SCNi64 __PRI64 "i"
-
-#define SCNiLEAST8 "hhi"
-#define SCNiLEAST16 "hi"
-#define SCNiLEAST32 "i"
-#define SCNiLEAST64 __PRI64 "i"
-
-#define SCNiFAST8 "hhi"
-#define SCNiFAST16 __PRIPTR "i"
-#define SCNiFAST32 __PRIPTR "i"
-#define SCNiFAST64 __PRI64 "i"
-
-#define SCNu8 "hhu"
-#define SCNu16 "hu"
-#define SCNu32 "u"
-#define SCNu64 __PRI64 "u"
-
-#define SCNuLEAST8 "hhu"
-#define SCNuLEAST16 "hu"
-#define SCNuLEAST32 "u"
-#define SCNuLEAST64 __PRI64 "u"
-
-#define SCNuFAST8 "hhu"
-#define SCNuFAST16 __PRIPTR "u"
-#define SCNuFAST32 __PRIPTR "u"
-#define SCNuFAST64 __PRI64 "u"
-
-#define SCNo8 "hho"
-#define SCNo16 "ho"
-#define SCNo32 "o"
-#define SCNo64 __PRI64 "o"
-
-#define SCNoLEAST8 "hho"
-#define SCNoLEAST16 "ho"
-#define SCNoLEAST32 "o"
-#define SCNoLEAST64 __PRI64 "o"
-
-#define SCNoFAST8 "hho"
-#define SCNoFAST16 __PRIPTR "o"
-#define SCNoFAST32 __PRIPTR "o"
-#define SCNoFAST64 __PRI64 "o"
-
-#define SCNx8 "hhx"
-#define SCNx16 "hx"
-#define SCNx32 "x"
-#define SCNx64 __PRI64 "x"
-
-#define SCNxLEAST8 "hhx"
-#define SCNxLEAST16 "hx"
-#define SCNxLEAST32 "x"
-#define SCNxLEAST64 __PRI64 "x"
-
-#define SCNxFAST8 "hhx"
-#define SCNxFAST16 __PRIPTR "x"
-#define SCNxFAST32 __PRIPTR "x"
-#define SCNxFAST64 __PRI64 "x"
-
-#define SCNdMAX __PRI64 "d"
-#define SCNiMAX __PRI64 "i"
-#define SCNoMAX __PRI64 "o"
-#define SCNuMAX __PRI64 "u"
-#define SCNxMAX __PRI64 "x"
-
-#define SCNdPTR __PRIPTR "d"
-#define SCNiPTR __PRIPTR "i"
-#define SCNoPTR __PRIPTR "o"
-#define SCNuPTR __PRIPTR "u"
-#define SCNxPTR __PRIPTR "x"
-
-#endif
-
#ifdef __cplusplus
}
#endif
--- include/limits.h
+++ include/limits.h
@@ -1,6 +1,8 @@
#ifndef _LIMITS_H
#define _LIMITS_H
+#include_next <limits.h>
+
/* Most limits are system-specific */
#include <bits/limits.h>
@@ -8,23 +10,9 @@
/* Some universal constants... */
#define CHAR_BIT 8
-#define SCHAR_MIN (-128)
-#define SCHAR_MAX 127
-#define UCHAR_MAX 255
-#define CHAR_MIN (-128)
-#define CHAR_MAX 127
-#define SHRT_MIN (-1-0x7fff)
#define SHRT_MAX 0x7fff
-#define USHRT_MAX 0xffff
-#define INT_MIN (-1-0x7fffffff)
#define INT_MAX 0x7fffffff
#define UINT_MAX 0xffffffffU
-#define LONG_MIN (-LONG_MAX-1)
-#define ULONG_MAX (2UL*LONG_MAX+1)
-#define LLONG_MIN (-LLONG_MAX-1)
-#define ULLONG_MAX (2ULL*LLONG_MAX+1)
-
-#define MB_LEN_MAX 4
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
@@ -36,12 +24,10 @@
#define SYMLINK_MAX 255
#define PATH_MAX 4096
#define NZERO 20
-#define NGROUPS_MAX 32
#define ARG_MAX 131072
#define IOV_MAX 1024
#define SYMLOOP_MAX 40
#define WORD_BIT 32
-#define SSIZE_MAX LONG_MAX
#define TZNAME_MAX 6
#define TTY_NAME_MAX 20
#define HOST_NAME_MAX 255
@@ -49,7 +35,6 @@
/* Implementation choices... */
#define PTHREAD_KEYS_MAX 1024
-#define PTHREAD_STACK_MIN PAGE_SIZE
#define PTHREAD_DESTRUCTOR_ITERATIONS 4
#define SEM_VALUE_MAX 0x7fffffff
#define SEM_NSEMS_MAX 256
@@ -69,11 +54,8 @@
#define RE_DUP_MAX 255
#define NL_ARGMAX 9
-#define NL_LANGMAX 32
#define NL_MSGMAX 32767
-#define NL_NMAX (MB_LEN_MAX*4)
#define NL_SETMAX 255
-#define NL_TEXTMAX 2048
#endif
@@ -94,8 +76,6 @@
#define _POSIX_MQ_OPEN_MAX 8
#define _POSIX_MQ_PRIO_MAX 32
#define _POSIX_NAME_MAX 14
-#define _POSIX_NGROUPS_MAX 8
-#define _POSIX_OPEN_MAX 20
#define _POSIX_PATH_MAX 256
#define _POSIX_PIPE_BUF 512
#define _POSIX_RE_DUP_MAX 255
@@ -117,7 +97,6 @@
#define _POSIX_TRACE_SYS_MAX 8
#define _POSIX_TRACE_USER_EVENT_MAX 32
#define _POSIX_TTY_NAME_MAX 9
-#define _POSIX_TZNAME_MAX 6
#define _POSIX2_BC_BASE_MAX 99
#define _POSIX2_BC_DIM_MAX 2048
#define _POSIX2_BC_SCALE_MAX 99
@@ -126,7 +105,6 @@
#define _POSIX2_COLL_WEIGHTS_MAX 2
#define _POSIX2_EXPR_NEST_MAX 32
#define _POSIX2_LINE_MAX 2048
-#define _POSIX2_RE_DUP_MAX 255
#define _XOPEN_IOV_MAX 16
#define _XOPEN_NAME_MAX 255
--- include/mntent.h
+++ include/mntent.h
@@ -1,13 +1,12 @@
#ifndef _MNTENT_H
#define _MNTENT_H
+#include_next <mntent.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#define __NEED_FILE
-#include <bits/alltypes.h>
-
#define MOUNTED "/etc/mtab"
#define MNTTYPE_IGNORE "ignore"
@@ -20,19 +19,8 @@
#define MNTOPT_NOSUID "nosuid"
#define MNTOPT_NOAUTO "noauto"
-struct mntent
-{
- char *mnt_fsname;
- char *mnt_dir;
- char *mnt_type;
- char *mnt_opts;
- int mnt_freq;
- int mnt_passno;
-};
-
FILE *setmntent(const char *, const char *);
int endmntent(FILE *);
-struct mntent *getmntent(FILE *);
struct mntent *getmntent_r(FILE *, struct mntent *, char *, int);
int addmntent(FILE *, const struct mntent *);
char *hasmntopt(const struct mntent *, const char *);
--- include/net/if_arp.h
+++ include/net/if_arp.h
@@ -1,6 +1,9 @@
/* Nonstandard header */
#ifndef _NET_IF_ARP_H
#define _NET_IF_ARP_H
+
+#include_next <net/if_arp.h>
+
#ifdef __cplusplus
extern "C" {
#endif
--- include/net/if.h
+++ include/net/if.h
@@ -1,12 +1,12 @@
#ifndef _NET_IF_H
#define _NET_IF_H
+#include_next <net/if.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#define IF_NAMESIZE 16
-
struct if_nameindex
{
unsigned int if_index;
@@ -55,37 +55,7 @@
#define ifa_broadaddr ifa_ifu.ifu_broadaddr
#define ifa_dstaddr ifa_ifu.ifu_dstaddr
-struct ifmap {
- unsigned long int mem_start;
- unsigned long int mem_end;
- unsigned short int base_addr;
- unsigned char irq;
- unsigned char dma;
- unsigned char port;
-};
-
#define IFHWADDRLEN 6
-#define IFNAMSIZ IF_NAMESIZE
-
-struct ifreq {
- union {
- char ifrn_name[IFNAMSIZ];
- } ifr_ifrn;
- union {
- struct sockaddr ifru_addr;
- struct sockaddr ifru_dstaddr;
- struct sockaddr ifru_broadaddr;
- struct sockaddr ifru_netmask;
- struct sockaddr ifru_hwaddr;
- short int ifru_flags;
- int ifru_ivalue;
- int ifru_mtu;
- struct ifmap ifru_map;
- char ifru_slave[IFNAMSIZ];
- char ifru_newname[IFNAMSIZ];
- void *ifru_data;
- } ifr_ifru;
-};
#define ifr_name ifr_ifrn.ifrn_name
#define ifr_hwaddr ifr_ifru.ifru_hwaddr
@@ -107,14 +77,6 @@
#define _IOT_ifreq_short _IOT(_IOTS(char),IFNAMSIZ,_IOTS(short),1,0,0)
#define _IOT_ifreq_int _IOT(_IOTS(char),IFNAMSIZ,_IOTS(int),1,0,0)
-struct ifconf {
- int ifc_len;
- union {
- void *ifcu_buf;
- struct ifreq *ifcu_req;
- } ifc_ifcu;
-};
-
#define ifc_buf ifc_ifcu.ifcu_buf
#define ifc_req ifc_ifcu.ifcu_req
#define _IOT_ifconf _IOT(_IOTS(struct ifconf),1,0,0,0,0)
--- include/net/route.h
+++ include/net/route.h
@@ -1,6 +1,8 @@
#ifndef _NET_ROUTE_H
#define _NET_ROUTE_H
+#include_next <net/route.h>
+
#ifdef __cplusplus
extern "C" {
#endif
--- include/netdb.h
+++ include/netdb.h
@@ -1,140 +1,33 @@
#ifndef _NETDB_H
#define _NETDB_H
+#include_next <netdb.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#ifdef _GNU_SOURCE
-#define __NEED_size_t
-#endif
-
-#define __NEED_socklen_t
-#define __NEED_uint32_t
-
-#include <bits/alltypes.h>
-
-struct addrinfo
-{
- int ai_flags;
- int ai_family;
- int ai_socktype;
- int ai_protocol;
- socklen_t ai_addrlen;
- struct sockaddr *ai_addr;
- char *ai_canonname;
- struct addrinfo *ai_next;
-};
-
#define IPPORT_RESERVED 1024
-#define AI_PASSIVE 0x01
-#define AI_CANONNAME 0x02
-#define AI_NUMERICHOST 0x04
-#define AI_V4MAPPED 0x08
-#define AI_ALL 0x10
-#define AI_ADDRCONFIG 0x20
-#define AI_NUMERICSERV 0x400
-
-
-#define NI_NUMERICHOST 0x01
-#define NI_NUMERICSERV 0x02
-#define NI_NOFQDN 0x04
-#define NI_NAMEREQD 0x08
-#define NI_DGRAM 0x10
-/*#define NI_NUMERICSCOPE */
-
-#define NI_MAXHOST 255
-#define NI_MAXSERV 32
-
-#define EAI_BADFLAGS -1
-#define EAI_NONAME -2
-#define EAI_AGAIN -3
-#define EAI_FAIL -4
-#define EAI_FAMILY -6
-#define EAI_SOCKTYPE -7
-#define EAI_SERVICE -8
-#define EAI_MEMORY -10
-#define EAI_SYSTEM -11
-#define EAI_OVERFLOW -12
-
-int getaddrinfo (const char *, const char *, const struct addrinfo *, struct addrinfo **);
-void freeaddrinfo (struct addrinfo *);
-int getnameinfo (const struct sockaddr *, socklen_t, char *, socklen_t, char *, socklen_t, int);
-const char *gai_strerror(int);
-
/* Legacy functions follow (marked OBsolete in SUS) */
-struct netent
-{
- char *n_name;
- char **n_aliases;
- int n_addrtype;
- uint32_t n_net;
-};
-
-struct hostent
-{
- char *h_name;
- char **h_aliases;
- int h_addrtype;
- int h_length;
- char **h_addr_list;
-};
-#define h_addr h_addr_list[0]
-
-struct servent
-{
- char *s_name;
- char **s_aliases;
- int s_port;
- char *s_proto;
-};
-
-struct protoent
-{
- char *p_name;
- char **p_aliases;
- int p_proto;
-};
-
-extern int h_errno;
-
-#define HOST_NOT_FOUND 1
-#define TRY_AGAIN 2
-#define NO_RECOVERY 3
-#define NO_DATA 4
-
void sethostent (int);
void endhostent (void);
-struct hostent *gethostent (void);
-struct hostent *gethostbyaddr (const void *, socklen_t, int);
-struct hostent *gethostbyname (const char *);
void setnetent (int);
void endnetent (void);
struct netent *getnetent (void);
-struct netent *getnetbyaddr (uint32_t, int);
-struct netent *getnetbyname (const char *);
-void setservent (int);
void endservent (void);
-struct servent *getservent (void);
-struct servent *getservbyname (const char *, const char *);
-struct servent *getservbyport (int, const char *);
void setprotoent (int);
void endprotoent (void);
struct protoent *getprotoent (void);
-struct protoent *getprotobyname (const char *);
-struct protoent *getprotobynumber (int);
#ifdef _GNU_SOURCE
-const char *hstrerror(int);
int gethostbyname_r(const char *, struct hostent *, char *, size_t, struct hostent **, int *);
int gethostbyname2_r(const char *, int, struct hostent *, char *, size_t, struct hostent **, int *);
-struct hostent *gethostbyname2(const char *, int);
int gethostbyaddr_r(const void *, socklen_t, int, struct hostent *, char *, size_t, struct hostent **, int *);
int getservbyport_r(int, const char *, struct servent *, char *, size_t, struct servent **);
int getservbyname_r(const char *, const char *, struct servent *, char *, size_t, struct servent **);
--- include/netinet/if_ether.h
+++ include/netinet/if_ether.h
@@ -1,6 +1,8 @@
#ifndef _NETINET_IF_ETHER_H
#define _NETINET_IF_ETHER_H
+#include_next <netinet/if_ether.h>
+
#include <stdint.h>
#include <sys/types.h>
--- include/netinet/in.h
+++ include/netinet/in.h
@@ -1,236 +1,23 @@
#ifndef _NETINET_IN_H
#define _NETINET_IN_H
+#include_next <netinet/in.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#define __NEED_in_addr_t
-#define __NEED_in_port_t
-#define __NEED_sa_family_t
-#define __NEED_struct_in_addr
-#define __NEED_uint8_t
-#define __NEED_uint16_t
-#define __NEED_uint32_t
-
-#include <bits/alltypes.h>
-
-struct sockaddr_in
-{
- sa_family_t sin_family;
- in_port_t sin_port;
- struct in_addr sin_addr;
- uint8_t sin_zero[8];
-};
-
-struct in6_addr
-{
- union {
- uint8_t __s6_addr[16];
- uint32_t __s6_addr32[4];
- } __in6_union;
-};
-#define s6_addr __in6_union.__s6_addr
-#define s6_addr32 __in6_union.__s6_addr32
-
-struct sockaddr_in6
-{
- sa_family_t sin6_family;
- in_port_t sin6_port;
- uint32_t sin6_flowinfo;
- struct in6_addr sin6_addr;
- uint32_t sin6_scope_id;
-};
-
-struct ipv6_mreq
-{
- struct in6_addr ipv6mr_multiaddr;
- unsigned ipv6mr_interface;
-};
-
-#define INADDR_ANY ((in_addr_t) 0x00000000)
-#define INADDR_BROADCAST ((in_addr_t) 0xffffffff)
-#define INADDR_NONE ((in_addr_t) 0xffffffff)
-#define INADDR_LOOPBACK ((in_addr_t) 0x7f000001)
-
-#define IN6ADDR_ANY_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } }
-#define IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } }
-
-extern const struct in6_addr in6addr_any, in6addr_loopback;
-
-#undef INET_ADDRSTRLEN
-#undef INET6_ADDRSTRLEN
-#define INET_ADDRSTRLEN 16
-#define INET6_ADDRSTRLEN 46
-
-uint32_t htonl(uint32_t);
-uint16_t htons(uint16_t);
-uint32_t ntohl(uint32_t);
-uint16_t ntohs(uint16_t);
-
-#define IPPROTO_IP 0
-#define IPPROTO_ICMP 1
-#define IPPROTO_IGMP 2
-#define IPPROTO_IPIP 4
-#define IPPROTO_TCP 6
-#define IPPROTO_EGP 8
-#define IPPROTO_PUP 12
-#define IPPROTO_UDP 17
-#define IPPROTO_IDP 22
-#define IPPROTO_TP 29
-#define IPPROTO_IPV6 41
-#define IPPROTO_ROUTING 43
-#define IPPROTO_FRAGMENT 44
-#define IPPROTO_RSVP 46
-#define IPPROTO_GRE 47
-#define IPPROTO_ESP 50
-#define IPPROTO_AH 51
-#define IPPROTO_ICMPV6 58
-#define IPPROTO_NONE 59
-#define IPPROTO_DSTOPTS 60
-#define IPPROTO_MTP 92
-#define IPPROTO_ENCAP 98
-#define IPPROTO_PIM 103
-#define IPPROTO_COMP 108
-#define IPPROTO_RAW 255
-
-#define IN6_IS_ADDR_UNSPECIFIED(a) \
- (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \
- ((uint32_t *) (a))[2] == 0 && ((uint32_t *) (a))[3] == 0)
-
-#define IN6_IS_ADDR_LOOPBACK(a) \
- (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \
- ((uint32_t *) (a))[2] == 0 && \
- ((uint8_t *) (a))[12] == 0 && ((uint8_t *) (a))[13] == 0 && \
- ((uint8_t *) (a))[14] == 0 && ((uint8_t *) (a))[15] == 1 )
-
-#define IN6_IS_ADDR_MULTICAST(a) (((uint8_t *) (a))[0] == 0xff)
-
-#define IN6_IS_ADDR_LINKLOCAL(a) \
- ((((uint8_t *) (a))[0]) == 0xfe && (((uint8_t *) (a))[1] & 0xc0) == 0x80)
-
-#define IN6_IS_ADDR_SITELOCAL(a) \
- ((((uint8_t *) (a))[0]) == 0xfe && (((uint8_t *) (a))[1] & 0xc0) == 0xc0)
-
-#define IN6_IS_ADDR_V4MAPPED(a) \
- (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \
- ((uint8_t *) (a))[8] == 0 && ((uint8_t *) (a))[9] == 0 && \
- ((uint8_t *) (a))[10] == 0xff && ((uint8_t *) (a))[11] == 0xff)
-
-#define IN6_IS_ADDR_V4COMPAT(a) \
- (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \
- ((uint32_t *) (a))[2] == 0 && ((uint8_t *) (a))[15] > 1)
-
-#define IN6_IS_ADDR_MC_NODELOCAL(a) \
- (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x1))
-
-#define IN6_IS_ADDR_MC_LINKLOCAL(a) \
- (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x2))
-
-#define IN6_IS_ADDR_MC_SITELOCAL(a) \
- (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x5))
-
-#define IN6_IS_ADDR_MC_ORGLOCAL(a) \
- (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x8))
-
-#define IN6_IS_ADDR_MC_GLOBAL(a) \
- (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0xe))
-
-#define IN_CLASSA(a) ((((in_addr_t)(a)) & 0x80000000) == 0)
-#define IN_CLASSA_NET 0xff000000
-#define IN_CLASSA_NSHIFT 24
-#define IN_CLASSA_HOST (0xffffffff & ~IN_CLASSA_NET)
-#define IN_CLASSA_MAX 128
-#define IN_CLASSB(a) ((((in_addr_t)(a)) & 0xc0000000) == 0x80000000)
-#define IN_CLASSB_NET 0xffff0000
-#define IN_CLASSB_NSHIFT 16
-#define IN_CLASSB_HOST (0xffffffff & ~IN_CLASSB_NET)
-#define IN_CLASSB_MAX 65536
-#define IN_CLASSC(a) ((((in_addr_t)(a)) & 0xe0000000) == 0xc0000000)
-#define IN_CLASSC_NET 0xffffff00
-#define IN_CLASSC_NSHIFT 8
-#define IN_CLASSC_HOST (0xffffffff & ~IN_CLASSC_NET)
-#define IN_CLASSD(a) ((((in_addr_t)(a)) & 0xf0000000) == 0xe0000000)
-#define IN_MULTICAST(a) IN_CLASSD(a)
-#define IN_EXPERIMENTAL(a) ((((in_addr_t)(a)) & 0xe0000000) == 0xe0000000)
-#define IN_BADCLASS(a) ((((in_addr_t)(a)) & 0xf0000000) == 0xf0000000)
-
-#define IN_LOOPBACKNET 127
-
-
-#define IP_TOS 1
-#define IP_TTL 2
-#define IP_HDRINCL 3
-#define IP_OPTIONS 4
-#define IP_ROUTER_ALERT 5
-#define IP_RECVOPTS 6
-#define IP_RETOPTS 7
-#define IP_PKTINFO 8
-#define IP_PKTOPTIONS 9
-#define IP_PMTUDISC 10
-#define IP_MTU_DISCOVER 10
-#define IP_RECVERR 11
-#define IP_RECVTTL 12
-#define IP_RECVTOS 13
-#define IP_MTU 14
-#define IP_FREEBIND 15
-#define IP_IPSEC_POLICY 16
-#define IP_XFRM_POLICY 17
-#define IP_PASSSEC 18
-#define IP_TRANSPARENT 19
-#define IP_ORIGDSTADDR 20
-#define IP_RECVORIGDSTADDR IP_ORIGDSTADDR
-#define IP_MINTTL 21
-#define IP_MULTICAST_IF 32
-#define IP_MULTICAST_TTL 33
-#define IP_MULTICAST_LOOP 34
-#define IP_ADD_MEMBERSHIP 35
-#define IP_DROP_MEMBERSHIP 36
-#define IP_UNBLOCK_SOURCE 37
-#define IP_BLOCK_SOURCE 38
-#define IP_ADD_SOURCE_MEMBERSHIP 39
-#define IP_DROP_SOURCE_MEMBERSHIP 40
-#define IP_MSFILTER 41
-
-#define IP_RECVRETOPTS IP_RETOPTS
-
-#define IP_PMTUDISC_DONT 0
-#define IP_PMTUDISC_WANT 1
-#define IP_PMTUDISC_DO 2
-#define IP_PMTUDISC_PROBE 3
+#include <stdint.h>
+#include <endian.h>
#define SOL_IP 0
-#define IP_DEFAULT_MULTICAST_TTL 1
-#define IP_DEFAULT_MULTICAST_LOOP 1
-#define IP_MAX_MEMBERSHIPS 20
-
struct ip_opts
{
struct in_addr ip_dst;
char ip_opts[40];
};
-struct ip_mreq
-{
- struct in_addr imr_multiaddr;
- struct in_addr imr_interface;
-};
-
-struct ip_mreqn
-{
- struct in_addr imr_multiaddr;
- struct in_addr imr_address;
- int imr_ifindex;
-};
-
-struct in_pktinfo
-{
- int ipi_ifindex;
- struct in_addr ipi_spec_dst;
- struct in_addr ipi_addr;
-};
-
struct in6_pktinfo
{
struct in6_addr ipi6_addr;
@@ -258,8 +45,6 @@
#define IPV6_MULTICAST_IF 17
#define IPV6_MULTICAST_HOPS 18
#define IPV6_MULTICAST_LOOP 19
-#define IPV6_JOIN_GROUP 20
-#define IPV6_LEAVE_GROUP 21
#define IPV6_ROUTER_ALERT 22
#define IPV6_MTU_DISCOVER 23
#define IPV6_MTU 24
@@ -285,8 +70,6 @@
#define IPV6_RECVTCLASS 66
#define IPV6_TCLASS 67
-#define IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP
-#define IPV6_DROP_MEMBERSHIP IPV6_LEAVE_GROUP
#define IPV6_RXHOPOPTS IPV6_HOPOPTS
#define IPV6_RXDSTOPTS IPV6_DSTOPTS
--- include/netinet/udp.h
+++ include/netinet/udp.h
@@ -1,5 +1,9 @@
#ifndef _NETINET_UDP_H
+#include_next <netinet/udp.h>
+
+#ifndef _NETINET_UDP_H
#define _NETINET_UDP_H
+#endif
#ifdef __cplusplus
extern "C" {
--- include/paths.h
+++ include/paths.h
@@ -1,40 +1,8 @@
#ifndef _PATHS_H_
#define _PATHS_H_
-#define _PATH_DEFPATH "/usr/local/bin:/bin:/usr/bin"
-#define _PATH_STDPATH "/bin:/usr/bin:/sbin:/usr/sbin"
+#include_next <paths.h>
-#define _PATH_BSHELL "/bin/sh"
-#define _PATH_CONSOLE "/dev/console"
-#define _PATH_CSHELL "/bin/csh"
-#define _PATH_DEVDB "/var/run/dev.db"
-#define _PATH_DEVNULL "/dev/null"
-#define _PATH_DRUM "/dev/drum"
#define _PATH_GSHADOW "/etc/gshadow"
-#define _PATH_KLOG "/proc/kmsg"
-#define _PATH_KMEM "/dev/kmem"
-#define _PATH_LASTLOG "/var/log/lastlog"
-#define _PATH_MAILDIR "/var/mail"
-#define _PATH_MAN "/usr/share/man"
-#define _PATH_MEM "/dev/mem"
-#define _PATH_MNTTAB "/etc/fstab"
-#define _PATH_MOUNTED "/etc/mtab"
-#define _PATH_NOLOGIN "/etc/nologin"
-#define _PATH_PRESERVE "/var/lib"
-#define _PATH_RWHODIR "/var/spool/rwho"
-#define _PATH_SENDMAIL "/usr/sbin/sendmail"
-#define _PATH_SHADOW "/etc/shadow"
-#define _PATH_SHELLS "/etc/shells"
-#define _PATH_TTY "/dev/tty"
-#define _PATH_UNIX "/boot/vmlinux"
-#define _PATH_UTMP "/var/run/utmp"
-#define _PATH_VI "/usr/bin/vi"
-#define _PATH_WTMP "/var/log/wtmp"
-
-#define _PATH_DEV "/dev/"
-#define _PATH_TMP "/tmp/"
-#define _PATH_VARDB "/var/lib/misc/"
-#define _PATH_VARRUN "/var/run/"
-#define _PATH_VARTMP "/var/tmp/"
#endif
--- include/pwd.h
+++ include/pwd.h
@@ -1,43 +1,14 @@
#ifndef _PWD_H
#define _PWD_H
+#include_next <pwd.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#define __NEED_size_t
-#define __NEED_uid_t
-#define __NEED_gid_t
-
-#ifdef _GNU_SOURCE
-#define __NEED_FILE
-#endif
-
-#include <bits/alltypes.h>
-
-struct passwd
-{
- char *pw_name;
- char *pw_passwd;
- uid_t pw_uid;
- gid_t pw_gid;
- char *pw_gecos;
- char *pw_dir;
- char *pw_shell;
-};
-
-void setpwent (void);
-void endpwent (void);
-struct passwd *getpwent (void);
-
-struct passwd *getpwuid (uid_t);
-struct passwd *getpwnam (const char *);
-int getpwuid_r (uid_t, struct passwd *, char *, size_t, struct passwd **);
-int getpwnam_r (const char *, struct passwd *, char *, size_t, struct passwd **);
-
#ifdef _GNU_SOURCE
char *getpass(const char *);
-struct passwd *fgetpwent(FILE *);
#endif
#ifdef __cplusplus
--- include/sched.h
+++ include/sched.h
@@ -1,61 +1,22 @@
#ifndef _SCHED_H
#define _SCHED_H
+
+#include_next <sched.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#define __NEED_struct_timespec
-#define __NEED_pid_t
-#define __NEED_time_t
-
-#include <bits/alltypes.h>
-
-struct sched_param {
- int sched_priority;
- int sched_ss_low_priority;
- struct timespec sched_ss_repl_period;
- struct timespec sched_ss_init_budget;
- int sched_ss_max_repl;
-};
-
-int sched_get_priority_max(int);
-int sched_get_priority_min(int);
-int sched_getparam(pid_t, struct sched_param *);
-int sched_getscheduler(pid_t);
-int sched_rr_get_interval(pid_t, struct timespec *);
-int sched_setparam(pid_t, const struct sched_param *);
-int sched_setscheduler(pid_t, int, const struct sched_param *);
-int sched_yield(void);
-
-#define SCHED_OTHER 0
-#define SCHED_FIFO 1
-#define SCHED_RR 2
+#include <sys/types.h>
#ifdef _GNU_SOURCE
#define CSIGNAL 0x000000ff
-#define CLONE_VM 0x00000100
-#define CLONE_FS 0x00000200
-#define CLONE_FILES 0x00000400
-#define CLONE_SIGHAND 0x00000800
-#define CLONE_PTRACE 0x00002000
-#define CLONE_VFORK 0x00004000
-#define CLONE_PARENT 0x00008000
-#define CLONE_THREAD 0x00010000
-#define CLONE_NEWNS 0x00020000
-#define CLONE_SYSVSEM 0x00040000
-#define CLONE_SETTLS 0x00080000
-#define CLONE_PARENT_SETTID 0x00100000
-#define CLONE_CHILD_CLEARTID 0x00200000
-#define CLONE_DETACHED 0x00400000
-#define CLONE_UNTRACED 0x00800000
-#define CLONE_CHILD_SETTID 0x01000000
#define CLONE_NEWUTS 0x04000000
#define CLONE_NEWIPC 0x08000000
#define CLONE_NEWUSER 0x10000000
#define CLONE_NEWPID 0x20000000
#define CLONE_NEWNET 0x40000000
#define CLONE_IO 0x80000000
-int clone (int (*)(void *), void *, int, void *, ...);
#endif
#ifdef __cplusplus
--- include/shadow.h
+++ include/shadow.h
@@ -5,10 +5,7 @@
extern "C" {
#endif
-#define __NEED_FILE
-#define __NEED_size_t
-
-#include <bits/alltypes.h>
+#include <stdio.h>
#define SHADOW "/etc/shadow"
--- include/spawn.h
+++ include/spawn.h
@@ -5,11 +5,7 @@
extern "C" {
#endif
-#define __NEED_mode_t
-#define __NEED_pid_t
-#define __NEED_sigset_t
-
-#include <bits/alltypes.h>
+#include <signal.h>
struct sched_param;
--- include/stdint.h
+++ include/stdint.h
@@ -1,103 +1,17 @@
#ifndef _STDINT_H
-#define _STDINT_H
-
-#define __NEED_int8_t
-#define __NEED_int16_t
-#define __NEED_int32_t
-#define __NEED_int64_t
-
-#define __NEED_uint8_t
-#define __NEED_uint16_t
-#define __NEED_uint32_t
-#define __NEED_uint64_t
-
-#define __NEED_int_fast8_t
-#define __NEED_int_fast16_t
-#define __NEED_int_fast32_t
-#define __NEED_int_fast64_t
-
-#define __NEED_uint_fast8_t
-#define __NEED_uint_fast16_t
-#define __NEED_uint_fast32_t
-#define __NEED_uint_fast64_t
-
-#define __NEED_intptr_t
-#define __NEED_uintptr_t
-
-#include <bits/alltypes.h>
-
-typedef int8_t int_least8_t;
-typedef int16_t int_least16_t;
-typedef int32_t int_least32_t;
-typedef int64_t int_least64_t;
-
-typedef uint8_t uint_least8_t;
-typedef uint16_t uint_least16_t;
-typedef uint32_t uint_least32_t;
-typedef uint64_t uint_least64_t;
+#include_next <stdint.h>
-typedef long long intmax_t;
-typedef unsigned long long uintmax_t;
+#ifndef _STDINT_H
+#define _STDINT_H
+#endif
#if !defined __cplusplus || defined __STDC_LIMIT_MACROS
-#define INT8_MIN (-1-0x7f)
-#define INT16_MIN (-1-0x7fff)
-#define INT32_MIN (-1-0x7fffffff)
-#define INT64_MIN (-1-0x7fffffffffffffffLL)
-
-#define INT8_MAX (0x7f)
-#define INT16_MAX (0x7fff)
-#define INT32_MAX (0x7fffffff)
-#define INT64_MAX (0x7fffffffffffffffLL)
-
-#define UINT8_MAX (0xff)
-#define UINT16_MAX (0xffff)
-#define UINT32_MAX (0xffffffff)
-#define UINT64_MAX (0xffffffffffffffffULL)
-
-#define INT_LEAST8_MIN INT8_MIN
-#define INT_LEAST16_MIN INT16_MIN
-#define INT_LEAST32_MIN INT32_MIN
-#define INT_LEAST64_MIN INT64_MIN
-
-#define INT_LEAST8_MAX INT8_MAX
-#define INT_LEAST16_MAX INT16_MAX
-#define INT_LEAST32_MAX INT32_MAX
-#define INT_LEAST64_MAX INT64_MAX
-
-#define UINT_LEAST8_MAX UINT8_MAX
-#define UINT_LEAST16_MAX UINT16_MAX
-#define UINT_LEAST32_MAX UINT32_MAX
-#define UINT_LEAST64_MAX UINT64_MAX
-
-#define INTMAX_MIN INT64_MIN
-#define INTMAX_MAX INT64_MAX
-#define UINTMAX_MAX UINT64_MAX
-
#define WINT_MIN INT32_MIN
#define WINT_MAX INT32_MAX
-#include <bits/wchar.h>
#include <bits/stdint.h>
#endif
-#if !defined __cplusplus || defined __STDC_CONSTANT_MACROS
-
-#define INT8_C(c) c
-#define INT16_C(c) c
-#define INT32_C(c) c
-#define INT64_C(c) c ## LL
-
-#define UINT8_C(c) c ## U
-#define UINT16_C(c) c ## U
-#define UINT32_C(c) c ## U
-#define UINT64_C(c) c ## ULL
-
-#define INTMAX_C(c) c ## LL
-#define UINTMAX_C(c) c ## ULL
-
-#endif
-
#endif
--- include/stdlib.h
+++ include/stdlib.h
@@ -1,6 +1,8 @@
#ifndef _STDLIB_H
#define _STDLIB_H
+#include_next <stdlib.h>
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -12,56 +14,9 @@
#define NULL ((void*)0)
#endif
-#define __NEED_size_t
-#define __NEED_wchar_t
-
-#include <bits/alltypes.h>
-
-int atoi (const char *);
-long atol (const char *);
-long long atoll (const char *);
-double atof (const char *);
-
-float strtof (const char *, char **);
-double strtod (const char *, char **);
long double strtold (const char *, char **);
-long strtol (const char *, char **, int);
-unsigned long strtoul (const char *, char **, int);
-long long strtoll (const char *, char **, int);
-unsigned long long strtoull (const char *, char **, int);
-
-int rand (void);
-void srand (unsigned);
-
-void *malloc (size_t);
-void *calloc (size_t, size_t);
-void *realloc (void *, size_t);
-void free (void *);
-
-void abort (void);
-int atexit (void (*) (void));
-void exit (int);
-void _Exit (int);
-
-char *getenv (const char *);
-
-int system (const char *);
-
-void *bsearch (const void *, const void *, size_t, size_t, int (*)(const void *, const void *));
-void qsort (void *, size_t, size_t, int (*)(const void *, const void *));
-
-int abs (int);
-long labs (long);
-long long llabs (long long);
-
-typedef struct { int quot, rem; } div_t;
-typedef struct { long quot, rem; } ldiv_t;
-typedef struct { long long quot, rem; } lldiv_t;
-
-div_t div (int, int);
-ldiv_t ldiv (long, long);
-lldiv_t lldiv (long long, long long);
+#include <malloc.h>
int mblen (const char *, size_t);
int mbtowc (wchar_t *, const char *, size_t);
@@ -69,32 +24,14 @@
size_t mbstowcs (wchar_t *, const char *, size_t);
size_t wcstombs (char *, const wchar_t *, size_t);
-#define EXIT_FAILURE 1
-#define EXIT_SUCCESS 0
-
-#define MB_CUR_MAX ((size_t)+4)
-
-#define RAND_MAX (0x7fffffff)
-
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
-#ifndef WEXITSTATUS
-#define WEXITSTATUS(s) (((s) & 0xff00) >> 8)
-#define WTERMSIG(s) ((s) & 0x7f)
-#define WSTOPSIG(s) WEXITSTATUS(s)
-#define WCOREDUMP(s) ((s) & 0x80)
-#define WIFEXITED(s) (!WTERMSIG(s))
-#define WIFSTOPPED(s) (((s) & 0xff) == 0x7f)
-#define WIFSIGNALED(s) (((signed char) (((s) & 0x7f) + 1) >> 1) > 0)
+#ifndef WIFCONTINUED
#define WIFCONTINUED(s) ((s) == 0xffff)
#endif
-int posix_memalign (void **, size_t, size_t);
-int setenv (const char *, const char *, int);
-int unsetenv (const char *);
-int mkstemp (char *);
char *mkdtemp (char *);
int getsubopt (char **, char *const *, char **);
int rand_r (unsigned *);
@@ -103,37 +40,10 @@
#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
-int putenv (char *);
int posix_openpt (int);
-int grantpt (int);
-int unlockpt (int);
-char *ptsname (int);
-char *realpath (const char *, char *);
-char *l64a (long);
-long a64l (const char *);
-void setkey (const char *);
-long int random (void);
-void srandom (unsigned int);
-char *initstate (unsigned int, char *, size_t);
-char *setstate (char *);
-double drand48 (void);
-double erand48 (unsigned short [3]);
-long int lrand48 (void);
-long int nrand48 (unsigned short [3]);
-long mrand48 (void);
-long jrand48 (unsigned short [3]);
-void srand48 (long);
-unsigned short *seed48 (unsigned short [3]);
-void lcong48 (unsigned short [7]);
#endif
#if defined(_GNU_SOURCE)
-void *alloca(size_t);
-char *mktemp (char *);
-void *valloc (size_t);
-void *memalign(size_t, size_t);
-int clearenv(void);
-int ptsname_r(int, char *, size_t);
char *ecvt(double, int, int *, int *);
char *fcvt(double, int, int *, int *);
char *gcvt(double, int, char *);
--- include/string.h
+++ include/string.h
@@ -1,6 +1,8 @@
#ifndef _STRING_H
#define _STRING_H
+#include_next <string.h>
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -12,80 +14,26 @@
#define NULL ((void*)0)
#endif
-#define __NEED_size_t
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
#define __NEED_locale_t
-#endif
-
#include <bits/alltypes.h>
-
-void *memcpy (void *, const void *, size_t);
-void *memmove (void *, const void *, size_t);
-void *memset (void *, int, size_t);
-int memcmp (const void *, const void *, size_t);
-void *memchr (const void *, int, size_t);
-
-char *strcpy (char *, const char *);
-char *strncpy (char *, const char *, size_t);
-
-char *strcat (char *, const char *);
-char *strncat (char *, const char *, size_t);
-
-int strcmp (const char *, const char *);
-int strncmp (const char *, const char *, size_t);
-
-int strcoll (const char *, const char *);
-size_t strxfrm (char *, const char *, size_t);
-
-char *strchr (const char *, int);
-char *strrchr (const char *, int);
-
-size_t strcspn (const char *, const char *);
-size_t strspn (const char *, const char *);
-char *strpbrk (const char *, const char *);
-char *strstr (const char *, const char *);
-char *strtok (char *, const char *);
-
-size_t strlen (const char *);
-
-char *strerror (int);
+#endif
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
-char *strtok_r (char *, const char *, char **);
-int strerror_r (int, char *, size_t);
char *stpcpy(char *, const char *);
char *stpncpy(char *, const char *, size_t);
-size_t strnlen (const char *, size_t);
-char *strdup (const char *);
-char *strndup (const char *, size_t);
-char *strsignal(int);
char *strerror_l (int, locale_t);
int strcoll_l (const char *, const char *, locale_t);
size_t strxfrm_l (char *, const char *, size_t, locale_t);
#endif
-#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
-void *memccpy (void *, const void *, int, size_t);
-#endif
-
-#ifdef _BSD_SOURCE
-size_t strlcat (char *, const char *, size_t);
-size_t strlcpy (char *, const char *, size_t);
-#endif
-
#ifdef _GNU_SOURCE
int strverscmp (const char *, const char *);
-int strcasecmp (const char *, const char *);
-int strncasecmp (const char *, const char *, size_t);
char *strchrnul(const char *, int);
-char *strcasestr(const char *, const char *);
-char *strsep(char **, const char *);
-void *memrchr(const void *, int, size_t);
void *mempcpy(void *, const void *, size_t);
-char *basename();
#endif
#ifdef __cplusplus
--- include/strings.h
+++ include/strings.h
@@ -1,28 +1,18 @@
#ifndef _STRINGS_H
#define _STRINGS_H
+#include_next <strings.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-
-#define __NEED_size_t
#define __NEED_locale_t
#include <bits/alltypes.h>
-
int bcmp (const void *, const void *, size_t);
-void bcopy (const void *, void *, size_t);
-void bzero (void *, size_t);
-
-int ffs (int);
-
-char *index (const char *, int);
char *rindex (const char *, int);
-int strcasecmp (const char *, const char *);
-int strncasecmp (const char *, const char *, size_t);
-
int strcasecmp_l (const char *, const char *, locale_t);
int strncasecmp_l (const char *, const char *, size_t, locale_t);
--- include/sys/mman.h
+++ include/sys/mman.h
@@ -1,35 +1,17 @@
#ifndef _SYS_MMAN_H
#define _SYS_MMAN_H
+
+#include_next <sys/mman.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#define __NEED_mode_t
-#define __NEED_size_t
-#define __NEED_off_t
-
-#include <bits/alltypes.h>
-
+#include <sys/types.h>
#include <bits/mman.h>
-void *mmap (void *, size_t, int, int, int, off_t);
-int munmap (void *, size_t);
-
-int mprotect (void *, size_t, int);
-int msync (void *, size_t, int);
-
int posix_madvise (void *, size_t, int);
-int mlock (const void *, size_t);
-int munlock (const void *, size_t);
-int mlockall (int);
-int munlockall (void);
-
-#ifdef _GNU_SOURCE
-void *mremap (void *, size_t, size_t, int, ...);
-int madvise (void *, size_t, int);
-#endif
-
int shm_open (const char *, int, mode_t);
int shm_unlink (const char *);
--- include/sys/msg.h
+++ include/sys/msg.h
@@ -7,14 +7,6 @@
#include <sys/ipc.h>
-#define __NEED_pid_t
-#define __NEED_key_t
-#define __NEED_time_t
-#define __NEED_size_t
-#define __NEED_ssize_t
-
-#include <bits/alltypes.h>
-
typedef unsigned long msgqnum_t;
typedef unsigned long msglen_t;
--- include/sys/param.h
+++ include/sys/param.h
@@ -1,17 +1,7 @@
-#undef MAXSYMLINKS
-#define MAXSYMLINKS 20
+#include_next <sys/param.h>
-#undef MAXHOSTNAMELEN
#define MAXHOSTNAMELEN 64
-
-#undef MAXNAMLEN
#define MAXNAMLEN 255
-
-#undef MAXPATHLEN
-#define MAXPATHLEN 4096
-
-#undef MIN
-#undef MAX
#define MIN(a,b) (((a)<(b))?(a):(b))
#define MAX(a,b) (((a)>(b))?(a):(b))
--- include/sys/select.h
+++ include/sys/select.h
@@ -1,36 +1,15 @@
#ifndef _SYS_SELECT_H
#define _SYS_SELECT_H
+
+#include <linux/time.h>
+#include_next <sys/select.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#define __NEED_size_t
-#define __NEED_time_t
-#define __NEED_suseconds_t
-#define __NEED_struct_timeval
-#define __NEED_struct_timespec
-#define __NEED_sigset_t
-
-#include <bits/alltypes.h>
-
-#define FD_SETSIZE 1024
-
typedef unsigned long fd_mask;
-typedef struct
-{
- unsigned long fds_bits[FD_SETSIZE / 8 / sizeof(long)];
-} fd_set;
-
-#define FD_ZERO(s) do { int __i; unsigned long *__b=(s)->fds_bits; for(__i=sizeof (fd_set)/sizeof (long); __i; __i--) *__b++=0; } while(0)
-#define FD_SET(d, s) ((s)->fds_bits[(d)/(8*sizeof(long))] |= (1UL<<((d)%(8*sizeof(long)))))
-#define FD_CLR(d, s) ((s)->fds_bits[(d)/(8*sizeof(long))] &= ~(1UL<<((d)%(8*sizeof(long)))))
-#define FD_ISSET(d, s) !!((s)->fds_bits[(d)/(8*sizeof(long))] & (1UL<<((d)%(8*sizeof(long)))))
-
-int select (int, fd_set *, fd_set *, fd_set *, struct timeval *);
-int pselect (int, fd_set *, fd_set *, fd_set *, const struct timespec *, const sigset_t *);
-
-
#ifdef __cplusplus
}
#endif
--- include/sys/sem.h
+++ include/sys/sem.h
@@ -4,9 +4,7 @@
extern "C" {
#endif
-#define __NEED_size_t
-#include <bits/alltypes.h>
-
+#include <sys/types.h>
#include <sys/ipc.h>
#define SEM_UNDO 0x1000
--- include/sys/shm.h
+++ include/sys/shm.h
@@ -1,47 +1,20 @@
#ifndef _SYS_SHM_H
#define _SYS_SHM_H
+#include <sys/types.h>
+#include <linux/shm.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#define __NEED_time_t
-#define __NEED_size_t
-#define __NEED_pid_t
-
-#include <bits/alltypes.h>
-
#include <sys/ipc.h>
-#include <bits/shm.h>
-
-#define SHM_RDONLY 010000
-#define SHM_RND 020000
-#define SHM_REMAP 040000
-#define SHM_EXEC 0100000
-#define SHM_LOCK 11
-#define SHM_UNLOCK 12
-#define SHM_STAT 13
-#define SHM_INFO 14
#define SHM_DEST 01000
#define SHM_LOCKED 02000
#define SHM_HUGETLB 04000
#define SHM_NORESERVE 010000
-struct shminfo {
- unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4];
-};
-
-struct shm_info {
- int used_ids;
- unsigned long shm_tot, shm_rss, shm_swp;
-#ifdef _GNU_SOURCE
- unsigned long swap_attempts, swap_successes;
-#else
- unsigned long __reserved[2];
-#endif
-};
-
void *shmat(int, const void *, int);
int shmctl(int, int, struct shmid_ds *);
int shmdt(const void *);
--- include/sys/socket.h
+++ include/sys/socket.h
@@ -1,262 +1,14 @@
#ifndef _SYS_SOCKET_H
#define _SYS_SOCKET_H
+
+#include_next <sys/socket.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#define __NEED_socklen_t
-#define __NEED_sa_family_t
-#define __NEED_size_t
-#define __NEED_ssize_t
-#define __NEED_uid_t
-#define __NEED_pid_t
-#define __NEED_gid_t
-#define __NEED_struct_iovec
-
-#include <bits/alltypes.h>
-
-#include <bits/socket.h>
-
-struct cmsghdr
-{
- socklen_t cmsg_len;
- int cmsg_level;
- int cmsg_type;
-};
-
-struct ucred
-{
- pid_t pid;
- uid_t uid;
- gid_t gid;
-};
-
-struct linger
-{
- int l_onoff;
- int l_linger;
-};
-
-#define SHUT_RD 0
-#define SHUT_WD 1
-#define SHUT_RDWR 2
-
-#define SOCK_STREAM 1
-#define SOCK_DGRAM 2
-#define SOCK_RAW 3
-#define SOCK_RDM 4
-#define SOCK_SEQPACKET 5
-#define SOCK_DCCP 6
-#define SOCK_PACKET 10
-
-#define SOCK_CLOEXEC 02000000
-#define SOCK_NONBLOCK 04000
-
-#define PF_UNSPEC 0
-#define PF_LOCAL 1
-#define PF_UNIX PF_LOCAL
-#define PF_FILE PF_LOCAL
-#define PF_INET 2
-#define PF_AX25 3
-#define PF_IPX 4
-#define PF_APPLETALK 5
-#define PF_NETROM 6
-#define PF_BRIDGE 7
-#define PF_ATMPVC 8
-#define PF_X25 9
-#define PF_INET6 10
-#define PF_ROSE 11
-#define PF_DECnet 12
-#define PF_NETBEUI 13
-#define PF_SECURITY 14
-#define PF_KEY 15
-#define PF_NETLINK 16
-#define PF_ROUTE PF_NETLINK
-#define PF_PACKET 17
-#define PF_ASH 18
-#define PF_ECONET 19
-#define PF_ATMSVC 20
-#define PF_SNA 22
-#define PF_IRDA 23
-#define PF_PPPOX 24
-#define PF_WANPIPE 25
-#define PF_BLUETOOTH 31
-#define PF_IUCV 32
-#define PF_RXRPC 33
-#define PF_ISDN 34
-#define PF_PHONET 35
-#define PF_IEEE802154 36
-#define PF_CAIF 37
-#define PF_ALG 38
-#define PF_MAX 39
-
-#define AF_UNSPEC PF_UNSPEC
-#define AF_LOCAL PF_LOCAL
-#define AF_UNIX AF_LOCAL
-#define AF_FILE AF_LOCAL
-#define AF_INET PF_INET
-#define AF_AX25 PF_AX25
-#define AF_IPX PF_IPX
-#define AF_APPLETALK PF_APPLETALK
-#define AF_NETROM PF_NETROM
-#define AF_BRIDGE PF_BRIDGE
-#define AF_ATMPVC PF_ATMPVC
-#define AF_X25 PF_X25
-#define AF_INET6 PF_INET6
-#define AF_ROSE PF_ROSE
-#define AF_DECnet PF_DECnet
-#define AF_NETBEUI PF_NETBEUI
-#define AF_SECURITY PF_SECURITY
-#define AF_KEY PF_KEY
-#define AF_NETLINK PF_NETLINK
-#define AF_ROUTE PF_ROUTE
-#define AF_PACKET PF_PACKET
-#define AF_ASH PF_ASH
-#define AF_ECONET PF_ECONET
-#define AF_ATMSVC PF_ATMSVC
-#define AF_SNA PF_SNA
-#define AF_IRDA PF_IRDA
-#define AF_PPPOX PF_PPPOX
-#define AF_WANPIPE PF_WANPIPE
-#define AF_BLUETOOTH PF_BLUETOOTH
-#define AF_IUCV PF_IUCV
-#define AF_RXRPC PF_RXRPC
-#define AF_ISDN PF_ISDN
-#define AF_PHONET PF_PHONET
-#define AF_IEEE802154 PF_IEEE802154
-#define AF_CAIF PF_CAIF
-#define AF_ALG PF_ALG
-#define AF_MAX PF_MAX
-
-#define SO_DEBUG 1
-#define SO_REUSEADDR 2
-#define SO_TYPE 3
-#define SO_ERROR 4
-#define SO_DONTROUTE 5
-#define SO_BROADCAST 6
-#define SO_SNDBUF 7
-#define SO_RCVBUF 8
-#define SO_KEEPALIVE 9
-#define SO_OOBINLINE 10
-#define SO_NO_CHECK 11
-#define SO_PRIORITY 12
-#define SO_LINGER 13
-#define SO_BSDCOMPAT 14
-#define SO_REUSEPORT 15
-#define SO_PASSCRED 16
-#define SO_PEERCRED 17
-#define SO_RCVLOWAT 18
-#define SO_SNDLOWAT 19
-#define SO_RCVTIMEO 20
-#define SO_SNDTIMEO 21
-
-#define SO_SECURITY_AUTHENTICATION 22
-#define SO_SECURITY_ENCRYPTION_TRANSPORT 23
-#define SO_SECURITY_ENCRYPTION_NETWORK 24
-
-#define SO_BINDTODEVICE 25
-
-#define SO_ATTACH_FILTER 26
-#define SO_DETACH_FILTER 27
-
-#define SO_PEERNAME 28
-#define SO_TIMESTAMP 29
-#define SCM_TIMESTAMP SO_TIMESTAMP
-
-#define SO_ACCEPTCONN 30
-
-#define SOL_SOCKET 1
-
-#define SOL_RAW 255
-#define SOL_DECNET 261
-#define SOL_X25 262
-#define SOL_PACKET 263
-#define SOL_ATM 264
-#define SOL_AAL 265
-#define SOL_IRDA 266
-
-#define SOMAXCONN 128
-
-#define MSG_OOB 0x0001
-#define MSG_PEEK 0x0002
-#define MSG_DONTROUTE 0x0004
-#define MSG_CTRUNC 0x0008
-#define MSG_PROXY 0x0010
-#define MSG_TRUNC 0x0020
-#define MSG_DONTWAIT 0x0040
-#define MSG_EOR 0x0080
-#define MSG_WAITALL 0x0100
-#define MSG_FIN 0x0200
-#define MSD_SYN 0x0400
-#define MSG_CONFIRM 0x0800
-#define MSG_RST 0x1000
-#define MSG_ERRQUEUE 0x2000
-#define MSG_NOSIGNAL 0x4000
-#define MSG_MORE 0x8000
-#define MSG_WAITFORONE 0x10000
-#define MSG_CMSG_CLOEXEC 0x40000000
-
-#define __CMSG_LEN(cmsg) (((cmsg)->cmsg_len + sizeof(long) - 1) & ~(long)(sizeof(long) - 1))
-#define __CMSG_NEXT(cmsg) ((unsigned char *)(cmsg) + __CMSG_LEN(cmsg))
-#define __MHDR_END(mhdr) ((unsigned char *)(mhdr)->msg_control + (mhdr)->msg_controllen)
-
-#define CMSG_DATA(cmsg) ((unsigned char *) (((struct cmsghdr *)(cmsg)) + 1))
-#define CMSG_NXTHDR(mhdr, cmsg) ((cmsg)->cmsg_len < sizeof (struct cmsghdr) ? (struct cmsghdr *)0 : \
- (__CMSG_NEXT(cmsg) + sizeof (struct cmsghdr) >= __MHDR_END(mhdr) ? (struct cmsghdr *)0 : \
- ((struct cmsghdr *)__CMSG_NEXT(cmsg))))
-#define CMSG_FIRSTHDR(mhdr) ((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr) ? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) 0)
-
-#define CMSG_ALIGN(len) (((len) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1))
-#define CMSG_SPACE(len) (CMSG_ALIGN (len) + CMSG_ALIGN (sizeof (struct cmsghdr)))
-#define CMSG_LEN(len) (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len))
-
-#define SCM_RIGHTS 0x01
-#define SCM_CREDENTIALS 0x02
-
-struct sockaddr
-{
- sa_family_t sa_family;
- char sa_data[14];
-};
-
-struct sockaddr_storage
-{
- sa_family_t ss_family;
- union {
- long long __align;
- char __padding[126];
- } __padding;
-};
-
-int socket (int, int, int);
-int socketpair (int, int, int, int [2]);
-
-int shutdown (int, int);
-
-int bind (int, const struct sockaddr *, socklen_t);
-int connect (int, const struct sockaddr *, socklen_t);
-int listen (int, int);
-int accept (int, struct sockaddr *, socklen_t *);
-
-int getsockname (int, struct sockaddr *, socklen_t *);
-int getpeername (int, struct sockaddr *, socklen_t *);
-
-ssize_t send (int, const void *, size_t, int);
-ssize_t recv (int, void *, size_t, int);
-ssize_t sendto (int, const void *, size_t, int, const struct sockaddr *, socklen_t);
-ssize_t recvfrom (int, void *, size_t, int, struct sockaddr *, socklen_t *);
-ssize_t sendmsg (int, const struct msghdr *, int);
-ssize_t recvmsg (int, struct msghdr *, int);
-
-int getsockopt (int, int, int, void *, socklen_t *);
-int setsockopt (int, int, int, const void *, socklen_t);
-
int sockatmark (int);
-#define SHUT_RD 0
-#define SHUT_WR 1
-#define SHUT_RDWR 2
-
#ifdef __cplusplus
}
#endif
--- include/sys/stat.h
+++ include/sys/stat.h
@@ -1,91 +1,24 @@
#ifndef _SYS_STAT_H
#define _SYS_STAT_H
+
+#include_next <sys/stat.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#define __NEED_dev_t
-#define __NEED_ino_t
-#define __NEED_mode_t
-#define __NEED_nlink_t
-#define __NEED_uid_t
-#define __NEED_gid_t
-#define __NEED_off_t
-#define __NEED_time_t
-#define __NEED_blksize_t
-#define __NEED_blkcnt_t
-#define __NEED_struct_timespec
-
-#include <bits/alltypes.h>
-
-#include <bits/stat.h>
-
#define st_atime st_atim.tv_sec
#define st_mtime st_mtim.tv_sec
#define st_ctime st_ctim.tv_sec
-#define S_IFMT 0170000
-
-#define S_IFDIR 0040000
-#define S_IFCHR 0020000
-#define S_IFBLK 0060000
-#define S_IFREG 0100000
-#define S_IFIFO 0010000
-#define S_IFLNK 0120000
-#define S_IFSOCK 0140000
-
#define S_TYPEISMQ(buf) 0
#define S_TYPEISSEM(buf) 0
#define S_TYPEISSHM(buf) 0
#define S_TYPEISTMO(buf) 0
-#define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR)
-#define S_ISCHR(mode) (((mode) & S_IFMT) == S_IFCHR)
-#define S_ISBLK(mode) (((mode) & S_IFMT) == S_IFBLK)
-#define S_ISREG(mode) (((mode) & S_IFMT) == S_IFREG)
-#define S_ISFIFO(mode) (((mode) & S_IFMT) == S_IFIFO)
-#define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)
-#define S_ISSOCK(mode) (((mode) & S_IFMT) == S_IFSOCK)
-
-#ifndef S_IRUSR
-#define S_ISUID 04000
-#define S_ISGID 02000
-#define S_ISVTX 01000
-#define S_IRUSR 0400
-#define S_IWUSR 0200
-#define S_IXUSR 0100
-#define S_IRWXU 0700
-#define S_IRGRP 0040
-#define S_IWGRP 0020
-#define S_IXGRP 0010
-#define S_IRWXG 0070
-#define S_IROTH 0004
-#define S_IWOTH 0002
-#define S_IXOTH 0001
-#define S_IRWXO 0007
-#endif
-
#define UTIME_NOW 0x3fffffff
#define UTIME_OMIT 0x3ffffffe
-int stat(const char *, struct stat *);
-int fstat(int, struct stat *);
-int lstat(const char *, struct stat *);
-int fstatat(int, const char *, struct stat *, int);
-int chmod(const char *, mode_t);
-int fchmod(int, mode_t);
-int fchmodat(int, const char *, mode_t, int);
-mode_t umask(mode_t);
-int mkdir(const char *, mode_t);
-int mknod(const char *, mode_t, dev_t);
-int mkfifo(const char *, mode_t);
-int mkdirat(int, const char *, mode_t);
-int mknodat(int, const char *, mode_t, dev_t);
-int mkfifoat(int, const char *, mode_t);
-
-int futimens(int, const struct timespec [2]);
-int utimensat(int, const char *, const struct timespec [2], int);
-
#ifdef _BSD_SOURCE
int lchmod(const char *, mode_t);
#endif
--- include/sys/statvfs.h
+++ include/sys/statvfs.h
@@ -5,10 +5,7 @@
extern "C" {
#endif
-#define __NEED_fsblkcnt_t
-#define __NEED_fsfilcnt_t
-#include <bits/alltypes.h>
-
+#include <sys/types.h>
#include <endian.h>
struct statvfs {
--- include/sys/syscall.h
+++ include/sys/syscall.h
@@ -1,12 +1,14 @@
#ifndef _SYS_SYSCALL_H
#define _SYS_SYSCALL_H
+
+#include_next <sys/syscall.h>
+
#ifdef __cplusplus
extern "C" {
#endif
long __syscall_ret(unsigned long);
long __syscall(long, ...);
-long syscall(long, ...);
#include <bits/syscall.h>
@@ -24,7 +26,6 @@
#define __SYSCALL_DISP(b,...) __SYSCALL_CONCAT(b,__SYSCALL_NARGS(__VA_ARGS__))(__VA_ARGS__)
#define __syscall(...) __SYSCALL_DISP(__syscall,__VA_ARGS__)
-#define syscall(...) __syscall_ret(__syscall(__VA_ARGS__))
#ifdef __cplusplus
}
--- include/sys/sysinfo.h
+++ include/sys/sysinfo.h
@@ -1,6 +1,8 @@
#ifndef _SYS_SYSINFO_H
#define _SYS_SYSINFO_H
+#include_next <sys/sysinfo.h>
+
#ifdef __cplusplus
extern "C" {
#endif
--- include/sys/time.h
+++ include/sys/time.h
@@ -1,50 +1,24 @@
#ifndef _SYS_TIME_H
#define _SYS_TIME_H
+
+#include_next <sys/time.h>
+
#ifdef __cplusplus
extern "C" {
#endif
#include <sys/select.h>
-int gettimeofday (struct timeval *, void *);
-
#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
#define ITIMER_REAL 0
#define ITIMER_VIRTUAL 1
#define ITIMER_PROF 2
-struct itimerval
-{
- struct timeval it_interval;
- struct timeval it_value;
-};
-
-int getitimer (int, struct itimerval *);
-int setitimer (int, const struct itimerval *, struct itimerval *);
-int utimes (const char *, const struct timeval [2]);
-
#endif
#ifdef _GNU_SOURCE
-int futimes(int, const struct timeval [2]);
-int lutimes(const char *, const struct timeval [2]);
-int settimeofday (const struct timeval *, void *);
int adjtime (const struct timeval *, struct timeval *);
-struct timezone {
- int tz_minuteswest;
- int tz_dsttime;
-};
-#define timerisset(t) ((t)->tv_sec || (t)->tv_usec)
-#define timerclear(t) ((t)->tv_sec = (t)->tv_usec = 0)
-#define timercmp(s,t,op) ((s)->tv_sec == (t)->tv_sec ? \
- (s)->tv_usec op (t)->tv_usec : (s)->tv_sec op (t)->tv_sec)
-#define timeradd(s,t,a) ( (a)->tv_sec = (s)->tv_sec + (t)->tv_sec, \
- ((a)->tv_usec = (s)->tv_usec + (t)->tv_usec) >= 1000000 && \
- ((a)->tv_usec -= 1000000, (a)->tv_sec++) )
-#define timersub(s,t,a) ( (a)->tv_sec = (s)->tv_sec - (t)->tv_sec, \
- ((a)->tv_usec = (s)->tv_usec - (t)->tv_usec) < 0 && \
- ((a)->tv_usec += 1000000, (a)->tv_sec--) )
#endif
#ifdef __cplusplus
--- include/sys/types.h
+++ include/sys/types.h
@@ -1,69 +1,16 @@
#ifndef _SYS_TYPES_H
#define _SYS_TYPES_H
+
+#include_next <stdint.h>
+#include_next <sys/types.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#define __NEED_ino_t
-#define __NEED_dev_t
-#define __NEED_uid_t
-#define __NEED_gid_t
-#define __NEED_mode_t
-#define __NEED_nlink_t
-#define __NEED_off_t
-#define __NEED_pid_t
-#define __NEED_size_t
-#define __NEED_ssize_t
-#define __NEED_time_t
-#define __NEED_timer_t
-#define __NEED_clockid_t
-
-#define __NEED_int8_t
-#define __NEED_int16_t
-#define __NEED_int32_t
-#define __NEED_int64_t
-
-#define __NEED___uint16_t
-#define __NEED___uint32_t
-#define __NEED___uint64_t
-
-#define __NEED_blkcnt_t
-#define __NEED_fsblkcnt_t
-#define __NEED_fsfilcnt_t
-
-#define __NEED_id_t
-#define __NEED_key_t
-#define __NEED_clock_t
-#define __NEED_suseconds_t
-#define __NEED_blksize_t
-
-#define __NEED_pthread_t
-#define __NEED_pthread_attr_t
-#define __NEED_pthread_mutexattr_t
-#define __NEED_pthread_condattr_t
-#define __NEED_pthread_rwlockattr_t
-#define __NEED_pthread_barrierattr_t
-#define __NEED_pthread_mutex_t
-#define __NEED_pthread_cond_t
-#define __NEED_pthread_rwlock_t
-#define __NEED_pthread_barrier_t
-#define __NEED_pthread_spinlock_t
-#define __NEED_pthread_key_t
-#define __NEED_pthread_once_t
-
-#include <bits/alltypes.h>
-
-typedef unsigned char u_int8_t;
-typedef __uint16_t u_int16_t;
-typedef __uint32_t u_int32_t;
-typedef __uint64_t u_int64_t;
-
#ifdef _GNU_SOURCE
-typedef char *caddr_t;
-typedef unsigned char u_char;
-typedef unsigned short u_short, ushort;
-typedef unsigned u_int, uint;
-typedef unsigned long u_long, ulong;
+typedef unsigned short ushort;
+typedef unsigned long ulong;
typedef long long quad_t;
typedef unsigned long long u_quad_t;
typedef long register_t;
--- include/sys/wait.h
+++ include/sys/wait.h
@@ -1,48 +1,19 @@
#ifndef _SYS_WAIT_H
#define _SYS_WAIT_H
+
+#include_next <sys/wait.h>
+
#ifdef __cplusplus
extern "C" {
#endif
#include <signal.h>
-#define __NEED_pid_t
-#define __NEED_id_t
-#define __NEED_siginfo_t
-#include <bits/alltypes.h>
-
typedef int idtype_t;
-pid_t wait (int *);
int waitid (idtype_t, id_t, siginfo_t *, int);
-pid_t waitpid (pid_t, int *, int );
-
-#ifdef _GNU_SOURCE
-#include <sys/resource.h>
-pid_t wait3 (int *, int, struct rusage *);
-pid_t wait4 (pid_t, int *, int, struct rusage *);
-#endif
-
-#define WNOHANG 1
-#define WUNTRACED 2
-#define WSTOPPED 2
-#define WEXITED 4
-#define WCONTINUED 8
-#define WNOWAIT 0x1000000
-
-#define P_ALL 0
-#define P_PID 1
-#define P_PGID 2
-
-#ifndef WEXITSTATUS
-#define WEXITSTATUS(s) (((s) & 0xff00) >> 8)
-#define WTERMSIG(s) ((s) & 0x7f)
-#define WSTOPSIG(s) WEXITSTATUS(s)
-#define WCOREDUMP(s) ((s) & 0x80)
-#define WIFEXITED(s) (!WTERMSIG(s))
-#define WIFSTOPPED(s) (((s) & 0xff) == 0x7f)
-#define WIFSIGNALED(s) (((signed char) (((s) & 0x7f) + 1) >> 1) > 0)
+#ifndef WIFCONTINUED
#define WIFCONTINUED(s) ((s) == 0xffff)
#endif
--- include/termios.h
+++ include/termios.h
@@ -1,36 +1,13 @@
#ifndef _TERMIOS_H
#define _TERMIOS_H
+#include_next <termios.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#define __NEED_pid_t
-
-#include <bits/alltypes.h>
-
-typedef unsigned char cc_t;
-typedef unsigned int speed_t;
-typedef unsigned int tcflag_t;
-
-#define NCCS 32
-
-#include <bits/termios.h>
-
-speed_t cfgetospeed (const struct termios *);
-speed_t cfgetispeed (const struct termios *);
-int cfsetospeed (struct termios *, speed_t);
-int cfsetispeed (struct termios *, speed_t);
-
-int tcgetattr (int, struct termios *);
-int tcsetattr (int, int, const struct termios *);
-
-int tcsendbreak (int, int);
int tcdrain (int);
-int tcflush (int, int);
-int tcflow (int, int);
-
-pid_t tcgetsid (int);
#ifdef __cplusplus
}
--- include/unistd.h
+++ include/unistd.h
@@ -1,21 +1,12 @@
#ifndef _UNISTD_H
#define _UNISTD_H
+#include_next <unistd.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#define STDIN_FILENO 0
-#define STDOUT_FILENO 1
-#define STDERR_FILENO 2
-
-#undef SEEK_SET
-#undef SEEK_CUR
-#undef SEEK_END
-#define SEEK_SET 0
-#define SEEK_CUR 1
-#define SEEK_END 2
-
#undef NULL
#ifdef __cplusplus
#define NULL 0
@@ -23,108 +14,12 @@
#define NULL ((void*)0)
#endif
-#define __NEED_size_t
-#define __NEED_ssize_t
-#define __NEED_uid_t
-#define __NEED_gid_t
-#define __NEED_off_t
-#define __NEED_pid_t
-#define __NEED_intptr_t
-
-#include <bits/alltypes.h>
-
-int pipe(int [2]);
-int close(int);
-int dup(int);
-int dup2(int, int);
-off_t lseek(int, off_t, int);
-int fsync(int);
-int fdatasync(int);
+#include <sys/types.h>
-ssize_t read(int, void *, size_t);
-ssize_t write(int, const void *, size_t);
-ssize_t pread(int, void *, size_t, off_t);
-ssize_t pwrite(int, const void *, size_t, off_t);
-
-int chown(const char *, uid_t, gid_t);
-int fchown(int, uid_t, gid_t);
-int lchown(const char *, uid_t, gid_t);
-int fchownat(int, const char *, uid_t, gid_t, int);
-
-int link(const char *, const char *);
-int linkat(int, const char *, int, const char *, int);
-int symlink(const char *, const char *);
-int symlinkat(const char *, int, const char *);
-ssize_t readlink(const char *, char *, size_t);
-ssize_t readlinkat(int, const char *, char *, size_t);
-int unlink(const char *);
-int unlinkat(int, const char *, int);
-int rmdir(const char *);
-int truncate(const char *, off_t);
-int ftruncate(int, off_t);
-
-#define F_OK 0
-#define R_OK 4
-#define W_OK 2
-#define X_OK 1
-int access(const char *, int);
-int faccessat(int, const char *, int, int);
-
-int chdir(const char *);
-int fchdir(int);
-char *getcwd(char *, size_t);
-
-unsigned alarm(unsigned);
-unsigned sleep(unsigned);
-int pause(void);
-
-pid_t fork(void);
-int execve(const char *, char *const [], char *const []);
-int execv(const char *, char *const []);
-int execle(const char *, const char *, ...);
-int execl(const char *, const char *, ...);
-int execvp(const char *, char *const []);
-int execlp(const char *, const char *, ...);
+int fdatasync(int);
int fexecve(int, char *const [], char *const []);
-void _exit(int);
-
-pid_t getpid(void);
-pid_t getppid(void);
-pid_t getpgrp(void);
-pid_t getpgid(pid_t);
-int setpgid(pid_t, pid_t);
-pid_t setsid(void);
pid_t getsid(pid_t);
-char *ttyname(int);
-int ttyname_r(int, char *, size_t);
-int isatty(int);
-pid_t tcgetpgrp(int);
-int tcsetpgrp(int, pid_t);
-
-uid_t getuid(void);
-uid_t geteuid(void);
-gid_t getgid(void);
-gid_t getegid(void);
-int getgroups(int, gid_t []);
-int setuid(uid_t);
-int setreuid(uid_t, uid_t);
-int seteuid(uid_t);
-int setgid(gid_t);
-int setregid(gid_t, gid_t);
-int setegid(gid_t);
-
-char *getlogin(void);
int getlogin_r(char *, size_t);
-int gethostname(char *, size_t);
-char *ctermid(char *);
-
-int getopt(int, char * const [], const char *);
-extern char *optarg;
-extern int optind, opterr, optopt;
-
-long pathconf(const char *, int);
-long fpathconf(int, int);
-long sysconf(int);
size_t confstr(int, char *, size_t);
#define F_ULOCK 0
@@ -134,33 +29,26 @@
#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
int lockf(int, int, off_t);
-pid_t setpgrp(void);
char *crypt(const char *, const char *);
-void encrypt(char *, int);
void swab(const void *, void *, ssize_t);
long gethostid(void);
-int nice(int);
-void sync(void);
-int getdtablesize(void);
#endif
#ifdef _GNU_SOURCE
-int brk(void *);
-void *sbrk(intptr_t);
-pid_t forkall(void);
-pid_t vfork(void);
-int vhangup(void);
-int chroot(const char *);
-int getpagesize(void);
int sethostname(const char *, size_t);
-int usleep(unsigned);
unsigned ualarm(unsigned, unsigned);
-int setgroups(size_t, const gid_t []);
-int setresuid(uid_t, uid_t, uid_t);
-int setresgid(gid_t, gid_t, gid_t);
char *get_current_dir_name(void);
#endif
+#undef _XOPEN_VERSION
+#undef _XOPEN_ENH_I18N
+#undef _POSIX_VERSION
+#undef _POSIX2_VERSION
+#undef _POSIX_MAPPED_FILES
+#undef _POSIX_REALTIME_SIGNALS
+#undef _POSIX_THREADS
+#undef _POSIX_TIMERS
+
#define _XOPEN_VERSION 700
#define _XOPEN_UNIX 1
#define _XOPEN_ENH_I18N 1
@@ -203,230 +91,8 @@
-#define _PC_LINK_MAX 0
-#define _PC_MAX_CANON 1
-#define _PC_MAX_INPUT 2
-#define _PC_NAME_MAX 3
-#define _PC_PATH_MAX 4
-#define _PC_PIPE_BUF 5
-#define _PC_CHOWN_RESTRICTED 6
-#define _PC_NO_TRUNC 7
-#define _PC_VDISABLE 8
-#define _PC_SYNC_IO 9
-#define _PC_ASYNC_IO 10
-#define _PC_PRIO_IO 11
-#define _PC_SOCK_MAXBUF 12
-#define _PC_FILESIZEBITS 13
-#define _PC_REC_INCR_XFER_SIZE 14
-#define _PC_REC_MAX_XFER_SIZE 15
-#define _PC_REC_MIN_XFER_SIZE 16
-#define _PC_REC_XFER_ALIGN 17
-#define _PC_ALLOC_SIZE_MIN 18
-#define _PC_SYMLINK_MAX 19
-#define _PC_2_SYMLINKS 20
-
-#define _SC_ARG_MAX 0
-#define _SC_CHILD_MAX 1
-#define _SC_CLK_TCK 2
-#define _SC_NGROUPS_MAX 3
-#define _SC_OPEN_MAX 4
-#define _SC_STREAM_MAX 5
-#define _SC_TZNAME_MAX 6
-#define _SC_JOB_CONTROL 7
-#define _SC_SAVED_IDS 8
-#define _SC_REALTIME_SIGNALS 9
-#define _SC_PRIORITY_SCHEDULING 10
-#define _SC_TIMERS 11
-#define _SC_ASYNCHRONOUS_IO 12
-#define _SC_PRIORITIZED_IO 13
-#define _SC_SYNCHRONIZED_IO 14
-#define _SC_FSYNC 15
-#define _SC_MAPPED_FILES 16
-#define _SC_MEMLOCK 17
-#define _SC_MEMLOCK_RANGE 18
-#define _SC_MEMORY_PROTECTION 19
-#define _SC_MESSAGE_PASSING 20
-#define _SC_SEMAPHORES 21
-#define _SC_SHARED_MEMORY_OBJECTS 22
-#define _SC_AIO_LISTIO_MAX 23
-#define _SC_AIO_MAX 24
-#define _SC_AIO_PRIO_DELTA_MAX 25
-#define _SC_DELAYTIMER_MAX 26
-#define _SC_MQ_OPEN_MAX 27
-#define _SC_MQ_PRIO_MAX 28
-#define _SC_VERSION 29
-#define _SC_PAGE_SIZE 30
-#define _SC_PAGESIZE 30 /* !! */
-#define _SC_RTSIG_MAX 31
-#define _SC_SEM_NSEMS_MAX 32
-#define _SC_SEM_VALUE_MAX 33
-#define _SC_SIGQUEUE_MAX 34
-#define _SC_TIMER_MAX 35
-#define _SC_BC_BASE_MAX 36
-#define _SC_BC_DIM_MAX 37
-#define _SC_BC_SCALE_MAX 38
-#define _SC_BC_STRING_MAX 39
-#define _SC_COLL_WEIGHTS_MAX 40
-#define _SC_EQUIV_CLASS_MAX 41
-#define _SC_EXPR_NEST_MAX 42
-#define _SC_LINE_MAX 43
-#define _SC_RE_DUP_MAX 44
-#define _SC_CHARCLASS_NAME_MAX 45
-#define _SC_2_VERSION 46
-#define _SC_2_C_BIND 47
-#define _SC_2_C_DEV 48
-#define _SC_2_FORT_DEV 49
-#define _SC_2_FORT_RUN 50
-#define _SC_2_SW_DEV 51
-#define _SC_2_LOCALEDEF 52
-#define _SC_PII 53
-#define _SC_PII_XTI 54
-#define _SC_PII_SOCKET 55
-#define _SC_PII_INTERNET 56
-#define _SC_PII_OSI 57
-#define _SC_POLL 58
-#define _SC_SELECT 59
-#define _SC_UIO_MAXIOV 60 /* !! */
-#define _SC_IOV_MAX 60
-#define _SC_PII_INTERNET_STREAM 61
-#define _SC_PII_INTERNET_DGRAM 62
-#define _SC_PII_OSI_COTS 63
-#define _SC_PII_OSI_CLTS 64
-#define _SC_PII_OSI_M 65
-#define _SC_T_IOV_MAX 66
-#define _SC_THREADS 67
-#define _SC_THREAD_SAFE_FUNCTIONS 68
-#define _SC_GETGR_R_SIZE_MAX 69
-#define _SC_GETPW_R_SIZE_MAX 70
-#define _SC_LOGIN_NAME_MAX 71
-#define _SC_TTY_NAME_MAX 72
-#define _SC_THREAD_DESTRUCTOR_ITERATIONS 73
-#define _SC_THREAD_KEYS_MAX 74
-#define _SC_THREAD_STACK_MIN 75
-#define _SC_THREAD_THREADS_MAX 76
-#define _SC_THREAD_ATTR_STACKADDR 77
-#define _SC_THREAD_ATTR_STACKSIZE 78
-#define _SC_THREAD_PRIORITY_SCHEDULING 79
-#define _SC_THREAD_PRIO_INHERIT 80
-#define _SC_THREAD_PRIO_PROTECT 81
-#define _SC_THREAD_PROCESS_SHARED 82
-#define _SC_NPROCESSORS_CONF 83
-#define _SC_NPROCESSORS_ONLN 84
-#define _SC_PHYS_PAGES 85
-#define _SC_AVPHYS_PAGES 86
-#define _SC_ATEXIT_MAX 87
-#define _SC_PASS_MAX 88
-#define _SC_XOPEN_VERSION 89
-#define _SC_XOPEN_XCU_VERSION 90
-#define _SC_XOPEN_UNIX 91
-#define _SC_XOPEN_CRYPT 92
-#define _SC_XOPEN_ENH_I18N 93
-#define _SC_XOPEN_SHM 94
-#define _SC_2_CHAR_TERM 95
-#define _SC_2_C_VERSION 96
-#define _SC_2_UPE 97
-#define _SC_XOPEN_XPG2 98
-#define _SC_XOPEN_XPG3 99
-#define _SC_XOPEN_XPG4 100
-#define _SC_CHAR_BIT 101
-#define _SC_CHAR_MAX 102
-#define _SC_CHAR_MIN 103
-#define _SC_INT_MAX 104
-#define _SC_INT_MIN 105
-#define _SC_LONG_BIT 106
-#define _SC_WORD_BIT 107
-#define _SC_MB_LEN_MAX 108
-#define _SC_NZERO 109
-#define _SC_SSIZE_MAX 110
-#define _SC_SCHAR_MAX 111
-#define _SC_SCHAR_MIN 112
-#define _SC_SHRT_MAX 113
-#define _SC_SHRT_MIN 114
-#define _SC_UCHAR_MAX 115
-#define _SC_UINT_MAX 116
-#define _SC_ULONG_MAX 117
-#define _SC_USHRT_MAX 118
-#define _SC_NL_ARGMAX 119
-#define _SC_NL_LANGMAX 120
-#define _SC_NL_MSGMAX 121
-#define _SC_NL_NMAX 122
-#define _SC_NL_SETMAX 123
-#define _SC_NL_TEXTMAX 124
-#define _SC_XBS5_ILP32_OFF32 125
-#define _SC_XBS5_ILP32_OFFBIG 126
-#define _SC_XBS5_LP64_OFF64 127
-#define _SC_XBS5_LPBIG_OFFBIG 128
-#define _SC_XOPEN_LEGACY 129
-#define _SC_XOPEN_REALTIME 130
-#define _SC_XOPEN_REALTIME_THREADS 131
-#define _SC_ADVISORY_INFO 132
-#define _SC_BARRIERS 133
-#define _SC_BASE 134
-#define _SC_C_LANG_SUPPORT 135
-#define _SC_C_LANG_SUPPORT_R 136
-#define _SC_CLOCK_SELECTION 137
-#define _SC_CPUTIME 138
-#define _SC_THREAD_CPUTIME 139
-#define _SC_DEVICE_IO 140
-#define _SC_DEVICE_SPECIFIC 141
-#define _SC_DEVICE_SPECIFIC_R 142
-#define _SC_FD_MGMT 143
-#define _SC_FIFO 144
-#define _SC_PIPE 145
-#define _SC_FILE_ATTRIBUTES 146
-#define _SC_FILE_LOCKING 147
-#define _SC_FILE_SYSTEM 148
-#define _SC_MONOTONIC_CLOCK 149
-#define _SC_MULTI_PROCESS 150
-#define _SC_SINGLE_PROCESS 151
-#define _SC_NETWORKING 152
-#define _SC_READER_WRITER_LOCKS 153
-#define _SC_SPIN_LOCKS 154
-#define _SC_REGEXP 155
-#define _SC_REGEX_VERSION 156
-#define _SC_SHELL 157
-#define _SC_SIGNALS 158
-#define _SC_SPAWN 159
-#define _SC_SPORADIC_SERVER 160
-#define _SC_THREAD_SPORADIC_SERVER 161
-#define _SC_SYSTEM_DATABASE 162
-#define _SC_SYSTEM_DATABASE_R 163
-#define _SC_TIMEOUTS 164
-#define _SC_TYPED_MEMORY_OBJECTS 165
-#define _SC_USER_GROUPS 166
-#define _SC_USER_GROUPS_R 167
-#define _SC_2_PBS 168
-#define _SC_2_PBS_ACCOUNTING 169
-#define _SC_2_PBS_LOCATE 170
-#define _SC_2_PBS_MESSAGE 171
-#define _SC_2_PBS_TRACK 172
-#define _SC_SYMLOOP_MAX 173
-#define _SC_STREAMS 174
-#define _SC_2_PBS_CHECKPOINT 175
-#define _SC_V6_ILP32_OFF32 176
-#define _SC_V6_ILP32_OFFBIG 177
-#define _SC_V6_LP64_OFF64 178
-#define _SC_V6_LPBIG_OFFBIG 179
-#define _SC_HOST_NAME_MAX 180
-#define _SC_TRACE 181
-#define _SC_TRACE_EVENT_FILTER 182
-#define _SC_TRACE_INHERIT 183
-#define _SC_TRACE_LOG 184
-
-#define _SC_IPV6 235
-#define _SC_RAW_SOCKETS 236
-#define _SC_V7_ILP32_OFF32 237
-#define _SC_V7_ILP32_OFFBIG 238
-#define _SC_V7_LP64_OFF64 239
-#define _SC_V7_LPBIG_OFFBIG 240
-#define _SC_SS_REPL_MAX 241
-#define _SC_TRACE_EVENT_NAME_MAX 242
-#define _SC_TRACE_NAME_MAX 243
-#define _SC_TRACE_SYS_MAX 244
-#define _SC_TRACE_USER_EVENT_MAX 245
-#define _SC_XOPEN_STREAMS 246
-#define _SC_THREAD_ROBUST_PRIO_INHERIT 247
-#define _SC_THREAD_ROBUST_PRIO_PROTECT 248
+#include <pathconf.h>
+#include <sys/sysconf.h>
#define _CS_PATH 0
#define _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS 1
--- include/utmpx.h
+++ include/utmpx.h
@@ -5,14 +5,15 @@
extern "C" {
#endif
-#define __NEED_pid_t
-#define __NEED_time_t
-#define __NEED_struct_timeval
-
-#include <bits/alltypes.h>
+#include <signal.h>
+#include <time.h>
#define UT_LINESIZE 32
+#ifdef __unused
+#undef __unused
+#endif
+
struct utmpx
{
short ut_type;
--- include/wchar.h
+++ include/wchar.h
@@ -1,24 +1,12 @@
#ifndef _WCHAR_H
#define _WCHAR_H
+#include_next <wchar.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#define __NEED_FILE
-#define __NEED_va_list
-#define __NEED_size_t
-#define __NEED_wchar_t
-#define __NEED_wint_t
-
-#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
-#define __NEED_wctype_t
-#endif
-
-#include <bits/alltypes.h>
-
-#include <bits/wchar.h>
-
#undef NULL
#ifdef __cplusplus
#define NULL 0
@@ -26,135 +14,17 @@
#define NULL ((void*)0)
#endif
-#undef WEOF
-#define WEOF (-1)
-
-typedef struct
-{
- unsigned __opaque1, __opaque2;
-} mbstate_t;
-
-wchar_t *wcscpy (wchar_t *, const wchar_t *);
-wchar_t *wcsncpy (wchar_t *, const wchar_t *, size_t);
-
-wchar_t *wcscat (wchar_t *, const wchar_t *);
-wchar_t *wcsncat (wchar_t *, const wchar_t *, size_t);
-
-int wcscmp (const wchar_t *, const wchar_t *);
-int wcsncmp (const wchar_t *, const wchar_t *, size_t);
-
-int wcscoll(const wchar_t *, const wchar_t *);
-size_t wcsxfrm (wchar_t *, const wchar_t *, size_t n);
-
-wchar_t *wcschr (const wchar_t *, wchar_t);
-wchar_t *wcsrchr (const wchar_t *, wchar_t);
-
-size_t wcscspn (const wchar_t *, const wchar_t *);
-size_t wcsspn (const wchar_t *, const wchar_t *);
-wchar_t *wcspbrk (const wchar_t *, const wchar_t *);
-
-wchar_t *wcstok (wchar_t *, const wchar_t *, wchar_t **);
-
-size_t wcslen (const wchar_t *);
-
-wchar_t *wcsstr (const wchar_t *, const wchar_t *);
-wchar_t *wcswcs (const wchar_t *, const wchar_t *);
-
-wchar_t *wmemchr (const wchar_t *, wchar_t, size_t);
-int wmemcmp (const wchar_t *, const wchar_t *, size_t);
-wchar_t *wmemcpy (wchar_t *, const wchar_t *, size_t);
-wchar_t *wmemmove (wchar_t *, const wchar_t *, size_t);
-wchar_t *wmemset (wchar_t *, wchar_t, size_t);
-
-wint_t btowc (int);
-int wctob (wint_t);
-
-int mbsinit (const mbstate_t *);
-size_t mbrtowc (wchar_t *, const char *, size_t, mbstate_t *);
-size_t wcrtomb (char *, wchar_t, mbstate_t *);
-
-size_t mbrlen (const char *, size_t, mbstate_t *);
-
-size_t mbsrtowcs (wchar_t *, const char **, size_t, mbstate_t *);
-size_t wcsrtombs (char *, const wchar_t **, size_t, mbstate_t *);
-
-float wcstof (const wchar_t *, wchar_t **);
-double wcstod (const wchar_t *, wchar_t **);
-long double wcstold (const wchar_t *, wchar_t **);
-
-long wcstol (const wchar_t *, wchar_t **, int);
-unsigned long wcstoul (const wchar_t *, wchar_t **, int);
-
long long wcstoll (const wchar_t *, wchar_t **, int);
unsigned long long wcstoull (const wchar_t *, wchar_t **, int);
-
-
-int fwide (FILE *, int);
-
-
-int wprintf (const wchar_t *, ...);
-int fwprintf (FILE *, const wchar_t *, ...);
-int swprintf (wchar_t *, size_t, const wchar_t *, ...);
-
-int vwprintf (const wchar_t *, va_list);
-int vfwprintf (FILE *, const wchar_t *, va_list);
-int vswprintf (wchar_t *, size_t, const wchar_t *, va_list);
-
-int wscanf (const wchar_t *, ...);
-int fwscanf (FILE *, const wchar_t *, ...);
-int swscanf (const wchar_t *, const wchar_t *, ...);
-
-int vwscanf (const wchar_t *, va_list);
-int vfwscanf (FILE *, const wchar_t *, va_list);
-int vswscanf (const wchar_t *, const wchar_t *, va_list);
-
-wint_t fgetwc (FILE *);
-wint_t getwc (FILE *);
-wint_t getwchar (void);
-
-wint_t fputwc (wchar_t, FILE *);
-wint_t putwc (wchar_t, FILE *);
-wint_t putwchar (wchar_t);
-
-wchar_t *fgetws (wchar_t *, int, FILE *);
-int fputws (const wchar_t *, FILE *);
-
-wint_t ungetwc (wint_t, FILE *);
-
-struct tm;
-size_t wcsftime (wchar_t *, size_t, const wchar_t *, const struct tm *);
-
-#undef iswdigit
-
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
-FILE *open_wmemstream(wchar_t **, size_t *);
size_t mbsnrtowcs(wchar_t *, const char **, size_t, size_t, mbstate_t *);
size_t wcsnrtombs(char *, const wchar_t **, size_t, size_t, mbstate_t *);
#endif
#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
-int wcwidth (wchar_t);
-int wcswidth (const wchar_t *, size_t);
-int iswalnum(wint_t);
-int iswalpha(wint_t);
int iswblank(wint_t);
-int iswcntrl(wint_t);
-int iswdigit(wint_t);
-int iswgraph(wint_t);
-int iswlower(wint_t);
-int iswprint(wint_t);
-int iswpunct(wint_t);
-int iswspace(wint_t);
-int iswupper(wint_t);
-int iswxdigit(wint_t);
-int iswctype(wint_t, wctype_t);
-wint_t towlower(wint_t);
-wint_t towupper(wint_t);
-wctype_t wctype(const char *);
-#undef iswdigit
-#define iswdigit(a) ((unsigned)(a)-'0' < 10)
#endif
#ifdef __cplusplus
--- Makefile
+++ Makefile
@@ -1,3 +1,4 @@
+LIBNAME := c
#
# Makefile for musl (requires GNU make)
#
@@ -34,8 +35,8 @@
EMPTY_LIB_NAMES = m rt pthread crypt util xnet resolv dl
EMPTY_LIBS = $(EMPTY_LIB_NAMES:%=lib/lib%.a)
CRT_LIBS = lib/crt1.o lib/crti.o lib/crtn.o
-STATIC_LIBS = lib/libc.a $(EMPTY_LIBS)
-SHARED_LIBS = lib/libc.so
+STATIC_LIBS = lib/lib${LIBNAME}.a $(EMPTY_LIBS)
+SHARED_LIBS = lib/lib${LIBNAME}.so
ALL_LIBS = $(CRT_LIBS) $(STATIC_LIBS) $(SHARED_LIBS)
ALL_TOOLS = tools/musl-gcc
@@ -77,11 +78,11 @@
%.lo: %.c $(GENH)
$(CC) $(CFLAGS) $(INC) $(PIC) -c -o $@ $<
-lib/libc.so: $(LOBJS)
- $(CC) $(LDFLAGS) -Wl,-soname=libc.so -o $@ $(LOBJS) -lgcc
+lib/lib${LIBNAME}.so: $(LOBJS)
+ $(CC) $(LDFLAGS) -Wl,-soname=lib${LIBNAME}.so -o $@ $(LOBJS) -lgcc
$(OBJCOPY) --weaken $@
-lib/libc.a: $(OBJS)
+lib/lib${LIBNAME}.a: $(OBJS)
rm -f $@
$(AR) rc $@ $(OBJS)
$(RANLIB) $@
@@ -109,9 +110,9 @@
$(DESTDIR)$(includedir)/%: include/%
install -D -m 644 $< $@
-$(DESTDIR)$(LDSO_PATHNAME): lib/libc.so
+$(DESTDIR)$(LDSO_PATHNAME): lib/lib${LIBNAME}.so
install -d -m 755 $(DESTDIR)$(syslibdir)
- ln -sf $(libdir)/libc.so $@ || true
+ ln -sf $(libdir)/lib${LIBNAME}.so $@ || true
.PRECIOUS: $(CRT_LIBS:lib/%=crt/%)
--- src/aio/aio_readwrite.c
+++ src/aio/aio_readwrite.c
@@ -14,7 +14,7 @@
.si_signo = sev->sigev_signo,
.si_value = sev->sigev_value,
.si_code = SI_ASYNCIO,
- .si_pid = __pthread_self()->pid,
+ .si_pid = getpid(),
.si_uid = getuid()
};
__syscall(SYS_rt_sigqueueinfo, si.si_pid, si.si_signo, &si);
@@ -69,7 +69,7 @@
if (cb->aio_sigevent.sigev_notify == SIGEV_THREAD) {
if (cb->aio_sigevent.sigev_notify_attributes)
- a = *cb->aio_sigevent.sigev_notify_attributes;
+ a = *(pthread_attr_t*)cb->aio_sigevent.sigev_notify_attributes;
else
pthread_attr_init(&a);
} else {
--- src/aio/lio_listio.c
+++ src/aio/lio_listio.c
@@ -41,7 +41,7 @@
.si_signo = sev->sigev_signo,
.si_value = sev->sigev_value,
.si_code = SI_ASYNCIO,
- .si_pid = __pthread_self()->pid,
+ .si_pid = getpid(),
.si_uid = getuid()
};
__syscall(SYS_rt_sigqueueinfo, si.si_pid, si.si_signo, &si);
@@ -116,7 +116,7 @@
if (sev->sigev_notify == SIGEV_THREAD) {
if (sev->sigev_notify_attributes)
- a = *sev->sigev_notify_attributes;
+ a = *(pthread_attr_t*)sev->sigev_notify_attributes;
else
pthread_attr_init(&a);
} else {
--- src/internal/intparse.c
+++ src/internal/intparse.c
@@ -1,6 +1,6 @@
+#include <stdlib.h>
#include <stdint.h>
#include <limits.h>
-#include <stdlib.h>
#include <errno.h>
#include "intparse.h"
--- src/internal/pthread_impl.h
+++ src/internal/pthread_impl.h
@@ -105,9 +105,6 @@
void __wait(volatile int *, volatile int *, int, int);
void __wake(volatile int *, int, int);
-void __synccall_lock();
-void __synccall_unlock();
-
#define DEFAULT_STACK_SIZE (16384-PAGE_SIZE)
#define DEFAULT_GUARD_SIZE PAGE_SIZE
--- src/internal/stdio_impl.h
+++ src/internal/stdio_impl.h
@@ -96,8 +96,4 @@
#define putc_unlocked(c, f) ( ((c)!=(f)->lbf && (f)->wpos<(f)->wend) \
? *(f)->wpos++ = (c) : __overflow((f),(c)) )
-/* Caller-allocated FILE * operations */
-FILE *__fopen_rb_ca(const char *, FILE *, unsigned char *, size_t);
-int __fclose_ca(FILE *);
-
#endif
--- src/locale/uselocale.c
+++ src/locale/uselocale.c
@@ -1,10 +1,9 @@
#include "locale_impl.h"
-#include "pthread_impl.h"
locale_t uselocale(locale_t l)
{
- pthread_t self = pthread_self();
- locale_t old = self->locale;
- if (l) self->locale = l;
+ static locale_t self_locale = NULL;
+ locale_t old = self_locale;
+ if (l) self_locale = l;
return old;
}
--- src/misc/nftw.c
+++ src/misc/nftw.c
@@ -7,7 +7,6 @@
#include <unistd.h>
#include <string.h>
#include <limits.h>
-#include <pthread.h>
#include "libc.h"
struct history
@@ -104,7 +103,7 @@
int nftw(const char *path, int (*fn)(const char *, const struct stat *, int, struct FTW *), int fd_limit, int flags)
{
- int r, cs;
+ int r;
size_t l;
char pathbuf[PATH_MAX+1];
@@ -117,9 +116,7 @@
}
memcpy(pathbuf, path, l+1);
- pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &cs);
r = do_nftw(pathbuf, fn, fd_limit, flags, NULL);
- pthread_setcancelstate(cs, 0);
return r;
}
--- src/misc/pty.c
+++ src/misc/pty.c
@@ -1,6 +1,3 @@
-#include <stdlib.h>
-#include <sys/ioctl.h>
-#include <stdio.h>
#include <fcntl.h>
#include "libc.h"
@@ -8,24 +5,3 @@
{
return open("/dev/ptmx", flags);
}
-
-int grantpt(int fd)
-{
- return 0;
-}
-
-int unlockpt(int fd)
-{
- int unlock = 0;
- return ioctl(fd, TIOCSPTLCK, &unlock);
-}
-
-int __ptsname_r(int fd, char *buf, size_t len)
-{
- int pty;
- if (!buf) len = 0;
- return -( ioctl (fd, TIOCGPTN, &pty) < 0
- || snprintf(buf, len, "/dev/pts/%d", pty) >= len );
-}
-
-weak_alias(__ptsname_r, ptsname_r);
--- src/passwd/getspnam_r.c
+++ src/passwd/getspnam_r.c
@@ -31,7 +31,6 @@
size_t k, l = strlen(name);
char *s;
int skip = 0;
- int cs;
*res = 0;
@@ -51,9 +50,7 @@
struct stat st = { 0 };
errno = EINVAL;
if (fstat(fd, &st) || !S_ISREG(st.st_mode) || !(f = fdopen(fd, "rb"))) {
- pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &cs);
close(fd);
- pthread_setcancelstate(cs, 0);
return errno;
}
} else {
--- src/stat/statvfs.c
+++ src/stat/statvfs.c
@@ -3,27 +3,6 @@
#include "syscall.h"
#include "libc.h"
-int __statfs(const char *path, struct statfs *buf)
-{
-#ifdef SYS_statfs64
- return syscall(SYS_statfs64, path, sizeof *buf, buf);
-#else
- return syscall(SYS_statfs, path, buf);
-#endif
-}
-
-int __fstatfs(int fd, struct statfs *buf)
-{
-#ifdef SYS_fstatfs64
- return syscall(SYS_fstatfs64, fd, sizeof *buf, buf);
-#else
- return syscall(SYS_fstatfs, fd, buf);
-#endif
-}
-
-weak_alias(__statfs, statfs);
-weak_alias(__fstatfs, fstatfs);
-
static void fixup(struct statvfs *out, const struct statfs *in)
{
out->f_bsize = in->f_bsize;
@@ -35,14 +14,14 @@
out->f_ffree = in->f_ffree;
out->f_favail = 0;
out->f_fsid = in->f_fsid.__val[0];
- out->f_flag = in->f_flags;
+ out->f_flag = 0;
out->f_namemax = in->f_namelen;
}
int statvfs(const char *path, struct statvfs *buf)
{
struct statfs kbuf;
- if (__statfs(path, &kbuf)<0) return -1;
+ if (statfs(path, &kbuf)<0) return -1;
fixup(buf, &kbuf);
return 0;
}
@@ -50,12 +29,10 @@
int fstatvfs(int fd, struct statvfs *buf)
{
struct statfs kbuf;
- if (__fstatfs(fd, &kbuf)<0) return -1;
+ if (fstatfs(fd, &kbuf)<0) return -1;
fixup(buf, &kbuf);
return 0;
}
LFS64(statvfs);
-LFS64(statfs);
LFS64(fstatvfs);
-LFS64(fstatfs);
--- src/stub/utmpx.c
+++ src/stub/utmpx.c
@@ -33,11 +33,3 @@
void updwtmpx(const char *f, const struct utmpx *u)
{
}
-
-weak_alias(endutxent, endutent);
-weak_alias(setutxent, setutent);
-weak_alias(getutxent, getutent);
-weak_alias(getutxid, getutid);
-weak_alias(getutxline, getutline);
-weak_alias(pututxline, pututline);
-weak_alias(updwtmpx, updwtmp);
--- src/temp/mkdtemp.c
+++ src/temp/mkdtemp.c
@@ -8,13 +8,11 @@
#include <sys/stat.h>
#include "libc.h"
-char *__mktemp(char *);
-
char *mkdtemp(char *template)
{
int retries = 100, t0 = *template;
while (retries--) {
- if (!*__mktemp(template)) return 0;
+ if (!*mktemp(template)) return 0;
if (!mkdir(template, 0700)) return template;
if (errno != EEXIST) return 0;
/* this is safe because mktemp verified
--- src/thread/__timedwait.c
+++ src/thread/__timedwait.c
@@ -31,15 +31,13 @@
clockid_t clk, const struct timespec *at,
void (*cleanup)(void *), void *arg, int priv)
{
- int r, cs;
+ int r;
- if (!cleanup) pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &cs);
pthread_cleanup_push(cleanup, arg);
r = do_wait(addr, val, clk, at, priv);
pthread_cleanup_pop(0);
- if (!cleanup) pthread_setcancelstate(cs, 0);
return r;
}
arch/arm/bits/fcntl.h
arch/arm/bits/ioctl.h
arch/arm/bits/shm.h
arch/arm/bits/socket.h
arch/arm/bits/statfs.h
arch/arm/bits/stat.h
arch/arm/bits/termios.h
arch/arm/bits/wchar.h
include/alloca.h
include/arpa/inet.h
include/assert.h
include/byteswap.h
include/dirent.h
include/dlfcn.h
include/elf.h
include/endian.h
include/errno.h
include/features.h
include/fenv.h
include/fnmatch.h
include/getopt.h
include/grp.h
include/libgen.h
include/linux/fb.h
include/linux/kd.h
include/linux/loop.h
include/linux/version.h
include/linux/vt.h
include/malloc.h
include/math.h
include/mqueue.h
include/netinet/ip.h
include/netinet/ip_icmp.h
include/netinet/tcp.h
include/netpacket
include/poll.h
include/pthread.h
include/regex.h
include/resolv.h
include/semaphore.h
include/setjmp.h
include/signal.h
include/stddef.h
include/stdio_ext.h
include/stdio.h
include/sys/epoll.h
include/sys/eventfd.h
include/sys/file.h
include/sys/inotify.h
include/sys/ioctl.h
include/sys/ipc.h
include/sys/klog.h
include/sys/mount.h
include/sys/poll.h
include/sys/prctl.h
include/sys/ptrace.h
include/sys/reboot.h
include/sys/resource.h
include/sys/sendfile.h
include/sys/signalfd.h
include/sys/statfs.h
include/sys/sysctl.h
include/sys/sysmacros.h
include/sys/times.h
include/sys/uio.h
include/sys/un.h
include/sys/utsname.h
include/sys/vfs.h
include/syslog.h
include/time.h
include/ucontext.h
include/utime.h
include/utmp.h
include/wctype.h
include/wordexp.h
src/conf/fpathconf.c
src/conf/pathconf.c
src/conf/sysconf.c
src/ctype/isalnum.c
src/ctype/isalpha.c
src/ctype/isascii.c
src/ctype/isblank.c
src/ctype/iscntrl.c
src/ctype/isdigit.c
src/ctype/isgraph.c
src/ctype/islower.c
src/ctype/isprint.c
src/ctype/ispunct.c
src/ctype/isspace.c
src/ctype/isupper.c
src/ctype/iswalnum.c
src/ctype/iswalpha.c
src/ctype/iswcntrl.c
src/ctype/iswctype.c
src/ctype/iswdigit.c
src/ctype/iswgraph.c
src/ctype/iswlower.c
src/ctype/iswprint.c
src/ctype/iswpunct.c
src/ctype/iswspace.c
src/ctype/iswupper.c
src/ctype/iswxdigit.c
src/ctype/isxdigit.c
src/ctype/toascii.c
src/ctype/tolower.c
src/ctype/toupper.c
src/ctype/wcswidth.c
src/ctype/wcwidth.c
src/dirent
src/env/clearenv.c
src/env/getenv.c
src/env/putenv.c
src/env/setenv.c
src/env/unsetenv.c
src/errno
src/exit
src/fcntl/creat.c
src/fcntl/fcntl.c
src/fcntl/openat.c
src/fcntl/open.c
src/fcntl/posix_fallocate.c
src/fenv
src/ipc/ftok.c
src/ldso
src/linux/brk.c
src/linux/chroot.c
src/linux/daemon.c
src/linux/epoll_create1.c
src/linux/epoll_create.c
src/linux/epoll_ctl.c
src/linux/epoll_pwait.c
src/linux/epoll_wait.c
src/linux/eventfd.c
src/linux/eventfd_read.c
src/linux/eventfd_write.c
src/linux/flock.c
src/linux/getdtablesize.c
src/linux/getopt_long.c
src/linux/getpagesize.c
src/linux/initgroups.c
src/linux/inotify_add_watch.c
src/linux/inotify_init1.c
src/linux/inotify_init.c
src/linux/inotify_rm_watch.c
src/linux/klogctl.c
src/linux/mount.c
src/linux/prctl.c
src/linux/sbrk.c
src/linux/sendfile.c
src/linux/setgroups.c
src/linux/settimeofday.c
src/linux/signalfd.c
src/linux/syscall.c
src/linux/umount2.c
src/linux/utimes.c
src/linux/wait3.c
src/linux/wait4.c
src/locale/strcoll.c
src/locale/strxfrm.c
src/locale/wcscoll.c
src/locale/wcsxfrm.c
src/malloc
src/math
src/misc/basename.c
src/misc/cuserid.c
src/misc/dirname.c
src/misc/ffs.c
src/misc/futimes.c
src/misc/getgrouplist.c
src/misc/getopt.c
src/misc/getpriority.c
src/misc/getrlimit.c
src/misc/getrusage.c
src/misc/ioctl.c
src/misc/lutimes.c
src/misc/prlimit.c
src/misc/ptrace.c
src/misc/ptsname.c
src/misc/realpath.c
src/misc/setpriority.c
src/misc/setrlimit.c
src/misc/syslog.c
src/misc/uname.c
src/misc/wordexp.c
src/mman/madvise.c
src/mman/mlockall.c
src/mman/mlock.c
src/mman/mmap.c
src/mman/mprotect.c
src/mman/mremap.c
src/mman/msync.c
src/mman/munlockall.c
src/mman/munlock.c
src/mman/munmap.c
src/mq
src/multibyte/btowc.c
src/multibyte/mbrlen.c
src/multibyte/mbrtowc.c
src/multibyte/mbsinit.c
src/multibyte/mbsrtowcs.c
src/multibyte/mbstowcs.c
src/multibyte/wcrtomb.c
src/multibyte/wcsrtombs.c
src/multibyte/wcstombs.c
src/multibyte/wctob.c
src/network/accept.c
src/network/bind.c
src/network/connect.c
src/network/dn_expand.c
src/network/__dns.c
src/network/__dns.h
src/network/freeaddrinfo.c
src/network/gai_strerror.c
src/network/getaddrinfo.c
src/network/gethostbyaddr.c
src/network/gethostbyname2.c
src/network/gethostbyname.c
src/network/gethostbyname_r.c
src/network/getnameinfo.c
src/network/getpeername.c
src/network/getservbyname.c
src/network/getservbyport.c
src/network/getsockname.c
src/network/getsockopt.c
src/network/hstrerror.c
src/network/htonl.c
src/network/htons.c
src/network/in6addr_any.c
src/network/in6addr_loopback.c
src/network/inet_addr.c
src/network/inet_aton.c
src/network/inet_ntoa.c
src/network/inet_ntop.c
src/network/inet_pton.c
src/network/__ipparse.c
src/network/listen.c
src/network/ntohl.c
src/network/ntohs.c
src/network/recv.c
src/network/recvfrom.c
src/network/recvmsg.c
src/network/res_init.c
src/network/res_query.c
src/network/res_state.c
src/network/send.c
src/network/sendmsg.c
src/network/sendto.c
src/network/setsockopt.c
src/network/shutdown.c
src/network/socket.c
src/network/socketpair.c
src/passwd/fgetpwent.c
src/passwd/getgrent_a.c
src/passwd/getgrent.c
src/passwd/getgr_r.c
src/passwd/getpwent_a.c
src/passwd/getpwent.c
src/passwd/getpw_r.c
src/prng/drand48.c
src/prng/lcong48.c
src/prng/lrand48.c
src/prng/mrand48.c
src/prng/__rand48_step.c
src/prng/rand.c
src/prng/random.c
src/prng/__seed48.c
src/prng/seed48.c
src/prng/srand48.c
src/process/execl.c
src/process/execle.c
src/process/execlp.c
src/process/execv.c
src/process/execve.c
src/process/execvp.c
src/process/fork.c
src/process/system.c
src/process/vfork.c
src/process/wait.c
src/process/waitpid.c
src/regex/fnmatch.c
src/regex/regcomp.c
src/regex/regerror.c
src/regex/regexec.c
src/select
src/setjmp
src/signal
src/stat/chmod.c
src/stat/fchmodat.c
src/stat/fchmod.c
src/stat/fstatat.c
src/stat/fstat.c
src/stat/futimens.c
src/stat/lstat.c
src/stat/mkdirat.c
src/stat/mkdir.c
src/stat/mkfifoat.c
src/stat/mkfifo.c
src/stat/mknodat.c
src/stat/mknod.c
src/stat/stat.c
src/stat/umask.c
src/stat/utimensat.c
src/stdio/asprintf.c
src/stdio/clearerr.c
src/stdio/dprintf.c
src/stdio/ext.c
src/stdio/fclose.c
src/stdio/__fclose_ca.c
src/stdio/__fdopen.c
src/stdio/feof.c
src/stdio/ferror.c
src/stdio/fflush.c
src/stdio/fgetc.c
src/stdio/fgetpos.c
src/stdio/fgets.c
src/stdio/fgetwc.c
src/stdio/fgetws.c
src/stdio/fileno.c
src/stdio/flockfile.c
src/stdio/fmemopen.c
src/stdio/fopen.c
src/stdio/__fopen_rb_ca.c
src/stdio/fprintf.c
src/stdio/fputc.c
src/stdio/fputs.c
src/stdio/fputwc.c
src/stdio/fputws.c
src/stdio/fread.c
src/stdio/freopen.c
src/stdio/fscanf.c
src/stdio/fseek.c
src/stdio/fsetpos.c
src/stdio/ftell.c
src/stdio/ftrylockfile.c
src/stdio/funlockfile.c
src/stdio/fwide.c
src/stdio/fwprintf.c
src/stdio/fwrite.c
src/stdio/fwscanf.c
src/stdio/getchar.c
src/stdio/getchar_unlocked.c
src/stdio/getc_unlocked.c
src/stdio/getdelim.c
src/stdio/getline.c
src/stdio/gets.c
src/stdio/getwc.c
src/stdio/getwchar.c
src/stdio/__lockfile.c
src/stdio/open_memstream.c
src/stdio/open_wmemstream.c
src/stdio/__overflow.c
src/stdio/pclose.c
src/stdio/perror.c
src/stdio/popen.c
src/stdio/printf.c
src/stdio/putchar.c
src/stdio/putchar_unlocked.c
src/stdio/putc_unlocked.c
src/stdio/puts.c
src/stdio/putwc.c
src/stdio/putwchar.c
src/stdio/remove.c
src/stdio/rename.c
src/stdio/rewind.c
src/stdio/__scanf.c
src/stdio/scanf.c
src/stdio/__scanf.h
src/stdio/setbuf.c
src/stdio/setbuffer.c
src/stdio/setlinebuf.c
src/stdio/setvbuf.c
src/stdio/snprintf.c
src/stdio/sprintf.c
src/stdio/sscanf.c
src/stdio/stderr.c
src/stdio/stdin.c
src/stdio/__stdio_close.c
src/stdio/__stdio_read.c
src/stdio/__stdio_seek.c
src/stdio/__stdio_write.c
src/stdio/stdout.c
src/stdio/__stdout_write.c
src/stdio/swprintf.c
src/stdio/swscanf.c
src/stdio/tempnam.c
src/stdio/tmpfile.c
src/stdio/tmpnam.c
src/stdio/__toread.c
src/stdio/__towrite.c
src/stdio/__uflow.c
src/stdio/ungetc.c
src/stdio/ungetwc.c
src/stdio/vasprintf.c
src/stdio/vdprintf.c
src/stdio/vfprintf.c
src/stdio/vfscanf.c
src/stdio/vfwprintf.c
src/stdio/vfwscanf.c
src/stdio/vprintf.c
src/stdio/vscanf.c
src/stdio/vsnprintf.c
src/stdio/vsprintf.c
src/stdio/vsscanf.c
src/stdio/vswprintf.c
src/stdio/vswscanf.c
src/stdio/vwprintf.c
src/stdio/vwscanf.c
src/stdio/wprintf.c
src/stdio/wscanf.c
src/stdlib/abs.c
src/stdlib/atof.c
src/stdlib/atoi.c
src/stdlib/atol.c
src/stdlib/atoll.c
src/stdlib/bsearch.c
src/stdlib/div.c
src/stdlib/frexp.c
src/stdlib/frexpf.c
src/stdlib/imaxabs.c
src/stdlib/imaxdiv.c
src/stdlib/labs.c
src/stdlib/ldiv.c
src/stdlib/llabs.c
src/stdlib/lldiv.c
src/stdlib/qsort.c
src/stdlib/strtod.c
src/stdlib/strtof.c
src/stdlib/strtoimax.c
src/stdlib/strtol.c
src/stdlib/strtoll.c
src/stdlib/strtoul.c
src/stdlib/strtoull.c
src/stdlib/strtoumax.c
src/stdlib/wcstol.c
src/stdlib/wcstoul.c
src/string/bcopy.c
src/string/bzero.c
src/string/index.c
src/string/memccpy.c
src/string/memchr.c
src/string/memcmp.c
src/string/memcpy.c
src/string/memmove.c
src/string/memrchr.c
src/string/memset.c
src/string/strcasecmp.c
src/string/strcasestr.c
src/string/strcat.c
src/string/strchr.c
src/string/strcmp.c
src/string/strcpy.c
src/string/strcspn.c
src/string/strdup.c
src/string/strerror_r.c
src/string/strlcat.c
src/string/strlcpy.c
src/string/strlen.c
src/string/strncasecmp.c
src/string/strncat.c
src/string/strncmp.c
src/string/strncpy.c
src/string/strndup.c
src/string/strnlen.c
src/string/strpbrk.c
src/string/strrchr.c
src/string/strsep.c
src/string/strsignal.c
src/string/strspn.c
src/string/strstr.c
src/string/strtok.c
src/string/strtok_r.c
src/string/wcscat.c
src/string/wcschr.c
src/string/wcscmp.c
src/string/wcscpy.c
src/string/wcscspn.c
src/string/wcslen.c
src/string/wcsncat.c
src/string/wcsncmp.c
src/string/wcsncpy.c
src/string/wcspbrk.c
src/string/wcsrchr.c
src/string/wcsspn.c
src/string/wcsstr.c
src/string/wcswcs.c
src/string/wmemchr.c
src/string/wmemcmp.c
src/string/wmemcpy.c
src/string/wmemmove.c
src/string/wmemset.c
src/temp/mkstemp.c
src/temp/mktemp.c
src/termios/cfgetospeed.c
src/termios/cfmakeraw.c
src/termios/cfsetospeed.c
src/termios/tcflow.c
src/termios/tcflush.c
src/termios/tcgetattr.c
src/termios/tcgetsid.c
src/termios/tcsendbreak.c
src/termios/tcsetattr.c
src/thread/cancel_impl.c
src/thread/cancellation.c
src/thread/forkall.c
src/thread/pthread_atfork.c
src/thread/pthread_attr_destroy.c
src/thread/pthread_attr_getdetachstate.c
src/thread/pthread_attr_getguardsize.c
src/thread/pthread_attr_getschedparam.c
src/thread/pthread_attr_getscope.c
src/thread/pthread_attr_getstacksize.c
src/thread/pthread_attr_init.c
src/thread/pthread_attr_setdetachstate.c
src/thread/pthread_attr_setguardsize.c
src/thread/pthread_attr_setschedparam.c
src/thread/pthread_attr_setscope.c
src/thread/pthread_attr_setstacksize.c
src/thread/pthread_barrierattr_destroy.c
src/thread/pthread_barrierattr_getpshared.c
src/thread/pthread_barrierattr_init.c
src/thread/pthread_barrierattr_setpshared.c
src/thread/pthread_barrier_destroy.c
src/thread/pthread_barrier_init.c
src/thread/pthread_barrier_wait.c
src/thread/pthread_condattr_destroy.c
src/thread/pthread_condattr_getclock.c
src/thread/pthread_condattr_getpshared.c
src/thread/pthread_condattr_init.c
src/thread/pthread_condattr_setclock.c
src/thread/pthread_condattr_setpshared.c
src/thread/pthread_cond_broadcast.c
src/thread/pthread_cond_destroy.c
src/thread/pthread_cond_init.c
src/thread/pthread_cond_signal.c
src/thread/pthread_cond_timedwait.c
src/thread/pthread_cond_wait.c
src/thread/pthread_create.c
src/thread/pthread_detach.c
src/thread/pthread_equal.c
src/thread/pthread_getconcurrency.c
src/thread/pthread_getspecific.c
src/thread/pthread_join.c
src/thread/pthread_key_create.c
src/thread/pthread_kill.c
src/thread/pthread_mutexattr_destroy.c
src/thread/pthread_mutexattr_getpshared.c
src/thread/pthread_mutexattr_getrobust.c
src/thread/pthread_mutexattr_gettype.c
src/thread/pthread_mutexattr_init.c
src/thread/pthread_mutexattr_setpshared.c
src/thread/pthread_mutexattr_setrobust.c
src/thread/pthread_mutexattr_settype.c
src/thread/pthread_mutex_consistent.c
src/thread/pthread_mutex_destroy.c
src/thread/pthread_mutex_init.c
src/thread/pthread_mutex_lock.c
src/thread/pthread_mutex_timedlock.c
src/thread/pthread_mutex_trylock.c
src/thread/pthread_mutex_unlock.c
src/thread/pthread_once.c
src/thread/pthread_rwlockattr_destroy.c
src/thread/pthread_rwlockattr_getpshared.c
src/thread/pthread_rwlockattr_init.c
src/thread/pthread_rwlockattr_setpshared.c
src/thread/pthread_rwlock_destroy.c
src/thread/pthread_rwlock_init.c
src/thread/pthread_rwlock_rdlock.c
src/thread/pthread_rwlock_timedrdlock.c
src/thread/pthread_rwlock_timedwrlock.c
src/thread/pthread_rwlock_tryrdlock.c
src/thread/pthread_rwlock_trywrlock.c
src/thread/pthread_rwlock_unlock.c
src/thread/pthread_rwlock_wrlock.c
src/thread/pthread_self.c
src/thread/pthread_setcancelstate.c
src/thread/pthread_setcanceltype.c
src/thread/pthread_setconcurrency.c
src/thread/pthread_setspecific.c
src/thread/pthread_sigmask.c
src/thread/pthread_spin_destroy.c
src/thread/pthread_spin_init.c
src/thread/pthread_spin_lock.c
src/thread/pthread_spin_trylock.c
src/thread/pthread_spin_unlock.c
src/thread/pthread_testcancel.c
src/thread/sem_destroy.c
src/thread/sem_getvalue.c
src/thread/sem_init.c
src/thread/sem_open.c
src/thread/sem_post.c
src/thread/sem_timedwait.c
src/thread/sem_trywait.c
src/thread/sem_unlink.c
src/thread/sem_wait.c
src/thread/synccall.c
src/time/__asctime.c
src/time/asctime.c
src/time/asctime_r.c
src/time/clock.c
src/time/clock_getres.c
src/time/clock_gettime.c
src/time/clock_nanosleep.c
src/time/clock_settime.c
src/time/ctime.c
src/time/ctime_r.c
src/time/difftime.c
src/time/gettimeofday.c
src/time/gmtime.c
src/time/gmtime_r.c
src/time/localtime.c
src/time/localtime_r.c
src/time/mktime.c
src/time/nanosleep.c
src/time/strftime.c
src/time/strptime.c
src/time/time.c
src/time/__time.h
src/time/timer_create.c
src/time/timer_delete.c
src/time/timer_getoverrun.c
src/time/timer_gettime.c
src/time/timer_settime.c
src/time/times.c
src/time/__time_to_tm.c
src/time/__tm_to_time.c
src/time/tzset.c
src/time/utime.c
src/unistd/access.c
src/unistd/alarm.c
src/unistd/chdir.c
src/unistd/chown.c
src/unistd/close.c
src/unistd/ctermid.c
src/unistd/dup2.c
src/unistd/dup.c
src/unistd/_exit.c
src/unistd/faccessat.c
src/unistd/fchdir.c
src/unistd/fchownat.c
src/unistd/fchown.c
src/unistd/fsync.c
src/unistd/ftruncate.c
src/unistd/getcwd.c
src/unistd/getegid.c
src/unistd/geteuid.c
src/unistd/getgid.c
src/unistd/getgroups.c
src/unistd/gethostname.c
src/unistd/getlogin.c
src/unistd/getpgid.c
src/unistd/getpgrp.c
src/unistd/getpid.c
src/unistd/getppid.c
src/unistd/getuid.c
src/unistd/isatty.c
src/unistd/lchown.c
src/unistd/linkat.c
src/unistd/link.c
src/unistd/lseek.c
src/unistd/nice.c
src/unistd/pause.c
src/unistd/pipe.c
src/unistd/pread.c
src/unistd/pwrite.c
src/unistd/read.c
src/unistd/readlinkat.c
src/unistd/readlink.c
src/unistd/readv.c
src/unistd/renameat.c
src/unistd/rmdir.c
src/unistd/setegid.c
src/unistd/seteuid.c
src/unistd/setgid.c
src/unistd/setpgid.c
src/unistd/setpgrp.c
src/unistd/setregid.c
src/unistd/setresgid.c
src/unistd/setresuid.c
src/unistd/setreuid.c
src/unistd/setsid.c
src/unistd/setuid.c
src/unistd/setxid.c
src/unistd/sleep.c
src/unistd/symlinkat.c
src/unistd/symlink.c
src/unistd/sync.c
src/unistd/tcgetpgrp.c
src/unistd/tcsetpgrp.c
src/unistd/truncate.c
src/unistd/ttyname.c
src/unistd/ttyname_r.c
src/unistd/unlinkat.c
src/unistd/unlink.c
src/unistd/usleep.c
src/unistd/write.c
src/unistd/writev.c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment