Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 389658 Details for
Bug 529496
[4.8/ICE] sys-apps/busybox-1.21.0 on ARM - networking/libiproute/ipaddress.c:589:1: error: insn does not satisfy its constraints
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
ipaddress.i
ipaddress.i (text/plain), 340.84 KB, created by
Biser Milanov
on 2014-11-18 22:04:23 UTC
(
hide
)
Description:
ipaddress.i
Filename:
MIME Type:
Creator:
Biser Milanov
Created:
2014-11-18 22:04:23 UTC
Size:
340.84 KB
patch
obsolete
># 1 "networking/libiproute/ipaddress.c" ># 1 "<built-in>" ># 1 "<command-line>" ># 1 "/usr/include/stdc-predef.h" 1 3 4 ># 1 "<command-line>" 2 ># 1 "./include/autoconf.h" 1 ># 1 "<command-line>" 2 ># 1 "networking/libiproute/ipaddress.c" ># 11 "networking/libiproute/ipaddress.c" ># 1 "/usr/include/fnmatch.h" 1 3 4 ># 56 "/usr/include/fnmatch.h" 3 4 >extern int fnmatch (const char *__pattern, const char *__name, int __flags); ># 12 "networking/libiproute/ipaddress.c" 2 ># 1 "/usr/include/net/if.h" 1 3 4 ># 22 "/usr/include/net/if.h" 3 4 ># 1 "/usr/include/features.h" 1 3 4 ># 379 "/usr/include/features.h" 3 4 ># 1 "/usr/include/sys/cdefs.h" 1 3 4 ># 385 "/usr/include/sys/cdefs.h" 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 386 "/usr/include/sys/cdefs.h" 2 3 4 ># 380 "/usr/include/features.h" 2 3 4 ># 403 "/usr/include/features.h" 3 4 ># 1 "/usr/include/gnu/stubs.h" 1 3 4 ># 10 "/usr/include/gnu/stubs.h" 3 4 ># 1 "/usr/include/gnu/stubs-hard.h" 1 3 4 ># 11 "/usr/include/gnu/stubs.h" 2 3 4 ># 404 "/usr/include/features.h" 2 3 4 ># 23 "/usr/include/net/if.h" 2 3 4 > > ># 1 "/usr/include/sys/types.h" 1 3 4 ># 27 "/usr/include/sys/types.h" 3 4 > > ># 1 "/usr/include/bits/types.h" 1 3 4 ># 27 "/usr/include/bits/types.h" 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 28 "/usr/include/bits/types.h" 2 3 4 > > >typedef unsigned char __u_char; >typedef unsigned short int __u_short; >typedef unsigned int __u_int; >typedef unsigned long int __u_long; > > >typedef signed char __int8_t; >typedef unsigned char __uint8_t; >typedef signed short int __int16_t; >typedef unsigned short int __uint16_t; >typedef signed int __int32_t; >typedef unsigned int __uint32_t; > > > > >__extension__ typedef signed long long int __int64_t; >__extension__ typedef unsigned long long int __uint64_t; > > > > > > > >__extension__ typedef long long int __quad_t; >__extension__ typedef unsigned long long int __u_quad_t; ># 121 "/usr/include/bits/types.h" 3 4 ># 1 "/usr/include/bits/typesizes.h" 1 3 4 ># 122 "/usr/include/bits/types.h" 2 3 4 > > >__extension__ typedef __u_quad_t __dev_t; >__extension__ typedef unsigned int __uid_t; >__extension__ typedef unsigned int __gid_t; >__extension__ typedef unsigned long int __ino_t; >__extension__ typedef __u_quad_t __ino64_t; >__extension__ typedef unsigned int __mode_t; >__extension__ typedef unsigned int __nlink_t; >__extension__ typedef long int __off_t; >__extension__ typedef __quad_t __off64_t; >__extension__ typedef int __pid_t; >__extension__ typedef struct { int __val[2]; } __fsid_t; >__extension__ typedef long int __clock_t; >__extension__ typedef unsigned long int __rlim_t; >__extension__ typedef __u_quad_t __rlim64_t; >__extension__ typedef unsigned int __id_t; >__extension__ typedef long int __time_t; >__extension__ typedef unsigned int __useconds_t; >__extension__ typedef long int __suseconds_t; > >__extension__ typedef int __daddr_t; >__extension__ typedef int __key_t; > > >__extension__ typedef int __clockid_t; > > >__extension__ typedef void * __timer_t; > > >__extension__ typedef long int __blksize_t; > > > > >__extension__ typedef long int __blkcnt_t; >__extension__ typedef __quad_t __blkcnt64_t; > > >__extension__ typedef unsigned long int __fsblkcnt_t; >__extension__ typedef __u_quad_t __fsblkcnt64_t; > > >__extension__ typedef unsigned long int __fsfilcnt_t; >__extension__ typedef __u_quad_t __fsfilcnt64_t; > > >__extension__ typedef int __fsword_t; > >__extension__ typedef int __ssize_t; > > >__extension__ typedef long int __syscall_slong_t; > >__extension__ typedef unsigned long int __syscall_ulong_t; > > > >typedef __off64_t __loff_t; >typedef __quad_t *__qaddr_t; >typedef char *__caddr_t; > > >__extension__ typedef int __intptr_t; > > >__extension__ typedef unsigned int __socklen_t; ># 30 "/usr/include/sys/types.h" 2 3 4 > > > >typedef __u_char u_char; >typedef __u_short u_short; >typedef __u_int u_int; >typedef __u_long u_long; >typedef __quad_t quad_t; >typedef __u_quad_t u_quad_t; >typedef __fsid_t fsid_t; > > > > >typedef __loff_t loff_t; > > > > > >typedef __ino64_t ino_t; > > > > >typedef __ino64_t ino64_t; > > > > >typedef __dev_t dev_t; > > > > >typedef __gid_t gid_t; > > > > >typedef __mode_t mode_t; > > > > >typedef __nlink_t nlink_t; > > > > >typedef __uid_t uid_t; > > > > > > > >typedef __off64_t off_t; > > > > >typedef __off64_t off64_t; > > > > >typedef __pid_t pid_t; > > > > > >typedef __id_t id_t; > > > > >typedef __ssize_t ssize_t; > > > > > >typedef __daddr_t daddr_t; >typedef __caddr_t caddr_t; > > > > > >typedef __key_t key_t; ># 132 "/usr/include/sys/types.h" 3 4 ># 1 "/usr/include/time.h" 1 3 4 ># 57 "/usr/include/time.h" 3 4 > > >typedef __clock_t clock_t; > > > ># 73 "/usr/include/time.h" 3 4 > > >typedef __time_t time_t; > > > ># 91 "/usr/include/time.h" 3 4 >typedef __clockid_t clockid_t; ># 103 "/usr/include/time.h" 3 4 >typedef __timer_t timer_t; ># 133 "/usr/include/sys/types.h" 2 3 4 > > > >typedef __useconds_t useconds_t; > > > >typedef __suseconds_t suseconds_t; > > > > > ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 1 3 4 ># 212 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 3 4 >typedef unsigned int size_t; ># 147 "/usr/include/sys/types.h" 2 3 4 > > > >typedef unsigned long int ulong; >typedef unsigned short int ushort; >typedef unsigned int uint; ># 194 "/usr/include/sys/types.h" 3 4 >typedef int int8_t __attribute__ ((__mode__ (__QI__))); >typedef int int16_t __attribute__ ((__mode__ (__HI__))); >typedef int int32_t __attribute__ ((__mode__ (__SI__))); >typedef int int64_t __attribute__ ((__mode__ (__DI__))); > > >typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); >typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); >typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); >typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); > >typedef int register_t __attribute__ ((__mode__ (__word__))); ># 216 "/usr/include/sys/types.h" 3 4 ># 1 "/usr/include/endian.h" 1 3 4 ># 36 "/usr/include/endian.h" 3 4 ># 1 "/usr/include/bits/endian.h" 1 3 4 ># 37 "/usr/include/endian.h" 2 3 4 ># 60 "/usr/include/endian.h" 3 4 ># 1 "/usr/include/bits/byteswap.h" 1 3 4 ># 34 "/usr/include/bits/byteswap.h" 3 4 ># 1 "/usr/include/bits/byteswap-16.h" 1 3 4 ># 35 "/usr/include/bits/byteswap.h" 2 3 4 ># 43 "/usr/include/bits/byteswap.h" 3 4 >static __inline unsigned int >__bswap_32 (unsigned int __bsx) >{ > return __builtin_bswap32 (__bsx); >} ># 74 "/usr/include/bits/byteswap.h" 3 4 >static __inline __uint64_t >__bswap_64 (__uint64_t __bsx) >{ > return __builtin_bswap64 (__bsx); >} ># 61 "/usr/include/endian.h" 2 3 4 ># 217 "/usr/include/sys/types.h" 2 3 4 > > ># 1 "/usr/include/sys/select.h" 1 3 4 ># 30 "/usr/include/sys/select.h" 3 4 ># 1 "/usr/include/bits/select.h" 1 3 4 ># 31 "/usr/include/sys/select.h" 2 3 4 > > ># 1 "/usr/include/bits/sigset.h" 1 3 4 ># 22 "/usr/include/bits/sigset.h" 3 4 >typedef int __sig_atomic_t; > > > > >typedef struct > { > unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; > } __sigset_t; ># 34 "/usr/include/sys/select.h" 2 3 4 > > > >typedef __sigset_t sigset_t; > > > > > ># 1 "/usr/include/time.h" 1 3 4 ># 120 "/usr/include/time.h" 3 4 >struct timespec > { > __time_t tv_sec; > __syscall_slong_t tv_nsec; > }; ># 44 "/usr/include/sys/select.h" 2 3 4 > ># 1 "/usr/include/bits/time.h" 1 3 4 ># 30 "/usr/include/bits/time.h" 3 4 >struct timeval > { > __time_t tv_sec; > __suseconds_t tv_usec; > }; ># 46 "/usr/include/sys/select.h" 2 3 4 ># 54 "/usr/include/sys/select.h" 3 4 >typedef long int __fd_mask; ># 64 "/usr/include/sys/select.h" 3 4 >typedef struct > { > > > > __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; > > > > > > } fd_set; > > > > > > >typedef __fd_mask fd_mask; ># 96 "/usr/include/sys/select.h" 3 4 > ># 106 "/usr/include/sys/select.h" 3 4 >extern int select (int __nfds, fd_set *__restrict __readfds, > fd_set *__restrict __writefds, > fd_set *__restrict __exceptfds, > struct timeval *__restrict __timeout); ># 118 "/usr/include/sys/select.h" 3 4 >extern int pselect (int __nfds, fd_set *__restrict __readfds, > fd_set *__restrict __writefds, > fd_set *__restrict __exceptfds, > const struct timespec *__restrict __timeout, > const __sigset_t *__restrict __sigmask); > > > > > ># 1 "/usr/include/bits/select2.h" 1 3 4 ># 24 "/usr/include/bits/select2.h" 3 4 >extern long int __fdelt_chk (long int __d); >extern long int __fdelt_warn (long int __d) > __attribute__((__warning__ ("bit outside of fd_set selected"))); ># 129 "/usr/include/sys/select.h" 2 3 4 > > > ># 220 "/usr/include/sys/types.h" 2 3 4 > > ># 1 "/usr/include/sys/sysmacros.h" 1 3 4 ># 24 "/usr/include/sys/sysmacros.h" 3 4 > > >__extension__ >extern unsigned int gnu_dev_major (unsigned long long int __dev) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); >__extension__ >extern unsigned int gnu_dev_minor (unsigned long long int __dev) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); >__extension__ >extern unsigned long long int gnu_dev_makedev (unsigned int __major, > unsigned int __minor) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); > > >__extension__ extern __inline __attribute__ ((__gnu_inline__)) __attribute__ ((__const__)) unsigned int >__attribute__ ((__nothrow__ , __leaf__)) gnu_dev_major (unsigned long long int __dev) >{ > return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); >} > >__extension__ extern __inline __attribute__ ((__gnu_inline__)) __attribute__ ((__const__)) unsigned int >__attribute__ ((__nothrow__ , __leaf__)) gnu_dev_minor (unsigned long long int __dev) >{ > return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); >} > >__extension__ extern __inline __attribute__ ((__gnu_inline__)) __attribute__ ((__const__)) unsigned long long int >__attribute__ ((__nothrow__ , __leaf__)) gnu_dev_makedev (unsigned int __major, unsigned int __minor) >{ > return ((__minor & 0xff) | ((__major & 0xfff) << 8) > | (((unsigned long long int) (__minor & ~0xff)) << 12) > | (((unsigned long long int) (__major & ~0xfff)) << 32)); >} > > ># 223 "/usr/include/sys/types.h" 2 3 4 > > > > > >typedef __blksize_t blksize_t; ># 248 "/usr/include/sys/types.h" 3 4 >typedef __blkcnt64_t blkcnt_t; > > > >typedef __fsblkcnt64_t fsblkcnt_t; > > > >typedef __fsfilcnt64_t fsfilcnt_t; > > > > > >typedef __blkcnt64_t blkcnt64_t; >typedef __fsblkcnt64_t fsblkcnt64_t; >typedef __fsfilcnt64_t fsfilcnt64_t; > > > > > ># 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 ># 37 "/usr/include/bits/pthreadtypes.h" 3 4 >typedef unsigned long int pthread_t; > > >union pthread_attr_t >{ > char __size[36]; > long int __align; >}; > >typedef union pthread_attr_t pthread_attr_t; > > > > >typedef struct __pthread_internal_slist >{ > struct __pthread_internal_slist *__next; >} __pthread_slist_t; > > > > >typedef union >{ > struct __pthread_mutex_s > { > int __lock; > unsigned int __count; > int __owner; > > > int __kind; > unsigned int __nusers; > __extension__ union > { > int __spins; > __pthread_slist_t __list; > }; > } __data; > char __size[24]; > long int __align; >} pthread_mutex_t; > >typedef union >{ > char __size[4]; > long int __align; >} pthread_mutexattr_t; > > > > >typedef union >{ > struct > { > int __lock; > unsigned int __futex; > __extension__ unsigned long long int __total_seq; > __extension__ unsigned long long int __wakeup_seq; > __extension__ unsigned long long int __woken_seq; > void *__mutex; > unsigned int __nwaiters; > unsigned int __broadcast_seq; > } __data; > char __size[48]; > __extension__ long long int __align; >} pthread_cond_t; > >typedef union >{ > char __size[4]; > long int __align; >} pthread_condattr_t; > > > >typedef unsigned int pthread_key_t; > > > >typedef int pthread_once_t; > > > > > >typedef union >{ > struct > { > int __lock; > unsigned int __nr_readers; > unsigned int __readers_wakeup; > unsigned int __writer_wakeup; > unsigned int __nr_readers_queued; > unsigned int __nr_writers_queued; ># 144 "/usr/include/bits/pthreadtypes.h" 3 4 > unsigned char __flags; > unsigned char __shared; > unsigned char __pad1; > unsigned char __pad2; > > int __writer; > } __data; > char __size[32]; > long int __align; >} pthread_rwlock_t; > >typedef union >{ > char __size[8]; > long int __align; >} pthread_rwlockattr_t; > > > > > >typedef volatile int pthread_spinlock_t; > > > > >typedef union >{ > char __size[20]; > long int __align; >} pthread_barrier_t; > >typedef union >{ > char __size[4]; > int __align; >} pthread_barrierattr_t; ># 271 "/usr/include/sys/types.h" 2 3 4 > > > ># 26 "/usr/include/net/if.h" 2 3 4 ># 1 "/usr/include/sys/socket.h" 1 3 4 ># 24 "/usr/include/sys/socket.h" 3 4 > > ># 1 "/usr/include/sys/uio.h" 1 3 4 ># 25 "/usr/include/sys/uio.h" 3 4 > > > ># 1 "/usr/include/bits/uio.h" 1 3 4 ># 43 "/usr/include/bits/uio.h" 3 4 >struct iovec > { > void *iov_base; > size_t iov_len; > }; ># 56 "/usr/include/bits/uio.h" 3 4 > > > >extern ssize_t process_vm_readv (pid_t __pid, const struct iovec *__lvec, > unsigned long int __liovcnt, > const struct iovec *__rvec, > unsigned long int __riovcnt, > unsigned long int __flags) > __attribute__ ((__nothrow__ , __leaf__)); > > >extern ssize_t process_vm_writev (pid_t __pid, const struct iovec *__lvec, > unsigned long int __liovcnt, > const struct iovec *__rvec, > unsigned long int __riovcnt, > unsigned long int __flags) > __attribute__ ((__nothrow__ , __leaf__)); > > ># 29 "/usr/include/sys/uio.h" 2 3 4 ># 39 "/usr/include/sys/uio.h" 3 4 >extern ssize_t readv (int __fd, const struct iovec *__iovec, int __count) > __attribute__ ((__warn_unused_result__)); ># 50 "/usr/include/sys/uio.h" 3 4 >extern ssize_t writev (int __fd, const struct iovec *__iovec, int __count) > __attribute__ ((__warn_unused_result__)); ># 81 "/usr/include/sys/uio.h" 3 4 >extern ssize_t preadv (int __fd, const struct iovec *__iovec, int __count, __off64_t __offset) __asm__ ("" "preadv64") > > __attribute__ ((__warn_unused_result__)); >extern ssize_t pwritev (int __fd, const struct iovec *__iovec, int __count, __off64_t __offset) __asm__ ("" "pwritev64") > > __attribute__ ((__warn_unused_result__)); ># 103 "/usr/include/sys/uio.h" 3 4 >extern ssize_t preadv64 (int __fd, const struct iovec *__iovec, int __count, > __off64_t __offset) __attribute__ ((__warn_unused_result__)); ># 115 "/usr/include/sys/uio.h" 3 4 >extern ssize_t pwritev64 (int __fd, const struct iovec *__iovec, int __count, > __off64_t __offset) __attribute__ ((__warn_unused_result__)); > > > > ># 27 "/usr/include/sys/socket.h" 2 3 4 > ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 1 3 4 ># 29 "/usr/include/sys/socket.h" 2 3 4 > > ># 1 "/usr/include/bits/sigset.h" 1 3 4 ># 32 "/usr/include/sys/socket.h" 2 3 4 > > > > > > ># 1 "/usr/include/bits/socket.h" 1 3 4 ># 27 "/usr/include/bits/socket.h" 3 4 ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 1 3 4 ># 28 "/usr/include/bits/socket.h" 2 3 4 > > > > > >typedef __socklen_t socklen_t; > > > > ># 1 "/usr/include/bits/socket_type.h" 1 3 4 ># 24 "/usr/include/bits/socket_type.h" 3 4 >enum __socket_type >{ > SOCK_STREAM = 1, > > > SOCK_DGRAM = 2, > > > SOCK_RAW = 3, > > SOCK_RDM = 4, > > SOCK_SEQPACKET = 5, > > > SOCK_DCCP = 6, > > SOCK_PACKET = 10, > > > > > > > > SOCK_CLOEXEC = 02000000, > > > SOCK_NONBLOCK = 00004000 > > >}; ># 39 "/usr/include/bits/socket.h" 2 3 4 ># 146 "/usr/include/bits/socket.h" 3 4 ># 1 "/usr/include/bits/sockaddr.h" 1 3 4 ># 28 "/usr/include/bits/sockaddr.h" 3 4 >typedef unsigned short int sa_family_t; ># 147 "/usr/include/bits/socket.h" 2 3 4 > > >struct sockaddr > { > sa_family_t sa_family; > char sa_data[14]; > }; ># 162 "/usr/include/bits/socket.h" 3 4 >struct sockaddr_storage > { > sa_family_t ss_family; > unsigned long int __ss_align; > char __ss_padding[(128 - (2 * sizeof (unsigned long int)))]; > }; > > > >enum > { > MSG_OOB = 0x01, > > MSG_PEEK = 0x02, > > MSG_DONTROUTE = 0x04, > > > > MSG_TRYHARD = MSG_DONTROUTE, > > > MSG_CTRUNC = 0x08, > > MSG_PROXY = 0x10, > > MSG_TRUNC = 0x20, > > MSG_DONTWAIT = 0x40, > > MSG_EOR = 0x80, > > MSG_WAITALL = 0x100, > > MSG_FIN = 0x200, > > MSG_SYN = 0x400, > > MSG_CONFIRM = 0x800, > > MSG_RST = 0x1000, > > MSG_ERRQUEUE = 0x2000, > > MSG_NOSIGNAL = 0x4000, > > MSG_MORE = 0x8000, > > MSG_WAITFORONE = 0x10000, > > MSG_FASTOPEN = 0x20000000, > > > MSG_CMSG_CLOEXEC = 0x40000000 > > > > }; > > > > >struct msghdr > { > void *msg_name; > socklen_t msg_namelen; > > struct iovec *msg_iov; > size_t msg_iovlen; > > void *msg_control; > size_t msg_controllen; > > > > > int msg_flags; > }; > > >struct cmsghdr > { > size_t cmsg_len; > > > > > int cmsg_level; > int cmsg_type; > > __extension__ unsigned char __cmsg_data []; > > }; ># 272 "/usr/include/bits/socket.h" 3 4 >extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr, > struct cmsghdr *__cmsg) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern __inline __attribute__ ((__gnu_inline__)) struct cmsghdr * >__attribute__ ((__nothrow__ , __leaf__)) __cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg) >{ > if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr)) > > return (struct cmsghdr *) 0; > > __cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg > + (((__cmsg->cmsg_len) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1))); > if ((unsigned char *) (__cmsg + 1) > ((unsigned char *) __mhdr->msg_control > + __mhdr->msg_controllen) > || ((unsigned char *) __cmsg + (((__cmsg->cmsg_len) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)) > > ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen))) > > return (struct cmsghdr *) 0; > return __cmsg; >} > > > > >enum > { > SCM_RIGHTS = 0x01 > > > , SCM_CREDENTIALS = 0x02 > > > }; > > > >struct ucred >{ > pid_t pid; > uid_t uid; > gid_t gid; >}; ># 345 "/usr/include/bits/socket.h" 3 4 ># 1 "/usr/include/asm/socket.h" 1 3 4 ># 1 "/usr/include/asm-generic/socket.h" 1 3 4 > > > ># 1 "/usr/include/asm/sockios.h" 1 3 4 ># 1 "/usr/include/asm-generic/sockios.h" 1 3 4 ># 1 "/usr/include/asm/sockios.h" 2 3 4 ># 5 "/usr/include/asm-generic/socket.h" 2 3 4 ># 1 "/usr/include/asm/socket.h" 2 3 4 ># 346 "/usr/include/bits/socket.h" 2 3 4 ># 379 "/usr/include/bits/socket.h" 3 4 >struct linger > { > int l_onoff; > int l_linger; > }; ># 39 "/usr/include/sys/socket.h" 2 3 4 > > > > >struct osockaddr > { > unsigned short int sa_family; > unsigned char sa_data[14]; > }; > > > > >enum >{ > SHUT_RD = 0, > > SHUT_WR, > > SHUT_RDWR > >}; ># 90 "/usr/include/sys/socket.h" 3 4 >typedef union { struct sockaddr *__restrict __sockaddr__; struct sockaddr_at *__restrict __sockaddr_at__; struct sockaddr_ax25 *__restrict __sockaddr_ax25__; struct sockaddr_dl *__restrict __sockaddr_dl__; struct sockaddr_eon *__restrict __sockaddr_eon__; struct sockaddr_in *__restrict __sockaddr_in__; struct sockaddr_in6 *__restrict __sockaddr_in6__; struct sockaddr_inarp *__restrict __sockaddr_inarp__; struct sockaddr_ipx *__restrict __sockaddr_ipx__; struct sockaddr_iso *__restrict __sockaddr_iso__; struct sockaddr_ns *__restrict __sockaddr_ns__; struct sockaddr_un *__restrict __sockaddr_un__; struct sockaddr_x25 *__restrict __sockaddr_x25__; > } __SOCKADDR_ARG __attribute__ ((__transparent_union__)); > > >typedef union { const struct sockaddr *__restrict __sockaddr__; const struct sockaddr_at *__restrict __sockaddr_at__; const struct sockaddr_ax25 *__restrict __sockaddr_ax25__; const struct sockaddr_dl *__restrict __sockaddr_dl__; const struct sockaddr_eon *__restrict __sockaddr_eon__; const struct sockaddr_in *__restrict __sockaddr_in__; const struct sockaddr_in6 *__restrict __sockaddr_in6__; const struct sockaddr_inarp *__restrict __sockaddr_inarp__; const struct sockaddr_ipx *__restrict __sockaddr_ipx__; const struct sockaddr_iso *__restrict __sockaddr_iso__; const struct sockaddr_ns *__restrict __sockaddr_ns__; const struct sockaddr_un *__restrict __sockaddr_un__; const struct sockaddr_x25 *__restrict __sockaddr_x25__; > } __CONST_SOCKADDR_ARG __attribute__ ((__transparent_union__)); > > > > > >struct mmsghdr > { > struct msghdr msg_hdr; > unsigned int msg_len; > > }; > > > > > > >extern int socket (int __domain, int __type, int __protocol) __attribute__ ((__nothrow__ , __leaf__)); > > > > > >extern int socketpair (int __domain, int __type, int __protocol, > int __fds[2]) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int bind (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len) > __attribute__ ((__nothrow__ , __leaf__)); > > >extern int getsockname (int __fd, __SOCKADDR_ARG __addr, > socklen_t *__restrict __len) __attribute__ ((__nothrow__ , __leaf__)); ># 137 "/usr/include/sys/socket.h" 3 4 >extern int connect (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len); > > > >extern int getpeername (int __fd, __SOCKADDR_ARG __addr, > socklen_t *__restrict __len) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > >extern ssize_t send (int __fd, const void *__buf, size_t __n, int __flags); > > > > > > >extern ssize_t recv (int __fd, void *__buf, size_t __n, int __flags); > > > > > > >extern ssize_t sendto (int __fd, const void *__buf, size_t __n, > int __flags, __CONST_SOCKADDR_ARG __addr, > socklen_t __addr_len); ># 174 "/usr/include/sys/socket.h" 3 4 >extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n, > int __flags, __SOCKADDR_ARG __addr, > socklen_t *__restrict __addr_len); > > > > > > > >extern ssize_t sendmsg (int __fd, const struct msghdr *__message, > int __flags); > > > > > > > >extern int sendmmsg (int __fd, struct mmsghdr *__vmessages, > unsigned int __vlen, int __flags); > > > > > > > >extern ssize_t recvmsg (int __fd, struct msghdr *__message, int __flags); > > > > > > > >extern int recvmmsg (int __fd, struct mmsghdr *__vmessages, > unsigned int __vlen, int __flags, > const struct timespec *__tmo); > > > > > > >extern int getsockopt (int __fd, int __level, int __optname, > void *__restrict __optval, > socklen_t *__restrict __optlen) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern int setsockopt (int __fd, int __level, int __optname, > const void *__optval, socklen_t __optlen) __attribute__ ((__nothrow__ , __leaf__)); > > > > > >extern int listen (int __fd, int __n) __attribute__ ((__nothrow__ , __leaf__)); ># 243 "/usr/include/sys/socket.h" 3 4 >extern int accept (int __fd, __SOCKADDR_ARG __addr, > socklen_t *__restrict __addr_len); > > > > > > >extern int accept4 (int __fd, __SOCKADDR_ARG __addr, > socklen_t *__restrict __addr_len, int __flags); ># 261 "/usr/include/sys/socket.h" 3 4 >extern int shutdown (int __fd, int __how) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern int sockatmark (int __fd) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > > >extern int isfdtype (int __fd, int __fdtype) __attribute__ ((__nothrow__ , __leaf__)); > > > > > ># 1 "/usr/include/bits/socket2.h" 1 3 4 ># 23 "/usr/include/bits/socket2.h" 3 4 >extern ssize_t __recv_chk (int __fd, void *__buf, size_t __n, size_t __buflen, > int __flags); >extern ssize_t __recv_alias (int __fd, void *__buf, size_t __n, int __flags) __asm__ ("" "recv") > ; >extern ssize_t __recv_chk_warn (int __fd, void *__buf, size_t __n, size_t __buflen, int __flags) __asm__ ("" "__recv_chk") > > > __attribute__((__warning__ ("recv called with bigger length than size of destination " "buffer"))) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) ssize_t >recv (int __fd, void *__buf, size_t __n, int __flags) >{ > if (__builtin_object_size (__buf, 0) != (size_t) -1) > { > if (!__builtin_constant_p (__n)) > return __recv_chk (__fd, __buf, __n, __builtin_object_size (__buf, 0), __flags); > > if (__n > __builtin_object_size (__buf, 0)) > return __recv_chk_warn (__fd, __buf, __n, __builtin_object_size (__buf, 0), __flags); > } > return __recv_alias (__fd, __buf, __n, __flags); >} > >extern ssize_t __recvfrom_chk (int __fd, void *__restrict __buf, size_t __n, > size_t __buflen, int __flags, > __SOCKADDR_ARG __addr, > socklen_t *__restrict __addr_len); >extern ssize_t __recvfrom_alias (int __fd, void *__restrict __buf, size_t __n, int __flags, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len) __asm__ ("" "recvfrom") > > > ; >extern ssize_t __recvfrom_chk_warn (int __fd, void *__restrict __buf, size_t __n, size_t __buflen, int __flags, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len) __asm__ ("" "__recvfrom_chk") > > > > > __attribute__((__warning__ ("recvfrom called with bigger length than size of " "destination buffer"))) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) ssize_t >recvfrom (int __fd, void *__restrict __buf, size_t __n, int __flags, > __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len) >{ > if (__builtin_object_size (__buf, 0) != (size_t) -1) > { > if (!__builtin_constant_p (__n)) > return __recvfrom_chk (__fd, __buf, __n, __builtin_object_size (__buf, 0), __flags, > __addr, __addr_len); > if (__n > __builtin_object_size (__buf, 0)) > return __recvfrom_chk_warn (__fd, __buf, __n, __builtin_object_size (__buf, 0), __flags, > __addr, __addr_len); > } > return __recvfrom_alias (__fd, __buf, __n, __flags, __addr, __addr_len); >} ># 281 "/usr/include/sys/socket.h" 2 3 4 > > > ># 27 "/usr/include/net/if.h" 2 3 4 > > > > > > >struct if_nameindex > { > unsigned int if_index; > char *if_name; > }; > > > > >enum > { > IFF_UP = 0x1, > > IFF_BROADCAST = 0x2, > > IFF_DEBUG = 0x4, > > IFF_LOOPBACK = 0x8, > > IFF_POINTOPOINT = 0x10, > > IFF_NOTRAILERS = 0x20, > > IFF_RUNNING = 0x40, > > IFF_NOARP = 0x80, > > IFF_PROMISC = 0x100, > > > > IFF_ALLMULTI = 0x200, > > > IFF_MASTER = 0x400, > > IFF_SLAVE = 0x800, > > > IFF_MULTICAST = 0x1000, > > > IFF_PORTSEL = 0x2000, > > IFF_AUTOMEDIA = 0x4000, > > IFF_DYNAMIC = 0x8000 > > }; > > > > > > >struct ifaddr > { > struct sockaddr ifa_addr; > union > { > struct sockaddr ifu_broadaddr; > struct sockaddr ifu_dstaddr; > } ifa_ifu; > struct iface *ifa_ifp; > struct ifaddr *ifa_next; > }; ># 111 "/usr/include/net/if.h" 3 4 >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; > > }; > > > > > >struct ifreq > { > > > union > { > char ifrn_name[16]; > } 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[16]; > char ifru_newname[16]; > __caddr_t ifru_data; > } ifr_ifru; > }; ># 176 "/usr/include/net/if.h" 3 4 >struct ifconf > { > int ifc_len; > union > { > __caddr_t ifcu_buf; > struct ifreq *ifcu_req; > } ifc_ifcu; > }; > > > > > > > > >extern unsigned int if_nametoindex (const char *__ifname) __attribute__ ((__nothrow__ , __leaf__)); >extern char *if_indextoname (unsigned int __ifindex, char *__ifname) __attribute__ ((__nothrow__ , __leaf__)); > > >extern struct if_nameindex *if_nameindex (void) __attribute__ ((__nothrow__ , __leaf__)); > > >extern void if_freenameindex (struct if_nameindex *__ptr) __attribute__ ((__nothrow__ , __leaf__)); > > ># 13 "networking/libiproute/ipaddress.c" 2 ># 1 "/usr/include/net/if_arp.h" 1 3 4 ># 30 "/usr/include/net/if_arp.h" 3 4 > ># 54 "/usr/include/net/if_arp.h" 3 4 >struct arphdr > { > unsigned short int ar_hrd; > unsigned short int ar_pro; > unsigned char ar_hln; > unsigned char ar_pln; > unsigned short int ar_op; ># 69 "/usr/include/net/if_arp.h" 3 4 > }; ># 138 "/usr/include/net/if_arp.h" 3 4 >struct arpreq > { > struct sockaddr arp_pa; > struct sockaddr arp_ha; > int arp_flags; > struct sockaddr arp_netmask; > char arp_dev[16]; > }; > >struct arpreq_old > { > struct sockaddr arp_pa; > struct sockaddr arp_ha; > int arp_flags; > struct sockaddr arp_netmask; > }; ># 171 "/usr/include/net/if_arp.h" 3 4 >struct arpd_request > { > unsigned short int req; > u_int32_t ip; > unsigned long int dev; > unsigned long int stamp; > unsigned long int updated; > unsigned char ha[7]; > }; > > ># 14 "networking/libiproute/ipaddress.c" 2 > ># 1 "networking/libiproute/ip_common.h" 1 > > > > ># 1 "include/libbb.h" 1 ># 13 "include/libbb.h" ># 1 "include/platform.h" 1 ># 138 "include/platform.h" ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include-fixed/limits.h" 1 3 4 ># 34 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include-fixed/limits.h" 3 4 ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include-fixed/syslimits.h" 1 3 4 > > > > > > ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include-fixed/limits.h" 1 3 4 ># 168 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include-fixed/limits.h" 3 4 ># 1 "/usr/include/limits.h" 1 3 4 ># 143 "/usr/include/limits.h" 3 4 ># 1 "/usr/include/bits/posix1_lim.h" 1 3 4 ># 160 "/usr/include/bits/posix1_lim.h" 3 4 ># 1 "/usr/include/bits/local_lim.h" 1 3 4 ># 38 "/usr/include/bits/local_lim.h" 3 4 ># 1 "/usr/include/linux/limits.h" 1 3 4 ># 39 "/usr/include/bits/local_lim.h" 2 3 4 ># 161 "/usr/include/bits/posix1_lim.h" 2 3 4 ># 144 "/usr/include/limits.h" 2 3 4 > > > ># 1 "/usr/include/bits/posix2_lim.h" 1 3 4 ># 148 "/usr/include/limits.h" 2 3 4 > > > ># 1 "/usr/include/bits/xopen_lim.h" 1 3 4 ># 33 "/usr/include/bits/xopen_lim.h" 3 4 ># 1 "/usr/include/bits/stdio_lim.h" 1 3 4 ># 34 "/usr/include/bits/xopen_lim.h" 2 3 4 ># 152 "/usr/include/limits.h" 2 3 4 ># 169 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include-fixed/limits.h" 2 3 4 ># 8 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include-fixed/syslimits.h" 2 3 4 ># 35 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include-fixed/limits.h" 2 3 4 ># 139 "include/platform.h" 2 ># 149 "include/platform.h" ># 1 "/usr/include/byteswap.h" 1 3 4 ># 24 "/usr/include/byteswap.h" 3 4 ># 1 "/usr/include/bits/byteswap.h" 1 3 4 ># 25 "/usr/include/byteswap.h" 2 3 4 ># 150 "include/platform.h" 2 ># 206 "include/platform.h" ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stdint.h" 1 3 4 ># 9 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stdint.h" 3 4 ># 1 "/usr/include/stdint.h" 1 3 4 ># 26 "/usr/include/stdint.h" 3 4 ># 1 "/usr/include/bits/wchar.h" 1 3 4 ># 27 "/usr/include/stdint.h" 2 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 28 "/usr/include/stdint.h" 2 3 4 ># 48 "/usr/include/stdint.h" 3 4 >typedef unsigned char uint8_t; >typedef unsigned short int uint16_t; > >typedef unsigned int uint32_t; > > > > > >__extension__ >typedef unsigned long long int uint64_t; > > > > > > >typedef signed char int_least8_t; >typedef short int int_least16_t; >typedef int int_least32_t; > > > >__extension__ >typedef long long int int_least64_t; > > > >typedef unsigned char uint_least8_t; >typedef unsigned short int uint_least16_t; >typedef unsigned int uint_least32_t; > > > >__extension__ >typedef unsigned long long int uint_least64_t; > > > > > > >typedef signed char int_fast8_t; > > > > > >typedef int int_fast16_t; >typedef int int_fast32_t; >__extension__ >typedef long long int int_fast64_t; > > > >typedef unsigned char uint_fast8_t; > > > > > >typedef unsigned int uint_fast16_t; >typedef unsigned int uint_fast32_t; >__extension__ >typedef unsigned long long int uint_fast64_t; ># 125 "/usr/include/stdint.h" 3 4 >typedef int intptr_t; > > >typedef unsigned int uintptr_t; ># 137 "/usr/include/stdint.h" 3 4 >__extension__ >typedef long long int intmax_t; >__extension__ >typedef unsigned long long int uintmax_t; ># 10 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stdint.h" 2 3 4 ># 207 "include/platform.h" 2 >typedef int bb__aliased_int __attribute__((__may_alias__)); >typedef long bb__aliased_long __attribute__((__may_alias__)); >typedef uint16_t bb__aliased_uint16_t __attribute__((__may_alias__)); >typedef uint32_t bb__aliased_uint32_t __attribute__((__may_alias__)); ># 248 "include/platform.h" >typedef int smallint; >typedef unsigned smalluint; ># 258 "include/platform.h" ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stdbool.h" 1 3 4 ># 259 "include/platform.h" 2 ># 286 "include/platform.h" ># 1 "/usr/include/unistd.h" 1 3 4 ># 27 "/usr/include/unistd.h" 3 4 > ># 202 "/usr/include/unistd.h" 3 4 ># 1 "/usr/include/bits/posix_opt.h" 1 3 4 ># 203 "/usr/include/unistd.h" 2 3 4 > > > ># 1 "/usr/include/bits/environments.h" 1 3 4 ># 22 "/usr/include/bits/environments.h" 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 23 "/usr/include/bits/environments.h" 2 3 4 ># 207 "/usr/include/unistd.h" 2 3 4 ># 226 "/usr/include/unistd.h" 3 4 ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 1 3 4 ># 227 "/usr/include/unistd.h" 2 3 4 ># 287 "/usr/include/unistd.h" 3 4 >extern int access (const char *__name, int __type) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > >extern int euidaccess (const char *__name, int __type) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > >extern int eaccess (const char *__name, int __type) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > > > >extern int faccessat (int __fd, const char *__file, int __type, int __flag) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)); ># 337 "/usr/include/unistd.h" 3 4 >extern __off64_t lseek (int __fd, __off64_t __offset, int __whence) __asm__ ("" "lseek64") __attribute__ ((__nothrow__ , __leaf__)) > > ; > > > > > >extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) > __attribute__ ((__nothrow__ , __leaf__)); > > > > > > >extern int close (int __fd); > > > > > > >extern ssize_t read (int __fd, void *__buf, size_t __nbytes) __attribute__ ((__warn_unused_result__)); > > > > > >extern ssize_t write (int __fd, const void *__buf, size_t __n) __attribute__ ((__warn_unused_result__)); ># 388 "/usr/include/unistd.h" 3 4 >extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pread64") > > __attribute__ ((__warn_unused_result__)); >extern ssize_t pwrite (int __fd, const void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pwrite64") > > __attribute__ ((__warn_unused_result__)); ># 404 "/usr/include/unistd.h" 3 4 >extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, > __off64_t __offset) __attribute__ ((__warn_unused_result__)); > > >extern ssize_t pwrite64 (int __fd, const void *__buf, size_t __n, > __off64_t __offset) __attribute__ ((__warn_unused_result__)); > > > > > > > >extern int pipe (int __pipedes[2]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > >extern int pipe2 (int __pipedes[2], int __flags) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); ># 432 "/usr/include/unistd.h" 3 4 >extern unsigned int alarm (unsigned int __seconds) __attribute__ ((__nothrow__ , __leaf__)); ># 444 "/usr/include/unistd.h" 3 4 >extern unsigned int sleep (unsigned int __seconds); > > > > > > > >extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) > __attribute__ ((__nothrow__ , __leaf__)); > > > > > > >extern int usleep (__useconds_t __useconds); ># 469 "/usr/include/unistd.h" 3 4 >extern int pause (void); > > > >extern int chown (const char *__file, __uid_t __owner, __gid_t __group) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > >extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > >extern int lchown (const char *__file, __uid_t __owner, __gid_t __group) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > > > >extern int fchownat (int __fd, const char *__file, __uid_t __owner, > __gid_t __group, int __flag) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)); > > > >extern int chdir (const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > >extern int fchdir (int __fd) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); ># 511 "/usr/include/unistd.h" 3 4 >extern char *getcwd (char *__buf, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > > >extern char *get_current_dir_name (void) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > > >extern char *getwd (char *__buf) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) __attribute__ ((__warn_unused_result__)); > > > > >extern int dup (int __fd) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > >extern int dup2 (int __fd, int __fd2) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern int dup3 (int __fd, int __fd2, int __flags) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern char **__environ; > >extern char **environ; > > > > > >extern int execve (const char *__path, char *const __argv[], > char *const __envp[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > > > >extern int fexecve (int __fd, char *const __argv[], char *const __envp[]) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); > > > > >extern int execv (const char *__path, char *const __argv[]) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > > >extern int execle (const char *__path, const char *__arg, ...) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > > >extern int execl (const char *__path, const char *__arg, ...) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > > >extern int execvp (const char *__file, char *const __argv[]) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > > > >extern int execlp (const char *__file, const char *__arg, ...) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > > > >extern int execvpe (const char *__file, char *const __argv[], > char *const __envp[]) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > > > > >extern int nice (int __inc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > >extern void _exit (int __status) __attribute__ ((__noreturn__)); > > > > > ># 1 "/usr/include/bits/confname.h" 1 3 4 ># 24 "/usr/include/bits/confname.h" 3 4 >enum > { > _PC_LINK_MAX, > > _PC_MAX_CANON, > > _PC_MAX_INPUT, > > _PC_NAME_MAX, > > _PC_PATH_MAX, > > _PC_PIPE_BUF, > > _PC_CHOWN_RESTRICTED, > > _PC_NO_TRUNC, > > _PC_VDISABLE, > > _PC_SYNC_IO, > > _PC_ASYNC_IO, > > _PC_PRIO_IO, > > _PC_SOCK_MAXBUF, > > _PC_FILESIZEBITS, > > _PC_REC_INCR_XFER_SIZE, > > _PC_REC_MAX_XFER_SIZE, > > _PC_REC_MIN_XFER_SIZE, > > _PC_REC_XFER_ALIGN, > > _PC_ALLOC_SIZE_MIN, > > _PC_SYMLINK_MAX, > > _PC_2_SYMLINKS > > }; > > >enum > { > _SC_ARG_MAX, > > _SC_CHILD_MAX, > > _SC_CLK_TCK, > > _SC_NGROUPS_MAX, > > _SC_OPEN_MAX, > > _SC_STREAM_MAX, > > _SC_TZNAME_MAX, > > _SC_JOB_CONTROL, > > _SC_SAVED_IDS, > > _SC_REALTIME_SIGNALS, > > _SC_PRIORITY_SCHEDULING, > > _SC_TIMERS, > > _SC_ASYNCHRONOUS_IO, > > _SC_PRIORITIZED_IO, > > _SC_SYNCHRONIZED_IO, > > _SC_FSYNC, > > _SC_MAPPED_FILES, > > _SC_MEMLOCK, > > _SC_MEMLOCK_RANGE, > > _SC_MEMORY_PROTECTION, > > _SC_MESSAGE_PASSING, > > _SC_SEMAPHORES, > > _SC_SHARED_MEMORY_OBJECTS, > > _SC_AIO_LISTIO_MAX, > > _SC_AIO_MAX, > > _SC_AIO_PRIO_DELTA_MAX, > > _SC_DELAYTIMER_MAX, > > _SC_MQ_OPEN_MAX, > > _SC_MQ_PRIO_MAX, > > _SC_VERSION, > > _SC_PAGESIZE, > > > _SC_RTSIG_MAX, > > _SC_SEM_NSEMS_MAX, > > _SC_SEM_VALUE_MAX, > > _SC_SIGQUEUE_MAX, > > _SC_TIMER_MAX, > > > > > _SC_BC_BASE_MAX, > > _SC_BC_DIM_MAX, > > _SC_BC_SCALE_MAX, > > _SC_BC_STRING_MAX, > > _SC_COLL_WEIGHTS_MAX, > > _SC_EQUIV_CLASS_MAX, > > _SC_EXPR_NEST_MAX, > > _SC_LINE_MAX, > > _SC_RE_DUP_MAX, > > _SC_CHARCLASS_NAME_MAX, > > > _SC_2_VERSION, > > _SC_2_C_BIND, > > _SC_2_C_DEV, > > _SC_2_FORT_DEV, > > _SC_2_FORT_RUN, > > _SC_2_SW_DEV, > > _SC_2_LOCALEDEF, > > > _SC_PII, > > _SC_PII_XTI, > > _SC_PII_SOCKET, > > _SC_PII_INTERNET, > > _SC_PII_OSI, > > _SC_POLL, > > _SC_SELECT, > > _SC_UIO_MAXIOV, > > _SC_IOV_MAX = _SC_UIO_MAXIOV, > > _SC_PII_INTERNET_STREAM, > > _SC_PII_INTERNET_DGRAM, > > _SC_PII_OSI_COTS, > > _SC_PII_OSI_CLTS, > > _SC_PII_OSI_M, > > _SC_T_IOV_MAX, > > > > _SC_THREADS, > > _SC_THREAD_SAFE_FUNCTIONS, > > _SC_GETGR_R_SIZE_MAX, > > _SC_GETPW_R_SIZE_MAX, > > _SC_LOGIN_NAME_MAX, > > _SC_TTY_NAME_MAX, > > _SC_THREAD_DESTRUCTOR_ITERATIONS, > > _SC_THREAD_KEYS_MAX, > > _SC_THREAD_STACK_MIN, > > _SC_THREAD_THREADS_MAX, > > _SC_THREAD_ATTR_STACKADDR, > > _SC_THREAD_ATTR_STACKSIZE, > > _SC_THREAD_PRIORITY_SCHEDULING, > > _SC_THREAD_PRIO_INHERIT, > > _SC_THREAD_PRIO_PROTECT, > > _SC_THREAD_PROCESS_SHARED, > > > _SC_NPROCESSORS_CONF, > > _SC_NPROCESSORS_ONLN, > > _SC_PHYS_PAGES, > > _SC_AVPHYS_PAGES, > > _SC_ATEXIT_MAX, > > _SC_PASS_MAX, > > > _SC_XOPEN_VERSION, > > _SC_XOPEN_XCU_VERSION, > > _SC_XOPEN_UNIX, > > _SC_XOPEN_CRYPT, > > _SC_XOPEN_ENH_I18N, > > _SC_XOPEN_SHM, > > > _SC_2_CHAR_TERM, > > _SC_2_C_VERSION, > > _SC_2_UPE, > > > _SC_XOPEN_XPG2, > > _SC_XOPEN_XPG3, > > _SC_XOPEN_XPG4, > > > _SC_CHAR_BIT, > > _SC_CHAR_MAX, > > _SC_CHAR_MIN, > > _SC_INT_MAX, > > _SC_INT_MIN, > > _SC_LONG_BIT, > > _SC_WORD_BIT, > > _SC_MB_LEN_MAX, > > _SC_NZERO, > > _SC_SSIZE_MAX, > > _SC_SCHAR_MAX, > > _SC_SCHAR_MIN, > > _SC_SHRT_MAX, > > _SC_SHRT_MIN, > > _SC_UCHAR_MAX, > > _SC_UINT_MAX, > > _SC_ULONG_MAX, > > _SC_USHRT_MAX, > > > _SC_NL_ARGMAX, > > _SC_NL_LANGMAX, > > _SC_NL_MSGMAX, > > _SC_NL_NMAX, > > _SC_NL_SETMAX, > > _SC_NL_TEXTMAX, > > > _SC_XBS5_ILP32_OFF32, > > _SC_XBS5_ILP32_OFFBIG, > > _SC_XBS5_LP64_OFF64, > > _SC_XBS5_LPBIG_OFFBIG, > > > _SC_XOPEN_LEGACY, > > _SC_XOPEN_REALTIME, > > _SC_XOPEN_REALTIME_THREADS, > > > _SC_ADVISORY_INFO, > > _SC_BARRIERS, > > _SC_BASE, > > _SC_C_LANG_SUPPORT, > > _SC_C_LANG_SUPPORT_R, > > _SC_CLOCK_SELECTION, > > _SC_CPUTIME, > > _SC_THREAD_CPUTIME, > > _SC_DEVICE_IO, > > _SC_DEVICE_SPECIFIC, > > _SC_DEVICE_SPECIFIC_R, > > _SC_FD_MGMT, > > _SC_FIFO, > > _SC_PIPE, > > _SC_FILE_ATTRIBUTES, > > _SC_FILE_LOCKING, > > _SC_FILE_SYSTEM, > > _SC_MONOTONIC_CLOCK, > > _SC_MULTI_PROCESS, > > _SC_SINGLE_PROCESS, > > _SC_NETWORKING, > > _SC_READER_WRITER_LOCKS, > > _SC_SPIN_LOCKS, > > _SC_REGEXP, > > _SC_REGEX_VERSION, > > _SC_SHELL, > > _SC_SIGNALS, > > _SC_SPAWN, > > _SC_SPORADIC_SERVER, > > _SC_THREAD_SPORADIC_SERVER, > > _SC_SYSTEM_DATABASE, > > _SC_SYSTEM_DATABASE_R, > > _SC_TIMEOUTS, > > _SC_TYPED_MEMORY_OBJECTS, > > _SC_USER_GROUPS, > > _SC_USER_GROUPS_R, > > _SC_2_PBS, > > _SC_2_PBS_ACCOUNTING, > > _SC_2_PBS_LOCATE, > > _SC_2_PBS_MESSAGE, > > _SC_2_PBS_TRACK, > > _SC_SYMLOOP_MAX, > > _SC_STREAMS, > > _SC_2_PBS_CHECKPOINT, > > > _SC_V6_ILP32_OFF32, > > _SC_V6_ILP32_OFFBIG, > > _SC_V6_LP64_OFF64, > > _SC_V6_LPBIG_OFFBIG, > > > _SC_HOST_NAME_MAX, > > _SC_TRACE, > > _SC_TRACE_EVENT_FILTER, > > _SC_TRACE_INHERIT, > > _SC_TRACE_LOG, > > > _SC_LEVEL1_ICACHE_SIZE, > > _SC_LEVEL1_ICACHE_ASSOC, > > _SC_LEVEL1_ICACHE_LINESIZE, > > _SC_LEVEL1_DCACHE_SIZE, > > _SC_LEVEL1_DCACHE_ASSOC, > > _SC_LEVEL1_DCACHE_LINESIZE, > > _SC_LEVEL2_CACHE_SIZE, > > _SC_LEVEL2_CACHE_ASSOC, > > _SC_LEVEL2_CACHE_LINESIZE, > > _SC_LEVEL3_CACHE_SIZE, > > _SC_LEVEL3_CACHE_ASSOC, > > _SC_LEVEL3_CACHE_LINESIZE, > > _SC_LEVEL4_CACHE_SIZE, > > _SC_LEVEL4_CACHE_ASSOC, > > _SC_LEVEL4_CACHE_LINESIZE, > > > > _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50, > > _SC_RAW_SOCKETS, > > > _SC_V7_ILP32_OFF32, > > _SC_V7_ILP32_OFFBIG, > > _SC_V7_LP64_OFF64, > > _SC_V7_LPBIG_OFFBIG, > > > _SC_SS_REPL_MAX, > > > _SC_TRACE_EVENT_NAME_MAX, > > _SC_TRACE_NAME_MAX, > > _SC_TRACE_SYS_MAX, > > _SC_TRACE_USER_EVENT_MAX, > > > _SC_XOPEN_STREAMS, > > > _SC_THREAD_ROBUST_PRIO_INHERIT, > > _SC_THREAD_ROBUST_PRIO_PROTECT > > }; > > >enum > { > _CS_PATH, > > > _CS_V6_WIDTH_RESTRICTED_ENVS, > > > > _CS_GNU_LIBC_VERSION, > > _CS_GNU_LIBPTHREAD_VERSION, > > > _CS_V5_WIDTH_RESTRICTED_ENVS, > > > > _CS_V7_WIDTH_RESTRICTED_ENVS, > > > > _CS_LFS_CFLAGS = 1000, > > _CS_LFS_LDFLAGS, > > _CS_LFS_LIBS, > > _CS_LFS_LINTFLAGS, > > _CS_LFS64_CFLAGS, > > _CS_LFS64_LDFLAGS, > > _CS_LFS64_LIBS, > > _CS_LFS64_LINTFLAGS, > > > _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, > > _CS_XBS5_ILP32_OFF32_LDFLAGS, > > _CS_XBS5_ILP32_OFF32_LIBS, > > _CS_XBS5_ILP32_OFF32_LINTFLAGS, > > _CS_XBS5_ILP32_OFFBIG_CFLAGS, > > _CS_XBS5_ILP32_OFFBIG_LDFLAGS, > > _CS_XBS5_ILP32_OFFBIG_LIBS, > > _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, > > _CS_XBS5_LP64_OFF64_CFLAGS, > > _CS_XBS5_LP64_OFF64_LDFLAGS, > > _CS_XBS5_LP64_OFF64_LIBS, > > _CS_XBS5_LP64_OFF64_LINTFLAGS, > > _CS_XBS5_LPBIG_OFFBIG_CFLAGS, > > _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, > > _CS_XBS5_LPBIG_OFFBIG_LIBS, > > _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, > > > _CS_POSIX_V6_ILP32_OFF32_CFLAGS, > > _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, > > _CS_POSIX_V6_ILP32_OFF32_LIBS, > > _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, > > _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, > > _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, > > _CS_POSIX_V6_ILP32_OFFBIG_LIBS, > > _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, > > _CS_POSIX_V6_LP64_OFF64_CFLAGS, > > _CS_POSIX_V6_LP64_OFF64_LDFLAGS, > > _CS_POSIX_V6_LP64_OFF64_LIBS, > > _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, > > _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, > > _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, > > _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, > > _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS, > > > _CS_POSIX_V7_ILP32_OFF32_CFLAGS, > > _CS_POSIX_V7_ILP32_OFF32_LDFLAGS, > > _CS_POSIX_V7_ILP32_OFF32_LIBS, > > _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS, > > _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS, > > _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS, > > _CS_POSIX_V7_ILP32_OFFBIG_LIBS, > > _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS, > > _CS_POSIX_V7_LP64_OFF64_CFLAGS, > > _CS_POSIX_V7_LP64_OFF64_LDFLAGS, > > _CS_POSIX_V7_LP64_OFF64_LIBS, > > _CS_POSIX_V7_LP64_OFF64_LINTFLAGS, > > _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS, > > _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS, > > _CS_POSIX_V7_LPBIG_OFFBIG_LIBS, > > _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS, > > > _CS_V6_ENV, > > _CS_V7_ENV > > }; ># 610 "/usr/include/unistd.h" 2 3 4 > > >extern long int pathconf (const char *__path, int __name) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > >extern long int fpathconf (int __fd, int __name) __attribute__ ((__nothrow__ , __leaf__)); > > >extern long int sysconf (int __name) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern size_t confstr (int __name, char *__buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern __pid_t getpid (void) __attribute__ ((__nothrow__ , __leaf__)); > > >extern __pid_t getppid (void) __attribute__ ((__nothrow__ , __leaf__)); > > >extern __pid_t getpgrp (void) __attribute__ ((__nothrow__ , __leaf__)); > > >extern __pid_t __getpgid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__)); > >extern __pid_t getpgid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > >extern int setpgid (__pid_t __pid, __pid_t __pgid) __attribute__ ((__nothrow__ , __leaf__)); ># 660 "/usr/include/unistd.h" 3 4 >extern int setpgrp (void) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > >extern __pid_t setsid (void) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern __pid_t getsid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern __uid_t getuid (void) __attribute__ ((__nothrow__ , __leaf__)); > > >extern __uid_t geteuid (void) __attribute__ ((__nothrow__ , __leaf__)); > > >extern __gid_t getgid (void) __attribute__ ((__nothrow__ , __leaf__)); > > >extern __gid_t getegid (void) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern int getgroups (int __size, __gid_t __list[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > >extern int group_member (__gid_t __gid) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > >extern int setuid (__uid_t __uid) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > >extern int setreuid (__uid_t __ruid, __uid_t __euid) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > >extern int seteuid (__uid_t __uid) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > > > >extern int setgid (__gid_t __gid) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > >extern int setregid (__gid_t __rgid, __gid_t __egid) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > >extern int setegid (__gid_t __gid) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > > >extern int getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid) > __attribute__ ((__nothrow__ , __leaf__)); > > > >extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid) > __attribute__ ((__nothrow__ , __leaf__)); > > > >extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > >extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > > > >extern __pid_t fork (void) __attribute__ ((__nothrow__)); > > > > > > > >extern __pid_t vfork (void) __attribute__ ((__nothrow__ , __leaf__)); > > > > > >extern char *ttyname (int __fd) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern int ttyname_r (int __fd, char *__buf, size_t __buflen) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)); > > > >extern int isatty (int __fd) __attribute__ ((__nothrow__ , __leaf__)); > > > > > >extern int ttyslot (void) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern int link (const char *__from, const char *__to) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)); > > > > >extern int linkat (int __fromfd, const char *__from, int __tofd, > const char *__to, int __flags) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) __attribute__ ((__warn_unused_result__)); > > > > >extern int symlink (const char *__from, const char *__to) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)); > > > > >extern ssize_t readlink (const char *__restrict __path, > char *__restrict __buf, size_t __len) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)); > > > > >extern int symlinkat (const char *__from, int __tofd, > const char *__to) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))) __attribute__ ((__warn_unused_result__)); > > >extern ssize_t readlinkat (int __fd, const char *__restrict __path, > char *__restrict __buf, size_t __len) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)); > > > >extern int unlink (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > >extern int unlinkat (int __fd, const char *__name, int __flag) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); > > > >extern int rmdir (const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > >extern __pid_t tcgetpgrp (int __fd) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > >extern char *getlogin (void); > > > > > > > >extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1))); > > > > >extern int setlogin (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); ># 871 "/usr/include/unistd.h" 3 4 ># 1 "/usr/include/getopt.h" 1 3 4 ># 57 "/usr/include/getopt.h" 3 4 >extern char *optarg; ># 71 "/usr/include/getopt.h" 3 4 >extern int optind; > > > > >extern int opterr; > > > >extern int optopt; ># 150 "/usr/include/getopt.h" 3 4 >extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) > __attribute__ ((__nothrow__ , __leaf__)); ># 872 "/usr/include/unistd.h" 2 3 4 > > > > > > > >extern int gethostname (char *__name, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > > > >extern int sethostname (const char *__name, size_t __len) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > >extern int sethostid (long int __id) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > > >extern int getdomainname (char *__name, size_t __len) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); >extern int setdomainname (const char *__name, size_t __len) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > > >extern int vhangup (void) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int revoke (const char *__file) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > > > > >extern int profil (unsigned short int *__sample_buffer, size_t __size, > size_t __offset, unsigned int __scale) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > > >extern int acct (const char *__name) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern char *getusershell (void) __attribute__ ((__nothrow__ , __leaf__)); >extern void endusershell (void) __attribute__ ((__nothrow__ , __leaf__)); >extern void setusershell (void) __attribute__ ((__nothrow__ , __leaf__)); > > > > > >extern int daemon (int __nochdir, int __noclose) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > > > >extern int chroot (const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > >extern char *getpass (const char *__prompt) __attribute__ ((__nonnull__ (1))); > > > > > > > >extern int fsync (int __fd); > > > > > >extern int syncfs (int __fd) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > >extern long int gethostid (void); > > >extern void sync (void) __attribute__ ((__nothrow__ , __leaf__)); > > > > > >extern int getpagesize (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); > > > > >extern int getdtablesize (void) __attribute__ ((__nothrow__ , __leaf__)); ># 997 "/usr/include/unistd.h" 3 4 >extern int truncate (const char *__file, __off64_t __length) __asm__ ("" "truncate64") __attribute__ ((__nothrow__ , __leaf__)) > > __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > > >extern int truncate64 (const char *__file, __off64_t __length) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); ># 1019 "/usr/include/unistd.h" 3 4 >extern int ftruncate (int __fd, __off64_t __length) __asm__ ("" "ftruncate64") __attribute__ ((__nothrow__ , __leaf__)) > __attribute__ ((__warn_unused_result__)); > > > > > >extern int ftruncate64 (int __fd, __off64_t __length) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); ># 1037 "/usr/include/unistd.h" 3 4 >extern int brk (void *__addr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > > >extern void *sbrk (intptr_t __delta) __attribute__ ((__nothrow__ , __leaf__)); ># 1058 "/usr/include/unistd.h" 3 4 >extern long int syscall (long int __sysno, ...) __attribute__ ((__nothrow__ , __leaf__)); ># 1084 "/usr/include/unistd.h" 3 4 >extern int lockf (int __fd, int __cmd, __off64_t __len) __asm__ ("" "lockf64") > __attribute__ ((__warn_unused_result__)); > > > > > >extern int lockf64 (int __fd, int __cmd, __off64_t __len) __attribute__ ((__warn_unused_result__)); ># 1112 "/usr/include/unistd.h" 3 4 >extern int fdatasync (int __fildes); > > > > > > > >extern char *crypt (const char *__key, const char *__salt) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > > >extern void encrypt (char *__glibc_block, int __edflag) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > > > >extern void swab (const void *__restrict __from, void *__restrict __to, > ssize_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); ># 1148 "/usr/include/unistd.h" 3 4 ># 1 "/usr/include/bits/unistd.h" 1 3 4 ># 23 "/usr/include/bits/unistd.h" 3 4 >extern ssize_t __read_chk (int __fd, void *__buf, size_t __nbytes, > size_t __buflen) __attribute__ ((__warn_unused_result__)); >extern ssize_t __read_alias (int __fd, void *__buf, size_t __nbytes) __asm__ ("" "read") > __attribute__ ((__warn_unused_result__)); >extern ssize_t __read_chk_warn (int __fd, void *__buf, size_t __nbytes, size_t __buflen) __asm__ ("" "__read_chk") > > > __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("read called with bigger length than size of " "the destination buffer"))) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) ssize_t >read (int __fd, void *__buf, size_t __nbytes) >{ > if (__builtin_object_size (__buf, 0) != (size_t) -1) > { > if (!__builtin_constant_p (__nbytes)) > return __read_chk (__fd, __buf, __nbytes, __builtin_object_size (__buf, 0)); > > if (__nbytes > __builtin_object_size (__buf, 0)) > return __read_chk_warn (__fd, __buf, __nbytes, __builtin_object_size (__buf, 0)); > } > return __read_alias (__fd, __buf, __nbytes); >} > > >extern ssize_t __pread_chk (int __fd, void *__buf, size_t __nbytes, > __off_t __offset, size_t __bufsize) __attribute__ ((__warn_unused_result__)); >extern ssize_t __pread64_chk (int __fd, void *__buf, size_t __nbytes, > __off64_t __offset, size_t __bufsize) __attribute__ ((__warn_unused_result__)); >extern ssize_t __pread_alias (int __fd, void *__buf, size_t __nbytes, __off_t __offset) __asm__ ("" "pread") > > __attribute__ ((__warn_unused_result__)); >extern ssize_t __pread64_alias (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pread64") > > __attribute__ ((__warn_unused_result__)); >extern ssize_t __pread_chk_warn (int __fd, void *__buf, size_t __nbytes, __off_t __offset, size_t __bufsize) __asm__ ("" "__pread_chk") > > > __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("pread called with bigger length than size of " "the destination buffer"))) > ; >extern ssize_t __pread64_chk_warn (int __fd, void *__buf, size_t __nbytes, __off64_t __offset, size_t __bufsize) __asm__ ("" "__pread64_chk") > > > > __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("pread64 called with bigger length than size of " "the destination buffer"))) > ; ># 86 "/usr/include/bits/unistd.h" 3 4 >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) ssize_t >pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) >{ > if (__builtin_object_size (__buf, 0) != (size_t) -1) > { > if (!__builtin_constant_p (__nbytes)) > return __pread64_chk (__fd, __buf, __nbytes, __offset, __builtin_object_size (__buf, 0)); > > if ( __nbytes > __builtin_object_size (__buf, 0)) > return __pread64_chk_warn (__fd, __buf, __nbytes, __offset, > __builtin_object_size (__buf, 0)); > } > > return __pread64_alias (__fd, __buf, __nbytes, __offset); >} > > > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) ssize_t >pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) >{ > if (__builtin_object_size (__buf, 0) != (size_t) -1) > { > if (!__builtin_constant_p (__nbytes)) > return __pread64_chk (__fd, __buf, __nbytes, __offset, __builtin_object_size (__buf, 0)); > > if ( __nbytes > __builtin_object_size (__buf, 0)) > return __pread64_chk_warn (__fd, __buf, __nbytes, __offset, > __builtin_object_size (__buf, 0)); > } > > return __pread64_alias (__fd, __buf, __nbytes, __offset); >} > > > > >extern ssize_t __readlink_chk (const char *__restrict __path, > char *__restrict __buf, size_t __len, > size_t __buflen) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)); >extern ssize_t __readlink_alias (const char *__restrict __path, char *__restrict __buf, size_t __len) __asm__ ("" "readlink") __attribute__ ((__nothrow__ , __leaf__)) > > > __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)); >extern ssize_t __readlink_chk_warn (const char *__restrict __path, char *__restrict __buf, size_t __len, size_t __buflen) __asm__ ("" "__readlink_chk") __attribute__ ((__nothrow__ , __leaf__)) > > > > __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("readlink called with bigger length " "than size of destination buffer"))) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)) ssize_t >__attribute__ ((__nothrow__ , __leaf__)) readlink (const char *__restrict __path, char *__restrict __buf, size_t __len) > >{ > if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) > { > if (!__builtin_constant_p (__len)) > return __readlink_chk (__path, __buf, __len, __builtin_object_size (__buf, 2 > 1)); > > if ( __len > __builtin_object_size (__buf, 2 > 1)) > return __readlink_chk_warn (__path, __buf, __len, __builtin_object_size (__buf, 2 > 1)); > } > return __readlink_alias (__path, __buf, __len); >} > > > >extern ssize_t __readlinkat_chk (int __fd, const char *__restrict __path, > char *__restrict __buf, size_t __len, > size_t __buflen) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)); >extern ssize_t __readlinkat_alias (int __fd, const char *__restrict __path, char *__restrict __buf, size_t __len) __asm__ ("" "readlinkat") __attribute__ ((__nothrow__ , __leaf__)) > > > > __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)); >extern ssize_t __readlinkat_chk_warn (int __fd, const char *__restrict __path, char *__restrict __buf, size_t __len, size_t __buflen) __asm__ ("" "__readlinkat_chk") __attribute__ ((__nothrow__ , __leaf__)) > > > > __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("readlinkat called with bigger " "length than size of destination " "buffer"))) > > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)) ssize_t >__attribute__ ((__nothrow__ , __leaf__)) readlinkat (int __fd, const char *__restrict __path, char *__restrict __buf, size_t __len) > >{ > if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) > { > if (!__builtin_constant_p (__len)) > return __readlinkat_chk (__fd, __path, __buf, __len, __builtin_object_size (__buf, 2 > 1)); > > if (__len > __builtin_object_size (__buf, 2 > 1)) > return __readlinkat_chk_warn (__fd, __path, __buf, __len, > __builtin_object_size (__buf, 2 > 1)); > } > return __readlinkat_alias (__fd, __path, __buf, __len); >} > > >extern char *__getcwd_chk (char *__buf, size_t __size, size_t __buflen) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); >extern char *__getcwd_alias (char *__buf, size_t __size) __asm__ ("" "getcwd") __attribute__ ((__nothrow__ , __leaf__)) > __attribute__ ((__warn_unused_result__)); >extern char *__getcwd_chk_warn (char *__buf, size_t __size, size_t __buflen) __asm__ ("" "__getcwd_chk") __attribute__ ((__nothrow__ , __leaf__)) > > > __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("getcwd caller with bigger length than size of " "destination buffer"))) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * >__attribute__ ((__nothrow__ , __leaf__)) getcwd (char *__buf, size_t __size) >{ > if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) > { > if (!__builtin_constant_p (__size)) > return __getcwd_chk (__buf, __size, __builtin_object_size (__buf, 2 > 1)); > > if (__size > __builtin_object_size (__buf, 2 > 1)) > return __getcwd_chk_warn (__buf, __size, __builtin_object_size (__buf, 2 > 1)); > } > return __getcwd_alias (__buf, __size); >} > > >extern char *__getwd_chk (char *__buf, size_t buflen) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); >extern char *__getwd_warn (char *__buf) __asm__ ("" "getwd") __attribute__ ((__nothrow__ , __leaf__)) > __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("please use getcwd instead, as getwd " "doesn't specify buffer size"))) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) __attribute__ ((__warn_unused_result__)) char * >__attribute__ ((__nothrow__ , __leaf__)) getwd (char *__buf) >{ > if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) > return __getwd_chk (__buf, __builtin_object_size (__buf, 2 > 1)); > return __getwd_warn (__buf); >} > > >extern size_t __confstr_chk (int __name, char *__buf, size_t __len, > size_t __buflen) __attribute__ ((__nothrow__ , __leaf__)); >extern size_t __confstr_alias (int __name, char *__buf, size_t __len) __asm__ ("" "confstr") __attribute__ ((__nothrow__ , __leaf__)) > ; >extern size_t __confstr_chk_warn (int __name, char *__buf, size_t __len, size_t __buflen) __asm__ ("" "__confstr_chk") __attribute__ ((__nothrow__ , __leaf__)) > > > __attribute__((__warning__ ("confstr called with bigger length than size of destination " "buffer"))) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t >__attribute__ ((__nothrow__ , __leaf__)) confstr (int __name, char *__buf, size_t __len) >{ > if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) > { > if (!__builtin_constant_p (__len)) > return __confstr_chk (__name, __buf, __len, __builtin_object_size (__buf, 2 > 1)); > > if (__builtin_object_size (__buf, 2 > 1) < __len) > return __confstr_chk_warn (__name, __buf, __len, __builtin_object_size (__buf, 2 > 1)); > } > return __confstr_alias (__name, __buf, __len); >} > > >extern int __getgroups_chk (int __size, __gid_t __list[], size_t __listlen) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); >extern int __getgroups_alias (int __size, __gid_t __list[]) __asm__ ("" "getgroups") __attribute__ ((__nothrow__ , __leaf__)) > __attribute__ ((__warn_unused_result__)); >extern int __getgroups_chk_warn (int __size, __gid_t __list[], size_t __listlen) __asm__ ("" "__getgroups_chk") __attribute__ ((__nothrow__ , __leaf__)) > > > __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("getgroups called with bigger group count than what " "can fit into destination buffer"))) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >__attribute__ ((__nothrow__ , __leaf__)) getgroups (int __size, __gid_t __list[]) >{ > if (__builtin_object_size (__list, 2 > 1) != (size_t) -1) > { > if (!__builtin_constant_p (__size) || __size < 0) > return __getgroups_chk (__size, __list, __builtin_object_size (__list, 2 > 1)); > > if (__size * sizeof (__gid_t) > __builtin_object_size (__list, 2 > 1)) > return __getgroups_chk_warn (__size, __list, __builtin_object_size (__list, 2 > 1)); > } > return __getgroups_alias (__size, __list); >} > > >extern int __ttyname_r_chk (int __fd, char *__buf, size_t __buflen, > size_t __nreal) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); >extern int __ttyname_r_alias (int __fd, char *__buf, size_t __buflen) __asm__ ("" "ttyname_r") __attribute__ ((__nothrow__ , __leaf__)) > > __attribute__ ((__nonnull__ (2))); >extern int __ttyname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__ttyname_r_chk") __attribute__ ((__nothrow__ , __leaf__)) > > > __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ttyname_r called with bigger buflen than " "size of destination buffer"))) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >__attribute__ ((__nothrow__ , __leaf__)) ttyname_r (int __fd, char *__buf, size_t __buflen) >{ > if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) > { > if (!__builtin_constant_p (__buflen)) > return __ttyname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); > > if (__buflen > __builtin_object_size (__buf, 2 > 1)) > return __ttyname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); > } > return __ttyname_r_alias (__fd, __buf, __buflen); >} > > > >extern int __getlogin_r_chk (char *__buf, size_t __buflen, size_t __nreal) > __attribute__ ((__nonnull__ (1))); >extern int __getlogin_r_alias (char *__buf, size_t __buflen) __asm__ ("" "getlogin_r") > __attribute__ ((__nonnull__ (1))); >extern int __getlogin_r_chk_warn (char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__getlogin_r_chk") > > > __attribute__ ((__nonnull__ (1))) __attribute__((__warning__ ("getlogin_r called with bigger buflen than " "size of destination buffer"))) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >getlogin_r (char *__buf, size_t __buflen) >{ > if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) > { > if (!__builtin_constant_p (__buflen)) > return __getlogin_r_chk (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)); > > if (__buflen > __builtin_object_size (__buf, 2 > 1)) > return __getlogin_r_chk_warn (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)); > } > return __getlogin_r_alias (__buf, __buflen); >} > > > > >extern int __gethostname_chk (char *__buf, size_t __buflen, size_t __nreal) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); >extern int __gethostname_alias (char *__buf, size_t __buflen) __asm__ ("" "gethostname") __attribute__ ((__nothrow__ , __leaf__)) > __attribute__ ((__nonnull__ (1))); >extern int __gethostname_chk_warn (char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__gethostname_chk") __attribute__ ((__nothrow__ , __leaf__)) > > > __attribute__ ((__nonnull__ (1))) __attribute__((__warning__ ("gethostname called with bigger buflen than " "size of destination buffer"))) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >__attribute__ ((__nothrow__ , __leaf__)) gethostname (char *__buf, size_t __buflen) >{ > if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) > { > if (!__builtin_constant_p (__buflen)) > return __gethostname_chk (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)); > > if (__buflen > __builtin_object_size (__buf, 2 > 1)) > return __gethostname_chk_warn (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)); > } > return __gethostname_alias (__buf, __buflen); >} > > > > >extern int __getdomainname_chk (char *__buf, size_t __buflen, size_t __nreal) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); >extern int __getdomainname_alias (char *__buf, size_t __buflen) __asm__ ("" "getdomainname") __attribute__ ((__nothrow__ , __leaf__)) > > __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); >extern int __getdomainname_chk_warn (char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__getdomainname_chk") __attribute__ ((__nothrow__ , __leaf__)) > > > __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("getdomainname called with bigger " "buflen than size of destination " "buffer"))) > > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >__attribute__ ((__nothrow__ , __leaf__)) getdomainname (char *__buf, size_t __buflen) >{ > if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) > { > if (!__builtin_constant_p (__buflen)) > return __getdomainname_chk (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)); > > if (__buflen > __builtin_object_size (__buf, 2 > 1)) > return __getdomainname_chk_warn (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)); > } > return __getdomainname_alias (__buf, __buflen); >} ># 1149 "/usr/include/unistd.h" 2 3 4 > > > ># 287 "include/platform.h" 2 ># 14 "include/libbb.h" 2 > ># 1 "/usr/include/ctype.h" 1 3 4 ># 28 "/usr/include/ctype.h" 3 4 > ># 46 "/usr/include/ctype.h" 3 4 >enum >{ > _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), > _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), > _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), > _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), > _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), > _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), > _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), > _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), > _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), > _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), > _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), > _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) >}; ># 79 "/usr/include/ctype.h" 3 4 >extern const unsigned short int **__ctype_b_loc (void) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); >extern const __int32_t **__ctype_tolower_loc (void) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); >extern const __int32_t **__ctype_toupper_loc (void) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); ># 104 "/usr/include/ctype.h" 3 4 > > > > > > >extern int isalnum (int) __attribute__ ((__nothrow__ , __leaf__)); >extern int isalpha (int) __attribute__ ((__nothrow__ , __leaf__)); >extern int iscntrl (int) __attribute__ ((__nothrow__ , __leaf__)); >extern int isdigit (int) __attribute__ ((__nothrow__ , __leaf__)); >extern int islower (int) __attribute__ ((__nothrow__ , __leaf__)); >extern int isgraph (int) __attribute__ ((__nothrow__ , __leaf__)); >extern int isprint (int) __attribute__ ((__nothrow__ , __leaf__)); >extern int ispunct (int) __attribute__ ((__nothrow__ , __leaf__)); >extern int isspace (int) __attribute__ ((__nothrow__ , __leaf__)); >extern int isupper (int) __attribute__ ((__nothrow__ , __leaf__)); >extern int isxdigit (int) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern int tolower (int __c) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int toupper (int __c) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > > > >extern int isblank (int) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > >extern int isctype (int __c, int __mask) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > >extern int isascii (int __c) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern int toascii (int __c) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern int _toupper (int) __attribute__ ((__nothrow__ , __leaf__)); >extern int _tolower (int) __attribute__ ((__nothrow__ , __leaf__)); ># 214 "/usr/include/ctype.h" 3 4 >extern __inline __attribute__ ((__gnu_inline__)) int >__attribute__ ((__nothrow__ , __leaf__)) tolower (int __c) >{ > return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c; >} > >extern __inline __attribute__ ((__gnu_inline__)) int >__attribute__ ((__nothrow__ , __leaf__)) toupper (int __c) >{ > return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c; >} ># 257 "/usr/include/ctype.h" 3 4 ># 1 "/usr/include/xlocale.h" 1 3 4 ># 27 "/usr/include/xlocale.h" 3 4 >typedef struct __locale_struct >{ > > struct __locale_data *__locales[13]; > > > const unsigned short int *__ctype_b; > const int *__ctype_tolower; > const int *__ctype_toupper; > > > const char *__names[13]; >} *__locale_t; > > >typedef __locale_t locale_t; ># 258 "/usr/include/ctype.h" 2 3 4 ># 271 "/usr/include/ctype.h" 3 4 >extern int isalnum_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); >extern int isalpha_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); >extern int iscntrl_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); >extern int isdigit_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); >extern int islower_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); >extern int isgraph_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); >extern int isprint_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); >extern int ispunct_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); >extern int isspace_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); >extern int isupper_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); >extern int isxdigit_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); > >extern int isblank_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern int __tolower_l (int __c, __locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); >extern int tolower_l (int __c, __locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int __toupper_l (int __c, __locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); >extern int toupper_l (int __c, __locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); ># 347 "/usr/include/ctype.h" 3 4 > ># 16 "include/libbb.h" 2 ># 1 "/usr/include/dirent.h" 1 3 4 ># 27 "/usr/include/dirent.h" 3 4 > ># 61 "/usr/include/dirent.h" 3 4 ># 1 "/usr/include/bits/dirent.h" 1 3 4 ># 22 "/usr/include/bits/dirent.h" 3 4 >struct dirent > { > > > > > __ino64_t d_ino; > __off64_t d_off; > > unsigned short int d_reclen; > unsigned char d_type; > char d_name[256]; > }; > > >struct dirent64 > { > __ino64_t d_ino; > __off64_t d_off; > unsigned short int d_reclen; > unsigned char d_type; > char d_name[256]; > }; ># 62 "/usr/include/dirent.h" 2 3 4 ># 97 "/usr/include/dirent.h" 3 4 >enum > { > DT_UNKNOWN = 0, > > DT_FIFO = 1, > > DT_CHR = 2, > > DT_DIR = 4, > > DT_BLK = 6, > > DT_REG = 8, > > DT_LNK = 10, > > DT_SOCK = 12, > > DT_WHT = 14 > > }; ># 127 "/usr/include/dirent.h" 3 4 >typedef struct __dirstream DIR; > > > > > > >extern DIR *opendir (const char *__name) __attribute__ ((__nonnull__ (1))); > > > > > > >extern DIR *fdopendir (int __fd); > > > > > > > >extern int closedir (DIR *__dirp) __attribute__ ((__nonnull__ (1))); ># 165 "/usr/include/dirent.h" 3 4 >extern struct dirent *readdir (DIR *__dirp) __asm__ ("" "readdir64") > __attribute__ ((__nonnull__ (1))); > > > > > > >extern struct dirent64 *readdir64 (DIR *__dirp) __attribute__ ((__nonnull__ (1))); ># 189 "/usr/include/dirent.h" 3 4 >extern int readdir_r (DIR *__restrict __dirp, struct dirent *__restrict __entry, struct dirent **__restrict __result) __asm__ ("" "readdir64_r") > > > > __attribute__ ((__nonnull__ (1, 2, 3))); > > > > > > >extern int readdir64_r (DIR *__restrict __dirp, > struct dirent64 *__restrict __entry, > struct dirent64 **__restrict __result) > __attribute__ ((__nonnull__ (1, 2, 3))); > > > > >extern void rewinddir (DIR *__dirp) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > > >extern void seekdir (DIR *__dirp, long int __pos) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > >extern long int telldir (DIR *__dirp) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > > >extern int dirfd (DIR *__dirp) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); ># 244 "/usr/include/dirent.h" 3 4 ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 1 3 4 ># 245 "/usr/include/dirent.h" 2 3 4 ># 262 "/usr/include/dirent.h" 3 4 >extern int scandir (const char *__restrict __dir, struct dirent ***__restrict __namelist, int (*__selector) (const struct dirent *), int (*__cmp) (const struct dirent **, const struct dirent **)) __asm__ ("" "scandir64") > > > > > > __attribute__ ((__nonnull__ (1, 2))); ># 277 "/usr/include/dirent.h" 3 4 >extern int scandir64 (const char *__restrict __dir, > struct dirent64 ***__restrict __namelist, > int (*__selector) (const struct dirent64 *), > int (*__cmp) (const struct dirent64 **, > const struct dirent64 **)) > __attribute__ ((__nonnull__ (1, 2))); ># 300 "/usr/include/dirent.h" 3 4 >extern int scandirat (int __dfd, const char *__restrict __dir, struct dirent ***__restrict __namelist, int (*__selector) (const struct dirent *), int (*__cmp) (const struct dirent **, const struct dirent **)) __asm__ ("" "scandirat64") > > > > > > __attribute__ ((__nonnull__ (2, 3))); > > > > > > > >extern int scandirat64 (int __dfd, const char *__restrict __dir, > struct dirent64 ***__restrict __namelist, > int (*__selector) (const struct dirent64 *), > int (*__cmp) (const struct dirent64 **, > const struct dirent64 **)) > __attribute__ ((__nonnull__ (2, 3))); ># 329 "/usr/include/dirent.h" 3 4 >extern int alphasort (const struct dirent **__e1, const struct dirent **__e2) __asm__ ("" "alphasort64") __attribute__ ((__nothrow__ , __leaf__)) > > > __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); > > > > > > >extern int alphasort64 (const struct dirent64 **__e1, > const struct dirent64 **__e2) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); ># 358 "/usr/include/dirent.h" 3 4 >extern __ssize_t getdirentries (int __fd, char *__restrict __buf, size_t __nbytes, __off64_t *__restrict __basep) __asm__ ("" "getdirentries64") __attribute__ ((__nothrow__ , __leaf__)) > > > > __attribute__ ((__nonnull__ (2, 4))); > > > > > > >extern __ssize_t getdirentries64 (int __fd, char *__restrict __buf, > size_t __nbytes, > __off64_t *__restrict __basep) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); ># 384 "/usr/include/dirent.h" 3 4 >extern int versionsort (const struct dirent **__e1, const struct dirent **__e2) __asm__ ("" "versionsort64") __attribute__ ((__nothrow__ , __leaf__)) > > > > __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); > > > > > > >extern int versionsort64 (const struct dirent64 **__e1, > const struct dirent64 **__e2) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); > > > > ># 17 "include/libbb.h" 2 ># 1 "/usr/include/errno.h" 1 3 4 ># 31 "/usr/include/errno.h" 3 4 > > > > ># 1 "/usr/include/bits/errno.h" 1 3 4 ># 24 "/usr/include/bits/errno.h" 3 4 ># 1 "/usr/include/linux/errno.h" 1 3 4 ># 1 "/usr/include/asm/errno.h" 1 3 4 ># 1 "/usr/include/asm-generic/errno.h" 1 3 4 > > > ># 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 ># 5 "/usr/include/asm-generic/errno.h" 2 3 4 ># 1 "/usr/include/asm/errno.h" 2 3 4 ># 1 "/usr/include/linux/errno.h" 2 3 4 ># 25 "/usr/include/bits/errno.h" 2 3 4 ># 50 "/usr/include/bits/errno.h" 3 4 >extern int *__errno_location (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); ># 36 "/usr/include/errno.h" 2 3 4 ># 54 "/usr/include/errno.h" 3 4 >extern char *program_invocation_name, *program_invocation_short_name; > > > > ># 68 "/usr/include/errno.h" 3 4 >typedef int error_t; ># 18 "include/libbb.h" 2 ># 1 "/usr/include/fcntl.h" 1 3 4 ># 28 "/usr/include/fcntl.h" 3 4 > > > > > > > ># 1 "/usr/include/bits/fcntl.h" 1 3 4 ># 28 "/usr/include/bits/fcntl.h" 3 4 >struct flock > { > short int l_type; > short int l_whence; > > > > > __off64_t l_start; > __off64_t l_len; > > __pid_t l_pid; > }; > > >struct flock64 > { > short int l_type; > short int l_whence; > __off64_t l_start; > __off64_t l_len; > __pid_t l_pid; > }; > > > ># 1 "/usr/include/bits/fcntl-linux.h" 1 3 4 ># 38 "/usr/include/bits/fcntl-linux.h" 3 4 ># 1 "/usr/include/bits/uio.h" 1 3 4 ># 39 "/usr/include/bits/fcntl-linux.h" 2 3 4 ># 241 "/usr/include/bits/fcntl-linux.h" 3 4 >enum __pid_type > { > F_OWNER_TID = 0, > F_OWNER_PID, > F_OWNER_PGRP, > F_OWNER_GID = F_OWNER_PGRP > }; > > >struct f_owner_ex > { > enum __pid_type type; > __pid_t pid; > }; ># 311 "/usr/include/bits/fcntl-linux.h" 3 4 >struct file_handle >{ > unsigned int handle_bytes; > int handle_type; > > unsigned char f_handle[0]; >}; > > > > > > > > > > >extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count) > __attribute__ ((__nothrow__ , __leaf__)); > > > > > > >extern int sync_file_range (int __fd, __off64_t __offset, __off64_t __count, > unsigned int __flags); > > > > > > >extern ssize_t vmsplice (int __fdout, const struct iovec *__iov, > size_t __count, unsigned int __flags); > > > > > >extern ssize_t splice (int __fdin, __off64_t *__offin, int __fdout, > __off64_t *__offout, size_t __len, > unsigned int __flags); > > > > > >extern ssize_t tee (int __fdin, int __fdout, size_t __len, > unsigned int __flags); ># 370 "/usr/include/bits/fcntl-linux.h" 3 4 >extern int fallocate (int __fd, int __mode, __off64_t __offset, __off64_t __len) __asm__ ("" "fallocate64") > > ; > > > > > >extern int fallocate64 (int __fd, int __mode, __off64_t __offset, > __off64_t __len); > > > > >extern int name_to_handle_at (int __dfd, const char *__name, > struct file_handle *__handle, int *__mnt_id, > int __flags) __attribute__ ((__nothrow__ , __leaf__)); > > > > > >extern int open_by_handle_at (int __mountdirfd, struct file_handle *__handle, > int __flags); > > > > ># 54 "/usr/include/bits/fcntl.h" 2 3 4 ># 36 "/usr/include/fcntl.h" 2 3 4 ># 67 "/usr/include/fcntl.h" 3 4 ># 1 "/usr/include/time.h" 1 3 4 ># 68 "/usr/include/fcntl.h" 2 3 4 ># 1 "/usr/include/bits/stat.h" 1 3 4 ># 38 "/usr/include/bits/stat.h" 3 4 >struct stat > { > __dev_t st_dev; > unsigned short int __pad1; > > > > __ino_t __st_ino; > > __mode_t st_mode; > __nlink_t st_nlink; > __uid_t st_uid; > __gid_t st_gid; > __dev_t st_rdev; > unsigned short int __pad2; > > > > __off64_t st_size; > > __blksize_t st_blksize; > > > > > __blkcnt64_t st_blocks; ># 72 "/usr/include/bits/stat.h" 3 4 > struct timespec st_atim; > struct timespec st_mtim; > struct timespec st_ctim; ># 90 "/usr/include/bits/stat.h" 3 4 > __ino64_t st_ino; > > }; > > >struct stat64 > { > __dev_t st_dev; > unsigned int __pad1; > > __ino_t __st_ino; > __mode_t st_mode; > __nlink_t st_nlink; > __uid_t st_uid; > __gid_t st_gid; > __dev_t st_rdev; > unsigned int __pad2; > __off64_t st_size; > __blksize_t st_blksize; > > __blkcnt64_t st_blocks; > > > > > > > > struct timespec st_atim; > struct timespec st_mtim; > struct timespec st_ctim; ># 129 "/usr/include/bits/stat.h" 3 4 > __ino64_t st_ino; > }; ># 69 "/usr/include/fcntl.h" 2 3 4 ># 160 "/usr/include/fcntl.h" 3 4 >extern int fcntl (int __fd, int __cmd, ...); ># 172 "/usr/include/fcntl.h" 3 4 >extern int open (const char *__file, int __oflag, ...) __asm__ ("" "open64") > __attribute__ ((__nonnull__ (1))); > > > > > >extern int open64 (const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (1))); ># 197 "/usr/include/fcntl.h" 3 4 >extern int openat (int __fd, const char *__file, int __oflag, ...) __asm__ ("" "openat64") > __attribute__ ((__nonnull__ (2))); > > > > > >extern int openat64 (int __fd, const char *__file, int __oflag, ...) > __attribute__ ((__nonnull__ (2))); ># 218 "/usr/include/fcntl.h" 3 4 >extern int creat (const char *__file, mode_t __mode) __asm__ ("" "creat64") > __attribute__ ((__nonnull__ (1))); > > > > > >extern int creat64 (const char *__file, mode_t __mode) __attribute__ ((__nonnull__ (1))); ># 265 "/usr/include/fcntl.h" 3 4 >extern int posix_fadvise (int __fd, __off64_t __offset, __off64_t __len, int __advise) __asm__ ("" "posix_fadvise64") __attribute__ ((__nothrow__ , __leaf__)) > > ; > > > > > >extern int posix_fadvise64 (int __fd, off64_t __offset, off64_t __len, > int __advise) __attribute__ ((__nothrow__ , __leaf__)); ># 286 "/usr/include/fcntl.h" 3 4 >extern int posix_fallocate (int __fd, __off64_t __offset, __off64_t __len) __asm__ ("" "posix_fallocate64") > > ; > > > > > >extern int posix_fallocate64 (int __fd, off64_t __offset, off64_t __len); > > > > > > > ># 1 "/usr/include/bits/fcntl2.h" 1 3 4 ># 30 "/usr/include/bits/fcntl2.h" 3 4 >extern int __open_2 (const char *__path, int __oflag) __asm__ ("" "__open64_2") > __attribute__ ((__nonnull__ (1))); >extern int __open_alias (const char *__path, int __oflag, ...) __asm__ ("" "open64") > __attribute__ ((__nonnull__ (1))); > >extern void __open_too_many_args (void) __attribute__((__error__ ("open can be called either with 2 or 3 arguments, not more"))) > ; >extern void __open_missing_mode (void) __attribute__((__error__ ("open with O_CREAT in second argument needs 3 arguments"))) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >open (const char *__path, int __oflag, ...) >{ > if (__builtin_va_arg_pack_len () > 1) > __open_too_many_args (); > > if (__builtin_constant_p (__oflag)) > { > if ((__oflag & 0100) != 0 && __builtin_va_arg_pack_len () < 1) > { > __open_missing_mode (); > return __open_2 (__path, __oflag); > } > return __open_alias (__path, __oflag, __builtin_va_arg_pack ()); > } > > if (__builtin_va_arg_pack_len () < 1) > return __open_2 (__path, __oflag); > > return __open_alias (__path, __oflag, __builtin_va_arg_pack ()); >} > > > >extern int __open64_2 (const char *__path, int __oflag) __attribute__ ((__nonnull__ (1))); >extern int __open64_alias (const char *__path, int __oflag, ...) __asm__ ("" "open64") > __attribute__ ((__nonnull__ (1))); >extern void __open64_too_many_args (void) __attribute__((__error__ ("open64 can be called either with 2 or 3 arguments, not more"))) > ; >extern void __open64_missing_mode (void) __attribute__((__error__ ("open64 with O_CREAT in second argument needs 3 arguments"))) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >open64 (const char *__path, int __oflag, ...) >{ > if (__builtin_va_arg_pack_len () > 1) > __open64_too_many_args (); > > if (__builtin_constant_p (__oflag)) > { > if ((__oflag & 0100) != 0 && __builtin_va_arg_pack_len () < 1) > { > __open64_missing_mode (); > return __open64_2 (__path, __oflag); > } > return __open64_alias (__path, __oflag, __builtin_va_arg_pack ()); > } > > if (__builtin_va_arg_pack_len () < 1) > return __open64_2 (__path, __oflag); > > return __open64_alias (__path, __oflag, __builtin_va_arg_pack ()); >} ># 104 "/usr/include/bits/fcntl2.h" 3 4 >extern int __openat_2 (int __fd, const char *__path, int __oflag) __asm__ ("" "__openat64_2") > > __attribute__ ((__nonnull__ (2))); >extern int __openat_alias (int __fd, const char *__path, int __oflag, ...) __asm__ ("" "openat64") > > __attribute__ ((__nonnull__ (2))); > >extern void __openat_too_many_args (void) __attribute__((__error__ ("openat can be called either with 3 or 4 arguments, not more"))) > ; >extern void __openat_missing_mode (void) __attribute__((__error__ ("openat with O_CREAT in third argument needs 4 arguments"))) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >openat (int __fd, const char *__path, int __oflag, ...) >{ > if (__builtin_va_arg_pack_len () > 1) > __openat_too_many_args (); > > if (__builtin_constant_p (__oflag)) > { > if ((__oflag & 0100) != 0 && __builtin_va_arg_pack_len () < 1) > { > __openat_missing_mode (); > return __openat_2 (__fd, __path, __oflag); > } > return __openat_alias (__fd, __path, __oflag, __builtin_va_arg_pack ()); > } > > if (__builtin_va_arg_pack_len () < 1) > return __openat_2 (__fd, __path, __oflag); > > return __openat_alias (__fd, __path, __oflag, __builtin_va_arg_pack ()); >} > > > >extern int __openat64_2 (int __fd, const char *__path, int __oflag) > __attribute__ ((__nonnull__ (2))); >extern int __openat64_alias (int __fd, const char *__path, int __oflag, ...) __asm__ ("" "openat64") > > __attribute__ ((__nonnull__ (2))); >extern void __openat64_too_many_args (void) __attribute__((__error__ ("openat64 can be called either with 3 or 4 arguments, not more"))) > ; >extern void __openat64_missing_mode (void) __attribute__((__error__ ("openat64 with O_CREAT in third argument needs 4 arguments"))) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >openat64 (int __fd, const char *__path, int __oflag, ...) >{ > if (__builtin_va_arg_pack_len () > 1) > __openat64_too_many_args (); > > if (__builtin_constant_p (__oflag)) > { > if ((__oflag & 0100) != 0 && __builtin_va_arg_pack_len () < 1) > { > __openat64_missing_mode (); > return __openat64_2 (__fd, __path, __oflag); > } > return __openat64_alias (__fd, __path, __oflag, __builtin_va_arg_pack ()); > } > > if (__builtin_va_arg_pack_len () < 1) > return __openat64_2 (__fd, __path, __oflag); > > return __openat64_alias (__fd, __path, __oflag, __builtin_va_arg_pack ()); >} ># 303 "/usr/include/fcntl.h" 2 3 4 > > > ># 19 "include/libbb.h" 2 ># 1 "/usr/include/inttypes.h" 1 3 4 ># 34 "/usr/include/inttypes.h" 3 4 >typedef unsigned int __gwchar_t; ># 266 "/usr/include/inttypes.h" 3 4 > ># 280 "/usr/include/inttypes.h" 3 4 >typedef struct > { > __extension__ long long int quot; > __extension__ long long int rem; > } imaxdiv_t; > > > > > >extern intmax_t imaxabs (intmax_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); > > >extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); > > >extern intmax_t strtoimax (const char *__restrict __nptr, > char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); > > >extern uintmax_t strtoumax (const char *__restrict __nptr, > char ** __restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); > > >extern intmax_t wcstoimax (const __gwchar_t *__restrict __nptr, > __gwchar_t **__restrict __endptr, int __base) > __attribute__ ((__nothrow__ , __leaf__)); > > >extern uintmax_t wcstoumax (const __gwchar_t *__restrict __nptr, > __gwchar_t ** __restrict __endptr, int __base) > __attribute__ ((__nothrow__ , __leaf__)); ># 370 "/usr/include/inttypes.h" 3 4 >__extension__ >extern long long int __strtoll_internal (const char *__restrict __nptr, > char **__restrict __endptr, > int __base, int __group) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > >extern __inline __attribute__ ((__gnu_inline__)) intmax_t >__attribute__ ((__nothrow__ , __leaf__)) strtoimax (const char *__restrict nptr, char **__restrict endptr, int base) > >{ > return __strtoll_internal (nptr, endptr, base, 0); >} > >__extension__ >extern unsigned long long int __strtoull_internal (const char * > __restrict __nptr, > char ** > __restrict __endptr, > int __base, > int __group) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > >extern __inline __attribute__ ((__gnu_inline__)) uintmax_t >__attribute__ ((__nothrow__ , __leaf__)) strtoumax (const char *__restrict nptr, char **__restrict endptr, int base) > >{ > return __strtoull_internal (nptr, endptr, base, 0); >} > >__extension__ >extern long long int __wcstoll_internal (const __gwchar_t *__restrict __nptr, > __gwchar_t **__restrict __endptr, > int __base, int __group) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > >extern __inline __attribute__ ((__gnu_inline__)) intmax_t >__attribute__ ((__nothrow__ , __leaf__)) wcstoimax (const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, int base) > >{ > return __wcstoll_internal (nptr, endptr, base, 0); >} > > >__extension__ >extern unsigned long long int __wcstoull_internal (const __gwchar_t * > __restrict __nptr, > __gwchar_t ** > __restrict __endptr, > int __base, > int __group) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > >extern __inline __attribute__ ((__gnu_inline__)) uintmax_t >__attribute__ ((__nothrow__ , __leaf__)) wcstoumax (const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, int base) > >{ > return __wcstoull_internal (nptr, endptr, base, 0); >} > > > > > ># 20 "include/libbb.h" 2 ># 1 "/usr/include/netdb.h" 1 3 4 ># 27 "/usr/include/netdb.h" 3 4 ># 1 "/usr/include/netinet/in.h" 1 3 4 ># 27 "/usr/include/netinet/in.h" 3 4 > > > >typedef uint32_t in_addr_t; >struct in_addr > { > in_addr_t s_addr; > }; > > ># 1 "/usr/include/bits/in.h" 1 3 4 ># 112 "/usr/include/bits/in.h" 3 4 >struct ip_opts > { > struct in_addr ip_dst; > char ip_opts[40]; > }; > > >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; > }; ># 38 "/usr/include/netinet/in.h" 2 3 4 > > >enum > { > IPPROTO_IP = 0, > > IPPROTO_ICMP = 1, > > IPPROTO_IGMP = 2, > > IPPROTO_IPIP = 4, > > IPPROTO_TCP = 6, > > IPPROTO_EGP = 8, > > IPPROTO_PUP = 12, > > IPPROTO_UDP = 17, > > IPPROTO_IDP = 22, > > IPPROTO_TP = 29, > > IPPROTO_DCCP = 33, > > IPPROTO_IPV6 = 41, > > IPPROTO_RSVP = 46, > > IPPROTO_GRE = 47, > > IPPROTO_ESP = 50, > > IPPROTO_AH = 51, > > IPPROTO_MTP = 92, > > IPPROTO_BEETPH = 94, > > IPPROTO_ENCAP = 98, > > IPPROTO_PIM = 103, > > IPPROTO_COMP = 108, > > IPPROTO_SCTP = 132, > > IPPROTO_UDPLITE = 136, > > IPPROTO_RAW = 255, > > IPPROTO_MAX > }; > > > > > >enum > { > IPPROTO_HOPOPTS = 0, > > IPPROTO_ROUTING = 43, > > IPPROTO_FRAGMENT = 44, > > IPPROTO_ICMPV6 = 58, > > IPPROTO_NONE = 59, > > IPPROTO_DSTOPTS = 60, > > IPPROTO_MH = 135 > > }; > > > >typedef uint16_t in_port_t; > > >enum > { > IPPORT_ECHO = 7, > IPPORT_DISCARD = 9, > IPPORT_SYSTAT = 11, > IPPORT_DAYTIME = 13, > IPPORT_NETSTAT = 15, > IPPORT_FTP = 21, > IPPORT_TELNET = 23, > IPPORT_SMTP = 25, > IPPORT_TIMESERVER = 37, > IPPORT_NAMESERVER = 42, > IPPORT_WHOIS = 43, > IPPORT_MTP = 57, > > IPPORT_TFTP = 69, > IPPORT_RJE = 77, > IPPORT_FINGER = 79, > IPPORT_TTYLINK = 87, > IPPORT_SUPDUP = 95, > > > IPPORT_EXECSERVER = 512, > IPPORT_LOGINSERVER = 513, > IPPORT_CMDSERVER = 514, > IPPORT_EFSSERVER = 520, > > > IPPORT_BIFFUDP = 512, > IPPORT_WHOSERVER = 513, > IPPORT_ROUTESERVER = 520, > > > IPPORT_RESERVED = 1024, > > > IPPORT_USERRESERVED = 5000 > }; ># 209 "/usr/include/netinet/in.h" 3 4 >struct in6_addr > { > union > { > uint8_t __u6_addr8[16]; > > uint16_t __u6_addr16[8]; > uint32_t __u6_addr32[4]; > > } __in6_u; > > > > > > }; > > >extern const struct in6_addr in6addr_any; >extern const struct in6_addr in6addr_loopback; ># 237 "/usr/include/netinet/in.h" 3 4 >struct sockaddr_in > { > sa_family_t sin_family; > in_port_t sin_port; > struct in_addr sin_addr; > > > unsigned char sin_zero[sizeof (struct sockaddr) - > (sizeof (unsigned short int)) - > sizeof (in_port_t) - > sizeof (struct in_addr)]; > }; > > > >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 ip_mreq > { > > struct in_addr imr_multiaddr; > > > struct in_addr imr_interface; > }; > >struct ip_mreq_source > { > > struct in_addr imr_multiaddr; > > > struct in_addr imr_interface; > > > struct in_addr imr_sourceaddr; > }; > > > > >struct ipv6_mreq > { > > struct in6_addr ipv6mr_multiaddr; > > > unsigned int ipv6mr_interface; > }; > > > > >struct group_req > { > > uint32_t gr_interface; > > > struct sockaddr_storage gr_group; > }; > >struct group_source_req > { > > uint32_t gsr_interface; > > > struct sockaddr_storage gsr_group; > > > struct sockaddr_storage gsr_source; > }; > > > >struct ip_msfilter > { > > struct in_addr imsf_multiaddr; > > > struct in_addr imsf_interface; > > > uint32_t imsf_fmode; > > > uint32_t imsf_numsrc; > > struct in_addr imsf_slist[1]; > }; > > > > > >struct group_filter > { > > uint32_t gf_interface; > > > struct sockaddr_storage gf_group; > > > uint32_t gf_fmode; > > > uint32_t gf_numsrc; > > struct sockaddr_storage gf_slist[1]; >}; ># 374 "/usr/include/netinet/in.h" 3 4 >extern uint32_t ntohl (uint32_t __netlong) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); >extern uint16_t ntohs (uint16_t __netshort) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); >extern uint32_t htonl (uint32_t __hostlong) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); >extern uint16_t htons (uint16_t __hostshort) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); > > > > ># 1 "/usr/include/bits/byteswap.h" 1 3 4 ># 386 "/usr/include/netinet/in.h" 2 3 4 ># 501 "/usr/include/netinet/in.h" 3 4 >extern int bindresvport (int __sockfd, struct sockaddr_in *__sock_in) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int bindresvport6 (int __sockfd, struct sockaddr_in6 *__sock_in) > __attribute__ ((__nothrow__ , __leaf__)); ># 531 "/usr/include/netinet/in.h" 3 4 >struct cmsghdr; > > >struct in6_pktinfo > { > struct in6_addr ipi6_addr; > unsigned int ipi6_ifindex; > }; > > >struct ip6_mtuinfo > { > struct sockaddr_in6 ip6m_addr; > uint32_t ip6m_mtu; > }; > > > >extern int inet6_option_space (int __nbytes) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); >extern int inet6_option_init (void *__bp, struct cmsghdr **__cmsgp, > int __type) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); >extern int inet6_option_append (struct cmsghdr *__cmsg, > const uint8_t *__typep, int __multx, > int __plusy) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); >extern uint8_t *inet6_option_alloc (struct cmsghdr *__cmsg, int __datalen, > int __multx, int __plusy) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); >extern int inet6_option_next (const struct cmsghdr *__cmsg, > uint8_t **__tptrp) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); >extern int inet6_option_find (const struct cmsghdr *__cmsg, > uint8_t **__tptrp, int __type) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); > > > >extern int inet6_opt_init (void *__extbuf, socklen_t __extlen) __attribute__ ((__nothrow__ , __leaf__)); >extern int inet6_opt_append (void *__extbuf, socklen_t __extlen, int __offset, > uint8_t __type, socklen_t __len, uint8_t __align, > void **__databufp) __attribute__ ((__nothrow__ , __leaf__)); >extern int inet6_opt_finish (void *__extbuf, socklen_t __extlen, int __offset) > __attribute__ ((__nothrow__ , __leaf__)); >extern int inet6_opt_set_val (void *__databuf, int __offset, void *__val, > socklen_t __vallen) __attribute__ ((__nothrow__ , __leaf__)); >extern int inet6_opt_next (void *__extbuf, socklen_t __extlen, int __offset, > uint8_t *__typep, socklen_t *__lenp, > void **__databufp) __attribute__ ((__nothrow__ , __leaf__)); >extern int inet6_opt_find (void *__extbuf, socklen_t __extlen, int __offset, > uint8_t __type, socklen_t *__lenp, > void **__databufp) __attribute__ ((__nothrow__ , __leaf__)); >extern int inet6_opt_get_val (void *__databuf, int __offset, void *__val, > socklen_t __vallen) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern socklen_t inet6_rth_space (int __type, int __segments) __attribute__ ((__nothrow__ , __leaf__)); >extern void *inet6_rth_init (void *__bp, socklen_t __bp_len, int __type, > int __segments) __attribute__ ((__nothrow__ , __leaf__)); >extern int inet6_rth_add (void *__bp, const struct in6_addr *__addr) __attribute__ ((__nothrow__ , __leaf__)); >extern int inet6_rth_reverse (const void *__in, void *__out) __attribute__ ((__nothrow__ , __leaf__)); >extern int inet6_rth_segments (const void *__bp) __attribute__ ((__nothrow__ , __leaf__)); >extern struct in6_addr *inet6_rth_getaddr (const void *__bp, int __index) > __attribute__ ((__nothrow__ , __leaf__)); > > > > > >extern int getipv4sourcefilter (int __s, struct in_addr __interface_addr, > struct in_addr __group, uint32_t *__fmode, > uint32_t *__numsrc, struct in_addr *__slist) > __attribute__ ((__nothrow__ , __leaf__)); > > >extern int setipv4sourcefilter (int __s, struct in_addr __interface_addr, > struct in_addr __group, uint32_t __fmode, > uint32_t __numsrc, > const struct in_addr *__slist) > __attribute__ ((__nothrow__ , __leaf__)); > > > >extern int getsourcefilter (int __s, uint32_t __interface_addr, > const struct sockaddr *__group, > socklen_t __grouplen, uint32_t *__fmode, > uint32_t *__numsrc, > struct sockaddr_storage *__slist) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int setsourcefilter (int __s, uint32_t __interface_addr, > const struct sockaddr *__group, > socklen_t __grouplen, uint32_t __fmode, > uint32_t __numsrc, > const struct sockaddr_storage *__slist) __attribute__ ((__nothrow__ , __leaf__)); > > > ># 28 "/usr/include/netdb.h" 2 3 4 > > > > ># 1 "/usr/include/rpc/netdb.h" 1 3 4 ># 42 "/usr/include/rpc/netdb.h" 3 4 ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 1 3 4 ># 43 "/usr/include/rpc/netdb.h" 2 3 4 > > > >struct rpcent >{ > char *r_name; > char **r_aliases; > int r_number; >}; > >extern void setrpcent (int __stayopen) __attribute__ ((__nothrow__ , __leaf__)); >extern void endrpcent (void) __attribute__ ((__nothrow__ , __leaf__)); >extern struct rpcent *getrpcbyname (const char *__name) __attribute__ ((__nothrow__ , __leaf__)); >extern struct rpcent *getrpcbynumber (int __number) __attribute__ ((__nothrow__ , __leaf__)); >extern struct rpcent *getrpcent (void) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int getrpcbyname_r (const char *__name, struct rpcent *__result_buf, > char *__buffer, size_t __buflen, > struct rpcent **__result) __attribute__ ((__nothrow__ , __leaf__)); > >extern int getrpcbynumber_r (int __number, struct rpcent *__result_buf, > char *__buffer, size_t __buflen, > struct rpcent **__result) __attribute__ ((__nothrow__ , __leaf__)); > >extern int getrpcent_r (struct rpcent *__result_buf, char *__buffer, > size_t __buflen, struct rpcent **__result) __attribute__ ((__nothrow__ , __leaf__)); > > > ># 33 "/usr/include/netdb.h" 2 3 4 > > > > ># 1 "/usr/include/bits/siginfo.h" 1 3 4 ># 24 "/usr/include/bits/siginfo.h" 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 25 "/usr/include/bits/siginfo.h" 2 3 4 > > > > > > > >typedef union sigval > { > int sival_int; > void *sival_ptr; > } sigval_t; ># 295 "/usr/include/bits/siginfo.h" 3 4 >typedef struct sigevent > { > sigval_t sigev_value; > int sigev_signo; > int sigev_notify; > > union > { > int _pad[((64 / sizeof (int)) - 3)]; > > > > __pid_t _tid; > > struct > { > void (*_function) (sigval_t); > pthread_attr_t *_attribute; > } _sigev_thread; > } _sigev_un; > } sigevent_t; > > > > > > >enum >{ > SIGEV_SIGNAL = 0, > > SIGEV_NONE, > > SIGEV_THREAD, > > > SIGEV_THREAD_ID = 4 > >}; ># 38 "/usr/include/netdb.h" 2 3 4 > ># 1 "/usr/include/time.h" 1 3 4 ># 40 "/usr/include/netdb.h" 2 3 4 > > ># 1 "/usr/include/bits/netdb.h" 1 3 4 ># 26 "/usr/include/bits/netdb.h" 3 4 >struct netent >{ > char *n_name; > char **n_aliases; > int n_addrtype; > uint32_t n_net; >}; ># 43 "/usr/include/netdb.h" 2 3 4 ># 53 "/usr/include/netdb.h" 3 4 > > > > > > > > >extern int *__h_errno_location (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); ># 92 "/usr/include/netdb.h" 3 4 >extern void herror (const char *__str) __attribute__ ((__nothrow__ , __leaf__)); > > >extern const char *hstrerror (int __err_num) __attribute__ ((__nothrow__ , __leaf__)); > > > > >struct hostent >{ > char *h_name; > char **h_aliases; > int h_addrtype; > int h_length; > char **h_addr_list; > > > >}; > > > > > > >extern void sethostent (int __stay_open); > > > > > >extern void endhostent (void); > > > > > > >extern struct hostent *gethostent (void); > > > > > > >extern struct hostent *gethostbyaddr (const void *__addr, __socklen_t __len, > int __type); > > > > > >extern struct hostent *gethostbyname (const char *__name); ># 155 "/usr/include/netdb.h" 3 4 >extern struct hostent *gethostbyname2 (const char *__name, int __af); ># 167 "/usr/include/netdb.h" 3 4 >extern int gethostent_r (struct hostent *__restrict __result_buf, > char *__restrict __buf, size_t __buflen, > struct hostent **__restrict __result, > int *__restrict __h_errnop); > >extern int gethostbyaddr_r (const void *__restrict __addr, __socklen_t __len, > int __type, > struct hostent *__restrict __result_buf, > char *__restrict __buf, size_t __buflen, > struct hostent **__restrict __result, > int *__restrict __h_errnop); > >extern int gethostbyname_r (const char *__restrict __name, > struct hostent *__restrict __result_buf, > char *__restrict __buf, size_t __buflen, > struct hostent **__restrict __result, > int *__restrict __h_errnop); > >extern int gethostbyname2_r (const char *__restrict __name, int __af, > struct hostent *__restrict __result_buf, > char *__restrict __buf, size_t __buflen, > struct hostent **__restrict __result, > int *__restrict __h_errnop); ># 198 "/usr/include/netdb.h" 3 4 >extern void setnetent (int __stay_open); > > > > > >extern void endnetent (void); > > > > > > >extern struct netent *getnetent (void); > > > > > > >extern struct netent *getnetbyaddr (uint32_t __net, int __type); > > > > > >extern struct netent *getnetbyname (const char *__name); ># 237 "/usr/include/netdb.h" 3 4 >extern int getnetent_r (struct netent *__restrict __result_buf, > char *__restrict __buf, size_t __buflen, > struct netent **__restrict __result, > int *__restrict __h_errnop); > >extern int getnetbyaddr_r (uint32_t __net, int __type, > struct netent *__restrict __result_buf, > char *__restrict __buf, size_t __buflen, > struct netent **__restrict __result, > int *__restrict __h_errnop); > >extern int getnetbyname_r (const char *__restrict __name, > struct netent *__restrict __result_buf, > char *__restrict __buf, size_t __buflen, > struct netent **__restrict __result, > int *__restrict __h_errnop); > > > > >struct servent >{ > char *s_name; > char **s_aliases; > int s_port; > char *s_proto; >}; > > > > > > >extern void setservent (int __stay_open); > > > > > >extern void endservent (void); > > > > > > >extern struct servent *getservent (void); > > > > > > >extern struct servent *getservbyname (const char *__name, const char *__proto); > > > > > > >extern struct servent *getservbyport (int __port, const char *__proto); ># 308 "/usr/include/netdb.h" 3 4 >extern int getservent_r (struct servent *__restrict __result_buf, > char *__restrict __buf, size_t __buflen, > struct servent **__restrict __result); > >extern int getservbyname_r (const char *__restrict __name, > const char *__restrict __proto, > struct servent *__restrict __result_buf, > char *__restrict __buf, size_t __buflen, > struct servent **__restrict __result); > >extern int getservbyport_r (int __port, const char *__restrict __proto, > struct servent *__restrict __result_buf, > char *__restrict __buf, size_t __buflen, > struct servent **__restrict __result); > > > > >struct protoent >{ > char *p_name; > char **p_aliases; > int p_proto; >}; > > > > > > >extern void setprotoent (int __stay_open); > > > > > >extern void endprotoent (void); > > > > > > >extern struct protoent *getprotoent (void); > > > > > >extern struct protoent *getprotobyname (const char *__name); > > > > > >extern struct protoent *getprotobynumber (int __proto); ># 374 "/usr/include/netdb.h" 3 4 >extern int getprotoent_r (struct protoent *__restrict __result_buf, > char *__restrict __buf, size_t __buflen, > struct protoent **__restrict __result); > >extern int getprotobyname_r (const char *__restrict __name, > struct protoent *__restrict __result_buf, > char *__restrict __buf, size_t __buflen, > struct protoent **__restrict __result); > >extern int getprotobynumber_r (int __proto, > struct protoent *__restrict __result_buf, > char *__restrict __buf, size_t __buflen, > struct protoent **__restrict __result); ># 395 "/usr/include/netdb.h" 3 4 >extern int setnetgrent (const char *__netgroup); > > > > > > > >extern void endnetgrent (void); ># 412 "/usr/include/netdb.h" 3 4 >extern int getnetgrent (char **__restrict __hostp, > char **__restrict __userp, > char **__restrict __domainp); ># 423 "/usr/include/netdb.h" 3 4 >extern int innetgr (const char *__netgroup, const char *__host, > const char *__user, const char *__domain); > > > > > > > >extern int getnetgrent_r (char **__restrict __hostp, > char **__restrict __userp, > char **__restrict __domainp, > char *__restrict __buffer, size_t __buflen); ># 451 "/usr/include/netdb.h" 3 4 >extern int rcmd (char **__restrict __ahost, unsigned short int __rport, > const char *__restrict __locuser, > const char *__restrict __remuser, > const char *__restrict __cmd, int *__restrict __fd2p); ># 463 "/usr/include/netdb.h" 3 4 >extern int rcmd_af (char **__restrict __ahost, unsigned short int __rport, > const char *__restrict __locuser, > const char *__restrict __remuser, > const char *__restrict __cmd, int *__restrict __fd2p, > sa_family_t __af); ># 479 "/usr/include/netdb.h" 3 4 >extern int rexec (char **__restrict __ahost, int __rport, > const char *__restrict __name, > const char *__restrict __pass, > const char *__restrict __cmd, int *__restrict __fd2p); ># 491 "/usr/include/netdb.h" 3 4 >extern int rexec_af (char **__restrict __ahost, int __rport, > const char *__restrict __name, > const char *__restrict __pass, > const char *__restrict __cmd, int *__restrict __fd2p, > sa_family_t __af); ># 505 "/usr/include/netdb.h" 3 4 >extern int ruserok (const char *__rhost, int __suser, > const char *__remuser, const char *__locuser); ># 515 "/usr/include/netdb.h" 3 4 >extern int ruserok_af (const char *__rhost, int __suser, > const char *__remuser, const char *__locuser, > sa_family_t __af); ># 528 "/usr/include/netdb.h" 3 4 >extern int iruserok (uint32_t __raddr, int __suser, > const char *__remuser, const char *__locuser); ># 539 "/usr/include/netdb.h" 3 4 >extern int iruserok_af (const void *__raddr, int __suser, > const char *__remuser, const char *__locuser, > sa_family_t __af); ># 551 "/usr/include/netdb.h" 3 4 >extern int rresvport (int *__alport); ># 560 "/usr/include/netdb.h" 3 4 >extern int rresvport_af (int *__alport, sa_family_t __af); > > > > > > >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; >}; > > > >struct gaicb >{ > const char *ar_name; > const char *ar_service; > const struct addrinfo *ar_request; > struct addrinfo *ar_result; > > int __return; > int __glibc_reserved[5]; >}; ># 662 "/usr/include/netdb.h" 3 4 >extern int getaddrinfo (const char *__restrict __name, > const char *__restrict __service, > const struct addrinfo *__restrict __req, > struct addrinfo **__restrict __pai); > > >extern void freeaddrinfo (struct addrinfo *__ai) __attribute__ ((__nothrow__ , __leaf__)); > > >extern const char *gai_strerror (int __ecode) __attribute__ ((__nothrow__ , __leaf__)); > > > > > >extern int getnameinfo (const struct sockaddr *__restrict __sa, > socklen_t __salen, char *__restrict __host, > socklen_t __hostlen, char *__restrict __serv, > socklen_t __servlen, int __flags); ># 692 "/usr/include/netdb.h" 3 4 >extern int getaddrinfo_a (int __mode, struct gaicb *__list[__restrict], > int __ent, struct sigevent *__restrict __sig); ># 703 "/usr/include/netdb.h" 3 4 >extern int gai_suspend (const struct gaicb *const __list[], int __ent, > const struct timespec *__timeout); > > >extern int gai_error (struct gaicb *__req) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int gai_cancel (struct gaicb *__gaicbp) __attribute__ ((__nothrow__ , __leaf__)); > > > ># 21 "include/libbb.h" 2 ># 1 "/usr/include/setjmp.h" 1 3 4 ># 27 "/usr/include/setjmp.h" 3 4 > > ># 1 "/usr/include/bits/setjmp.h" 1 3 4 ># 34 "/usr/include/bits/setjmp.h" 3 4 >typedef int __jmp_buf[64] __attribute__((__aligned__ (8))); ># 30 "/usr/include/setjmp.h" 2 3 4 ># 1 "/usr/include/bits/sigset.h" 1 3 4 ># 31 "/usr/include/setjmp.h" 2 3 4 > > > >struct __jmp_buf_tag > { > > > > > __jmp_buf __jmpbuf; > int __mask_was_saved; > __sigset_t __saved_mask; > }; > > > > >typedef struct __jmp_buf_tag jmp_buf[1]; > > > >extern int setjmp (jmp_buf __env) __attribute__ ((__nothrow__)); > > > > > > >extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __attribute__ ((__nothrow__)); > > > >extern int _setjmp (struct __jmp_buf_tag __env[1]) __attribute__ ((__nothrow__)); > > > > > > > > > > >extern void longjmp (struct __jmp_buf_tag __env[1], int __val) > __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); > > > > > > > >extern void _longjmp (struct __jmp_buf_tag __env[1], int __val) > __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); > > > > > > > >typedef struct __jmp_buf_tag sigjmp_buf[1]; ># 102 "/usr/include/setjmp.h" 3 4 >extern void siglongjmp (sigjmp_buf __env, int __val) > __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); > > > > > ># 1 "/usr/include/bits/setjmp2.h" 1 3 4 ># 25 "/usr/include/bits/setjmp2.h" 3 4 >extern void longjmp (struct __jmp_buf_tag __env[1], int __val) __asm__ ("" "__longjmp_chk") __attribute__ ((__nothrow__)) > > __attribute__ ((__noreturn__)); >extern void _longjmp (struct __jmp_buf_tag __env[1], int __val) __asm__ ("" "__longjmp_chk") __attribute__ ((__nothrow__)) > > __attribute__ ((__noreturn__)); >extern void siglongjmp (struct __jmp_buf_tag __env[1], int __val) __asm__ ("" "__longjmp_chk") __attribute__ ((__nothrow__)) > > __attribute__ ((__noreturn__)); ># 110 "/usr/include/setjmp.h" 2 3 4 > > > ># 22 "include/libbb.h" 2 ># 1 "/usr/include/signal.h" 1 3 4 ># 30 "/usr/include/signal.h" 3 4 > > ># 1 "/usr/include/bits/sigset.h" 1 3 4 ># 102 "/usr/include/bits/sigset.h" 3 4 >extern int __sigismember (const __sigset_t *, int); >extern int __sigaddset (__sigset_t *, int); >extern int __sigdelset (__sigset_t *, int); ># 116 "/usr/include/bits/sigset.h" 3 4 >extern __inline __attribute__ ((__gnu_inline__)) int __sigismember (const __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return (__set->__val[__word] & __mask) ? 1 : 0; } >extern __inline __attribute__ ((__gnu_inline__)) int __sigaddset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] |= __mask), 0); } >extern __inline __attribute__ ((__gnu_inline__)) int __sigdelset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] &= ~__mask), 0); } ># 33 "/usr/include/signal.h" 2 3 4 > > > > > > > >typedef __sig_atomic_t sig_atomic_t; > ># 57 "/usr/include/signal.h" 3 4 ># 1 "/usr/include/bits/signum.h" 1 3 4 ># 58 "/usr/include/signal.h" 2 3 4 ># 75 "/usr/include/signal.h" 3 4 ># 1 "/usr/include/time.h" 1 3 4 ># 76 "/usr/include/signal.h" 2 3 4 > > > > ># 1 "/usr/include/bits/siginfo.h" 1 3 4 ># 24 "/usr/include/bits/siginfo.h" 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 25 "/usr/include/bits/siginfo.h" 2 3 4 ># 50 "/usr/include/bits/siginfo.h" 3 4 >typedef struct > { > int si_signo; > int si_errno; > > int si_code; > > union > { > int _pad[((128 / sizeof (int)) - 3)]; > > > struct > { > __pid_t si_pid; > __uid_t si_uid; > } _kill; > > > struct > { > int si_tid; > int si_overrun; > sigval_t si_sigval; > } _timer; > > > struct > { > __pid_t si_pid; > __uid_t si_uid; > sigval_t si_sigval; > } _rt; > > > struct > { > __pid_t si_pid; > __uid_t si_uid; > int si_status; > __clock_t si_utime; > __clock_t si_stime; > } _sigchld; > > > struct > { > void *si_addr; > short int si_addr_lsb; > } _sigfault; > > > struct > { > long int si_band; > int si_fd; > } _sigpoll; > > > struct > { > void *_call_addr; > int _syscall; > unsigned int _arch; > } _sigsys; > } _sifields; > } siginfo_t; ># 141 "/usr/include/bits/siginfo.h" 3 4 >enum >{ > SI_ASYNCNL = -60, > > SI_TKILL = -6, > > SI_SIGIO, > > SI_ASYNCIO, > > SI_MESGQ, > > SI_TIMER, > > SI_QUEUE, > > SI_USER, > > SI_KERNEL = 0x80 > >}; > > > >enum >{ > ILL_ILLOPC = 1, > > ILL_ILLOPN, > > ILL_ILLADR, > > ILL_ILLTRP, > > ILL_PRVOPC, > > ILL_PRVREG, > > ILL_COPROC, > > ILL_BADSTK > >}; > > >enum >{ > FPE_INTDIV = 1, > > FPE_INTOVF, > > FPE_FLTDIV, > > FPE_FLTOVF, > > FPE_FLTUND, > > FPE_FLTRES, > > FPE_FLTINV, > > FPE_FLTSUB > >}; > > >enum >{ > SEGV_MAPERR = 1, > > SEGV_ACCERR > >}; > > >enum >{ > BUS_ADRALN = 1, > > BUS_ADRERR, > > BUS_OBJERR, > > BUS_MCEERR_AR, > > BUS_MCEERR_AO > >}; > > >enum >{ > TRAP_BRKPT = 1, > > TRAP_TRACE > >}; > > >enum >{ > CLD_EXITED = 1, > > CLD_KILLED, > > CLD_DUMPED, > > CLD_TRAPPED, > > CLD_STOPPED, > > CLD_CONTINUED > >}; > > >enum >{ > POLL_IN = 1, > > POLL_OUT, > > POLL_MSG, > > POLL_ERR, > > POLL_PRI, > > POLL_HUP > >}; ># 81 "/usr/include/signal.h" 2 3 4 > > > > >typedef void (*__sighandler_t) (int); > > > > >extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler) > __attribute__ ((__nothrow__ , __leaf__)); > >extern __sighandler_t sysv_signal (int __sig, __sighandler_t __handler) > __attribute__ ((__nothrow__ , __leaf__)); > > > > > > > >extern __sighandler_t signal (int __sig, __sighandler_t __handler) > __attribute__ ((__nothrow__ , __leaf__)); ># 114 "/usr/include/signal.h" 3 4 > > > > > >extern __sighandler_t bsd_signal (int __sig, __sighandler_t __handler) > __attribute__ ((__nothrow__ , __leaf__)); > > > > > > >extern int kill (__pid_t __pid, int __sig) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > >extern int killpg (__pid_t __pgrp, int __sig) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern int raise (int __sig) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern __sighandler_t ssignal (int __sig, __sighandler_t __handler) > __attribute__ ((__nothrow__ , __leaf__)); >extern int gsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern void psignal (int __sig, const char *__s); > > > > >extern void psiginfo (const siginfo_t *__pinfo, const char *__s); ># 167 "/usr/include/signal.h" 3 4 >extern int __sigpause (int __sig_or_mask, int __is_sig); > > > >extern int sigpause (int __sig) __asm__ ("__xpg_sigpause"); ># 189 "/usr/include/signal.h" 3 4 >extern int sigblock (int __mask) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); > > >extern int sigsetmask (int __mask) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); > > >extern int siggetmask (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); ># 204 "/usr/include/signal.h" 3 4 >typedef __sighandler_t sighandler_t; > > > > >typedef __sighandler_t sig_t; > > > > > >extern int sigemptyset (sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > >extern int sigfillset (sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > >extern int sigaddset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > >extern int sigdelset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > >extern int sigismember (const sigset_t *__set, int __signo) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > >extern int sigisemptyset (const sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > >extern int sigandset (sigset_t *__set, const sigset_t *__left, > const sigset_t *__right) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))); > > >extern int sigorset (sigset_t *__set, const sigset_t *__left, > const sigset_t *__right) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))); > > > > ># 1 "/usr/include/bits/sigaction.h" 1 3 4 ># 24 "/usr/include/bits/sigaction.h" 3 4 >struct sigaction > { > > > union > { > > __sighandler_t sa_handler; > > void (*sa_sigaction) (int, siginfo_t *, void *); > } > __sigaction_handler; > > > > > > > > __sigset_t sa_mask; > > > int sa_flags; > > > void (*sa_restorer) (void); > }; ># 246 "/usr/include/signal.h" 2 3 4 > > >extern int sigprocmask (int __how, const sigset_t *__restrict __set, > sigset_t *__restrict __oset) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > >extern int sigsuspend (const sigset_t *__set) __attribute__ ((__nonnull__ (1))); > > >extern int sigaction (int __sig, const struct sigaction *__restrict __act, > struct sigaction *__restrict __oact) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int sigpending (sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > > > >extern int sigwait (const sigset_t *__restrict __set, int *__restrict __sig) > __attribute__ ((__nonnull__ (1, 2))); > > > > > > >extern int sigwaitinfo (const sigset_t *__restrict __set, > siginfo_t *__restrict __info) __attribute__ ((__nonnull__ (1))); > > > > > > >extern int sigtimedwait (const sigset_t *__restrict __set, > siginfo_t *__restrict __info, > const struct timespec *__restrict __timeout) > __attribute__ ((__nonnull__ (1))); > > > >extern int sigqueue (__pid_t __pid, int __sig, const union sigval __val) > __attribute__ ((__nothrow__ , __leaf__)); ># 303 "/usr/include/signal.h" 3 4 >extern const char *const _sys_siglist[65]; >extern const char *const sys_siglist[65]; > > >struct sigvec > { > __sighandler_t sv_handler; > int sv_mask; > > int sv_flags; > > }; ># 327 "/usr/include/signal.h" 3 4 >extern int sigvec (int __sig, const struct sigvec *__vec, > struct sigvec *__ovec) __attribute__ ((__nothrow__ , __leaf__)); > > > ># 1 "/usr/include/bits/sigcontext.h" 1 3 4 ># 27 "/usr/include/bits/sigcontext.h" 3 4 ># 1 "/usr/include/asm/sigcontext.h" 1 3 4 ># 9 "/usr/include/asm/sigcontext.h" 3 4 >struct sigcontext { > unsigned long trap_no; > unsigned long error_code; > unsigned long oldmask; > unsigned long arm_r0; > unsigned long arm_r1; > unsigned long arm_r2; > unsigned long arm_r3; > unsigned long arm_r4; > unsigned long arm_r5; > unsigned long arm_r6; > unsigned long arm_r7; > unsigned long arm_r8; > unsigned long arm_r9; > unsigned long arm_r10; > unsigned long arm_fp; > unsigned long arm_ip; > unsigned long arm_sp; > unsigned long arm_lr; > unsigned long arm_pc; > unsigned long arm_cpsr; > unsigned long fault_address; >}; ># 28 "/usr/include/bits/sigcontext.h" 2 3 4 > > > ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 1 3 4 ># 32 "/usr/include/bits/sigcontext.h" 2 3 4 ># 333 "/usr/include/signal.h" 2 3 4 > > >extern int sigreturn (struct sigcontext *__scp) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 1 3 4 ># 343 "/usr/include/signal.h" 2 3 4 > > > > >extern int siginterrupt (int __sig, int __interrupt) __attribute__ ((__nothrow__ , __leaf__)); > ># 1 "/usr/include/bits/sigstack.h" 1 3 4 ># 25 "/usr/include/bits/sigstack.h" 3 4 >struct sigstack > { > void *ss_sp; > int ss_onstack; > }; > > > >enum >{ > SS_ONSTACK = 1, > > SS_DISABLE > >}; ># 49 "/usr/include/bits/sigstack.h" 3 4 >typedef struct sigaltstack > { > void *ss_sp; > int ss_flags; > size_t ss_size; > } stack_t; ># 350 "/usr/include/signal.h" 2 3 4 > > ># 1 "/usr/include/sys/ucontext.h" 1 3 4 ># 24 "/usr/include/sys/ucontext.h" 3 4 ># 1 "/usr/include/signal.h" 1 3 4 ># 25 "/usr/include/sys/ucontext.h" 2 3 4 > > > ># 1 "/usr/include/bits/sigcontext.h" 1 3 4 ># 29 "/usr/include/sys/ucontext.h" 2 3 4 > >typedef int greg_t; > > > > > >typedef greg_t gregset_t[18]; > > >enum >{ > REG_R0 = 0, > > REG_R1 = 1, > > REG_R2 = 2, > > REG_R3 = 3, > > REG_R4 = 4, > > REG_R5 = 5, > > REG_R6 = 6, > > REG_R7 = 7, > > REG_R8 = 8, > > REG_R9 = 9, > > REG_R10 = 10, > > REG_R11 = 11, > > REG_R12 = 12, > > REG_R13 = 13, > > REG_R14 = 14, > > REG_R15 = 15 > >}; > >struct _libc_fpstate >{ > struct > { > unsigned int sign1:1; > unsigned int unused:15; > unsigned int sign2:1; > unsigned int exponent:14; > unsigned int j:1; > unsigned int mantissa1:31; > unsigned int mantissa0:32; > } fpregs[8]; > unsigned int fpsr:32; > unsigned int fpcr:32; > unsigned char ftype[8]; > unsigned int init_flag; >}; > >typedef struct _libc_fpstate fpregset_t; > > > > > >typedef struct sigcontext mcontext_t; > > >typedef struct ucontext > { > unsigned long uc_flags; > struct ucontext *uc_link; > stack_t uc_stack; > mcontext_t uc_mcontext; > __sigset_t uc_sigmask; > unsigned long uc_regspace[128] __attribute__((__aligned__(8))); > } ucontext_t; ># 353 "/usr/include/signal.h" 2 3 4 > > > > > >extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); > > > >extern int sigaltstack (const struct sigaltstack *__restrict __ss, > struct sigaltstack *__restrict __oss) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > > >extern int sighold (int __sig) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int sigrelse (int __sig) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int sigignore (int __sig) __attribute__ ((__nothrow__ , __leaf__)); > > >extern __sighandler_t sigset (int __sig, __sighandler_t __disp) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > ># 1 "/usr/include/bits/sigthread.h" 1 3 4 ># 30 "/usr/include/bits/sigthread.h" 3 4 >extern int pthread_sigmask (int __how, > const __sigset_t *__restrict __newmask, > __sigset_t *__restrict __oldmask)__attribute__ ((__nothrow__ , __leaf__)); > > >extern int pthread_kill (pthread_t __threadid, int __signo) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern int pthread_sigqueue (pthread_t __threadid, int __signo, > const union sigval __value) __attribute__ ((__nothrow__ , __leaf__)); ># 389 "/usr/include/signal.h" 2 3 4 > > > > > > >extern int __libc_current_sigrtmin (void) __attribute__ ((__nothrow__ , __leaf__)); > >extern int __libc_current_sigrtmax (void) __attribute__ ((__nothrow__ , __leaf__)); > > > > ># 23 "include/libbb.h" 2 > > > > > > > ># 1 "/usr/include/stdio.h" 1 3 4 ># 29 "/usr/include/stdio.h" 3 4 > > > > ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 1 3 4 ># 34 "/usr/include/stdio.h" 2 3 4 ># 44 "/usr/include/stdio.h" 3 4 >struct _IO_FILE; > > > >typedef struct _IO_FILE FILE; > > > > > ># 64 "/usr/include/stdio.h" 3 4 >typedef struct _IO_FILE __FILE; ># 74 "/usr/include/stdio.h" 3 4 ># 1 "/usr/include/libio.h" 1 3 4 ># 31 "/usr/include/libio.h" 3 4 ># 1 "/usr/include/_G_config.h" 1 3 4 ># 15 "/usr/include/_G_config.h" 3 4 ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 1 3 4 ># 16 "/usr/include/_G_config.h" 2 3 4 > > > > ># 1 "/usr/include/wchar.h" 1 3 4 ># 82 "/usr/include/wchar.h" 3 4 >typedef struct >{ > int __count; > union > { > > unsigned int __wch; > > > > char __wchb[4]; > } __value; >} __mbstate_t; ># 21 "/usr/include/_G_config.h" 2 3 4 >typedef struct >{ > __off_t __pos; > __mbstate_t __state; >} _G_fpos_t; >typedef struct >{ > __off64_t __pos; > __mbstate_t __state; >} _G_fpos64_t; ># 32 "/usr/include/libio.h" 2 3 4 ># 49 "/usr/include/libio.h" 3 4 ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stdarg.h" 1 3 4 ># 40 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stdarg.h" 3 4 >typedef __builtin_va_list __gnuc_va_list; ># 50 "/usr/include/libio.h" 2 3 4 ># 144 "/usr/include/libio.h" 3 4 >struct _IO_jump_t; struct _IO_FILE; ># 154 "/usr/include/libio.h" 3 4 >typedef void _IO_lock_t; > > > > > >struct _IO_marker { > struct _IO_marker *_next; > struct _IO_FILE *_sbuf; > > > > int _pos; ># 177 "/usr/include/libio.h" 3 4 >}; > > >enum __codecvt_result >{ > __codecvt_ok, > __codecvt_partial, > __codecvt_error, > __codecvt_noconv >}; ># 245 "/usr/include/libio.h" 3 4 >struct _IO_FILE { > int _flags; > > > > > char* _IO_read_ptr; > char* _IO_read_end; > char* _IO_read_base; > char* _IO_write_base; > char* _IO_write_ptr; > char* _IO_write_end; > char* _IO_buf_base; > char* _IO_buf_end; > > char *_IO_save_base; > char *_IO_backup_base; > char *_IO_save_end; > > struct _IO_marker *_markers; > > struct _IO_FILE *_chain; > > int _fileno; > > > > int _flags2; > > __off_t _old_offset; > > > > unsigned short _cur_column; > signed char _vtable_offset; > char _shortbuf[1]; > > > > _IO_lock_t *_lock; ># 293 "/usr/include/libio.h" 3 4 > __off64_t _offset; ># 302 "/usr/include/libio.h" 3 4 > void *__pad1; > void *__pad2; > void *__pad3; > void *__pad4; > size_t __pad5; > > int _mode; > > char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; > >}; > > >typedef struct _IO_FILE _IO_FILE; > > >struct _IO_FILE_plus; > >extern struct _IO_FILE_plus _IO_2_1_stdin_; >extern struct _IO_FILE_plus _IO_2_1_stdout_; >extern struct _IO_FILE_plus _IO_2_1_stderr_; ># 338 "/usr/include/libio.h" 3 4 >typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); > > > > > > > >typedef __ssize_t __io_write_fn (void *__cookie, const char *__buf, > size_t __n); > > > > > > > >typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); > > >typedef int __io_close_fn (void *__cookie); > > > > >typedef __io_read_fn cookie_read_function_t; >typedef __io_write_fn cookie_write_function_t; >typedef __io_seek_fn cookie_seek_function_t; >typedef __io_close_fn cookie_close_function_t; > > >typedef struct >{ > __io_read_fn *read; > __io_write_fn *write; > __io_seek_fn *seek; > __io_close_fn *close; >} _IO_cookie_io_functions_t; >typedef _IO_cookie_io_functions_t cookie_io_functions_t; > >struct _IO_cookie_file; > > >extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write, > void *__cookie, _IO_cookie_io_functions_t __fns); > > > > > > > >extern int __underflow (_IO_FILE *); >extern int __uflow (_IO_FILE *); >extern int __overflow (_IO_FILE *, int); ># 434 "/usr/include/libio.h" 3 4 >extern int _IO_getc (_IO_FILE *__fp); >extern int _IO_putc (int __c, _IO_FILE *__fp); >extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__ , __leaf__)); >extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__ , __leaf__)); > >extern int _IO_peekc_locked (_IO_FILE *__fp); > > > > > >extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__)); >extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__)); >extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__)); ># 464 "/usr/include/libio.h" 3 4 >extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, > __gnuc_va_list, int *__restrict); >extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, > __gnuc_va_list); >extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t); >extern size_t _IO_sgetn (_IO_FILE *, void *, size_t); > >extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int); >extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int); > >extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__)); ># 75 "/usr/include/stdio.h" 2 3 4 > > > > >typedef __gnuc_va_list va_list; ># 108 "/usr/include/stdio.h" 3 4 > > > > >typedef _G_fpos64_t fpos_t; > > > >typedef _G_fpos64_t fpos64_t; ># 164 "/usr/include/stdio.h" 3 4 ># 1 "/usr/include/bits/stdio_lim.h" 1 3 4 ># 165 "/usr/include/stdio.h" 2 3 4 > > > >extern struct _IO_FILE *stdin; >extern struct _IO_FILE *stdout; >extern struct _IO_FILE *stderr; > > > > > > > >extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); > >extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern int renameat (int __oldfd, const char *__old, int __newfd, > const char *__new) __attribute__ ((__nothrow__ , __leaf__)); > > > ># 198 "/usr/include/stdio.h" 3 4 >extern FILE *tmpfile (void) __asm__ ("" "tmpfile64") __attribute__ ((__warn_unused_result__)); > > > > > > >extern FILE *tmpfile64 (void) __attribute__ ((__warn_unused_result__)); > > > >extern char *tmpnam (char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > > >extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); ># 227 "/usr/include/stdio.h" 3 4 >extern char *tempnam (const char *__dir, const char *__pfx) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); > > > > > > > > >extern int fclose (FILE *__stream); > > > > >extern int fflush (FILE *__stream); > ># 252 "/usr/include/stdio.h" 3 4 >extern int fflush_unlocked (FILE *__stream); ># 262 "/usr/include/stdio.h" 3 4 >extern int fcloseall (void); > > > > ># 283 "/usr/include/stdio.h" 3 4 >extern FILE *fopen (const char *__restrict __filename, const char *__restrict __modes) __asm__ ("" "fopen64") > > __attribute__ ((__warn_unused_result__)); >extern FILE *freopen (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) __asm__ ("" "freopen64") > > > __attribute__ ((__warn_unused_result__)); > > > > > > > >extern FILE *fopen64 (const char *__restrict __filename, > const char *__restrict __modes) __attribute__ ((__warn_unused_result__)); >extern FILE *freopen64 (const char *__restrict __filename, > const char *__restrict __modes, > FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); > > > > >extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > > >extern FILE *fopencookie (void *__restrict __magic_cookie, > const char *__restrict __modes, > _IO_cookie_io_functions_t __io_funcs) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > >extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > >extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > > > >extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, > int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); > > > > > >extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, > size_t __size) __attribute__ ((__nothrow__ , __leaf__)); > > >extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > > > >extern int fprintf (FILE *__restrict __stream, > const char *__restrict __format, ...); > > > > >extern int printf (const char *__restrict __format, ...); > >extern int sprintf (char *__restrict __s, > const char *__restrict __format, ...) __attribute__ ((__nothrow__)); > > > > > >extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, > __gnuc_va_list __arg); > > > > >extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); > >extern int vsprintf (char *__restrict __s, const char *__restrict __format, > __gnuc_va_list __arg) __attribute__ ((__nothrow__)); > > > > > >extern int snprintf (char *__restrict __s, size_t __maxlen, > const char *__restrict __format, ...) > __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); > >extern int vsnprintf (char *__restrict __s, size_t __maxlen, > const char *__restrict __format, __gnuc_va_list __arg) > __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); > > > > > > >extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, > __gnuc_va_list __arg) > __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__)); >extern int __asprintf (char **__restrict __ptr, > const char *__restrict __fmt, ...) > __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); >extern int asprintf (char **__restrict __ptr, > const char *__restrict __fmt, ...) > __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); > > > > >extern int vdprintf (int __fd, const char *__restrict __fmt, > __gnuc_va_list __arg) > __attribute__ ((__format__ (__printf__, 2, 0))); >extern int dprintf (int __fd, const char *__restrict __fmt, ...) > __attribute__ ((__format__ (__printf__, 2, 3))); > > > > > > > > >extern int fscanf (FILE *__restrict __stream, > const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); > > > > >extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); > >extern int sscanf (const char *__restrict __s, > const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); ># 463 "/usr/include/stdio.h" 3 4 > > > > > > > > >extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, > __gnuc_va_list __arg) > __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)); > > > > > >extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) > __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); > > >extern int vsscanf (const char *__restrict __s, > const char *__restrict __format, __gnuc_va_list __arg) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); ># 522 "/usr/include/stdio.h" 3 4 > > > > > > > > > >extern int fgetc (FILE *__stream); >extern int getc (FILE *__stream); > > > > > >extern int getchar (void); > ># 550 "/usr/include/stdio.h" 3 4 >extern int getc_unlocked (FILE *__stream); >extern int getchar_unlocked (void); ># 561 "/usr/include/stdio.h" 3 4 >extern int fgetc_unlocked (FILE *__stream); > > > > > > > > > > > >extern int fputc (int __c, FILE *__stream); >extern int putc (int __c, FILE *__stream); > > > > > >extern int putchar (int __c); > ># 594 "/usr/include/stdio.h" 3 4 >extern int fputc_unlocked (int __c, FILE *__stream); > > > > > > > >extern int putc_unlocked (int __c, FILE *__stream); >extern int putchar_unlocked (int __c); > > > > > > >extern int getw (FILE *__stream); > > >extern int putw (int __w, FILE *__stream); > > > > > > > > >extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) > __attribute__ ((__warn_unused_result__)); ># 640 "/usr/include/stdio.h" 3 4 > ># 649 "/usr/include/stdio.h" 3 4 >extern char *fgets_unlocked (char *__restrict __s, int __n, > FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); ># 665 "/usr/include/stdio.h" 3 4 >extern __ssize_t __getdelim (char **__restrict __lineptr, > size_t *__restrict __n, int __delimiter, > FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); >extern __ssize_t getdelim (char **__restrict __lineptr, > size_t *__restrict __n, int __delimiter, > FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); > > > > > > > >extern __ssize_t getline (char **__restrict __lineptr, > size_t *__restrict __n, > FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); > > > > > > > > >extern int fputs (const char *__restrict __s, FILE *__restrict __stream); > > > > > >extern int puts (const char *__s); > > > > > > >extern int ungetc (int __c, FILE *__stream); > > > > > > >extern size_t fread (void *__restrict __ptr, size_t __size, > size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); > > > > >extern size_t fwrite (const void *__restrict __ptr, size_t __size, > size_t __n, FILE *__restrict __s); > ># 726 "/usr/include/stdio.h" 3 4 >extern int fputs_unlocked (const char *__restrict __s, > FILE *__restrict __stream); ># 737 "/usr/include/stdio.h" 3 4 >extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, > size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); >extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, > size_t __n, FILE *__restrict __stream); > > > > > > > > >extern int fseek (FILE *__stream, long int __off, int __whence); > > > > >extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__)); > > > > >extern void rewind (FILE *__stream); > ># 781 "/usr/include/stdio.h" 3 4 >extern int fseeko (FILE *__stream, __off64_t __off, int __whence) __asm__ ("" "fseeko64") > > ; >extern __off64_t ftello (FILE *__stream) __asm__ ("" "ftello64"); > > > > > > > > ># 806 "/usr/include/stdio.h" 3 4 >extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) __asm__ ("" "fgetpos64") > ; >extern int fsetpos (FILE *__stream, const fpos_t *__pos) __asm__ ("" "fsetpos64") > ; > > > > > > > > >extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); >extern __off64_t ftello64 (FILE *__stream) __attribute__ ((__warn_unused_result__)); >extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); >extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos); > > > > >extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); > >extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > >extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > >extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); >extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); >extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > > > > > >extern void perror (const char *__s); > > > > > > ># 1 "/usr/include/bits/sys_errlist.h" 1 3 4 ># 26 "/usr/include/bits/sys_errlist.h" 3 4 >extern int sys_nerr; >extern const char *const sys_errlist[]; > > >extern int _sys_nerr; >extern const char *const _sys_errlist[]; ># 854 "/usr/include/stdio.h" 2 3 4 > > > > >extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > >extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); ># 873 "/usr/include/stdio.h" 3 4 >extern FILE *popen (const char *__command, const char *__modes) __attribute__ ((__warn_unused_result__)); > > > > > >extern int pclose (FILE *__stream); > > > > > >extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)); > > > > > >extern char *cuserid (char *__s); > > > > >struct obstack; > > >extern int obstack_printf (struct obstack *__restrict __obstack, > const char *__restrict __format, ...) > __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))); >extern int obstack_vprintf (struct obstack *__restrict __obstack, > const char *__restrict __format, > __gnuc_va_list __args) > __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))); > > > > > > > >extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > >extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); ># 934 "/usr/include/stdio.h" 3 4 ># 1 "/usr/include/bits/stdio.h" 1 3 4 ># 43 "/usr/include/bits/stdio.h" 3 4 >extern __inline __attribute__ ((__gnu_inline__)) int >getchar (void) >{ > return _IO_getc (stdin); >} > > > > >extern __inline __attribute__ ((__gnu_inline__)) int >fgetc_unlocked (FILE *__fp) >{ > return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); >} > > > > > >extern __inline __attribute__ ((__gnu_inline__)) int >getc_unlocked (FILE *__fp) >{ > return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); >} > > >extern __inline __attribute__ ((__gnu_inline__)) int >getchar_unlocked (void) >{ > return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); >} > > > > >extern __inline __attribute__ ((__gnu_inline__)) int >putchar (int __c) >{ > return _IO_putc (__c, stdout); >} > > > > >extern __inline __attribute__ ((__gnu_inline__)) int >fputc_unlocked (int __c, FILE *__stream) >{ > return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); >} > > > > > >extern __inline __attribute__ ((__gnu_inline__)) int >putc_unlocked (int __c, FILE *__stream) >{ > return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); >} > > >extern __inline __attribute__ ((__gnu_inline__)) int >putchar_unlocked (int __c) >{ > return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); >} > > > > > >extern __inline __attribute__ ((__gnu_inline__)) __ssize_t >getline (char **__lineptr, size_t *__n, FILE *__stream) >{ > return __getdelim (__lineptr, __n, '\n', __stream); >} > > > > > >extern __inline __attribute__ ((__gnu_inline__)) int >__attribute__ ((__nothrow__ , __leaf__)) feof_unlocked (FILE *__stream) >{ > return (((__stream)->_flags & 0x10) != 0); >} > > >extern __inline __attribute__ ((__gnu_inline__)) int >__attribute__ ((__nothrow__ , __leaf__)) ferror_unlocked (FILE *__stream) >{ > return (((__stream)->_flags & 0x20) != 0); >} ># 935 "/usr/include/stdio.h" 2 3 4 > > ># 1 "/usr/include/bits/stdio2.h" 1 3 4 ># 23 "/usr/include/bits/stdio2.h" 3 4 >extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, > const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); >extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, > const char *__restrict __format, > __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)); > > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >__attribute__ ((__nothrow__ , __leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) >{ > return __builtin___sprintf_chk (__s, 2 - 1, > __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ()); >} > > > > > > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >__attribute__ ((__nothrow__ , __leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) > >{ > return __builtin___vsprintf_chk (__s, 2 - 1, > __builtin_object_size (__s, 2 > 1), __fmt, __ap); >} > > > >extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, > size_t __slen, const char *__restrict __format, > ...) __attribute__ ((__nothrow__ , __leaf__)); >extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, > size_t __slen, const char *__restrict __format, > __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)); > > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >__attribute__ ((__nothrow__ , __leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) > >{ > return __builtin___snprintf_chk (__s, __n, 2 - 1, > __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ()); >} > > > > > > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >__attribute__ ((__nothrow__ , __leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) > >{ > return __builtin___vsnprintf_chk (__s, __n, 2 - 1, > __builtin_object_size (__s, 2 > 1), __fmt, __ap); >} > > > > > >extern int __fprintf_chk (FILE *__restrict __stream, int __flag, > const char *__restrict __format, ...); >extern int __printf_chk (int __flag, const char *__restrict __format, ...); >extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, > const char *__restrict __format, __gnuc_va_list __ap); >extern int __vprintf_chk (int __flag, const char *__restrict __format, > __gnuc_va_list __ap); > > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...) >{ > return __fprintf_chk (__stream, 2 - 1, __fmt, > __builtin_va_arg_pack ()); >} > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >printf (const char *__restrict __fmt, ...) >{ > return __printf_chk (2 - 1, __fmt, __builtin_va_arg_pack ()); >} > > > > > > > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >vprintf (const char *__restrict __fmt, __gnuc_va_list __ap) >{ > > return __vfprintf_chk (stdout, 2 - 1, __fmt, __ap); > > > >} > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >vfprintf (FILE *__restrict __stream, > const char *__restrict __fmt, __gnuc_va_list __ap) >{ > return __vfprintf_chk (__stream, 2 - 1, __fmt, __ap); >} > > >extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt, > ...) __attribute__ ((__format__ (__printf__, 3, 4))); >extern int __vdprintf_chk (int __fd, int __flag, > const char *__restrict __fmt, __gnuc_va_list __arg) > __attribute__ ((__format__ (__printf__, 3, 0))); > > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >dprintf (int __fd, const char *__restrict __fmt, ...) >{ > return __dprintf_chk (__fd, 2 - 1, __fmt, > __builtin_va_arg_pack ()); >} > > > > > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap) >{ > return __vdprintf_chk (__fd, 2 - 1, __fmt, __ap); >} > > > > >extern int __asprintf_chk (char **__restrict __ptr, int __flag, > const char *__restrict __fmt, ...) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__printf__, 3, 4))) __attribute__ ((__warn_unused_result__)); >extern int __vasprintf_chk (char **__restrict __ptr, int __flag, > const char *__restrict __fmt, __gnuc_va_list __arg) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__printf__, 3, 0))) __attribute__ ((__warn_unused_result__)); >extern int __obstack_printf_chk (struct obstack *__restrict __obstack, > int __flag, const char *__restrict __format, > ...) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__printf__, 3, 4))); >extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack, > int __flag, > const char *__restrict __format, > __gnuc_va_list __args) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__printf__, 3, 0))); > > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >__attribute__ ((__nothrow__ , __leaf__)) asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) >{ > return __asprintf_chk (__ptr, 2 - 1, __fmt, > __builtin_va_arg_pack ()); >} > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >__attribute__ ((__nothrow__ , __leaf__)) __asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) > >{ > return __asprintf_chk (__ptr, 2 - 1, __fmt, > __builtin_va_arg_pack ()); >} > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >__attribute__ ((__nothrow__ , __leaf__)) obstack_printf (struct obstack *__restrict __obstack, const char *__restrict __fmt, ...) > >{ > return __obstack_printf_chk (__obstack, 2 - 1, __fmt, > __builtin_va_arg_pack ()); >} ># 206 "/usr/include/bits/stdio2.h" 3 4 >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >__attribute__ ((__nothrow__ , __leaf__)) vasprintf (char **__restrict __ptr, const char *__restrict __fmt, __gnuc_va_list __ap) > >{ > return __vasprintf_chk (__ptr, 2 - 1, __fmt, __ap); >} > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >__attribute__ ((__nothrow__ , __leaf__)) obstack_vprintf (struct obstack *__restrict __obstack, const char *__restrict __fmt, __gnuc_va_list __ap) > >{ > return __obstack_vprintf_chk (__obstack, 2 - 1, __fmt, > __ap); >} ># 241 "/usr/include/bits/stdio2.h" 3 4 >extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, > FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); >extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets") > > __attribute__ ((__warn_unused_result__)); >extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk") > > > __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer"))) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * >fgets (char *__restrict __s, int __n, FILE *__restrict __stream) >{ > if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) > { > if (!__builtin_constant_p (__n) || __n <= 0) > return __fgets_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); > > if ((size_t) __n > __builtin_object_size (__s, 2 > 1)) > return __fgets_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); > } > return __fgets_alias (__s, __n, __stream); >} > >extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, > size_t __size, size_t __n, > FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); >extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread") > > > __attribute__ ((__warn_unused_result__)); >extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk") > > > > > __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer"))) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t >fread (void *__restrict __ptr, size_t __size, size_t __n, > FILE *__restrict __stream) >{ > if (__builtin_object_size (__ptr, 0) != (size_t) -1) > { > if (!__builtin_constant_p (__size) > || !__builtin_constant_p (__n) > || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))) > return __fread_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); > > if (__size * __n > __builtin_object_size (__ptr, 0)) > return __fread_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); > } > return __fread_alias (__ptr, __size, __n, __stream); >} > > >extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size, > int __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); >extern char *__fgets_unlocked_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets_unlocked") > > __attribute__ ((__warn_unused_result__)); >extern char *__fgets_unlocked_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_unlocked_chk") > > > __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets_unlocked called with bigger size than length " "of destination buffer"))) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * >fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) >{ > if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) > { > if (!__builtin_constant_p (__n) || __n <= 0) > return __fgets_unlocked_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); > > if ((size_t) __n > __builtin_object_size (__s, 2 > 1)) > return __fgets_unlocked_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); > } > return __fgets_unlocked_alias (__s, __n, __stream); >} > > > > >extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, > size_t __size, size_t __n, > FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); >extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked") > > > __attribute__ ((__warn_unused_result__)); >extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk") > > > > > __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer"))) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t >fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, > FILE *__restrict __stream) >{ > if (__builtin_object_size (__ptr, 0) != (size_t) -1) > { > if (!__builtin_constant_p (__size) > || !__builtin_constant_p (__n) > || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))) > return __fread_unlocked_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n, > __stream); > > if (__size * __n > __builtin_object_size (__ptr, 0)) > return __fread_unlocked_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, > __stream); > } > > > if (__builtin_constant_p (__size) > && __builtin_constant_p (__n) > && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2)) > && __size * __n <= 8) > { > size_t __cnt = __size * __n; > char *__cptr = (char *) __ptr; > if (__cnt == 0) > return 0; > > for (; __cnt > 0; --__cnt) > { > int __c = (__builtin_expect (((__stream)->_IO_read_ptr >= (__stream)->_IO_read_end), 0) ? __uflow (__stream) : *(unsigned char *) (__stream)->_IO_read_ptr++); > if (__c == (-1)) > break; > *__cptr++ = __c; > } > return (__cptr - (char *) __ptr) / __size; > } > > return __fread_unlocked_alias (__ptr, __size, __n, __stream); >} ># 938 "/usr/include/stdio.h" 2 3 4 > > > > > > ># 31 "include/libbb.h" 2 ># 1 "/usr/include/stdlib.h" 1 3 4 ># 32 "/usr/include/stdlib.h" 3 4 ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 1 3 4 ># 324 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 3 4 >typedef unsigned int wchar_t; ># 33 "/usr/include/stdlib.h" 2 3 4 > > > > > > > > ># 1 "/usr/include/bits/waitflags.h" 1 3 4 ># 42 "/usr/include/stdlib.h" 2 3 4 ># 1 "/usr/include/bits/waitstatus.h" 1 3 4 ># 66 "/usr/include/bits/waitstatus.h" 3 4 >union wait > { > int w_status; > struct > { > > unsigned int __w_termsig:7; > unsigned int __w_coredump:1; > unsigned int __w_retcode:8; > unsigned int:16; > > > > > > > > } __wait_terminated; > struct > { > > unsigned int __w_stopval:8; > unsigned int __w_stopsig:8; > unsigned int:16; > > > > > > > } __wait_stopped; > }; ># 43 "/usr/include/stdlib.h" 2 3 4 ># 67 "/usr/include/stdlib.h" 3 4 >typedef union > { > union wait *__uptr; > int *__iptr; > } __WAIT_STATUS __attribute__ ((__transparent_union__)); ># 95 "/usr/include/stdlib.h" 3 4 > > >typedef struct > { > int quot; > int rem; > } div_t; > > > >typedef struct > { > long int quot; > long int rem; > } ldiv_t; > > > > > > > >__extension__ typedef struct > { > long long int quot; > long long int rem; > } lldiv_t; > > ># 139 "/usr/include/stdlib.h" 3 4 >extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > >extern double atof (const char *__nptr) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > >extern int atoi (const char *__nptr) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > >extern long int atol (const char *__nptr) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > > >__extension__ extern long long int atoll (const char *__nptr) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > > >extern double strtod (const char *__restrict __nptr, > char **__restrict __endptr) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > > >extern float strtof (const char *__restrict __nptr, > char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > >extern long double strtold (const char *__restrict __nptr, > char **__restrict __endptr) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > > >extern long int strtol (const char *__restrict __nptr, > char **__restrict __endptr, int __base) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > >extern unsigned long int strtoul (const char *__restrict __nptr, > char **__restrict __endptr, int __base) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > >__extension__ >extern long long int strtoq (const char *__restrict __nptr, > char **__restrict __endptr, int __base) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > >__extension__ >extern unsigned long long int strtouq (const char *__restrict __nptr, > char **__restrict __endptr, int __base) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > > >__extension__ >extern long long int strtoll (const char *__restrict __nptr, > char **__restrict __endptr, int __base) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > >__extension__ >extern unsigned long long int strtoull (const char *__restrict __nptr, > char **__restrict __endptr, int __base) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > ># 239 "/usr/include/stdlib.h" 3 4 >extern long int strtol_l (const char *__restrict __nptr, > char **__restrict __endptr, int __base, > __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))); > >extern unsigned long int strtoul_l (const char *__restrict __nptr, > char **__restrict __endptr, > int __base, __locale_t __loc) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))); > >__extension__ >extern long long int strtoll_l (const char *__restrict __nptr, > char **__restrict __endptr, int __base, > __locale_t __loc) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))); > >__extension__ >extern unsigned long long int strtoull_l (const char *__restrict __nptr, > char **__restrict __endptr, > int __base, __locale_t __loc) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))); > >extern double strtod_l (const char *__restrict __nptr, > char **__restrict __endptr, __locale_t __loc) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))); > >extern float strtof_l (const char *__restrict __nptr, > char **__restrict __endptr, __locale_t __loc) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))); > >extern long double strtold_l (const char *__restrict __nptr, > char **__restrict __endptr, > __locale_t __loc) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))); > > > > > >extern __inline __attribute__ ((__gnu_inline__)) int >__attribute__ ((__nothrow__ , __leaf__)) atoi (const char *__nptr) >{ > return (int) strtol (__nptr, (char **) ((void *)0), 10); >} >extern __inline __attribute__ ((__gnu_inline__)) long int >__attribute__ ((__nothrow__ , __leaf__)) atol (const char *__nptr) >{ > return strtol (__nptr, (char **) ((void *)0), 10); >} > > > > >__extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int >__attribute__ ((__nothrow__ , __leaf__)) atoll (const char *__nptr) >{ > return strtoll (__nptr, (char **) ((void *)0), 10); >} > ># 305 "/usr/include/stdlib.h" 3 4 >extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > >extern long int a64l (const char *__s) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); ># 321 "/usr/include/stdlib.h" 3 4 >extern long int random (void) __attribute__ ((__nothrow__ , __leaf__)); > > >extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); > > > > > >extern char *initstate (unsigned int __seed, char *__statebuf, > size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); > > > >extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > > > > >struct random_data > { > int32_t *fptr; > int32_t *rptr; > int32_t *state; > int rand_type; > int rand_deg; > int rand_sep; > int32_t *end_ptr; > }; > >extern int random_r (struct random_data *__restrict __buf, > int32_t *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > >extern int srandom_r (unsigned int __seed, struct random_data *__buf) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); > >extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, > size_t __statelen, > struct random_data *__restrict __buf) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); > >extern int setstate_r (char *__restrict __statebuf, > struct random_data *__restrict __buf) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > > > > > >extern int rand (void) __attribute__ ((__nothrow__ , __leaf__)); > >extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > > >extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__)); >extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > >extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); >extern long int nrand48 (unsigned short int __xsubi[3]) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > >extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); >extern long int jrand48 (unsigned short int __xsubi[3]) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > >extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__)); >extern unsigned short int *seed48 (unsigned short int __seed16v[3]) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); >extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > > >struct drand48_data > { > unsigned short int __x[3]; > unsigned short int __old_x[3]; > unsigned short int __c; > unsigned short int __init; > __extension__ unsigned long long int __a; > > }; > > >extern int drand48_r (struct drand48_data *__restrict __buffer, > double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); >extern int erand48_r (unsigned short int __xsubi[3], > struct drand48_data *__restrict __buffer, > double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern int lrand48_r (struct drand48_data *__restrict __buffer, > long int *__restrict __result) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); >extern int nrand48_r (unsigned short int __xsubi[3], > struct drand48_data *__restrict __buffer, > long int *__restrict __result) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern int mrand48_r (struct drand48_data *__restrict __buffer, > long int *__restrict __result) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); >extern int jrand48_r (unsigned short int __xsubi[3], > struct drand48_data *__restrict __buffer, > long int *__restrict __result) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern int srand48_r (long int __seedval, struct drand48_data *__buffer) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); > >extern int seed48_r (unsigned short int __seed16v[3], > struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > >extern int lcong48_r (unsigned short int __param[7], > struct drand48_data *__buffer) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > > > > > > > > >extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); > >extern void *calloc (size_t __nmemb, size_t __size) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); > > > > > > > > > > >extern void *realloc (void *__ptr, size_t __size) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > >extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern void cfree (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); > > > ># 1 "/usr/include/alloca.h" 1 3 4 ># 24 "/usr/include/alloca.h" 3 4 ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 1 3 4 ># 25 "/usr/include/alloca.h" 2 3 4 > > > > > > > >extern void *alloca (size_t __size) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > ># 493 "/usr/include/stdlib.h" 2 3 4 > > > > > >extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); > > > > >extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > >extern void *aligned_alloc (size_t __alignment, size_t __size) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__)); > > > > >extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); > > > >extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > > > > >extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > > > > >extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > > > >extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); > > > > > >extern void quick_exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); > > > > > > > >extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); > > > > > > >extern char *getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > > >extern char *secure_getenv (const char *__name) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > > > >extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > > >extern int setenv (const char *__name, const char *__value, int __replace) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); > > >extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > > > >extern int clearenv (void) __attribute__ ((__nothrow__ , __leaf__)); ># 606 "/usr/include/stdlib.h" 3 4 >extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); ># 623 "/usr/include/stdlib.h" 3 4 >extern int mkstemp (char *__template) __asm__ ("" "mkstemp64") > __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > > >extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); ># 645 "/usr/include/stdlib.h" 3 4 >extern int mkstemps (char *__template, int __suffixlen) __asm__ ("" "mkstemps64") > __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > > >extern int mkstemps64 (char *__template, int __suffixlen) > __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); ># 663 "/usr/include/stdlib.h" 3 4 >extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); ># 677 "/usr/include/stdlib.h" 3 4 >extern int mkostemp (char *__template, int __flags) __asm__ ("" "mkostemp64") > __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > > >extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); ># 698 "/usr/include/stdlib.h" 3 4 >extern int mkostemps (char *__template, int __suffixlen, int __flags) __asm__ ("" "mkostemps64") > > __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > > >extern int mkostemps64 (char *__template, int __suffixlen, int __flags) > __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); > > > > > > > > > >extern int system (const char *__command) __attribute__ ((__warn_unused_result__)); > > > > > > >extern char *canonicalize_file_name (const char *__name) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); ># 734 "/usr/include/stdlib.h" 3 4 >extern char *realpath (const char *__restrict __name, > char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > > > >typedef int (*__compar_fn_t) (const void *, const void *); > > >typedef __compar_fn_t comparison_fn_t; > > > >typedef int (*__compar_d_fn_t) (const void *, const void *, void *); > > > > > >extern void *bsearch (const void *__key, const void *__base, > size_t __nmemb, size_t __size, __compar_fn_t __compar) > __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__)); > > ># 1 "/usr/include/bits/stdlib-bsearch.h" 1 3 4 ># 19 "/usr/include/bits/stdlib-bsearch.h" 3 4 >extern __inline __attribute__ ((__gnu_inline__)) void * >bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, > __compar_fn_t __compar) >{ > size_t __l, __u, __idx; > const void *__p; > int __comparison; > > __l = 0; > __u = __nmemb; > while (__l < __u) > { > __idx = (__l + __u) / 2; > __p = (void *) (((const char *) __base) + (__idx * __size)); > __comparison = (*__compar) (__key, __p); > if (__comparison < 0) > __u = __idx; > else if (__comparison > 0) > __l = __idx + 1; > else > return (void *) __p; > } > > return ((void *)0); >} ># 761 "/usr/include/stdlib.h" 2 3 4 > > > > >extern void qsort (void *__base, size_t __nmemb, size_t __size, > __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); > >extern void qsort_r (void *__base, size_t __nmemb, size_t __size, > __compar_d_fn_t __compar, void *__arg) > __attribute__ ((__nonnull__ (1, 4))); > > > > >extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); >extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); > > > >__extension__ extern long long int llabs (long long int __x) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); > > > > > > > >extern div_t div (int __numer, int __denom) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); >extern ldiv_t ldiv (long int __numer, long int __denom) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); > > > > >__extension__ extern lldiv_t lldiv (long long int __numer, > long long int __denom) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); > ># 812 "/usr/include/stdlib.h" 3 4 >extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, > int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); > > > > >extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, > int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); > > > > >extern char *gcvt (double __value, int __ndigit, char *__buf) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); > > > > >extern char *qecvt (long double __value, int __ndigit, > int *__restrict __decpt, int *__restrict __sign) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); >extern char *qfcvt (long double __value, int __ndigit, > int *__restrict __decpt, int *__restrict __sign) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); >extern char *qgcvt (long double __value, int __ndigit, char *__buf) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); > > > > >extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, > int *__restrict __sign, char *__restrict __buf, > size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); >extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, > int *__restrict __sign, char *__restrict __buf, > size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); > >extern int qecvt_r (long double __value, int __ndigit, > int *__restrict __decpt, int *__restrict __sign, > char *__restrict __buf, size_t __len) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); >extern int qfcvt_r (long double __value, int __ndigit, > int *__restrict __decpt, int *__restrict __sign, > char *__restrict __buf, size_t __len) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); > > > > > > >extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int mbtowc (wchar_t *__restrict __pwc, > const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern size_t mbstowcs (wchar_t *__restrict __pwcs, > const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); > >extern size_t wcstombs (char *__restrict __s, > const wchar_t *__restrict __pwcs, size_t __n) > __attribute__ ((__nothrow__ , __leaf__)); > > > > > > > > >extern int rpmatch (const char *__response) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); ># 899 "/usr/include/stdlib.h" 3 4 >extern int getsubopt (char **__restrict __optionp, > char *const *__restrict __tokens, > char **__restrict __valuep) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__)); > > > > > >extern void setkey (const char *__key) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > > > > >extern int posix_openpt (int __oflag) __attribute__ ((__warn_unused_result__)); > > > > > > > >extern int grantpt (int __fd) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern int unlockpt (int __fd) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern char *ptsname (int __fd) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); > > > > > > >extern int ptsname_r (int __fd, char *__buf, size_t __buflen) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); > > >extern int getpt (void); > > > > > > >extern int getloadavg (double __loadavg[], int __nelem) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > ># 1 "/usr/include/bits/stdlib-float.h" 1 3 4 ># 24 "/usr/include/bits/stdlib-float.h" 3 4 > >extern __inline __attribute__ ((__gnu_inline__)) double >__attribute__ ((__nothrow__ , __leaf__)) atof (const char *__nptr) >{ > return strtod (__nptr, (char **) ((void *)0)); >} > ># 956 "/usr/include/stdlib.h" 2 3 4 > > > ># 1 "/usr/include/bits/stdlib.h" 1 3 4 ># 23 "/usr/include/bits/stdlib.h" 3 4 >extern char *__realpath_chk (const char *__restrict __name, > char *__restrict __resolved, > size_t __resolvedlen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); >extern char *__realpath_alias (const char *__restrict __name, char *__restrict __resolved) __asm__ ("" "realpath") __attribute__ ((__nothrow__ , __leaf__)) > > __attribute__ ((__warn_unused_result__)); >extern char *__realpath_chk_warn (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) __asm__ ("" "__realpath_chk") __attribute__ ((__nothrow__ , __leaf__)) > > > __attribute__ ((__warn_unused_result__)) > __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer"))) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * >__attribute__ ((__nothrow__ , __leaf__)) realpath (const char *__restrict __name, char *__restrict __resolved) >{ > if (__builtin_object_size (__resolved, 2 > 1) != (size_t) -1) > { > > if (__builtin_object_size (__resolved, 2 > 1) < 4096) > return __realpath_chk_warn (__name, __resolved, __builtin_object_size (__resolved, 2 > 1)); > > return __realpath_chk (__name, __resolved, __builtin_object_size (__resolved, 2 > 1)); > } > > return __realpath_alias (__name, __resolved); >} > > >extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen, > size_t __nreal) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); >extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) __asm__ ("" "ptsname_r") __attribute__ ((__nothrow__ , __leaf__)) > > __attribute__ ((__nonnull__ (2))); >extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__ptsname_r_chk") __attribute__ ((__nothrow__ , __leaf__)) > > > __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf"))) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >__attribute__ ((__nothrow__ , __leaf__)) ptsname_r (int __fd, char *__buf, size_t __buflen) >{ > if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) > { > if (!__builtin_constant_p (__buflen)) > return __ptsname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); > if (__buflen > __builtin_object_size (__buf, 2 > 1)) > return __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); > } > return __ptsname_r_alias (__fd, __buf, __buflen); >} > > >extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); >extern int __wctomb_alias (char *__s, wchar_t __wchar) __asm__ ("" "wctomb") __attribute__ ((__nothrow__ , __leaf__)) > __attribute__ ((__warn_unused_result__)); > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int >__attribute__ ((__nothrow__ , __leaf__)) wctomb (char *__s, wchar_t __wchar) >{ > > > > > > > > if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 && 16 > __builtin_object_size (__s, 2 > 1)) > return __wctomb_chk (__s, __wchar, __builtin_object_size (__s, 2 > 1)); > return __wctomb_alias (__s, __wchar); >} > > >extern size_t __mbstowcs_chk (wchar_t *__restrict __dst, > const char *__restrict __src, > size_t __len, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)); >extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) __asm__ ("" "mbstowcs") __attribute__ ((__nothrow__ , __leaf__)) > > > ; >extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__mbstowcs_chk") __attribute__ ((__nothrow__ , __leaf__)) > > > > __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t >__attribute__ ((__nothrow__ , __leaf__)) mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) > >{ > if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) > { > if (!__builtin_constant_p (__len)) > return __mbstowcs_chk (__dst, __src, __len, > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); > > if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) > return __mbstowcs_chk_warn (__dst, __src, __len, > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); > } > return __mbstowcs_alias (__dst, __src, __len); >} > > >extern size_t __wcstombs_chk (char *__restrict __dst, > const wchar_t *__restrict __src, > size_t __len, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)); >extern size_t __wcstombs_alias (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) __asm__ ("" "wcstombs") __attribute__ ((__nothrow__ , __leaf__)) > > > ; >extern size_t __wcstombs_chk_warn (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__wcstombs_chk") __attribute__ ((__nothrow__ , __leaf__)) > > > > __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len"))); > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t >__attribute__ ((__nothrow__ , __leaf__)) wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) > >{ > if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) > { > if (!__builtin_constant_p (__len)) > return __wcstombs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)); > if (__len > __builtin_object_size (__dst, 2 > 1)) > return __wcstombs_chk_warn (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)); > } > return __wcstombs_alias (__dst, __src, __len); >} ># 960 "/usr/include/stdlib.h" 2 3 4 ># 968 "/usr/include/stdlib.h" 3 4 > ># 32 "include/libbb.h" 2 ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stdarg.h" 1 3 4 ># 33 "include/libbb.h" 2 ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 1 3 4 ># 147 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 3 4 >typedef int ptrdiff_t; ># 34 "include/libbb.h" 2 ># 1 "/usr/include/string.h" 1 3 4 ># 27 "/usr/include/string.h" 3 4 > > > > > ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 1 3 4 ># 33 "/usr/include/string.h" 2 3 4 ># 44 "/usr/include/string.h" 3 4 > > >extern void *memcpy (void *__restrict __dest, const void *__restrict __src, > size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern void *memmove (void *__dest, const void *__src, size_t __n) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > > > > > >extern void *memccpy (void *__restrict __dest, const void *__restrict __src, > int __c, size_t __n) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > > > > >extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > >extern int memcmp (const void *__s1, const void *__s2, size_t __n) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); ># 96 "/usr/include/string.h" 3 4 >extern void *memchr (const void *__s, int __c, size_t __n) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); > > ># 110 "/usr/include/string.h" 3 4 >extern void *rawmemchr (const void *__s, int __c) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); ># 121 "/usr/include/string.h" 3 4 >extern void *memrchr (const void *__s, int __c, size_t __n) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); > > > > > > >extern char *strcpy (char *__restrict __dest, const char *__restrict __src) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > >extern char *strncpy (char *__restrict __dest, > const char *__restrict __src, size_t __n) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern char *strcat (char *__restrict __dest, const char *__restrict __src) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > >extern char *strncat (char *__restrict __dest, const char *__restrict __src, > size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern int strcmp (const char *__s1, const char *__s2) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); > >extern int strncmp (const char *__s1, const char *__s2, size_t __n) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern int strcoll (const char *__s1, const char *__s2) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); > >extern size_t strxfrm (char *__restrict __dest, > const char *__restrict __src, size_t __n) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); > ># 166 "/usr/include/string.h" 3 4 >extern int strcoll_l (const char *__s1, const char *__s2, __locale_t __l) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); > >extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, > __locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); > > > > > >extern char *strdup (const char *__s) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); > > > > > > >extern char *strndup (const char *__string, size_t __n) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); ># 211 "/usr/include/string.h" 3 4 > ># 236 "/usr/include/string.h" 3 4 >extern char *strchr (const char *__s, int __c) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); ># 263 "/usr/include/string.h" 3 4 >extern char *strrchr (const char *__s, int __c) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); > > ># 277 "/usr/include/string.h" 3 4 >extern char *strchrnul (const char *__s, int __c) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); > > > > > > >extern size_t strcspn (const char *__s, const char *__reject) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern size_t strspn (const char *__s, const char *__accept) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); ># 315 "/usr/include/string.h" 3 4 >extern char *strpbrk (const char *__s, const char *__accept) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); ># 342 "/usr/include/string.h" 3 4 >extern char *strstr (const char *__haystack, const char *__needle) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); > > > > >extern char *strtok (char *__restrict __s, const char *__restrict __delim) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); > > > > >extern char *__strtok_r (char *__restrict __s, > const char *__restrict __delim, > char **__restrict __save_ptr) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); > >extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, > char **__restrict __save_ptr) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); ># 373 "/usr/include/string.h" 3 4 >extern char *strcasestr (const char *__haystack, const char *__needle) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); > > > > > > > >extern void *memmem (const void *__haystack, size_t __haystacklen, > const void *__needle, size_t __needlelen) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))); > > > >extern void *__mempcpy (void *__restrict __dest, > const void *__restrict __src, size_t __n) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); >extern void *mempcpy (void *__restrict __dest, > const void *__restrict __src, size_t __n) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > > > > >extern size_t strlen (const char *__s) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); > > > > > >extern size_t strnlen (const char *__string, size_t __maxlen) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); > > > > > >extern char *strerror (int __errnum) __attribute__ ((__nothrow__ , __leaf__)); > ># 438 "/usr/include/string.h" 3 4 >extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)); > > > > > >extern char *strerror_l (int __errnum, __locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); > > > > > >extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > >extern void bcopy (const void *__src, void *__dest, size_t __n) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > >extern int bcmp (const void *__s1, const void *__s2, size_t __n) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); ># 489 "/usr/include/string.h" 3 4 >extern char *index (const char *__s, int __c) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); ># 517 "/usr/include/string.h" 3 4 >extern char *rindex (const char *__s, int __c) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); > > > > >extern int ffs (int __i) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); > > > > >extern int ffsl (long int __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); >__extension__ extern int ffsll (long long int __ll) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); > > > >extern int strcasecmp (const char *__s1, const char *__s2) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); > > > > > >extern int strcasecmp_l (const char *__s1, const char *__s2, > __locale_t __loc) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); > >extern int strncasecmp_l (const char *__s1, const char *__s2, > size_t __n, __locale_t __loc) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); > > > > > >extern char *strsep (char **__restrict __stringp, > const char *__restrict __delim) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > > > >extern char *strsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__)); > > >extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); >extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > > >extern char *__stpncpy (char *__restrict __dest, > const char *__restrict __src, size_t __n) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); >extern char *stpncpy (char *__restrict __dest, > const char *__restrict __src, size_t __n) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > > > >extern int strverscmp (const char *__s1, const char *__s2) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern char *strfry (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > >extern void *memfrob (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); ># 604 "/usr/include/string.h" 3 4 >extern char *basename (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); ># 632 "/usr/include/string.h" 3 4 ># 1 "/usr/include/bits/string.h" 1 3 4 ># 633 "/usr/include/string.h" 2 3 4 > > ># 1 "/usr/include/bits/string2.h" 1 3 4 ># 79 "/usr/include/bits/string2.h" 3 4 >typedef struct { unsigned char __arr[2]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR2; >typedef struct { unsigned char __arr[3]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR3; >typedef struct { unsigned char __arr[4]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR4; >typedef struct { unsigned char __arr[5]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR5; >typedef struct { unsigned char __arr[6]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR6; >typedef struct { unsigned char __arr[7]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR7; >typedef struct { unsigned char __arr[8]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR8; ># 393 "/usr/include/bits/string2.h" 3 4 >extern void *__rawmemchr (const void *__s, int __c); ># 945 "/usr/include/bits/string2.h" 3 4 >extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c1 (const char *__s, int __reject); >extern __inline __attribute__ ((__gnu_inline__)) size_t >__strcspn_c1 (const char *__s, int __reject) >{ > size_t __result = 0; > while (__s[__result] != '\0' && __s[__result] != __reject) > ++__result; > return __result; >} > >extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c2 (const char *__s, int __reject1, > int __reject2); >extern __inline __attribute__ ((__gnu_inline__)) size_t >__strcspn_c2 (const char *__s, int __reject1, int __reject2) >{ > size_t __result = 0; > while (__s[__result] != '\0' && __s[__result] != __reject1 > && __s[__result] != __reject2) > ++__result; > return __result; >} > >extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c3 (const char *__s, int __reject1, > int __reject2, int __reject3); >extern __inline __attribute__ ((__gnu_inline__)) size_t >__strcspn_c3 (const char *__s, int __reject1, int __reject2, > int __reject3) >{ > size_t __result = 0; > while (__s[__result] != '\0' && __s[__result] != __reject1 > && __s[__result] != __reject2 && __s[__result] != __reject3) > ++__result; > return __result; >} ># 1021 "/usr/include/bits/string2.h" 3 4 >extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c1 (const char *__s, int __accept); >extern __inline __attribute__ ((__gnu_inline__)) size_t >__strspn_c1 (const char *__s, int __accept) >{ > size_t __result = 0; > > while (__s[__result] == __accept) > ++__result; > return __result; >} > >extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c2 (const char *__s, int __accept1, > int __accept2); >extern __inline __attribute__ ((__gnu_inline__)) size_t >__strspn_c2 (const char *__s, int __accept1, int __accept2) >{ > size_t __result = 0; > > while (__s[__result] == __accept1 || __s[__result] == __accept2) > ++__result; > return __result; >} > >extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c3 (const char *__s, int __accept1, > int __accept2, int __accept3); >extern __inline __attribute__ ((__gnu_inline__)) size_t >__strspn_c3 (const char *__s, int __accept1, int __accept2, int __accept3) >{ > size_t __result = 0; > > while (__s[__result] == __accept1 || __s[__result] == __accept2 > || __s[__result] == __accept3) > ++__result; > return __result; >} ># 1097 "/usr/include/bits/string2.h" 3 4 >extern __inline __attribute__ ((__gnu_inline__)) char *__strpbrk_c2 (const char *__s, int __accept1, > int __accept2); >extern __inline __attribute__ ((__gnu_inline__)) char * >__strpbrk_c2 (const char *__s, int __accept1, int __accept2) >{ > > while (*__s != '\0' && *__s != __accept1 && *__s != __accept2) > ++__s; > return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; >} > >extern __inline __attribute__ ((__gnu_inline__)) char *__strpbrk_c3 (const char *__s, int __accept1, > int __accept2, int __accept3); >extern __inline __attribute__ ((__gnu_inline__)) char * >__strpbrk_c3 (const char *__s, int __accept1, int __accept2, int __accept3) >{ > > while (*__s != '\0' && *__s != __accept1 && *__s != __accept2 > && *__s != __accept3) > ++__s; > return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; >} ># 1147 "/usr/include/bits/string2.h" 3 4 >extern __inline __attribute__ ((__gnu_inline__)) char *__strtok_r_1c (char *__s, char __sep, char **__nextp); >extern __inline __attribute__ ((__gnu_inline__)) char * >__strtok_r_1c (char *__s, char __sep, char **__nextp) >{ > char *__result; > if (__s == ((void *)0)) > __s = *__nextp; > while (*__s == __sep) > ++__s; > __result = ((void *)0); > if (*__s != '\0') > { > __result = __s++; > while (*__s != '\0') > if (*__s++ == __sep) > { > __s[-1] = '\0'; > break; > } > } > *__nextp = __s; > return __result; >} ># 1179 "/usr/include/bits/string2.h" 3 4 >extern char *__strsep_g (char **__stringp, const char *__delim); ># 1197 "/usr/include/bits/string2.h" 3 4 >extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_1c (char **__s, char __reject); >extern __inline __attribute__ ((__gnu_inline__)) char * >__strsep_1c (char **__s, char __reject) >{ > char *__retval = *__s; > if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && !__builtin_constant_p (__retval) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : __builtin_strchr (__retval, __reject)))) != ((void *)0)) > *(*__s)++ = '\0'; > return __retval; >} > >extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_2c (char **__s, char __reject1, char __reject2); >extern __inline __attribute__ ((__gnu_inline__)) char * >__strsep_2c (char **__s, char __reject1, char __reject2) >{ > char *__retval = *__s; > if (__retval != ((void *)0)) > { > char *__cp = __retval; > while (1) > { > if (*__cp == '\0') > { > __cp = ((void *)0); > break; > } > if (*__cp == __reject1 || *__cp == __reject2) > { > *__cp++ = '\0'; > break; > } > ++__cp; > } > *__s = __cp; > } > return __retval; >} > >extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_3c (char **__s, char __reject1, char __reject2, > char __reject3); >extern __inline __attribute__ ((__gnu_inline__)) char * >__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3) >{ > char *__retval = *__s; > if (__retval != ((void *)0)) > { > char *__cp = __retval; > while (1) > { > if (*__cp == '\0') > { > __cp = ((void *)0); > break; > } > if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3) > { > *__cp++ = '\0'; > break; > } > ++__cp; > } > *__s = __cp; > } > return __retval; >} ># 1278 "/usr/include/bits/string2.h" 3 4 >extern char *__strdup (const char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)); ># 1297 "/usr/include/bits/string2.h" 3 4 >extern char *__strndup (const char *__string, size_t __n) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)); ># 636 "/usr/include/string.h" 2 3 4 > > > > ># 1 "/usr/include/bits/string3.h" 1 3 4 ># 22 "/usr/include/bits/string3.h" 3 4 >extern void __warn_memset_zero_len (void) __attribute__((__warning__ ("memset used with constant zero length parameter; this could be due to transposed parameters"))) > ; ># 47 "/usr/include/bits/string3.h" 3 4 >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * >__attribute__ ((__nothrow__ , __leaf__)) memcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) > >{ > return __builtin___memcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); >} > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * >__attribute__ ((__nothrow__ , __leaf__)) memmove (void *__dest, const void *__src, size_t __len) >{ > return __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); >} > > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * >__attribute__ ((__nothrow__ , __leaf__)) mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) > >{ > return __builtin___mempcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); >} ># 75 "/usr/include/bits/string3.h" 3 4 >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * >__attribute__ ((__nothrow__ , __leaf__)) memset (void *__dest, int __ch, size_t __len) >{ > if (__builtin_constant_p (__len) && __len == 0 > && (!__builtin_constant_p (__ch) || __ch != 0)) > { > __warn_memset_zero_len (); > return __dest; > } > return __builtin___memset_chk (__dest, __ch, __len, __builtin_object_size (__dest, 0)); >} > > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void >__attribute__ ((__nothrow__ , __leaf__)) bcopy (const void *__src, void *__dest, size_t __len) >{ > (void) __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); >} > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void >__attribute__ ((__nothrow__ , __leaf__)) bzero (void *__dest, size_t __len) >{ > (void) __builtin___memset_chk (__dest, '\0', __len, __builtin_object_size (__dest, 0)); >} > > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * >__attribute__ ((__nothrow__ , __leaf__)) strcpy (char *__restrict __dest, const char *__restrict __src) >{ > return __builtin___strcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); >} > > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * >__attribute__ ((__nothrow__ , __leaf__)) stpcpy (char *__restrict __dest, const char *__restrict __src) >{ > return __builtin___stpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); >} > > > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * >__attribute__ ((__nothrow__ , __leaf__)) strncpy (char *__restrict __dest, const char *__restrict __src, size_t __len) > >{ > return __builtin___strncpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1)); >} > > >extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n, > size_t __destlen) __attribute__ ((__nothrow__ , __leaf__)); >extern char *__stpncpy_alias (char *__dest, const char *__src, size_t __n) __asm__ ("" "stpncpy") __attribute__ ((__nothrow__ , __leaf__)) > ; > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * >__attribute__ ((__nothrow__ , __leaf__)) stpncpy (char *__dest, const char *__src, size_t __n) >{ > if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1 > && (!__builtin_constant_p (__n) || __n <= __builtin_object_size (__dest, 2 > 1))) > return __stpncpy_chk (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1)); > return __stpncpy_alias (__dest, __src, __n); >} > > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * >__attribute__ ((__nothrow__ , __leaf__)) strcat (char *__restrict __dest, const char *__restrict __src) >{ > return __builtin___strcat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); >} > > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * >__attribute__ ((__nothrow__ , __leaf__)) strncat (char *__restrict __dest, const char *__restrict __src, size_t __len) > >{ > return __builtin___strncat_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1)); >} ># 641 "/usr/include/string.h" 2 3 4 > > > > ># 35 "include/libbb.h" 2 > > ># 1 "/usr/include/libgen.h" 1 3 4 ># 23 "/usr/include/libgen.h" 3 4 > > > >extern char *dirname (char *__path) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > > >extern char *__xpg_basename (char *__path) __attribute__ ((__nothrow__ , __leaf__)); > > > ># 38 "include/libbb.h" 2 > > ># 1 "/usr/include/sys/poll.h" 1 3 4 ># 25 "/usr/include/sys/poll.h" 3 4 ># 1 "/usr/include/bits/poll.h" 1 3 4 ># 26 "/usr/include/sys/poll.h" 2 3 4 > > ># 1 "/usr/include/bits/sigset.h" 1 3 4 ># 29 "/usr/include/sys/poll.h" 2 3 4 > > ># 1 "/usr/include/time.h" 1 3 4 ># 32 "/usr/include/sys/poll.h" 2 3 4 > > > > >typedef unsigned long int nfds_t; > > >struct pollfd > { > int fd; > short int events; > short int revents; > }; > > > ># 57 "/usr/include/sys/poll.h" 3 4 >extern int poll (struct pollfd *__fds, nfds_t __nfds, int __timeout); ># 66 "/usr/include/sys/poll.h" 3 4 >extern int ppoll (struct pollfd *__fds, nfds_t __nfds, > const struct timespec *__timeout, > const __sigset_t *__ss); > > > > > > > ># 1 "/usr/include/bits/poll2.h" 1 3 4 ># 24 "/usr/include/bits/poll2.h" 3 4 > > >extern int __poll_alias (struct pollfd *__fds, nfds_t __nfds, int __timeout) __asm__ ("" "poll") > ; >extern int __poll_chk (struct pollfd *__fds, nfds_t __nfds, int __timeout, > unsigned int __fdslen); >extern int __poll_chk_warn (struct pollfd *__fds, nfds_t __nfds, int __timeout, unsigned int __fdslen) __asm__ ("" "__poll_chk") > > > __attribute__((__warning__ ("poll called with fds buffer too small file nfds entries"))); > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >poll (struct pollfd *__fds, nfds_t __nfds, int __timeout) >{ > if (__builtin_object_size (__fds, 2 > 1) != (unsigned int) -1) > { > if (! __builtin_constant_p (__nfds)) > return __poll_chk (__fds, __nfds, __timeout, __builtin_object_size (__fds, 2 > 1)); > else if (__builtin_object_size (__fds, 2 > 1) / sizeof (*__fds) < __nfds) > return __poll_chk_warn (__fds, __nfds, __timeout, __builtin_object_size (__fds, 2 > 1)); > } > > return __poll_alias (__fds, __nfds, __timeout); >} > > > >extern int __ppoll_alias (struct pollfd *__fds, nfds_t __nfds, const struct timespec *__timeout, const __sigset_t *__ss) __asm__ ("" "ppoll") > > ; >extern int __ppoll_chk (struct pollfd *__fds, nfds_t __nfds, > const struct timespec *__timeout, > const __sigset_t *__ss, unsigned int __fdslen); >extern int __ppoll_chk_warn (struct pollfd *__fds, nfds_t __nfds, const struct timespec *__timeout, const __sigset_t *__ss, unsigned int __fdslen) __asm__ ("" "__ppoll_chk") > > > > > __attribute__((__warning__ ("ppoll called with fds buffer too small file nfds entries"))); > >extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int >ppoll (struct pollfd *__fds, nfds_t __nfds, const struct timespec *__timeout, > const __sigset_t *__ss) >{ > if (__builtin_object_size (__fds, 2 > 1) != (unsigned int) -1) > { > if (! __builtin_constant_p (__nfds)) > return __ppoll_chk (__fds, __nfds, __timeout, __ss, __builtin_object_size (__fds, 2 > 1)); > else if (__builtin_object_size (__fds, 2 > 1) / sizeof (*__fds) < __nfds) > return __ppoll_chk_warn (__fds, __nfds, __timeout, __ss, > __builtin_object_size (__fds, 2 > 1)); > } > > return __ppoll_alias (__fds, __nfds, __timeout, __ss); >} > > > ># 77 "/usr/include/sys/poll.h" 2 3 4 ># 41 "include/libbb.h" 2 ># 1 "/usr/include/sys/ioctl.h" 1 3 4 ># 23 "/usr/include/sys/ioctl.h" 3 4 > > > ># 1 "/usr/include/bits/ioctls.h" 1 3 4 ># 23 "/usr/include/bits/ioctls.h" 3 4 ># 1 "/usr/include/asm/ioctls.h" 1 3 4 > > > > > ># 1 "/usr/include/asm-generic/ioctls.h" 1 3 4 > > > ># 1 "/usr/include/linux/ioctl.h" 1 3 4 > > > ># 1 "/usr/include/asm/ioctl.h" 1 3 4 ># 1 "/usr/include/asm-generic/ioctl.h" 1 3 4 ># 1 "/usr/include/asm/ioctl.h" 2 3 4 ># 5 "/usr/include/linux/ioctl.h" 2 3 4 ># 5 "/usr/include/asm-generic/ioctls.h" 2 3 4 ># 7 "/usr/include/asm/ioctls.h" 2 3 4 ># 24 "/usr/include/bits/ioctls.h" 2 3 4 ># 27 "/usr/include/sys/ioctl.h" 2 3 4 > > ># 1 "/usr/include/bits/ioctl-types.h" 1 3 4 ># 27 "/usr/include/bits/ioctl-types.h" 3 4 >struct winsize > { > unsigned short int ws_row; > unsigned short int ws_col; > unsigned short int ws_xpixel; > unsigned short int ws_ypixel; > }; > > >struct termio > { > unsigned short int c_iflag; > unsigned short int c_oflag; > unsigned short int c_cflag; > unsigned short int c_lflag; > unsigned char c_line; > unsigned char c_cc[8]; >}; ># 30 "/usr/include/sys/ioctl.h" 2 3 4 > > > > > > ># 1 "/usr/include/sys/ttydefaults.h" 1 3 4 ># 37 "/usr/include/sys/ioctl.h" 2 3 4 > > > > >extern int ioctl (int __fd, unsigned long int __request, ...) __attribute__ ((__nothrow__ , __leaf__)); > > ># 42 "include/libbb.h" 2 ># 1 "/usr/include/sys/mman.h" 1 3 4 ># 25 "/usr/include/sys/mman.h" 3 4 ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 1 3 4 ># 26 "/usr/include/sys/mman.h" 2 3 4 ># 41 "/usr/include/sys/mman.h" 3 4 ># 1 "/usr/include/bits/mman.h" 1 3 4 ># 40 "/usr/include/bits/mman.h" 3 4 ># 1 "/usr/include/bits/mman-linux.h" 1 3 4 ># 40 "/usr/include/bits/mman.h" 2 3 4 ># 42 "/usr/include/sys/mman.h" 2 3 4 > > > > > ># 61 "/usr/include/sys/mman.h" 3 4 >extern void * mmap (void *__addr, size_t __len, int __prot, int __flags, int __fd, __off64_t __offset) __asm__ ("" "mmap64") __attribute__ ((__nothrow__ , __leaf__)) > > > ; > > > > > >extern void *mmap64 (void *__addr, size_t __len, int __prot, > int __flags, int __fd, __off64_t __offset) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern int munmap (void *__addr, size_t __len) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern int mprotect (void *__addr, size_t __len, int __prot) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > > >extern int msync (void *__addr, size_t __len, int __flags); > > > > >extern int madvise (void *__addr, size_t __len, int __advice) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern int posix_madvise (void *__addr, size_t __len, int __advice) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern int mlock (const void *__addr, size_t __len) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int munlock (const void *__addr, size_t __len) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern int mlockall (int __flags) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern int munlockall (void) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > > >extern int mincore (void *__start, size_t __len, unsigned char *__vec) > __attribute__ ((__nothrow__ , __leaf__)); ># 133 "/usr/include/sys/mman.h" 3 4 >extern void *mremap (void *__addr, size_t __old_len, size_t __new_len, > int __flags, ...) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern int remap_file_pages (void *__start, size_t __size, int __prot, > size_t __pgoff, int __flags) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern int shm_open (const char *__name, int __oflag, mode_t __mode); > > >extern int shm_unlink (const char *__name); > > ># 43 "include/libbb.h" 2 > ># 1 "/usr/include/sys/stat.h" 1 3 4 ># 37 "/usr/include/sys/stat.h" 3 4 ># 1 "/usr/include/time.h" 1 3 4 ># 38 "/usr/include/sys/stat.h" 2 3 4 ># 103 "/usr/include/sys/stat.h" 3 4 > > ># 1 "/usr/include/bits/stat.h" 1 3 4 ># 106 "/usr/include/sys/stat.h" 2 3 4 ># 217 "/usr/include/sys/stat.h" 3 4 >extern int stat (const char *__restrict __file, struct stat *__restrict __buf) __asm__ ("" "stat64") __attribute__ ((__nothrow__ , __leaf__)) > > __attribute__ ((__nonnull__ (1, 2))); >extern int fstat (int __fd, struct stat *__buf) __asm__ ("" "fstat64") __attribute__ ((__nothrow__ , __leaf__)) > __attribute__ ((__nonnull__ (2))); > > > > > > >extern int stat64 (const char *__restrict __file, > struct stat64 *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); >extern int fstat64 (int __fd, struct stat64 *__buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); ># 243 "/usr/include/sys/stat.h" 3 4 >extern int fstatat (int __fd, const char *__restrict __file, struct stat *__restrict __buf, int __flag) __asm__ ("" "fstatat64") __attribute__ ((__nothrow__ , __leaf__)) > > > __attribute__ ((__nonnull__ (2, 3))); > > > > > > >extern int fstatat64 (int __fd, const char *__restrict __file, > struct stat64 *__restrict __buf, int __flag) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); ># 267 "/usr/include/sys/stat.h" 3 4 >extern int lstat (const char *__restrict __file, struct stat *__restrict __buf) __asm__ ("" "lstat64") __attribute__ ((__nothrow__ , __leaf__)) > > > __attribute__ ((__nonnull__ (1, 2))); > > > > > >extern int lstat64 (const char *__restrict __file, > struct stat64 *__restrict __buf) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); > > > > > >extern int chmod (const char *__file, __mode_t __mode) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > > >extern int lchmod (const char *__file, __mode_t __mode) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > >extern int fchmod (int __fd, __mode_t __mode) __attribute__ ((__nothrow__ , __leaf__)); > > > > > >extern int fchmodat (int __fd, const char *__file, __mode_t __mode, > int __flag) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)); > > > > > > >extern __mode_t umask (__mode_t __mask) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern __mode_t getumask (void) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern int mkdir (const char *__path, __mode_t __mode) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > > >extern int mkdirat (int __fd, const char *__path, __mode_t __mode) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); > > > > > > >extern int mknod (const char *__path, __mode_t __mode, __dev_t __dev) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > > >extern int mknodat (int __fd, const char *__path, __mode_t __mode, > __dev_t __dev) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); > > > > > >extern int mkfifo (const char *__path, __mode_t __mode) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > > >extern int mkfifoat (int __fd, const char *__path, __mode_t __mode) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); > > > > > >extern int utimensat (int __fd, const char *__path, > const struct timespec __times[2], > int __flags) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); > > > > >extern int futimens (int __fd, const struct timespec __times[2]) __attribute__ ((__nothrow__ , __leaf__)); ># 410 "/usr/include/sys/stat.h" 3 4 >extern int __fxstat (int __ver, int __fildes, struct stat *__stat_buf) __asm__ ("" "__fxstat64") __attribute__ ((__nothrow__ , __leaf__)) > > __attribute__ ((__nonnull__ (3))); >extern int __xstat (int __ver, const char *__filename, struct stat *__stat_buf) __asm__ ("" "__xstat64") __attribute__ ((__nothrow__ , __leaf__)) > > __attribute__ ((__nonnull__ (2, 3))); >extern int __lxstat (int __ver, const char *__filename, struct stat *__stat_buf) __asm__ ("" "__lxstat64") __attribute__ ((__nothrow__ , __leaf__)) > > __attribute__ ((__nonnull__ (2, 3))); >extern int __fxstatat (int __ver, int __fildes, const char *__filename, struct stat *__stat_buf, int __flag) __asm__ ("" "__fxstatat64") __attribute__ ((__nothrow__ , __leaf__)) > > > __attribute__ ((__nonnull__ (3, 4))); ># 432 "/usr/include/sys/stat.h" 3 4 >extern int __fxstat64 (int __ver, int __fildes, struct stat64 *__stat_buf) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))); >extern int __xstat64 (int __ver, const char *__filename, > struct stat64 *__stat_buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); >extern int __lxstat64 (int __ver, const char *__filename, > struct stat64 *__stat_buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); >extern int __fxstatat64 (int __ver, int __fildes, const char *__filename, > struct stat64 *__stat_buf, int __flag) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))); > >extern int __xmknod (int __ver, const char *__path, __mode_t __mode, > __dev_t *__dev) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); > >extern int __xmknodat (int __ver, int __fd, const char *__path, > __mode_t __mode, __dev_t *__dev) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 5))); > > > > >extern __inline __attribute__ ((__gnu_inline__)) int >__attribute__ ((__nothrow__ , __leaf__)) stat (const char *__path, struct stat *__statbuf) >{ > return __xstat (3, __path, __statbuf); >} > > >extern __inline __attribute__ ((__gnu_inline__)) int >__attribute__ ((__nothrow__ , __leaf__)) lstat (const char *__path, struct stat *__statbuf) >{ > return __lxstat (3, __path, __statbuf); >} > > >extern __inline __attribute__ ((__gnu_inline__)) int >__attribute__ ((__nothrow__ , __leaf__)) fstat (int __fd, struct stat *__statbuf) >{ > return __fxstat (3, __fd, __statbuf); >} > > >extern __inline __attribute__ ((__gnu_inline__)) int >__attribute__ ((__nothrow__ , __leaf__)) fstatat (int __fd, const char *__filename, struct stat *__statbuf, int __flag) > >{ > return __fxstatat (3, __fd, __filename, __statbuf, __flag); >} > > > >extern __inline __attribute__ ((__gnu_inline__)) int >__attribute__ ((__nothrow__ , __leaf__)) mknod (const char *__path, __mode_t __mode, __dev_t __dev) >{ > return __xmknod (1, __path, __mode, &__dev); >} > > > >extern __inline __attribute__ ((__gnu_inline__)) int >__attribute__ ((__nothrow__ , __leaf__)) mknodat (int __fd, const char *__path, __mode_t __mode, __dev_t __dev) > >{ > return __xmknodat (1, __fd, __path, __mode, &__dev); >} > > > > > >extern __inline __attribute__ ((__gnu_inline__)) int >__attribute__ ((__nothrow__ , __leaf__)) stat64 (const char *__path, struct stat64 *__statbuf) >{ > return __xstat64 (3, __path, __statbuf); >} > > >extern __inline __attribute__ ((__gnu_inline__)) int >__attribute__ ((__nothrow__ , __leaf__)) lstat64 (const char *__path, struct stat64 *__statbuf) >{ > return __lxstat64 (3, __path, __statbuf); >} > > >extern __inline __attribute__ ((__gnu_inline__)) int >__attribute__ ((__nothrow__ , __leaf__)) fstat64 (int __fd, struct stat64 *__statbuf) >{ > return __fxstat64 (3, __fd, __statbuf); >} > > >extern __inline __attribute__ ((__gnu_inline__)) int >__attribute__ ((__nothrow__ , __leaf__)) fstatat64 (int __fd, const char *__filename, struct stat64 *__statbuf, int __flag) > >{ > return __fxstatat64 (3, __fd, __filename, __statbuf, __flag); >} > > > > > > > ># 45 "include/libbb.h" 2 ># 1 "/usr/include/sys/time.h" 1 3 4 ># 25 "/usr/include/sys/time.h" 3 4 ># 1 "/usr/include/time.h" 1 3 4 ># 26 "/usr/include/sys/time.h" 2 3 4 > ># 1 "/usr/include/bits/time.h" 1 3 4 ># 28 "/usr/include/sys/time.h" 2 3 4 ># 37 "/usr/include/sys/time.h" 3 4 > ># 55 "/usr/include/sys/time.h" 3 4 >struct timezone > { > int tz_minuteswest; > int tz_dsttime; > }; > >typedef struct timezone *__restrict __timezone_ptr_t; ># 71 "/usr/include/sys/time.h" 3 4 >extern int gettimeofday (struct timeval *__restrict __tv, > __timezone_ptr_t __tz) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > > >extern int settimeofday (const struct timeval *__tv, > const struct timezone *__tz) > __attribute__ ((__nothrow__ , __leaf__)); > > > > > >extern int adjtime (const struct timeval *__delta, > struct timeval *__olddelta) __attribute__ ((__nothrow__ , __leaf__)); > > > > >enum __itimer_which > { > > ITIMER_REAL = 0, > > > ITIMER_VIRTUAL = 1, > > > > ITIMER_PROF = 2 > > }; > > > >struct itimerval > { > > struct timeval it_interval; > > struct timeval it_value; > }; > > > > >typedef enum __itimer_which __itimer_which_t; > > > > > > >extern int getitimer (__itimer_which_t __which, > struct itimerval *__value) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern int setitimer (__itimer_which_t __which, > const struct itimerval *__restrict __new, > struct itimerval *__restrict __old) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern int utimes (const char *__file, const struct timeval __tvp[2]) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > > >extern int lutimes (const char *__file, const struct timeval __tvp[2]) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); > > >extern int futimes (int __fd, const struct timeval __tvp[2]) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > >extern int futimesat (int __fd, const char *__file, > const struct timeval __tvp[2]) __attribute__ ((__nothrow__ , __leaf__)); ># 189 "/usr/include/sys/time.h" 3 4 > ># 46 "include/libbb.h" 2 > > > > ># 1 "/usr/include/sys/wait.h" 1 3 4 ># 27 "/usr/include/sys/wait.h" 3 4 > ># 99 "/usr/include/sys/wait.h" 3 4 >typedef enum >{ > P_ALL, > P_PID, > P_PGID >} idtype_t; ># 113 "/usr/include/sys/wait.h" 3 4 >extern __pid_t wait (__WAIT_STATUS __stat_loc); ># 136 "/usr/include/sys/wait.h" 3 4 >extern __pid_t waitpid (__pid_t __pid, int *__stat_loc, int __options); ># 146 "/usr/include/sys/wait.h" 3 4 ># 1 "/usr/include/bits/siginfo.h" 1 3 4 ># 24 "/usr/include/bits/siginfo.h" 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 25 "/usr/include/bits/siginfo.h" 2 3 4 ># 147 "/usr/include/sys/wait.h" 2 3 4 ># 159 "/usr/include/sys/wait.h" 3 4 >extern int waitid (idtype_t __idtype, __id_t __id, siginfo_t *__infop, > int __options); > > > > > >struct rusage; > > > > > > >extern __pid_t wait3 (__WAIT_STATUS __stat_loc, int __options, > struct rusage * __usage) __attribute__ ((__nothrow__)); > > > > >extern __pid_t wait4 (__pid_t __pid, __WAIT_STATUS __stat_loc, int __options, > struct rusage *__usage) __attribute__ ((__nothrow__)); > > > > ># 51 "include/libbb.h" 2 ># 1 "/usr/include/termios.h" 1 3 4 ># 35 "/usr/include/termios.h" 3 4 > > > > ># 1 "/usr/include/bits/termios.h" 1 3 4 ># 23 "/usr/include/bits/termios.h" 3 4 >typedef unsigned char cc_t; >typedef unsigned int speed_t; >typedef unsigned int tcflag_t; > > >struct termios > { > tcflag_t c_iflag; > tcflag_t c_oflag; > tcflag_t c_cflag; > tcflag_t c_lflag; > cc_t c_line; > cc_t c_cc[32]; > speed_t c_ispeed; > speed_t c_ospeed; > > > }; ># 40 "/usr/include/termios.h" 2 3 4 ># 48 "/usr/include/termios.h" 3 4 >extern speed_t cfgetospeed (const struct termios *__termios_p) __attribute__ ((__nothrow__ , __leaf__)); > > >extern speed_t cfgetispeed (const struct termios *__termios_p) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int cfsetospeed (struct termios *__termios_p, speed_t __speed) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int cfsetispeed (struct termios *__termios_p, speed_t __speed) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern int cfsetspeed (struct termios *__termios_p, speed_t __speed) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern int tcgetattr (int __fd, struct termios *__termios_p) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern int tcsetattr (int __fd, int __optional_actions, > const struct termios *__termios_p) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern void cfmakeraw (struct termios *__termios_p) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern int tcsendbreak (int __fd, int __duration) __attribute__ ((__nothrow__ , __leaf__)); > > > > > >extern int tcdrain (int __fd); > > > >extern int tcflush (int __fd, int __queue_selector) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern int tcflow (int __fd, int __action) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern __pid_t tcgetsid (int __fd) __attribute__ ((__nothrow__ , __leaf__)); > > > > ># 1 "/usr/include/sys/ttydefaults.h" 1 3 4 ># 105 "/usr/include/termios.h" 2 3 4 > > > ># 52 "include/libbb.h" 2 ># 1 "/usr/include/time.h" 1 3 4 ># 29 "/usr/include/time.h" 3 4 > > > > > > > > ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 1 3 4 ># 38 "/usr/include/time.h" 2 3 4 > > > ># 1 "/usr/include/bits/time.h" 1 3 4 ># 86 "/usr/include/bits/time.h" 3 4 ># 1 "/usr/include/bits/timex.h" 1 3 4 ># 25 "/usr/include/bits/timex.h" 3 4 >struct timex >{ > unsigned int modes; > __syscall_slong_t offset; > __syscall_slong_t freq; > __syscall_slong_t maxerror; > __syscall_slong_t esterror; > int status; > __syscall_slong_t constant; > __syscall_slong_t precision; > __syscall_slong_t tolerance; > struct timeval time; > __syscall_slong_t tick; > __syscall_slong_t ppsfreq; > __syscall_slong_t jitter; > int shift; > __syscall_slong_t stabil; > __syscall_slong_t jitcnt; > __syscall_slong_t calcnt; > __syscall_slong_t errcnt; > __syscall_slong_t stbcnt; > > int tai; > > > int :32; int :32; int :32; int :32; > int :32; int :32; int :32; int :32; > int :32; int :32; int :32; >}; ># 87 "/usr/include/bits/time.h" 2 3 4 > > > > >extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) __attribute__ ((__nothrow__ , __leaf__)); > > ># 42 "/usr/include/time.h" 2 3 4 ># 131 "/usr/include/time.h" 3 4 > > >struct tm >{ > int tm_sec; > int tm_min; > int tm_hour; > int tm_mday; > int tm_mon; > int tm_year; > int tm_wday; > int tm_yday; > int tm_isdst; > > > long int tm_gmtoff; > const char *tm_zone; > > > > >}; > > > > > > > > >struct itimerspec > { > struct timespec it_interval; > struct timespec it_value; > }; > > >struct sigevent; ># 186 "/usr/include/time.h" 3 4 > > > >extern clock_t clock (void) __attribute__ ((__nothrow__ , __leaf__)); > > >extern time_t time (time_t *__timer) __attribute__ ((__nothrow__ , __leaf__)); > > >extern double difftime (time_t __time1, time_t __time0) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); > > >extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__)); > > > > > >extern size_t strftime (char *__restrict __s, size_t __maxsize, > const char *__restrict __format, > const struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__)); > > > > > >extern char *strptime (const char *__restrict __s, > const char *__restrict __fmt, struct tm *__tp) > __attribute__ ((__nothrow__ , __leaf__)); > > > > > > > >extern size_t strftime_l (char *__restrict __s, size_t __maxsize, > const char *__restrict __format, > const struct tm *__restrict __tp, > __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern char *strptime_l (const char *__restrict __s, > const char *__restrict __fmt, struct tm *__tp, > __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > >extern struct tm *gmtime (const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern struct tm *localtime (const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__)); > > > > > >extern struct tm *gmtime_r (const time_t *__restrict __timer, > struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern struct tm *localtime_r (const time_t *__restrict __timer, > struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__)); > > > > > >extern char *asctime (const struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__)); > > >extern char *ctime (const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__)); > > > > > > > >extern char *asctime_r (const struct tm *__restrict __tp, > char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); > > >extern char *ctime_r (const time_t *__restrict __timer, > char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern char *__tzname[2]; >extern int __daylight; >extern long int __timezone; > > > > >extern char *tzname[2]; > > > >extern void tzset (void) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern int daylight; >extern long int timezone; > > > > > >extern int stime (const time_t *__when) __attribute__ ((__nothrow__ , __leaf__)); ># 319 "/usr/include/time.h" 3 4 >extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__)); > > >extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int dysize (int __year) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); ># 334 "/usr/include/time.h" 3 4 >extern int nanosleep (const struct timespec *__requested_time, > struct timespec *__remaining); > > > >extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp) > __attribute__ ((__nothrow__ , __leaf__)); > > > > > > >extern int clock_nanosleep (clockid_t __clock_id, int __flags, > const struct timespec *__req, > struct timespec *__rem); > > >extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern int timer_create (clockid_t __clock_id, > struct sigevent *__restrict __evp, > timer_t *__restrict __timerid) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int timer_settime (timer_t __timerid, int __flags, > const struct itimerspec *__restrict __value, > struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) > __attribute__ ((__nothrow__ , __leaf__)); > > >extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__ , __leaf__)); > > > > > >extern int timespec_get (struct timespec *__ts, int __base) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); ># 403 "/usr/include/time.h" 3 4 >extern int getdate_err; ># 412 "/usr/include/time.h" 3 4 >extern struct tm *getdate (const char *__string); ># 426 "/usr/include/time.h" 3 4 >extern int getdate_r (const char *__restrict __string, > struct tm *__restrict __resbufp); > > > ># 53 "include/libbb.h" 2 ># 1 "/usr/include/sys/param.h" 1 3 4 ># 23 "/usr/include/sys/param.h" 3 4 ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 1 3 4 ># 24 "/usr/include/sys/param.h" 2 3 4 > > ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include-fixed/limits.h" 1 3 4 ># 27 "/usr/include/sys/param.h" 2 3 4 > > > > ># 1 "/usr/include/bits/param.h" 1 3 4 ># 28 "/usr/include/bits/param.h" 3 4 ># 1 "/usr/include/linux/param.h" 1 3 4 > > > ># 1 "/usr/include/asm/param.h" 1 3 4 ># 1 "/usr/include/asm-generic/param.h" 1 3 4 ># 1 "/usr/include/asm/param.h" 2 3 4 ># 5 "/usr/include/linux/param.h" 2 3 4 ># 29 "/usr/include/bits/param.h" 2 3 4 ># 32 "/usr/include/sys/param.h" 2 3 4 ># 54 "include/libbb.h" 2 ># 1 "/usr/include/pwd.h" 1 3 4 ># 27 "/usr/include/pwd.h" 3 4 > > > > > ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 1 3 4 ># 33 "/usr/include/pwd.h" 2 3 4 ># 49 "/usr/include/pwd.h" 3 4 >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; >}; ># 72 "/usr/include/pwd.h" 3 4 >extern void setpwent (void); > > > > > >extern void endpwent (void); > > > > > >extern struct passwd *getpwent (void); ># 94 "/usr/include/pwd.h" 3 4 >extern struct passwd *fgetpwent (FILE *__stream); > > > > > > > >extern int putpwent (const struct passwd *__restrict __p, > FILE *__restrict __f); > > > > > > >extern struct passwd *getpwuid (__uid_t __uid); > > > > > >extern struct passwd *getpwnam (const char *__name); ># 139 "/usr/include/pwd.h" 3 4 >extern int getpwent_r (struct passwd *__restrict __resultbuf, > char *__restrict __buffer, size_t __buflen, > struct passwd **__restrict __result); > > >extern int getpwuid_r (__uid_t __uid, > struct passwd *__restrict __resultbuf, > char *__restrict __buffer, size_t __buflen, > struct passwd **__restrict __result); > >extern int getpwnam_r (const char *__restrict __name, > struct passwd *__restrict __resultbuf, > char *__restrict __buffer, size_t __buflen, > struct passwd **__restrict __result); ># 163 "/usr/include/pwd.h" 3 4 >extern int fgetpwent_r (FILE *__restrict __stream, > struct passwd *__restrict __resultbuf, > char *__restrict __buffer, size_t __buflen, > struct passwd **__restrict __result); ># 180 "/usr/include/pwd.h" 3 4 >extern int getpw (__uid_t __uid, char *__buffer); > > > ># 55 "include/libbb.h" 2 ># 1 "/usr/include/grp.h" 1 3 4 ># 27 "/usr/include/grp.h" 3 4 > > > > > ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 1 3 4 ># 33 "/usr/include/grp.h" 2 3 4 ># 42 "/usr/include/grp.h" 3 4 >struct group > { > char *gr_name; > char *gr_passwd; > __gid_t gr_gid; > char **gr_mem; > }; ># 62 "/usr/include/grp.h" 3 4 >extern void setgrent (void); ># 71 "/usr/include/grp.h" 3 4 >extern void endgrent (void); > > > > > >extern struct group *getgrent (void); ># 87 "/usr/include/grp.h" 3 4 >extern struct group *fgetgrent (FILE *__stream); ># 97 "/usr/include/grp.h" 3 4 >extern int putgrent (const struct group *__restrict __p, > FILE *__restrict __f); > > > > > > >extern struct group *getgrgid (__gid_t __gid); > > > > > >extern struct group *getgrnam (const char *__name); ># 135 "/usr/include/grp.h" 3 4 >extern int getgrent_r (struct group *__restrict __resultbuf, > char *__restrict __buffer, size_t __buflen, > struct group **__restrict __result); > > > > > > >extern int getgrgid_r (__gid_t __gid, struct group *__restrict __resultbuf, > char *__restrict __buffer, size_t __buflen, > struct group **__restrict __result); > > > > > >extern int getgrnam_r (const char *__restrict __name, > struct group *__restrict __resultbuf, > char *__restrict __buffer, size_t __buflen, > struct group **__restrict __result); ># 165 "/usr/include/grp.h" 3 4 >extern int fgetgrent_r (FILE *__restrict __stream, > struct group *__restrict __resultbuf, > char *__restrict __buffer, size_t __buflen, > struct group **__restrict __result); ># 177 "/usr/include/grp.h" 3 4 ># 1 "/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.8.3/include/stddef.h" 1 3 4 ># 178 "/usr/include/grp.h" 2 3 4 > > >extern int setgroups (size_t __n, const __gid_t *__groups) __attribute__ ((__nothrow__ , __leaf__)); ># 190 "/usr/include/grp.h" 3 4 >extern int getgrouplist (const char *__user, __gid_t __group, > __gid_t *__groups, int *__ngroups); ># 201 "/usr/include/grp.h" 3 4 >extern int initgroups (const char *__user, __gid_t __group); > > > > ># 56 "include/libbb.h" 2 ># 69 "include/libbb.h" ># 1 "/usr/include/mntent.h" 1 3 4 ># 25 "/usr/include/mntent.h" 3 4 ># 1 "/usr/include/paths.h" 1 3 4 ># 26 "/usr/include/mntent.h" 2 3 4 ># 50 "/usr/include/mntent.h" 3 4 > > > >struct mntent > { > char *mnt_fsname; > char *mnt_dir; > char *mnt_type; > char *mnt_opts; > int mnt_freq; > int mnt_passno; > }; > > > > >extern FILE *setmntent (const char *__file, const char *__mode) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern struct mntent *getmntent (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern struct mntent *getmntent_r (FILE *__restrict __stream, > struct mntent *__restrict __result, > char *__restrict __buffer, > int __bufsize) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern int addmntent (FILE *__restrict __stream, > const struct mntent *__restrict __mnt) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int endmntent (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern char *hasmntopt (const struct mntent *__mnt, > const char *__opt) __attribute__ ((__nothrow__ , __leaf__)); > > > ># 70 "include/libbb.h" 2 > > ># 1 "/usr/include/sys/statfs.h" 1 3 4 ># 25 "/usr/include/sys/statfs.h" 3 4 ># 1 "/usr/include/bits/statfs.h" 1 3 4 ># 24 "/usr/include/bits/statfs.h" 3 4 >struct statfs > { > __fsword_t f_type; > __fsword_t f_bsize; > > > > > > > > __fsblkcnt64_t f_blocks; > __fsblkcnt64_t f_bfree; > __fsblkcnt64_t f_bavail; > __fsfilcnt64_t f_files; > __fsfilcnt64_t f_ffree; > > __fsid_t f_fsid; > __fsword_t f_namelen; > __fsword_t f_frsize; > __fsword_t f_flags; > __fsword_t f_spare[4]; > }; > > >struct statfs64 > { > __fsword_t f_type; > __fsword_t f_bsize; > __fsblkcnt64_t f_blocks; > __fsblkcnt64_t f_bfree; > __fsblkcnt64_t f_bavail; > __fsfilcnt64_t f_files; > __fsfilcnt64_t f_ffree; > __fsid_t f_fsid; > __fsword_t f_namelen; > __fsword_t f_frsize; > __fsword_t f_flags; > __fsword_t f_spare[4]; > }; ># 26 "/usr/include/sys/statfs.h" 2 3 4 > > > > > > > > > >extern int statfs (const char *__file, struct statfs *__buf) __asm__ ("" "statfs64") __attribute__ ((__nothrow__ , __leaf__)) > > __attribute__ ((__nonnull__ (1, 2))); > > > > > >extern int statfs64 (const char *__file, struct statfs64 *__buf) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); ># 54 "/usr/include/sys/statfs.h" 3 4 >extern int fstatfs (int __fildes, struct statfs *__buf) __asm__ ("" "fstatfs64") __attribute__ ((__nothrow__ , __leaf__)) > __attribute__ ((__nonnull__ (2))); > > > > > >extern int fstatfs64 (int __fildes, struct statfs64 *__buf) > __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); > > > ># 73 "include/libbb.h" 2 ># 87 "include/libbb.h" ># 1 "/usr/include/utmp.h" 1 3 4 ># 26 "/usr/include/utmp.h" 3 4 > > > ># 1 "/usr/include/bits/utmp.h" 1 3 4 ># 26 "/usr/include/bits/utmp.h" 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 27 "/usr/include/bits/utmp.h" 2 3 4 ># 36 "/usr/include/bits/utmp.h" 3 4 >struct lastlog > { > > > > __time_t ll_time; > > char ll_line[32]; > char ll_host[256]; > }; > > > > >struct exit_status > { > short int e_termination; > short int e_exit; > }; > > > >struct utmp >{ > short int ut_type; > pid_t ut_pid; > char ut_line[32]; > char ut_id[4]; > char ut_user[32]; > char ut_host[256]; > struct exit_status ut_exit; ># 79 "/usr/include/bits/utmp.h" 3 4 > long int ut_session; > struct timeval ut_tv; > > > int32_t ut_addr_v6[4]; > char __glibc_reserved[20]; >}; ># 30 "/usr/include/utmp.h" 2 3 4 ># 41 "/usr/include/utmp.h" 3 4 >extern int login_tty (int __fd) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern void login (const struct utmp *__entry) __attribute__ ((__nothrow__ , __leaf__)); > > >extern int logout (const char *__ut_line) __attribute__ ((__nothrow__ , __leaf__)); > > >extern void logwtmp (const char *__ut_line, const char *__ut_name, > const char *__ut_host) __attribute__ ((__nothrow__ , __leaf__)); > > >extern void updwtmp (const char *__wtmp_file, const struct utmp *__utmp) > __attribute__ ((__nothrow__ , __leaf__)); > > >extern int utmpname (const char *__file) __attribute__ ((__nothrow__ , __leaf__)); > > >extern struct utmp *getutent (void) __attribute__ ((__nothrow__ , __leaf__)); > > >extern void setutent (void) __attribute__ ((__nothrow__ , __leaf__)); > > >extern void endutent (void) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern struct utmp *getutid (const struct utmp *__id) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern struct utmp *getutline (const struct utmp *__line) __attribute__ ((__nothrow__ , __leaf__)); > > >extern struct utmp *pututline (const struct utmp *__utmp_ptr) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern int getutent_r (struct utmp *__buffer, struct utmp **__result) __attribute__ ((__nothrow__ , __leaf__)); > >extern int getutid_r (const struct utmp *__id, struct utmp *__buffer, > struct utmp **__result) __attribute__ ((__nothrow__ , __leaf__)); > >extern int getutline_r (const struct utmp *__line, > struct utmp *__buffer, struct utmp **__result) __attribute__ ((__nothrow__ , __leaf__)); > > > > ># 88 "include/libbb.h" 2 ># 116 "include/libbb.h" ># 1 "/usr/include/arpa/inet.h" 1 3 4 ># 30 "/usr/include/arpa/inet.h" 3 4 > > > > >extern in_addr_t inet_addr (const char *__cp) __attribute__ ((__nothrow__ , __leaf__)); > > >extern in_addr_t inet_lnaof (struct in_addr __in) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern struct in_addr inet_makeaddr (in_addr_t __net, in_addr_t __host) > __attribute__ ((__nothrow__ , __leaf__)); > > >extern in_addr_t inet_netof (struct in_addr __in) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern in_addr_t inet_network (const char *__cp) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern char *inet_ntoa (struct in_addr __in) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern int inet_pton (int __af, const char *__restrict __cp, > void *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern const char *inet_ntop (int __af, const void *__restrict __cp, > char *__restrict __buf, socklen_t __len) > __attribute__ ((__nothrow__ , __leaf__)); > > > > > > >extern int inet_aton (const char *__cp, struct in_addr *__inp) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern char *inet_neta (in_addr_t __net, char *__buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern char *inet_net_ntop (int __af, const void *__cp, int __bits, > char *__buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern int inet_net_pton (int __af, const char *__cp, > void *__buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)); > > > > >extern unsigned int inet_nsap_addr (const char *__cp, > unsigned char *__buf, int __len) __attribute__ ((__nothrow__ , __leaf__)); > > > >extern char *inet_nsap_ntoa (int __len, const unsigned char *__cp, > char *__buf) __attribute__ ((__nothrow__ , __leaf__)); > > > ># 117 "include/libbb.h" 2 ># 139 "include/libbb.h" >extern char **environ; > > > > >int klogctl(int type, char *b, int len); ># 179 "include/libbb.h" > ># 179 "include/libbb.h" >#pragma GCC visibility push(hidden) ># 179 "include/libbb.h" > > > > ># 1 "include/pwd_.h" 1 ># 27 "include/pwd_.h" > ># 27 "include/pwd_.h" >#pragma GCC visibility push(hidden) ># 27 "include/pwd_.h" > ># 52 "include/pwd_.h" >extern void bb_internal_setpwent(void); > > >extern void bb_internal_endpwent(void); ># 70 "include/pwd_.h" >extern struct passwd *bb_internal_getpwuid(uid_t __uid); > > >extern struct passwd *bb_internal_getpwnam(const char *__name); ># 83 "include/pwd_.h" >extern int bb_internal_getpwent_r(struct passwd *__restrict __resultbuf, > char *__restrict __buffer, size_t __buflen, > struct passwd **__restrict __result); > >extern int bb_internal_getpwuid_r(uid_t __uid, > struct passwd *__restrict __resultbuf, > char *__restrict __buffer, size_t __buflen, > struct passwd **__restrict __result); > >extern int bb_internal_getpwnam_r(const char *__restrict __name, > struct passwd *__restrict __resultbuf, > char *__restrict __buffer, size_t __buflen, > struct passwd **__restrict __result); > > > >extern int bb_internal_fgetpwent_r(FILE *__restrict __stream, > struct passwd *__restrict __resultbuf, > char *__restrict __buffer, size_t __buflen, > struct passwd **__restrict __result); > > ># 104 "include/pwd_.h" >#pragma GCC visibility pop ># 104 "include/pwd_.h" > ># 184 "include/libbb.h" 2 ># 1 "include/grp_.h" 1 ># 26 "include/grp_.h" > ># 26 "include/grp_.h" >#pragma GCC visibility push(hidden) ># 26 "include/grp_.h" > ># 53 "include/grp_.h" >extern void bb_internal_setgrent(void); > > >extern void bb_internal_endgrent(void); ># 71 "include/grp_.h" >extern struct group *bb_internal_getgrgid(gid_t __gid); > > >extern struct group *bb_internal_getgrnam(const char *__name); ># 84 "include/grp_.h" >extern int bb_internal_getgrent_r(struct group *__restrict __resultbuf, > char *__restrict __buffer, size_t __buflen, > struct group **__restrict __result); > > >extern int bb_internal_getgrgid_r(gid_t __gid, struct group *__restrict __resultbuf, > char *__restrict __buffer, size_t __buflen, > struct group **__restrict __result); > > >extern int bb_internal_getgrnam_r(const char *__restrict __name, > struct group *__restrict __resultbuf, > char *__restrict __buffer, size_t __buflen, > struct group **__restrict __result); > > > >extern int bb_internal_fgetgrent_r(FILE *__restrict __stream, > struct group *__restrict __resultbuf, > char *__restrict __buffer, size_t __buflen, > struct group **__restrict __result); > > > > >extern int bb_internal_getgrouplist(const char *__user, gid_t __group, > gid_t *__groups, int *__ngroups); > > > > >extern int bb_internal_initgroups(const char *__user, gid_t __group); > > ># 117 "include/grp_.h" >#pragma GCC visibility pop ># 117 "include/grp_.h" > ># 185 "include/libbb.h" 2 > > > ># 1 "include/shadow_.h" 1 ># 25 "include/shadow_.h" > ># 25 "include/shadow_.h" >#pragma GCC visibility push(hidden) ># 25 "include/shadow_.h" > > > >struct spwd { > char *sp_namp; > char *sp_pwdp; > long sp_lstchg; > long sp_min; > long sp_max; > long sp_warn; > long sp_inact; > long sp_expire; > unsigned long sp_flag; >}; ># 85 "include/shadow_.h" >extern int bb_internal_getspnam_r(const char *__name, struct spwd *__result_buf, > char *__buffer, size_t __buflen, > struct spwd **__result); ># 104 "include/shadow_.h" > ># 104 "include/shadow_.h" >#pragma GCC visibility pop ># 104 "include/shadow_.h" > ># 189 "include/libbb.h" 2 ># 226 "include/libbb.h" >typedef unsigned long long uoff_t; ># 255 "include/libbb.h" >struct BUG_off_t_size_is_misdetected { > char BUG_off_t_size_is_misdetected[sizeof(off_t) == sizeof(uoff_t) ? 1 : -1]; >}; ># 296 "include/libbb.h" >extern int *const bb_errno; > > > > > > >uint64_t bb_bswap_64(uint64_t x) ; > > >unsigned long long monotonic_ns(void) ; >unsigned long long monotonic_us(void) ; >unsigned long long monotonic_ms(void) ; >unsigned monotonic_sec(void) ; > >extern void chomp(char *s) ; >extern void trim(char *s) ; >extern char *skip_whitespace(const char *) ; >extern char *skip_non_whitespace(const char *) ; >extern char *skip_dev_pfx(const char *tty_name) ; > >extern char *strrstr(const char *haystack, const char *needle) ; > > >extern const char *bb_mode_string(mode_t mode) ; >extern int is_directory(const char *name, int followLinks) ; >enum { > FILEUTILS_PRESERVE_STATUS = 1 << 0, > FILEUTILS_DEREFERENCE = 1 << 1, > FILEUTILS_RECUR = 1 << 2, > FILEUTILS_FORCE = 1 << 3, > FILEUTILS_INTERACTIVE = 1 << 4, > FILEUTILS_MAKE_HARDLINK = 1 << 5, > FILEUTILS_MAKE_SOFTLINK = 1 << 6, > FILEUTILS_DEREF_SOFTLINK = 1 << 7, > FILEUTILS_DEREFERENCE_L0 = 1 << 8, > > > > > FILEUTILS_IGNORE_CHMOD_ERR = 1 << 11, >}; > >extern int remove_file(const char *path, int flags) ; > > > > >extern int copy_file(const char *source, const char *dest, int flags) ; > >enum { > ACTION_RECURSE = (1 << 0), > ACTION_FOLLOWLINKS = (1 << 1), > ACTION_FOLLOWLINKS_L0 = (1 << 2), > ACTION_DEPTHFIRST = (1 << 3), > > ACTION_QUIET = (1 << 5), > ACTION_DANGLING_OK = (1 << 6), >}; >typedef uint8_t recurse_flags_t; >extern int recursive_action(const char *fileName, unsigned flags, > int (*fileAction)(const char *fileName, struct stat* statbuf, void* userData, int depth), > int (*dirAction)(const char *fileName, struct stat* statbuf, void* userData, int depth), > void* userData, unsigned depth) ; >extern int device_open(const char *device, int mode) ; >enum { GETPTY_BUFSIZE = 16 }; >extern int xgetpty(char *line) ; >extern int get_console_fd_or_die(void) ; >extern void console_make_active(int fd, const int vt_num) ; >extern char *find_block_device(const char *path) ; > >extern off_t bb_copyfd_eof(int fd1, int fd2) ; >extern off_t bb_copyfd_size(int fd1, int fd2, off_t size) ; >extern void bb_copyfd_exact_size(int fd1, int fd2, off_t size) ; > > >extern void complain_copyfd_and_die(off_t sz) __attribute__ ((__noreturn__)) ; > >extern char bb_process_escape_sequence(const char **ptr) ; >char* strcpy_and_process_escape_sequences(char *dst, const char *src) ; > > > > > > >char *bb_get_last_path_component_strip(char *path) ; > >char *bb_get_last_path_component_nostrip(const char *path) ; > >const char *bb_basename(const char *name) ; > >char *last_char_is(const char *s, int c) ; > >void ndelay_on(int fd) ; >void ndelay_off(int fd) ; >void close_on_exec_on(int fd) ; >void xdup2(int, int) ; >void xmove_fd(int, int) ; > > >DIR *xopendir(const char *path) ; >DIR *warn_opendir(const char *path) ; > >char *xmalloc_realpath(const char *path) __attribute__ ((malloc)); >char *xmalloc_readlink(const char *path) __attribute__ ((malloc)); >char *xmalloc_readlink_or_warn(const char *path) __attribute__ ((malloc)); > >char *xrealloc_getcwd_or_warn(char *cwd) ; > >char *xmalloc_follow_symlinks(const char *path) __attribute__ ((malloc)); > > >enum { ># 424 "include/libbb.h" > BB_FATAL_SIGS = (int)(0 > + (1LL << 1) > + (1LL << 2) > + (1LL << 15) > + (1LL << 13) > + (1LL << 3) > + (1LL << 6) > + (1LL << 14) > + (1LL << 26) > + (1LL << 24) > + (1LL << 25) > + (1LL << 10) > + (1LL << 12) > + 0), >}; >void bb_signals(int sigs, void (*f)(int)) ; > > > >void bb_signals_recursive_norestart(int sigs, void (*f)(int)) ; > >void signal_no_SA_RESTART_empty_mask(int sig, void (*handler)(int)) ; > >void signal_SA_RESTART_empty_mask(int sig, void (*handler)(int)) ; >void wait_for_any_sig(void) ; >void kill_myself_with_sig(int sig) __attribute__ ((__noreturn__)) ; >void sig_block(int sig) ; >void sig_unblock(int sig) ; > >int sigaction_set(int sig, const struct sigaction *act) ; > >int sigprocmask_allsigs(int how) ; > >extern smallint bb_got_signal; >void record_signo(int signo); > > >void xsetgid(gid_t gid) ; >void xsetuid(uid_t uid) ; >void xchdir(const char *path) ; >void xchroot(const char *path) ; >void xsetenv(const char *key, const char *value) ; >void bb_unsetenv(const char *key) ; >void bb_unsetenv_and_free(char *key) ; >void xunlink(const char *pathname) ; >void xstat(const char *pathname, struct stat *buf) ; >void xfstat(int fd, struct stat *buf, const char *errmsg) ; >int xopen(const char *pathname, int flags) ; >int xopen_nonblocking(const char *pathname) ; >int xopen3(const char *pathname, int flags, int mode) ; >int open_or_warn(const char *pathname, int flags) ; >int open3_or_warn(const char *pathname, int flags, int mode) ; >int open_or_warn_stdin(const char *pathname) ; >int xopen_stdin(const char *pathname) ; >void xrename(const char *oldpath, const char *newpath) ; >int rename_or_warn(const char *oldpath, const char *newpath) ; >off_t xlseek(int fd, off_t offset, int whence) ; >int xmkstemp(char *template) ; >off_t fdlength(int fd) ; > >uoff_t get_volume_size_in_bytes(int fd, > const char *override, > unsigned override_units, > int extend); > >void xpipe(int filedes[2]) ; > >struct fd_pair { int rd; int wr; }; > > > > >typedef int8_t socktype_t; >typedef int8_t family_t; >struct BUG_too_small { > char BUG_socktype_t_too_small[(0 > | SOCK_STREAM > | SOCK_DGRAM > | SOCK_RDM > | SOCK_SEQPACKET > | SOCK_RAW > ) <= 127 ? 1 : -1]; > char BUG_family_t_too_small[(0 > | 0 > | 2 > | 10 > | 1 > > | 17 > > > | 16 > > > > ) <= 127 ? 1 : -1]; >}; > > >void parse_datestr(const char *date_str, struct tm *ptm) ; >time_t validate_tm_time(const char *date_str, struct tm *ptm) ; > > >int xsocket(int domain, int type, int protocol) ; >void xbind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen) ; >void xlisten(int s, int backlog) ; >void xconnect(int s, const struct sockaddr *s_addr, socklen_t addrlen) ; >ssize_t xsendto(int s, const void *buf, size_t len, const struct sockaddr *to, > socklen_t tolen) ; > > > > > > >void setsockopt_reuseaddr(int fd) ; >int setsockopt_broadcast(int fd) ; >int setsockopt_bindtodevice(int fd, const char *iface) ; > >unsigned bb_lookup_port(const char *port, const char *protocol, unsigned default_port) ; >typedef struct len_and_sockaddr { > socklen_t len; > union { > struct sockaddr sa; > struct sockaddr_in sin; > > struct sockaddr_in6 sin6; > > } u; >} len_and_sockaddr; >enum { > LSA_LEN_SIZE = __builtin_offsetof (len_and_sockaddr, u), > LSA_SIZEOF_SA = sizeof( > union { > struct sockaddr sa; > struct sockaddr_in sin; > > struct sockaddr_in6 sin6; > > } > ) >}; > > > > > > >int xsocket_type(len_and_sockaddr **lsap, int af, int sock_type) ; >int xsocket_stream(len_and_sockaddr **lsap) ; > > > > > >int create_and_bind_stream_or_die(const char *bindaddr, int port) ; >int create_and_bind_dgram_or_die(const char *bindaddr, int port) ; > > > > >int create_and_connect_stream_or_die(const char *peer, int port) ; > >int xconnect_stream(const len_and_sockaddr *lsa) ; > >len_and_sockaddr *get_sock_lsa(int fd) __attribute__ ((malloc)); > >len_and_sockaddr *get_peer_lsa(int fd) __attribute__ ((malloc)); > > > > > >len_and_sockaddr* host2sockaddr(const char *host, int port) __attribute__ ((malloc)); > >len_and_sockaddr* xhost2sockaddr(const char *host, int port) __attribute__ ((malloc)); >len_and_sockaddr* xdotted2sockaddr(const char *host, int port) __attribute__ ((malloc)); > > > > > >len_and_sockaddr* host_and_af2sockaddr(const char *host, int port, sa_family_t af) __attribute__ ((malloc)); >len_and_sockaddr* xhost_and_af2sockaddr(const char *host, int port, sa_family_t af) __attribute__ ((malloc)); > > > > >void set_nport(struct sockaddr *sa, unsigned port) ; > >int get_nport(const struct sockaddr *sa) ; > >char* xmalloc_sockaddr2host(const struct sockaddr *sa) __attribute__ ((malloc)); > >char* xmalloc_sockaddr2host_noport(const struct sockaddr *sa) __attribute__ ((malloc)); > >char* xmalloc_sockaddr2hostonly_noport(const struct sockaddr *sa) __attribute__ ((malloc)); > >char* xmalloc_sockaddr2dotted(const struct sockaddr *sa) __attribute__ ((malloc)); >char* xmalloc_sockaddr2dotted_noport(const struct sockaddr *sa) __attribute__ ((malloc)); > > >struct hostent *xgethostbyname(const char *name) ; > > > > >void socket_want_pktinfo(int fd) ; >ssize_t send_to_from(int fd, void *buf, size_t len, int flags, > const struct sockaddr *to, > const struct sockaddr *from, > socklen_t tolen) ; >ssize_t recv_from_to(int fd, void *buf, size_t len, int flags, > struct sockaddr *from, > struct sockaddr *to, > socklen_t sa_size) ; > >uint16_t inet_cksum(uint16_t *addr, int len) ; > >char *xstrdup(const char *s) __attribute__ ((malloc)); >char *xstrndup(const char *s, int n) __attribute__ ((malloc)); >void overlapping_strcpy(char *dst, const char *src) ; >char *safe_strncpy(char *dst, const char *src, size_t size) ; >char *strncpy_IFNAMSIZ(char *dst, const char *src) ; > > >int bb_putchar(int ch) ; > >int bb_putchar_stderr(char ch) ; >char *xasprintf(const char *format, ...) __attribute__ ((format(printf, 1, 2))) __attribute__ ((malloc)); ># 666 "include/libbb.h" >typedef struct uni_stat_t { > unsigned byte_count; > unsigned unicode_count; > unsigned unicode_width; >} uni_stat_t; > > >const char* printable_string(uni_stat_t *stats, const char *str); > > > >enum { PRINTABLE_META = 0x100 }; >void fputc_printable(int ch, FILE *file) ; > > > >void *malloc_or_warn(size_t size) __attribute__ ((malloc)); >void *xmalloc(size_t size) __attribute__ ((malloc)); >void *xzalloc(size_t size) __attribute__ ((malloc)); >void *xrealloc(void *old, size_t size) ; ># 695 "include/libbb.h" >void* xrealloc_vector_helper(void *vector, unsigned sizeof_and_shift, int idx) ; > > >extern ssize_t safe_read(int fd, void *buf, size_t count) ; >extern ssize_t nonblock_immune_read(int fd, void *buf, size_t count, int loop_on_EINTR) ; > > >extern ssize_t full_read(int fd, void *buf, size_t count) ; >extern void xread(int fd, void *buf, size_t count) ; >extern unsigned char xread_char(int fd) ; >extern ssize_t read_close(int fd, void *buf, size_t maxsz) ; >extern ssize_t open_read_close(const char *filename, void *buf, size_t maxsz) ; > > > >extern char *xmalloc_reads(int fd, size_t *maxsz_p) ; > >extern void *xmalloc_read(int fd, size_t *maxsz_p) __attribute__ ((malloc)); > >extern void *xmalloc_open_read_close(const char *filename, size_t *maxsz_p) __attribute__ ((malloc)); > >extern void *xmalloc_xopen_read_close(const char *filename, size_t *maxsz_p) __attribute__ ((malloc)); ># 727 "include/libbb.h" >extern int setup_unzip_on_fd(int fd, int fail_if_not_detected) ; > >extern int open_zipped(const char *fname) ; > > > > >extern void *xmalloc_open_zipped_read_close(const char *fname, size_t *maxsz_p) __attribute__ ((malloc)); > >extern ssize_t safe_write(int fd, const void *buf, size_t count) ; > > >extern ssize_t full_write(int fd, const void *buf, size_t count) ; >extern void xwrite(int fd, const void *buf, size_t count) ; >extern void xwrite_str(int fd, const char *str) ; >extern ssize_t full_write1_str(const char *str) ; >extern ssize_t full_write2_str(const char *str) ; >extern void xopen_xwrite_close(const char* file, const char *str) ; > > >extern void xclose(int fd) ; > > >extern void xprint_and_close_file(FILE *file) ; > > > > > > >extern char *bb_get_chunk_from_file(FILE *file, int *end) ; > >extern char *xmalloc_fgets_str(FILE *file, const char *terminating_string) __attribute__ ((malloc)); > >extern char *xmalloc_fgets_str_len(FILE *file, const char *terminating_string, size_t *maxsz_p) __attribute__ ((malloc)); > >extern char *xmalloc_fgetline_str(FILE *file, const char *terminating_string) __attribute__ ((malloc)); > >extern char *xmalloc_fgets(FILE *file) __attribute__ ((malloc)); > >extern char *xmalloc_fgetline(FILE *file) __attribute__ ((malloc)); > > > >void die_if_ferror(FILE *file, const char *msg) ; >void die_if_ferror_stdout(void) ; >int fflush_all(void) ; >void fflush_stdout_and_exit(int retval) __attribute__ ((__noreturn__)) ; >int fclose_if_not_stdin(FILE *file) ; >FILE* xfopen(const char *filename, const char *mode) ; > >FILE* fopen_or_warn(const char *filename, const char *mode) ; > >FILE* xfopen_stdin(const char *filename) ; >FILE* fopen_or_warn_stdin(const char *filename) ; >FILE* fopen_for_read(const char *path) ; >FILE* xfopen_for_read(const char *path) ; >FILE* fopen_for_write(const char *path) ; >FILE* xfopen_for_write(const char *path) ; >FILE* xfdopen_for_read(int fd) ; >FILE* xfdopen_for_write(int fd) ; > >int bb_pstrcmp(const void *a, const void *b) ; >void qsort_string_vector(char **sv, unsigned count) ; > > > > > >int safe_poll(struct pollfd *ufds, nfds_t nfds, int timeout_ms) ; > >char *safe_gethostname(void) ; > > >char* str_tolower(char *str) ; > >char *utoa(unsigned n) ; >char *itoa(int n) ; > >char *utoa_to_buf(unsigned n, char *buf, unsigned buflen) ; >char *itoa_to_buf(int n, char *buf, unsigned buflen) ; > >void smart_ulltoa4(unsigned long long ul, char buf[4], const char *scale) ; >void smart_ulltoa5(unsigned long long ul, char buf[5], const char *scale) ; > > > > > > > >const char *make_human_readable_str(unsigned long long size, > unsigned long block_size, unsigned long display_unit) ; > >char *bin2hex(char *dst, const char *src, int count) ; > >char* hex2bin(char *dst, const char *src, int count) ; > > >void generate_uuid(uint8_t *buf) ; > > >struct suffix_mult { > char suffix[4]; > unsigned mult; >}; ># 1 "include/xatonum.h" 1 ># 10 "include/xatonum.h" > ># 10 "include/xatonum.h" >#pragma GCC visibility push(hidden) ># 10 "include/xatonum.h" > ># 32 "include/xatonum.h" >unsigned long long xstrtoull_range_sfx(const char *str, int b, unsigned long long l, unsigned long long u, const struct suffix_mult *sfx) ; unsigned long long xstrtoull_range(const char *str, int b, unsigned long long l, unsigned long long u) ; unsigned long long xstrtoull_sfx(const char *str, int b, const struct suffix_mult *sfx) ; unsigned long long xstrtoull(const char *str, int b) ; unsigned long long xatoull_range_sfx(const char *str, unsigned long long l, unsigned long long u, const struct suffix_mult *sfx) ; unsigned long long xatoull_range(const char *str, unsigned long long l, unsigned long long u) ; unsigned long long xatoull_sfx(const char *str, const struct suffix_mult *sfx) ; unsigned long long xatoull(const char *str) ; long long xstrtoll_range_sfx(const char *str, int b, long long l, long long u, const struct suffix_mult *sfx) ; long long xstrtoll_range(const char *str, int b, long long l, long long u) ; long long xstrtoll(const char *str, int b) ; long long xatoll_range_sfx(const char *str, long long l, long long u, const struct suffix_mult *sfx) ; long long xatoll_range(const char *str, long long l, long long u) ; long long xatoll_sfx(const char *str, const struct suffix_mult *sfx) ; long long xatoll(const char *str) ; ># 90 "include/xatonum.h" >unsigned long xstrtoul_range_sfx(const char *str, int b, unsigned long l, unsigned long u, const struct suffix_mult *sfx) ; unsigned long xstrtoul_range(const char *str, int b, unsigned long l, unsigned long u) ; unsigned long xstrtoul_sfx(const char *str, int b, const struct suffix_mult *sfx) ; unsigned long xstrtoul(const char *str, int b) ; unsigned long xatoul_range_sfx(const char *str, unsigned long l, unsigned long u, const struct suffix_mult *sfx) ; unsigned long xatoul_range(const char *str, unsigned long l, unsigned long u) ; unsigned long xatoul_sfx(const char *str, const struct suffix_mult *sfx) ; unsigned long xatoul(const char *str) ; long xstrtol_range_sfx(const char *str, int b, long l, long u, const struct suffix_mult *sfx) ; long xstrtol_range(const char *str, int b, long l, long u) ; long xstrtol(const char *str, int b) ; long xatol_range_sfx(const char *str, long l, long u, const struct suffix_mult *sfx) ; long xatol_range(const char *str, long l, long u) ; long xatol_sfx(const char *str, const struct suffix_mult *sfx) ; long xatol(const char *str) ; > > > > > > >static __attribute__ ((always_inline)) __inline__ unsigned int xstrtou_range_sfx(const char *str, int b, unsigned int l, unsigned int u, const struct suffix_mult *sfx) { return xstrtoul_range_sfx(str, b, l, u, sfx); } static __attribute__ ((always_inline)) __inline__ unsigned int xstrtou_range(const char *str, int b, unsigned int l, unsigned int u) { return xstrtoul_range(str, b, l, u); } static __attribute__ ((always_inline)) __inline__ unsigned int xstrtou_sfx(const char *str, int b, const struct suffix_mult *sfx) { return xstrtoul_sfx(str, b, sfx); } static __attribute__ ((always_inline)) __inline__ unsigned int xstrtou(const char *str, int b) { return xstrtoul(str, b); } static __attribute__ ((always_inline)) __inline__ unsigned int xatou_range_sfx(const char *str, unsigned int l, unsigned int u, const struct suffix_mult *sfx) { return xatoul_range_sfx(str, l, u, sfx); } static __attribute__ ((always_inline)) __inline__ unsigned int xatou_range(const char *str, unsigned int l, unsigned int u) { return xatoul_range(str, l, u); } static __attribute__ ((always_inline)) __inline__ unsigned int xatou_sfx(const char *str, const struct suffix_mult *sfx) { return xatoul_sfx(str, sfx); } static __attribute__ ((always_inline)) __inline__ unsigned int xatou(const char *str) { return xatoul(str); } static __attribute__ ((always_inline)) __inline__ int xstrtoi_range_sfx(const char *str, int b, int l, int u, const struct suffix_mult *sfx) { return xstrtol_range_sfx(str, b, l, u, sfx); } static __attribute__ ((always_inline)) __inline__ int xstrtoi_range(const char *str, int b, int l, int u) { return xstrtol_range(str, b, l, u); } static __attribute__ ((always_inline)) __inline__ int xstrtoi(const char *str, int b) { return xstrtol(str, b); } static __attribute__ ((always_inline)) __inline__ int xatoi_range_sfx(const char *str, int l, int u, const struct suffix_mult *sfx) { return xatol_range_sfx(str, l, u, sfx); } static __attribute__ ((always_inline)) __inline__ int xatoi_range(const char *str, int l, int u) { return xatol_range(str, l, u); } static __attribute__ ((always_inline)) __inline__ int xatoi_sfx(const char *str, const struct suffix_mult *sfx) { return xatol_sfx(str, sfx); } static __attribute__ ((always_inline)) __inline__ int xatoi(const char *str) { return xatol(str); } > > > > > > >uint32_t BUG_xatou32_unimplemented(void); >static __attribute__ ((always_inline)) __inline__ uint32_t xatou32(const char *numstr) >{ > if ((2147483647 * 2U + 1U) == 0xffffffff) > return xatou(numstr); > if ((2147483647L * 2UL + 1UL) == 0xffffffff) > return xatoul(numstr); > return BUG_xatou32_unimplemented(); >} ># 127 "include/xatonum.h" >unsigned long long bb_strtoull(const char *arg, char **endp, int base) ; >long long bb_strtoll(const char *arg, char **endp, int base) ; ># 138 "include/xatonum.h" >unsigned long bb_strtoul(const char *arg, char **endp, int base) ; >long bb_strtol(const char *arg, char **endp, int base) ; ># 150 "include/xatonum.h" >static __attribute__ ((always_inline)) __inline__ >unsigned bb_strtou(const char *arg, char **endp, int base) >{ return bb_strtoul(arg, endp, base); } >static __attribute__ ((always_inline)) __inline__ >int bb_strtoi(const char *arg, char **endp, int base) >{ return bb_strtol(arg, endp, base); } > > > > > >uint32_t BUG_bb_strtou32_unimplemented(void); >static __attribute__ ((always_inline)) __inline__ >uint32_t bb_strtou32(const char *arg, char **endp, int base) >{ > if (sizeof(uint32_t) == sizeof(unsigned)) > return bb_strtou(arg, endp, base); > if (sizeof(uint32_t) == sizeof(unsigned long)) > return bb_strtoul(arg, endp, base); > return BUG_bb_strtou32_unimplemented(); >} >static __attribute__ ((always_inline)) __inline__ >int32_t bb_strtoi32(const char *arg, char **endp, int base) >{ > if (sizeof(int32_t) == sizeof(int)) > return bb_strtoi(arg, endp, base); > if (sizeof(int32_t) == sizeof(long)) > return bb_strtol(arg, endp, base); > return BUG_bb_strtou32_unimplemented(); >} > > > >double bb_strtod(const char *arg, char **endp) ; > > ># 185 "include/xatonum.h" >#pragma GCC visibility pop ># 185 "include/xatonum.h" > ># 834 "include/libbb.h" 2 ># 843 "include/libbb.h" >int xatoi_positive(const char *numstr) ; > > >uint16_t xatou16(const char *numstr) ; > > > > > >long xuname2uid(const char *name) ; >long xgroup2gid(const char *name) ; > >unsigned long get_ug_id(const char *s, long (*xname2id)(const char *)) ; > >struct bb_uidgid_t { > uid_t uid; > gid_t gid; >}; > >int get_uidgid(struct bb_uidgid_t*, const char*, int numeric_ok) ; > >void xget_uidgid(struct bb_uidgid_t*, const char*) ; > >void parse_chown_usergroup_or_die(struct bb_uidgid_t *u, char *user_group) ; >struct passwd* xgetpwnam(const char *name) ; >struct group* xgetgrnam(const char *name) ; >struct passwd* xgetpwuid(uid_t uid) ; >struct group* xgetgrgid(gid_t gid) ; >char* xuid2uname(uid_t uid) ; >char* xgid2group(gid_t gid) ; >char* uid2uname(uid_t uid) ; >char* gid2group(gid_t gid) ; >char* uid2uname_utoa(uid_t uid) ; >char* gid2group_utoa(gid_t gid) ; > >const char* get_cached_username(uid_t uid) ; >const char* get_cached_groupname(gid_t gid) ; >void clear_username_cache(void) ; > >enum { USERNAME_MAX_SIZE = 32 - sizeof(uid_t) }; > >void die_if_bad_username(const char* name) ; > > > > > >void write_new_utmp(pid_t pid, int new_type, const char *tty_name, const char *username, const char *hostname); >void update_utmp(pid_t pid, int new_type, const char *tty_name, const char *username, const char *hostname); > > > > > > >int execable_file(const char *name) ; >char *find_execable(const char *filename, char **PATHp) ; >int exists_execable(const char *filename) ; > > > > > >int BB_EXECVP(const char *file, char *const argv[]) ; ># 917 "include/libbb.h" >int BB_EXECVP_or_die(char **argv) __attribute__ ((__noreturn__)) ; ># 929 "include/libbb.h" >pid_t xfork(void) ; > > > >pid_t spawn(char **argv) ; >pid_t xspawn(char **argv) ; > >pid_t safe_waitpid(pid_t pid, int *wstat, int options) ; >pid_t wait_any_nohang(int *wstat) ; ># 946 "include/libbb.h" >int wait4pid(pid_t pid) ; > >int spawn_and_wait(char **argv) ; > >int run_nofork_applet(int applet_no, char **argv) ; ># 975 "include/libbb.h" >enum { > DAEMON_CHDIR_ROOT = 1, > DAEMON_DEVNULL_STDIO = 2, > DAEMON_CLOSE_EXTRA_FDS = 4, > DAEMON_ONLY_SANITIZE = 8, > DAEMON_DOUBLE_FORK = 16, >}; > > enum { re_execed = 0 }; ># 1002 "include/libbb.h" >void bb_daemonize_or_rexec(int flags) ; >void bb_sanitize_stdio(void) ; > >int sanitize_env_if_suid(void) ; > > >char* single_argv(char **argv) ; >extern const char *const bb_argv_dash[]; >extern const char *opt_complementary; > > > > >extern const char *applet_long_options; > >extern uint32_t option_mask32; >extern uint32_t getopt32(char **argv, const char *applet_opts, ...) ; > > > > > > >typedef struct llist_t { > struct llist_t *link; > char *data; >} llist_t; >void llist_add_to(llist_t **old_head, void *data) ; >void llist_add_to_end(llist_t **list_head, void *data) ; >void *llist_pop(llist_t **elm) ; >void llist_unlink(llist_t **head, llist_t *elm) ; >void llist_free(llist_t *elm, void (*freeit)(void *data)) ; >llist_t *llist_rev(llist_t *list) ; >llist_t *llist_find_str(llist_t *first, const char *str) ; ># 1044 "include/libbb.h" >extern smallint wrote_pidfile; >void write_pidfile(const char *path) ; > > > > > > > >enum { > LOGMODE_NONE = 0, > LOGMODE_STDIO = (1 << 0), > LOGMODE_SYSLOG = (1 << 1) * 1, > LOGMODE_BOTH = LOGMODE_SYSLOG + LOGMODE_STDIO, >}; >extern const char *msg_eol; >extern smallint logmode; >extern int die_sleep; >extern uint8_t xfunc_error_retval; >extern jmp_buf die_jmp; >extern void xfunc_die(void) __attribute__ ((__noreturn__)) ; >extern void bb_show_usage(void) __attribute__ ((__noreturn__)) ; >extern void bb_error_msg(const char *s, ...) __attribute__ ((format (printf, 1, 2))) ; >extern void bb_error_msg_and_die(const char *s, ...) __attribute__ ((noreturn, format (printf, 1, 2))) ; >extern void bb_perror_msg(const char *s, ...) __attribute__ ((format (printf, 1, 2))) ; >extern void bb_simple_perror_msg(const char *s) ; >extern void bb_perror_msg_and_die(const char *s, ...) __attribute__ ((noreturn, format (printf, 1, 2))) ; >extern void bb_simple_perror_msg_and_die(const char *s) __attribute__ ((__noreturn__)) ; >extern void bb_herror_msg(const char *s, ...) __attribute__ ((format (printf, 1, 2))) ; >extern void bb_herror_msg_and_die(const char *s, ...) __attribute__ ((noreturn, format (printf, 1, 2))) ; >extern void bb_perror_nomsg_and_die(void) __attribute__ ((__noreturn__)) ; >extern void bb_perror_nomsg(void) ; >extern void bb_info_msg(const char *s, ...) __attribute__ ((format (printf, 1, 2))) ; >extern void bb_verror_msg(const char *s, va_list p, const char *strerr) ; ># 1090 "include/libbb.h" >int bb_cat(char** argv); > >int echo_main(int argc, char** argv) ; >int printf_main(int argc, char **argv) ; >int test_main(int argc, char **argv) ; >int kill_main(int argc, char **argv) ; > >int chown_main(int argc, char **argv) ; > >int ls_main(int argc, char **argv) ; > >int gunzip_main(int argc, char **argv) ; >int bunzip2_main(int argc, char **argv) ; > > >void bb_displayroutes(int noresolve, int netstatfmt) ; > > > > >int create_icmp_socket(void) ; >int create_icmp6_socket(void) ; > > >struct aftype { > const char *name; > const char *title; > int af; > int alen; > char* (*print)(unsigned char *); > const char* (*sprint)(struct sockaddr *, int numeric); > int (*input)( const char *bufp, struct sockaddr *); > void (*herror)(char *text); > int (*rprint)(int options); > int (*rinput)(int typ, int ext, char **argv); > > int (*getmask)(char *src, struct sockaddr *mask, char *name); >}; > >struct hwtype { > const char *name; > const char *title; > int type; > int alen; > char* (*print)(unsigned char *); > int (*input)(const char *, struct sockaddr *); > int (*activate)(int fd); > int suppress_null_addr; >}; >extern smallint interface_opt_a; >int display_interfaces(char *ifname) ; > >int in_ib(const char *bufp, struct sockaddr *sap) ; > > > >const struct aftype *get_aftype(const char *name) ; >const struct hwtype *get_hwtype(const char *name) ; >const struct hwtype *get_hwntype(int type) ; > > > >extern int find_applet_by_name(const char *name) ; > >extern void run_applet_and_exit(const char *name, char **argv) ; >extern void run_applet_no_and_exit(int a, char **argv) __attribute__ ((__noreturn__)) ; > > > >extern int match_fstype(const struct mntent *mt, const char *fstypes) ; >extern struct mntent *find_mount_point(const char *name, int subdir_too) ; > >extern void erase_mtab(const char * name) ; >extern unsigned int tty_baud_to_value(speed_t speed) ; >extern speed_t tty_value_to_baud(unsigned int value) ; > >extern void bb_warn_ignoring_args(char *arg) ; > > > > >extern int get_linux_version_code(void) ; > >extern char *query_loop(const char *device) ; >extern int del_loop(const char *device) ; > > > >extern int set_loop(char **devname, const char *file, unsigned long long offset, int ro) ; > > >char *bb_ask_stdin(const char * prompt) ; > >char *bb_ask(const int fd, int timeout, const char * prompt) ; >int bb_ask_confirmation(void) ; > >int bb_parse_mode(const char* s, mode_t* theMode) ; > > > > >enum { > PARSE_COLLAPSE = 0x00010000, > PARSE_TRIM = 0x00020000, > > PARSE_GREEDY = 0x00040000, > PARSE_MIN_DIE = 0x00100000, > > PARSE_KEEP_COPY = 0x00200000 * 1, > PARSE_EOL_COMMENTS = 0x00400000, > > > > > > > PARSE_NORMAL = PARSE_COLLAPSE | PARSE_TRIM | PARSE_GREEDY | PARSE_EOL_COMMENTS, >}; >typedef struct parser_t { > FILE *fp; > char *data; > char *line, *nline; > size_t line_alloc, nline_alloc; > int lineno; >} parser_t; >parser_t* config_open(const char *filename) ; >parser_t* config_open2(const char *filename, FILE* (*fopen_func)(const char *path)) ; > >int config_read(parser_t *parser, char **tokens, unsigned flags, const char *delims) ; > > >void config_close(parser_t *parser) ; > > > > > >char *concat_path_file(const char *path, const char *filename) ; > >char *concat_subpath_file(const char *path, const char *filename) ; > > >int bb_make_directory(char *path, long mode, int flags) ; > >int get_signum(const char *name) ; >const char *get_signame(int number) ; >void print_signames(void) ; > >char *bb_simplify_path(const char *path) ; > >char *bb_simplify_abs_path_inplace(char *path) ; > > >extern void bb_do_delay(int seconds) ; >extern void change_identity(const struct passwd *pw) ; >extern void run_shell(const char *shell, int loginshell, const char *command, const char **additional_args) __attribute__ ((__noreturn__)) ; > > > > > >const char *get_shell_name(void) ; ># 1263 "include/libbb.h" >extern void selinux_or_die(void) ; > > > > >int sd_listen_fds(void); ># 1290 "include/libbb.h" >extern void setup_environment(const char *shell, int flags, const struct passwd *pw) ; >extern int correct_password(const struct passwd *pw) ; > > > > >extern char *pw_encrypt(const char *clear, const char *salt, int cleanup) ; >extern int obscure(const char *old, const char *newval, const struct passwd *pwdp) ; ># 1306 "include/libbb.h" >extern int crypt_make_salt(char *p, int cnt ) ; > > >extern char* crypt_make_pw_salt(char p[(3 + 16 + 1)], const char *algo) ; > > > > > > > >extern int update_passwd(const char *filename, > const char *username, > const char *data, > const char *member) ; > >int index_in_str_array(const char *const string_array[], const char *key) ; >int index_in_strings(const char *strings, const char *key) ; >int index_in_substr_array(const char *const string_array[], const char *key) ; >int index_in_substrings(const char *strings, const char *key) ; >const char *nth_string(const char *strings, int n) ; > >extern void print_login_issue(const char *issue_file, const char *tty) ; >extern void print_login_prompt(void) ; > >char *xmalloc_ttyname(int fd) __attribute__ ((malloc)); > >int get_terminal_width_height(int fd, unsigned *width, unsigned *height) ; > >int tcsetattr_stdin_TCSANOW(const struct termios *tp) ; > > >int ioctl_or_perror(int fd, unsigned request, void *argp, const char *fmt,...) __attribute__ ((format (printf, 4, 5))) ; >int ioctl_or_perror_and_die(int fd, unsigned request, void *argp, const char *fmt,...) __attribute__ ((format (printf, 4, 5))) ; > >int bb_ioctl_or_warn(int fd, unsigned request, void *argp, const char *ioctl_name) ; >int bb_xioctl(int fd, unsigned request, void *argp, const char *ioctl_name) ; ># 1352 "include/libbb.h" >char *is_in_ino_dev_hashtable(const struct stat *statbuf) ; >void add_to_ino_dev_hashtable(const struct stat *statbuf, const char *name) ; >void reset_ino_dev_hashtable(void) ; > > >unsigned long long bb_makedev(unsigned major, unsigned minor) ; ># 1367 "include/libbb.h" >enum { > KEYCODE_UP = -2, > KEYCODE_DOWN = -3, > KEYCODE_RIGHT = -4, > KEYCODE_LEFT = -5, > KEYCODE_HOME = -6, > KEYCODE_END = -7, > KEYCODE_INSERT = -8, > KEYCODE_DELETE = -9, > KEYCODE_PAGEUP = -10, > KEYCODE_PAGEDOWN = -11, ># 1402 "include/libbb.h" > KEYCODE_CTRL_RIGHT = KEYCODE_RIGHT & ~0x40, > KEYCODE_CTRL_LEFT = KEYCODE_LEFT & ~0x40, > > > KEYCODE_ALT_RIGHT = KEYCODE_RIGHT & ~0x20, > KEYCODE_ALT_LEFT = KEYCODE_LEFT & ~0x20, > > KEYCODE_CURSOR_POS = -0x100, > > > > > KEYCODE_BUFFER_SIZE = 16 >}; ># 1429 "include/libbb.h" >int64_t read_key(int fd, char *buffer, int timeout) ; >void read_key_ungets(char *buffer, const char *str, unsigned len) ; > > > > > > >unsigned size_from_HISTFILESIZE(const char *hp); > > > >typedef struct line_input_t { > int flags; > const char *path_lookup; > > int cnt_history; > int cur_history; > int max_history; > > > > > > > > unsigned cnt_history_in_file; > const char *hist_file; > > char *history[(255 + 0) + 1]; > >} line_input_t; >enum { > DO_HISTORY = 1 * ((255 + 0) > 0), > TAB_COMPLETION = 2 * 1, > USERNAME_COMPLETION = 4 * 1, > VI_MODE = 8 * 1, > WITH_PATH_LOOKUP = 0x10, > FOR_SHELL = DO_HISTORY | TAB_COMPLETION | USERNAME_COMPLETION, >}; >line_input_t *new_line_input_t(int flags) ; ># 1478 "include/libbb.h" >int read_line_input(line_input_t *st, const char *prompt, char *command, int maxsize, int timeout) ; > >void save_history(line_input_t *st); ># 1495 "include/libbb.h" >enum { COMM_LEN = 16 }; > > > >struct smaprec { > unsigned long mapped_rw; > unsigned long mapped_ro; > unsigned long shared_clean; > unsigned long shared_dirty; > unsigned long private_clean; > unsigned long private_dirty; > unsigned long stack; > unsigned long smap_pss, smap_swap; > unsigned long smap_size; > unsigned long smap_start; > char smap_mode[5]; > char *smap_name; >}; > > > > > >int procps_read_smaps(pid_t pid, struct smaprec *total, > void (*cb)(struct smaprec *, void *), void *data); > >typedef struct procps_status_t { > DIR *dir; > DIR *task_dir; > uint8_t shift_pages_to_bytes; > uint8_t shift_pages_to_kb; > > uint16_t argv_len; > char *argv0; > char *exe; > > unsigned main_thread_pid; > > > unsigned long vsz, rss; > unsigned long stime, utime; > unsigned long start_time; > unsigned pid; > unsigned ppid; > unsigned pgid; > unsigned sid; > unsigned uid; > unsigned gid; > > unsigned ruid; > unsigned rgid; > int niceness; > > unsigned tty_major,tty_minor; > > struct smaprec smaps; > > char state[4]; > > > > char comm[COMM_LEN]; > > > int last_seen_on_cpu; > >} procps_status_t; > >enum { > PSSCAN_PID = 1 << 0, > PSSCAN_PPID = 1 << 1, > PSSCAN_PGID = 1 << 2, > PSSCAN_SID = 1 << 3, > PSSCAN_UIDGID = 1 << 4, > PSSCAN_COMM = 1 << 5, > > PSSCAN_ARGV0 = 1 << 7, > PSSCAN_EXE = 1 << 8, > PSSCAN_STATE = 1 << 9, > PSSCAN_VSZ = 1 << 10, > PSSCAN_RSS = 1 << 11, > PSSCAN_STIME = 1 << 12, > PSSCAN_UTIME = 1 << 13, > PSSCAN_TTY = 1 << 14, > PSSCAN_SMAPS = (1 << 15) * 1, > > > PSSCAN_ARGVN = (1 << 16) * (1 > || 1 || 1 > || 1 > || 0 > ), > PSSCAN_CONTEXT = (1 << 17) * 0, > PSSCAN_START_TIME = 1 << 18, > PSSCAN_CPU = (1 << 19) * 1, > PSSCAN_NICE = (1 << 20) * 1, > PSSCAN_RUIDGID = (1 << 21) * 1, > PSSCAN_TASKS = (1 << 22) * 1, >}; > >void free_procps_scan(procps_status_t* sp) ; >procps_status_t* procps_scan(procps_status_t* sp, int flags) ; > > >void read_cmdline(char *buf, int size, unsigned pid, const char *comm) ; >pid_t *find_pid_by_name(const char* procName) ; >pid_t *pidlist_reverse(pid_t *pidList) ; >int starts_with_cpu(const char *str) ; >unsigned get_cpu_count(void) ; ># 1612 "include/libbb.h" >char *percent_decode_in_place(char *str, int strict) ; > > >extern const char bb_uuenc_tbl_base64[] __attribute__((aligned(1))); >extern const char bb_uuenc_tbl_std[] __attribute__((aligned(1))); >void bb_uuencode(char *store, const void *s, int length, const char *tbl) ; >enum { > BASE64_FLAG_UU_STOP = 0x100, > > BASE64_FLAG_NO_STOP_CHAR = 0x80, >}; >const char *decode_base64(char **pp_dst, const char *src) ; >void read_base64(FILE *src_stream, FILE *dst_stream, int flags) ; > >typedef struct md5_ctx_t { > uint8_t wbuffer[64]; > void (*process_block)(struct md5_ctx_t*) ; > uint64_t total64; > uint32_t hash[8]; >} md5_ctx_t; >typedef struct md5_ctx_t sha1_ctx_t; >typedef struct md5_ctx_t sha256_ctx_t; >typedef struct sha512_ctx_t { > uint64_t total64[2]; > uint64_t hash[8]; > uint8_t wbuffer[128]; >} sha512_ctx_t; >typedef struct sha3_ctx_t { > uint64_t state[25]; > unsigned bytes_queued; >} sha3_ctx_t; >void md5_begin(md5_ctx_t *ctx) ; >void md5_hash(md5_ctx_t *ctx, const void *buffer, size_t len) ; >void md5_end(md5_ctx_t *ctx, void *resbuf) ; >void sha1_begin(sha1_ctx_t *ctx) ; > >void sha1_end(sha1_ctx_t *ctx, void *resbuf) ; >void sha256_begin(sha256_ctx_t *ctx) ; > > >void sha512_begin(sha512_ctx_t *ctx) ; >void sha512_hash(sha512_ctx_t *ctx, const void *buffer, size_t len) ; >void sha512_end(sha512_ctx_t *ctx, void *resbuf) ; >void sha3_begin(sha3_ctx_t *ctx) ; >void sha3_hash(sha3_ctx_t *ctx, const void *buffer, size_t len) ; >void sha3_end(sha3_ctx_t *ctx, void *resbuf) ; > >extern uint32_t *global_crc32_table; >uint32_t *crc32_filltable(uint32_t *tbl256, int endian) ; >uint32_t crc32_block_endian1(uint32_t val, const void *buf, unsigned len, uint32_t *crc_table) ; >uint32_t crc32_block_endian0(uint32_t val, const void *buf, unsigned len, uint32_t *crc_table) ; > >typedef struct masks_labels_t { > const char *labels; > const int masks[]; >} masks_labels_t; >int print_flags_separated(const int *masks, const char *labels, > int flags, const char *separator) ; >int print_flags(const masks_labels_t *ml, int flags) ; > >typedef struct bb_progress_t { > unsigned last_size; > unsigned last_update_sec; > unsigned last_change_sec; > unsigned start_sec; > const char *curfile; >} bb_progress_t; > > > > > > >void bb_progress_init(bb_progress_t *p, const char *curfile) ; >void bb_progress_update(bb_progress_t *p, > uoff_t beg_range, > uoff_t transferred, > uoff_t totalsize) ; > > >extern const char *applet_name; ># 1704 "include/libbb.h" >extern const char bb_banner[] __attribute__((aligned(1))); >extern const char bb_msg_memory_exhausted[] __attribute__((aligned(1))); >extern const char bb_msg_invalid_date[] __attribute__((aligned(1))); > > >extern const char bb_msg_unknown[] __attribute__((aligned(1))); >extern const char bb_msg_can_not_create_raw_socket[] __attribute__((aligned(1))); >extern const char bb_msg_perm_denied_are_you_root[] __attribute__((aligned(1))); >extern const char bb_msg_you_must_be_root[] __attribute__((aligned(1))); >extern const char bb_msg_requires_arg[] __attribute__((aligned(1))); >extern const char bb_msg_invalid_arg[] __attribute__((aligned(1))); >extern const char bb_msg_standard_input[] __attribute__((aligned(1))); >extern const char bb_msg_standard_output[] __attribute__((aligned(1))); > > >extern const char bb_hexdigits_upcase[] __attribute__((aligned(1))); > >extern const char bb_path_wtmp_file[] __attribute__((aligned(1))); ># 1735 "include/libbb.h" >extern const char bb_busybox_exec_path[] __attribute__((aligned(1))); > > >extern const char bb_PATH_root_path[] __attribute__((aligned(1))); > > > >extern const int const_int_0; >extern const int const_int_1; > > > >enum { COMMON_BUFSIZE = (8192 >= 256*sizeof(void*) ? 8192 +1 : 256*sizeof(void*)) }; >extern char bb_common_bufsiz1[COMMON_BUFSIZE]; > > >struct globals; > > > >extern struct globals *const ptr_to_globals; ># 1768 "include/libbb.h" >extern const char bb_default_login_shell[] __attribute__((aligned(1))); ># 1866 "include/libbb.h" >static __attribute__ ((always_inline)) __inline__ int bb_ascii_isalnum(unsigned char a) >{ > unsigned char b = a - '0'; > if (b <= 9) > return (b <= 9); > b = (a|0x20) - 'a'; > return b <= 'z' - 'a'; >} > >static __attribute__ ((always_inline)) __inline__ int bb_ascii_isxdigit(unsigned char a) >{ > unsigned char b = a - '0'; > if (b <= 9) > return (b <= 9); > b = (a|0x20) - 'a'; > return b <= 'f' - 'a'; >} > >static __attribute__ ((always_inline)) __inline__ unsigned char bb_ascii_toupper(unsigned char a) >{ > unsigned char b = a - 'a'; > if (b <= ('z' - 'a')) > a -= 'a' - 'A'; > return a; >} > >static __attribute__ ((always_inline)) __inline__ unsigned char bb_ascii_tolower(unsigned char a) >{ > unsigned char b = a - 'A'; > if (b <= ('Z' - 'A')) > a += 'a' - 'A'; > return a; >} ># 1909 "include/libbb.h" > ># 1909 "include/libbb.h" >#pragma GCC visibility pop ># 1909 "include/libbb.h" > ># 6 "networking/libiproute/ip_common.h" 2 ># 1 "/usr/include/asm/types.h" 1 3 4 > > > ># 1 "/usr/include/asm-generic/int-ll64.h" 1 3 4 ># 11 "/usr/include/asm-generic/int-ll64.h" 3 4 ># 1 "/usr/include/asm/bitsperlong.h" 1 3 4 ># 1 "/usr/include/asm-generic/bitsperlong.h" 1 3 4 ># 1 "/usr/include/asm/bitsperlong.h" 2 3 4 ># 12 "/usr/include/asm-generic/int-ll64.h" 2 3 4 > > > > > > > >typedef __signed__ char __s8; >typedef unsigned char __u8; > >typedef __signed__ short __s16; >typedef unsigned short __u16; > >typedef __signed__ int __s32; >typedef unsigned int __u32; > > >__extension__ typedef __signed__ long long __s64; >__extension__ typedef unsigned long long __u64; ># 5 "/usr/include/asm/types.h" 2 3 4 ># 7 "networking/libiproute/ip_common.h" 2 ># 1 "/usr/include/linux/netlink.h" 1 3 4 > > > ># 1 "/usr/include/linux/kernel.h" 1 3 4 > > > ># 1 "/usr/include/linux/sysinfo.h" 1 3 4 > > > ># 1 "/usr/include/linux/types.h" 1 3 4 > > > > > > > ># 1 "/usr/include/linux/posix_types.h" 1 3 4 > > > ># 1 "/usr/include/linux/stddef.h" 1 3 4 ># 5 "/usr/include/linux/posix_types.h" 2 3 4 ># 24 "/usr/include/linux/posix_types.h" 3 4 >typedef struct { > unsigned long fds_bits[1024 / (8 * sizeof(long))]; >} __kernel_fd_set; > > >typedef void (*__kernel_sighandler_t)(int); > > >typedef int __kernel_key_t; >typedef int __kernel_mqd_t; > ># 1 "/usr/include/asm/posix_types.h" 1 3 4 ># 22 "/usr/include/asm/posix_types.h" 3 4 >typedef unsigned short __kernel_mode_t; > > >typedef unsigned short __kernel_ipc_pid_t; > > >typedef unsigned short __kernel_uid_t; >typedef unsigned short __kernel_gid_t; > > >typedef unsigned short __kernel_old_dev_t; > > ># 1 "/usr/include/asm-generic/posix_types.h" 1 3 4 > > > ># 1 "/usr/include/asm/bitsperlong.h" 1 3 4 ># 5 "/usr/include/asm-generic/posix_types.h" 2 3 4 ># 14 "/usr/include/asm-generic/posix_types.h" 3 4 >typedef long __kernel_long_t; >typedef unsigned long __kernel_ulong_t; > > > >typedef __kernel_ulong_t __kernel_ino_t; > > > > > > > >typedef int __kernel_pid_t; ># 40 "/usr/include/asm-generic/posix_types.h" 3 4 >typedef __kernel_long_t __kernel_suseconds_t; > > > >typedef int __kernel_daddr_t; > > > >typedef unsigned int __kernel_uid32_t; >typedef unsigned int __kernel_gid32_t; > > > >typedef __kernel_uid_t __kernel_old_uid_t; >typedef __kernel_gid_t __kernel_old_gid_t; ># 67 "/usr/include/asm-generic/posix_types.h" 3 4 >typedef unsigned int __kernel_size_t; >typedef int __kernel_ssize_t; >typedef int __kernel_ptrdiff_t; ># 78 "/usr/include/asm-generic/posix_types.h" 3 4 >typedef struct { > int val[2]; >} __kernel_fsid_t; > > > > > >typedef __kernel_long_t __kernel_off_t; >typedef long long __kernel_loff_t; >typedef __kernel_long_t __kernel_time_t; >typedef __kernel_long_t __kernel_clock_t; >typedef int __kernel_timer_t; >typedef int __kernel_clockid_t; >typedef char * __kernel_caddr_t; >typedef unsigned short __kernel_uid16_t; >typedef unsigned short __kernel_gid16_t; ># 36 "/usr/include/asm/posix_types.h" 2 3 4 ># 36 "/usr/include/linux/posix_types.h" 2 3 4 ># 9 "/usr/include/linux/types.h" 2 3 4 ># 27 "/usr/include/linux/types.h" 3 4 >typedef __u16 __le16; >typedef __u16 __be16; >typedef __u32 __le32; >typedef __u32 __be32; >typedef __u64 __le64; >typedef __u64 __be64; > >typedef __u16 __sum16; >typedef __u32 __wsum; ># 5 "/usr/include/linux/sysinfo.h" 2 3 4 > > >struct sysinfo { > __kernel_long_t uptime; > __kernel_ulong_t loads[3]; > __kernel_ulong_t totalram; > __kernel_ulong_t freeram; > __kernel_ulong_t sharedram; > __kernel_ulong_t bufferram; > __kernel_ulong_t totalswap; > __kernel_ulong_t freeswap; > __u16 procs; > __u16 pad; > __kernel_ulong_t totalhigh; > __kernel_ulong_t freehigh; > __u32 mem_unit; > char _f[20-2*sizeof(__kernel_ulong_t)-sizeof(__u32)]; >}; ># 5 "/usr/include/linux/kernel.h" 2 3 4 ># 5 "/usr/include/linux/netlink.h" 2 3 4 ># 1 "/usr/include/linux/socket.h" 1 3 4 ># 11 "/usr/include/linux/socket.h" 3 4 >typedef unsigned short __kernel_sa_family_t; > >struct __kernel_sockaddr_storage { > __kernel_sa_family_t ss_family; > > char __data[128 - sizeof(unsigned short)]; > > >} __attribute__ ((aligned((__alignof__ (struct sockaddr *))))); ># 6 "/usr/include/linux/netlink.h" 2 3 4 ># 35 "/usr/include/linux/netlink.h" 3 4 >struct sockaddr_nl { > __kernel_sa_family_t nl_family; > unsigned short nl_pad; > __u32 nl_pid; > __u32 nl_groups; >}; > >struct nlmsghdr { > __u32 nlmsg_len; > __u16 nlmsg_type; > __u16 nlmsg_flags; > __u32 nlmsg_seq; > __u32 nlmsg_pid; >}; ># 99 "/usr/include/linux/netlink.h" 3 4 >struct nlmsgerr { > int error; > struct nlmsghdr msg; >}; ># 112 "/usr/include/linux/netlink.h" 3 4 >struct nl_pktinfo { > __u32 group; >}; > >struct nl_mmap_req { > unsigned int nm_block_size; > unsigned int nm_block_nr; > unsigned int nm_frame_size; > unsigned int nm_frame_nr; >}; > >struct nl_mmap_hdr { > unsigned int nm_status; > unsigned int nm_len; > __u32 nm_group; > > __u32 nm_pid; > __u32 nm_uid; > __u32 nm_gid; >}; > >enum nl_mmap_status { > NL_MMAP_STATUS_UNUSED, > NL_MMAP_STATUS_RESERVED, > NL_MMAP_STATUS_VALID, > NL_MMAP_STATUS_COPY, > NL_MMAP_STATUS_SKIP, >}; > > > > > > > >enum { > NETLINK_UNCONNECTED = 0, > NETLINK_CONNECTED, >}; ># 161 "/usr/include/linux/netlink.h" 3 4 >struct nlattr { > __u16 nla_len; > __u16 nla_type; >}; ># 8 "networking/libiproute/ip_common.h" 2 ># 1 "/usr/include/linux/rtnetlink.h" 1 3 4 > > > > > ># 1 "/usr/include/linux/if_link.h" 1 3 4 > > > > > > > >struct rtnl_link_stats { > __u32 rx_packets; > __u32 tx_packets; > __u32 rx_bytes; > __u32 tx_bytes; > __u32 rx_errors; > __u32 tx_errors; > __u32 rx_dropped; > __u32 tx_dropped; > __u32 multicast; > __u32 collisions; > > > __u32 rx_length_errors; > __u32 rx_over_errors; > __u32 rx_crc_errors; > __u32 rx_frame_errors; > __u32 rx_fifo_errors; > __u32 rx_missed_errors; > > > __u32 tx_aborted_errors; > __u32 tx_carrier_errors; > __u32 tx_fifo_errors; > __u32 tx_heartbeat_errors; > __u32 tx_window_errors; > > > __u32 rx_compressed; > __u32 tx_compressed; >}; > > >struct rtnl_link_stats64 { > __u64 rx_packets; > __u64 tx_packets; > __u64 rx_bytes; > __u64 tx_bytes; > __u64 rx_errors; > __u64 tx_errors; > __u64 rx_dropped; > __u64 tx_dropped; > __u64 multicast; > __u64 collisions; > > > __u64 rx_length_errors; > __u64 rx_over_errors; > __u64 rx_crc_errors; > __u64 rx_frame_errors; > __u64 rx_fifo_errors; > __u64 rx_missed_errors; > > > __u64 tx_aborted_errors; > __u64 tx_carrier_errors; > __u64 tx_fifo_errors; > __u64 tx_heartbeat_errors; > __u64 tx_window_errors; > > > __u64 rx_compressed; > __u64 tx_compressed; >}; > > >struct rtnl_link_ifmap { > __u64 mem_start; > __u64 mem_end; > __u64 base_addr; > __u16 irq; > __u8 dma; > __u8 port; >}; ># 101 "/usr/include/linux/if_link.h" 3 4 >enum { > IFLA_UNSPEC, > IFLA_ADDRESS, > IFLA_BROADCAST, > IFLA_IFNAME, > IFLA_MTU, > IFLA_LINK, > IFLA_QDISC, > IFLA_STATS, > IFLA_COST, > > IFLA_PRIORITY, > > IFLA_MASTER, > > IFLA_WIRELESS, > > IFLA_PROTINFO, > > IFLA_TXQLEN, > > IFLA_MAP, > > IFLA_WEIGHT, > > IFLA_OPERSTATE, > IFLA_LINKMODE, > IFLA_LINKINFO, > > IFLA_NET_NS_PID, > IFLA_IFALIAS, > IFLA_NUM_VF, > IFLA_VFINFO_LIST, > IFLA_STATS64, > IFLA_VF_PORTS, > IFLA_PORT_SELF, > IFLA_AF_SPEC, > IFLA_GROUP, > IFLA_NET_NS_FD, > IFLA_EXT_MASK, > IFLA_PROMISCUITY, > > IFLA_NUM_TX_QUEUES, > IFLA_NUM_RX_QUEUES, > IFLA_CARRIER, > IFLA_PHYS_PORT_ID, > __IFLA_MAX >}; ># 157 "/usr/include/linux/if_link.h" 3 4 >enum { > IFLA_INET_UNSPEC, > IFLA_INET_CONF, > __IFLA_INET_MAX, >}; ># 195 "/usr/include/linux/if_link.h" 3 4 >enum { > IFLA_INET6_UNSPEC, > IFLA_INET6_FLAGS, > IFLA_INET6_CONF, > IFLA_INET6_STATS, > IFLA_INET6_MCAST, > IFLA_INET6_CACHEINFO, > IFLA_INET6_ICMP6STATS, > IFLA_INET6_TOKEN, > __IFLA_INET6_MAX >}; > > > >enum { > BRIDGE_MODE_UNSPEC, > BRIDGE_MODE_HAIRPIN, >}; > >enum { > IFLA_BRPORT_UNSPEC, > IFLA_BRPORT_STATE, > IFLA_BRPORT_PRIORITY, > IFLA_BRPORT_COST, > IFLA_BRPORT_MODE, > IFLA_BRPORT_GUARD, > IFLA_BRPORT_PROTECT, > IFLA_BRPORT_FAST_LEAVE, > IFLA_BRPORT_LEARNING, > IFLA_BRPORT_UNICAST_FLOOD, > __IFLA_BRPORT_MAX >}; > > >struct ifla_cacheinfo { > __u32 max_reasm_len; > __u32 tstamp; > __u32 reachable_time; > __u32 retrans_time; >}; > >enum { > IFLA_INFO_UNSPEC, > IFLA_INFO_KIND, > IFLA_INFO_DATA, > IFLA_INFO_XSTATS, > __IFLA_INFO_MAX, >}; > > > > > >enum { > IFLA_VLAN_UNSPEC, > IFLA_VLAN_ID, > IFLA_VLAN_FLAGS, > IFLA_VLAN_EGRESS_QOS, > IFLA_VLAN_INGRESS_QOS, > IFLA_VLAN_PROTOCOL, > __IFLA_VLAN_MAX, >}; > > > >struct ifla_vlan_flags { > __u32 flags; > __u32 mask; >}; > >enum { > IFLA_VLAN_QOS_UNSPEC, > IFLA_VLAN_QOS_MAPPING, > __IFLA_VLAN_QOS_MAX >}; > > > >struct ifla_vlan_qos_mapping { > __u32 from; > __u32 to; >}; > > >enum { > IFLA_MACVLAN_UNSPEC, > IFLA_MACVLAN_MODE, > IFLA_MACVLAN_FLAGS, > __IFLA_MACVLAN_MAX, >}; > > > >enum macvlan_mode { > MACVLAN_MODE_PRIVATE = 1, > MACVLAN_MODE_VEPA = 2, > MACVLAN_MODE_BRIDGE = 4, > MACVLAN_MODE_PASSTHRU = 8, >}; > > > > >enum { > IFLA_VXLAN_UNSPEC, > IFLA_VXLAN_ID, > IFLA_VXLAN_GROUP, > IFLA_VXLAN_LINK, > IFLA_VXLAN_LOCAL, > IFLA_VXLAN_TTL, > IFLA_VXLAN_TOS, > IFLA_VXLAN_LEARNING, > IFLA_VXLAN_AGEING, > IFLA_VXLAN_LIMIT, > IFLA_VXLAN_PORT_RANGE, > IFLA_VXLAN_PROXY, > IFLA_VXLAN_RSC, > IFLA_VXLAN_L2MISS, > IFLA_VXLAN_L3MISS, > IFLA_VXLAN_PORT, > IFLA_VXLAN_GROUP6, > IFLA_VXLAN_LOCAL6, > __IFLA_VXLAN_MAX >}; > > >struct ifla_vxlan_port_range { > __be16 low; > __be16 high; >}; > > > >enum { > IFLA_BOND_UNSPEC, > IFLA_BOND_MODE, > IFLA_BOND_ACTIVE_SLAVE, > __IFLA_BOND_MAX, >}; > > > > > >enum { > IFLA_VF_INFO_UNSPEC, > IFLA_VF_INFO, > __IFLA_VF_INFO_MAX, >}; > > > >enum { > IFLA_VF_UNSPEC, > IFLA_VF_MAC, > IFLA_VF_VLAN, > IFLA_VF_TX_RATE, > IFLA_VF_SPOOFCHK, > IFLA_VF_LINK_STATE, > __IFLA_VF_MAX, >}; > > > >struct ifla_vf_mac { > __u32 vf; > __u8 mac[32]; >}; > >struct ifla_vf_vlan { > __u32 vf; > __u32 vlan; > __u32 qos; >}; > >struct ifla_vf_tx_rate { > __u32 vf; > __u32 rate; >}; > >struct ifla_vf_spoofchk { > __u32 vf; > __u32 setting; >}; > >enum { > IFLA_VF_LINK_STATE_AUTO, > IFLA_VF_LINK_STATE_ENABLE, > IFLA_VF_LINK_STATE_DISABLE, > __IFLA_VF_LINK_STATE_MAX, >}; > >struct ifla_vf_link_state { > __u32 vf; > __u32 link_state; >}; ># 407 "/usr/include/linux/if_link.h" 3 4 >enum { > IFLA_VF_PORT_UNSPEC, > IFLA_VF_PORT, > __IFLA_VF_PORT_MAX, >}; > > > >enum { > IFLA_PORT_UNSPEC, > IFLA_PORT_VF, > IFLA_PORT_PROFILE, > IFLA_PORT_VSI_TYPE, > IFLA_PORT_INSTANCE_UUID, > IFLA_PORT_HOST_UUID, > IFLA_PORT_REQUEST, > IFLA_PORT_RESPONSE, > __IFLA_PORT_MAX, >}; > > > > > > > >enum { > PORT_REQUEST_PREASSOCIATE = 0, > PORT_REQUEST_PREASSOCIATE_RR, > PORT_REQUEST_ASSOCIATE, > PORT_REQUEST_DISASSOCIATE, >}; > >enum { > PORT_VDP_RESPONSE_SUCCESS = 0, > PORT_VDP_RESPONSE_INVALID_FORMAT, > PORT_VDP_RESPONSE_INSUFFICIENT_RESOURCES, > PORT_VDP_RESPONSE_UNUSED_VTID, > PORT_VDP_RESPONSE_VTID_VIOLATION, > PORT_VDP_RESPONSE_VTID_VERSION_VIOALTION, > PORT_VDP_RESPONSE_OUT_OF_SYNC, > > PORT_PROFILE_RESPONSE_SUCCESS = 0x100, > PORT_PROFILE_RESPONSE_INPROGRESS, > PORT_PROFILE_RESPONSE_INVALID, > PORT_PROFILE_RESPONSE_BADSTATE, > PORT_PROFILE_RESPONSE_INSUFFICIENT_RESOURCES, > PORT_PROFILE_RESPONSE_ERROR, >}; > >struct ifla_port_vsi { > __u8 vsi_mgr_id; > __u8 vsi_type_id[3]; > __u8 vsi_type_version; > __u8 pad[3]; >}; > > > > >enum { > IFLA_IPOIB_UNSPEC, > IFLA_IPOIB_PKEY, > IFLA_IPOIB_MODE, > IFLA_IPOIB_UMCAST, > __IFLA_IPOIB_MAX >}; > >enum { > IPOIB_MODE_DATAGRAM = 0, > IPOIB_MODE_CONNECTED = 1, >}; > > > > > > >enum { > IFLA_HSR_UNSPEC, > IFLA_HSR_SLAVE1, > IFLA_HSR_SLAVE2, > IFLA_HSR_MULTICAST_SPEC, > IFLA_HSR_SUPERVISION_ADDR, > IFLA_HSR_SEQ_NR, > __IFLA_HSR_MAX, >}; ># 7 "/usr/include/linux/rtnetlink.h" 2 3 4 ># 1 "/usr/include/linux/if_addr.h" 1 3 4 > > > > > > >struct ifaddrmsg { > __u8 ifa_family; > __u8 ifa_prefixlen; > __u8 ifa_flags; > __u8 ifa_scope; > __u32 ifa_index; >}; ># 22 "/usr/include/linux/if_addr.h" 3 4 >enum { > IFA_UNSPEC, > IFA_ADDRESS, > IFA_LOCAL, > IFA_LABEL, > IFA_BROADCAST, > IFA_ANYCAST, > IFA_CACHEINFO, > IFA_MULTICAST, > __IFA_MAX, >}; ># 48 "/usr/include/linux/if_addr.h" 3 4 >struct ifa_cacheinfo { > __u32 ifa_prefered; > __u32 ifa_valid; > __u32 cstamp; > __u32 tstamp; >}; ># 8 "/usr/include/linux/rtnetlink.h" 2 3 4 ># 1 "/usr/include/linux/neighbour.h" 1 3 4 > > > > > > >struct ndmsg { > __u8 ndm_family; > __u8 ndm_pad1; > __u16 ndm_pad2; > __s32 ndm_ifindex; > __u16 ndm_state; > __u8 ndm_flags; > __u8 ndm_type; >}; > >enum { > NDA_UNSPEC, > NDA_DST, > NDA_LLADDR, > NDA_CACHEINFO, > NDA_PROBES, > NDA_VLAN, > NDA_PORT, > NDA_VNI, > NDA_IFINDEX, > __NDA_MAX >}; ># 64 "/usr/include/linux/neighbour.h" 3 4 >struct nda_cacheinfo { > __u32 ndm_confirmed; > __u32 ndm_used; > __u32 ndm_updated; > __u32 ndm_refcnt; >}; ># 96 "/usr/include/linux/neighbour.h" 3 4 >struct ndt_stats { > __u64 ndts_allocs; > __u64 ndts_destroys; > __u64 ndts_hash_grows; > __u64 ndts_res_failed; > __u64 ndts_lookups; > __u64 ndts_hits; > __u64 ndts_rcv_probes_mcast; > __u64 ndts_rcv_probes_ucast; > __u64 ndts_periodic_gc_runs; > __u64 ndts_forced_gc_runs; >}; > >enum { > NDTPA_UNSPEC, > NDTPA_IFINDEX, > NDTPA_REFCNT, > NDTPA_REACHABLE_TIME, > NDTPA_BASE_REACHABLE_TIME, > NDTPA_RETRANS_TIME, > NDTPA_GC_STALETIME, > NDTPA_DELAY_PROBE_TIME, > NDTPA_QUEUE_LEN, > NDTPA_APP_PROBES, > NDTPA_UCAST_PROBES, > NDTPA_MCAST_PROBES, > NDTPA_ANYCAST_DELAY, > NDTPA_PROXY_DELAY, > NDTPA_PROXY_QLEN, > NDTPA_LOCKTIME, > NDTPA_QUEUE_LENBYTES, > __NDTPA_MAX >}; > > >struct ndtmsg { > __u8 ndtm_family; > __u8 ndtm_pad1; > __u16 ndtm_pad2; >}; > >struct ndt_config { > __u16 ndtc_key_len; > __u16 ndtc_entry_size; > __u32 ndtc_entries; > __u32 ndtc_last_flush; > __u32 ndtc_last_rand; > __u32 ndtc_hash_rnd; > __u32 ndtc_hash_mask; > __u32 ndtc_hash_chain_gc; > __u32 ndtc_proxy_qlen; >}; > >enum { > NDTA_UNSPEC, > NDTA_NAME, > NDTA_THRESH1, > NDTA_THRESH2, > NDTA_THRESH3, > NDTA_CONFIG, > NDTA_PARMS, > NDTA_STATS, > NDTA_GC_INTERVAL, > __NDTA_MAX >}; ># 9 "/usr/include/linux/rtnetlink.h" 2 3 4 ># 23 "/usr/include/linux/rtnetlink.h" 3 4 >enum { > RTM_BASE = 16, > > > RTM_NEWLINK = 16, > > RTM_DELLINK, > > RTM_GETLINK, > > RTM_SETLINK, > > > RTM_NEWADDR = 20, > > RTM_DELADDR, > > RTM_GETADDR, > > > RTM_NEWROUTE = 24, > > RTM_DELROUTE, > > RTM_GETROUTE, > > > RTM_NEWNEIGH = 28, > > RTM_DELNEIGH, > > RTM_GETNEIGH, > > > RTM_NEWRULE = 32, > > RTM_DELRULE, > > RTM_GETRULE, > > > RTM_NEWQDISC = 36, > > RTM_DELQDISC, > > RTM_GETQDISC, > > > RTM_NEWTCLASS = 40, > > RTM_DELTCLASS, > > RTM_GETTCLASS, > > > RTM_NEWTFILTER = 44, > > RTM_DELTFILTER, > > RTM_GETTFILTER, > > > RTM_NEWACTION = 48, > > RTM_DELACTION, > > RTM_GETACTION, > > > RTM_NEWPREFIX = 52, > > > RTM_GETMULTICAST = 58, > > > RTM_GETANYCAST = 62, > > > RTM_NEWNEIGHTBL = 64, > > RTM_GETNEIGHTBL = 66, > > RTM_SETNEIGHTBL, > > > RTM_NEWNDUSEROPT = 68, > > > RTM_NEWADDRLABEL = 72, > > RTM_DELADDRLABEL, > > RTM_GETADDRLABEL, > > > RTM_GETDCB = 78, > > RTM_SETDCB, > > > RTM_NEWNETCONF = 80, > > RTM_GETNETCONF = 82, > > > RTM_NEWMDB = 84, > > RTM_DELMDB = 85, > > RTM_GETMDB = 86, > > > __RTM_MAX, > >}; ># 149 "/usr/include/linux/rtnetlink.h" 3 4 >struct rtattr { > unsigned short rta_len; > unsigned short rta_type; >}; ># 175 "/usr/include/linux/rtnetlink.h" 3 4 >struct rtmsg { > unsigned char rtm_family; > unsigned char rtm_dst_len; > unsigned char rtm_src_len; > unsigned char rtm_tos; > > unsigned char rtm_table; > unsigned char rtm_protocol; > unsigned char rtm_scope; > unsigned char rtm_type; > > unsigned rtm_flags; >}; > > > >enum { > RTN_UNSPEC, > RTN_UNICAST, > RTN_LOCAL, > RTN_BROADCAST, > > RTN_ANYCAST, > > RTN_MULTICAST, > RTN_BLACKHOLE, > RTN_UNREACHABLE, > RTN_PROHIBIT, > RTN_THROW, > RTN_NAT, > RTN_XRESOLVE, > __RTN_MAX >}; ># 250 "/usr/include/linux/rtnetlink.h" 3 4 >enum rt_scope_t { > RT_SCOPE_UNIVERSE=0, > > RT_SCOPE_SITE=200, > RT_SCOPE_LINK=253, > RT_SCOPE_HOST=254, > RT_SCOPE_NOWHERE=255 >}; ># 268 "/usr/include/linux/rtnetlink.h" 3 4 >enum rt_class_t { > RT_TABLE_UNSPEC=0, > > RT_TABLE_COMPAT=252, > RT_TABLE_DEFAULT=253, > RT_TABLE_MAIN=254, > RT_TABLE_LOCAL=255, > RT_TABLE_MAX=0xFFFFFFFF >}; > > > > >enum rtattr_type_t { > RTA_UNSPEC, > RTA_DST, > RTA_SRC, > RTA_IIF, > RTA_OIF, > RTA_GATEWAY, > RTA_PRIORITY, > RTA_PREFSRC, > RTA_METRICS, > RTA_MULTIPATH, > RTA_PROTOINFO, > RTA_FLOW, > RTA_CACHEINFO, > RTA_SESSION, > RTA_MP_ALGO, > RTA_TABLE, > RTA_MARK, > RTA_MFC_STATS, > __RTA_MAX >}; ># 317 "/usr/include/linux/rtnetlink.h" 3 4 >struct rtnexthop { > unsigned short rtnh_len; > unsigned char rtnh_flags; > unsigned char rtnh_hops; > int rtnh_ifindex; >}; ># 343 "/usr/include/linux/rtnetlink.h" 3 4 >struct rta_cacheinfo { > __u32 rta_clntref; > __u32 rta_lastuse; > __s32 rta_expires; > __u32 rta_error; > __u32 rta_used; > > > __u32 rta_id; > __u32 rta_ts; > __u32 rta_tsage; >}; > > > >enum { > RTAX_UNSPEC, > > RTAX_LOCK, > > RTAX_MTU, > > RTAX_WINDOW, > > RTAX_RTT, > > RTAX_RTTVAR, > > RTAX_SSTHRESH, > > RTAX_CWND, > > RTAX_ADVMSS, > > RTAX_REORDERING, > > RTAX_HOPLIMIT, > > RTAX_INITCWND, > > RTAX_FEATURES, > > RTAX_RTO_MIN, > > RTAX_INITRWND, > > RTAX_QUICKACK, > > __RTAX_MAX >}; ># 401 "/usr/include/linux/rtnetlink.h" 3 4 >struct rta_session { > __u8 proto; > __u8 pad1; > __u16 pad2; > > union { > struct { > __u16 sport; > __u16 dport; > } ports; > > struct { > __u8 type; > __u8 code; > __u16 ident; > } icmpt; > > __u32 spi; > } u; >}; > >struct rta_mfc_stats { > __u64 mfcs_packets; > __u64 mfcs_bytes; > __u64 mfcs_wrong_if; >}; > > > > > >struct rtgenmsg { > unsigned char rtgen_family; >}; ># 445 "/usr/include/linux/rtnetlink.h" 3 4 >struct ifinfomsg { > unsigned char ifi_family; > unsigned char __ifi_pad; > unsigned short ifi_type; > int ifi_index; > unsigned ifi_flags; > unsigned ifi_change; >}; > > > > > >struct prefixmsg { > unsigned char prefix_family; > unsigned char prefix_pad1; > unsigned short prefix_pad2; > int prefix_ifindex; > unsigned char prefix_type; > unsigned char prefix_len; > unsigned char prefix_flags; > unsigned char prefix_pad3; >}; > >enum >{ > PREFIX_UNSPEC, > PREFIX_ADDRESS, > PREFIX_CACHEINFO, > __PREFIX_MAX >}; > > > >struct prefix_cacheinfo { > __u32 preferred_time; > __u32 valid_time; >}; > > > > > > >struct tcmsg { > unsigned char tcm_family; > unsigned char tcm__pad1; > unsigned short tcm__pad2; > int tcm_ifindex; > __u32 tcm_handle; > __u32 tcm_parent; > __u32 tcm_info; >}; > >enum { > TCA_UNSPEC, > TCA_KIND, > TCA_OPTIONS, > TCA_STATS, > TCA_XSTATS, > TCA_RATE, > TCA_FCNT, > TCA_STATS2, > TCA_STAB, > __TCA_MAX >}; ># 521 "/usr/include/linux/rtnetlink.h" 3 4 >struct nduseroptmsg { > unsigned char nduseropt_family; > unsigned char nduseropt_pad1; > unsigned short nduseropt_opts_len; > int nduseropt_ifindex; > __u8 nduseropt_icmp_type; > __u8 nduseropt_icmp_code; > unsigned short nduseropt_pad2; > unsigned int nduseropt_pad3; > >}; > >enum { > NDUSEROPT_UNSPEC, > NDUSEROPT_SRCADDR, > __NDUSEROPT_MAX >}; ># 563 "/usr/include/linux/rtnetlink.h" 3 4 >enum rtnetlink_groups { > RTNLGRP_NONE, > > RTNLGRP_LINK, > > RTNLGRP_NOTIFY, > > RTNLGRP_NEIGH, > > RTNLGRP_TC, > > RTNLGRP_IPV4_IFADDR, > > RTNLGRP_IPV4_MROUTE, > > RTNLGRP_IPV4_ROUTE, > > RTNLGRP_IPV4_RULE, > > RTNLGRP_IPV6_IFADDR, > > RTNLGRP_IPV6_MROUTE, > > RTNLGRP_IPV6_ROUTE, > > RTNLGRP_IPV6_IFINFO, > > RTNLGRP_DECnet_IFADDR, > > RTNLGRP_NOP2, > RTNLGRP_DECnet_ROUTE, > > RTNLGRP_DECnet_RULE, > > RTNLGRP_NOP4, > RTNLGRP_IPV6_PREFIX, > > RTNLGRP_IPV6_RULE, > > RTNLGRP_ND_USEROPT, > > RTNLGRP_PHONET_IFADDR, > > RTNLGRP_PHONET_ROUTE, > > RTNLGRP_DCB, > > RTNLGRP_IPV4_NETCONF, > > RTNLGRP_IPV6_NETCONF, > > RTNLGRP_MDB, > > __RTNLGRP_MAX >}; > > > >struct tcamsg { > unsigned char tca_family; > unsigned char tca__pad1; > unsigned short tca__pad2; >}; ># 9 "networking/libiproute/ip_common.h" 2 > > > > > > > > ># 16 "networking/libiproute/ip_common.h" >#pragma GCC visibility push(hidden) ># 16 "networking/libiproute/ip_common.h" > > >char **ip_parse_common_args(char **argv); > >int ipaddr_list_or_flush(char **argv, int flush); > > > >int do_ipaddr(char **argv); >int do_iproute(char **argv); >int do_iprule(char **argv); > >int do_iptunnel(char **argv); >int do_iplink(char **argv); > > > > > ># 34 "networking/libiproute/ip_common.h" >#pragma GCC visibility pop ># 34 "networking/libiproute/ip_common.h" > ># 16 "networking/libiproute/ipaddress.c" 2 ># 1 "networking/libiproute/rt_names.h" 1 > > > > > ># 5 "networking/libiproute/rt_names.h" >#pragma GCC visibility push(hidden) ># 5 "networking/libiproute/rt_names.h" > > > >extern const char* rtnl_rtprot_n2a(int id, char *buf) ; >extern const char* rtnl_rtscope_n2a(int id, char *buf) ; >extern const char* rtnl_rtrealm_n2a(int id, char *buf) ; >extern const char* rtnl_dsfield_n2a(int id, char *buf) ; >extern const char* rtnl_rttable_n2a(int id, char *buf) ; >extern int rtnl_rtprot_a2n(uint32_t *id, char *arg) ; >extern int rtnl_rtscope_a2n(uint32_t *id, char *arg) ; >extern int rtnl_rtrealm_a2n(uint32_t *id, char *arg) ; >extern int rtnl_dsfield_a2n(uint32_t *id, char *arg) ; >extern int rtnl_rttable_a2n(uint32_t *id, char *arg) ; > >extern const char* ll_type_n2a(int type, char *buf) ; > >extern const char* ll_addr_n2a(unsigned char *addr, int alen, int type, > char *buf, int blen) ; >extern int ll_addr_a2n(unsigned char *lladdr, int len, char *arg) ; > >extern const char* ll_proto_n2a(unsigned short id, char *buf, int len) ; >extern int ll_proto_a2n(unsigned short *id, char *buf) ; > > ># 28 "networking/libiproute/rt_names.h" >#pragma GCC visibility pop ># 28 "networking/libiproute/rt_names.h" > ># 17 "networking/libiproute/ipaddress.c" 2 ># 1 "networking/libiproute/utils.h" 1 > > > > ># 1 "networking/libiproute/libnetlink.h" 1 ># 11 "networking/libiproute/libnetlink.h" > ># 11 "networking/libiproute/libnetlink.h" >#pragma GCC visibility push(hidden) ># 11 "networking/libiproute/libnetlink.h" > > >struct rtnl_handle { > int fd; > struct sockaddr_nl local; > struct sockaddr_nl peer; > uint32_t seq; > uint32_t dump; >}; > >extern void xrtnl_open(struct rtnl_handle *rth) ; > >extern int xrtnl_wilddump_request(struct rtnl_handle *rth, int fam, int type) ; >extern int rtnl_dump_request(struct rtnl_handle *rth, int type, void *req, int len) ; >extern int xrtnl_dump_filter(struct rtnl_handle *rth, > int (*filter)(const struct sockaddr_nl*, struct nlmsghdr *n, void*) , > void *arg1) ; > > > > >extern int rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n, struct nlmsghdr *answer) > > > ; > >extern int rtnl_send(struct rtnl_handle *rth, char *buf, int) ; > > >extern int addattr32(struct nlmsghdr *n, int maxlen, int type, uint32_t data) ; >extern int addattr_l(struct nlmsghdr *n, int maxlen, int type, void *data, int alen) ; >extern int rta_addattr32(struct rtattr *rta, int maxlen, int type, uint32_t data) ; >extern int rta_addattr_l(struct rtattr *rta, int maxlen, int type, void *data, int alen) ; > >extern void parse_rtattr(struct rtattr *tb[], int max, struct rtattr *rta, int len) ; > > ># 47 "networking/libiproute/libnetlink.h" >#pragma GCC visibility pop ># 47 "networking/libiproute/libnetlink.h" > ># 6 "networking/libiproute/utils.h" 2 ># 1 "networking/libiproute/ll_map.h" 1 > > > > > ># 5 "networking/libiproute/ll_map.h" >#pragma GCC visibility push(hidden) ># 5 "networking/libiproute/ll_map.h" > > >int ll_remember_index(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg) ; >int ll_init_map(struct rtnl_handle *rth) ; >int xll_name_to_index(const char *name) ; >const char *ll_index_to_name(int idx) ; >const char *ll_idx_n2a(int idx, char *buf) ; > >unsigned ll_index_to_flags(int idx) ; > > ># 15 "networking/libiproute/ll_map.h" >#pragma GCC visibility pop ># 15 "networking/libiproute/ll_map.h" > ># 7 "networking/libiproute/utils.h" 2 ># 1 "networking/libiproute/rtm_map.h" 1 > > > > > ># 5 "networking/libiproute/rtm_map.h" >#pragma GCC visibility push(hidden) ># 5 "networking/libiproute/rtm_map.h" > > >const char *rtnl_rtntype_n2a(int id, char *buf) ; >int rtnl_rtntype_a2n(int *id, char *arg) ; > >int get_rt_realms(uint32_t *realms, char *arg) ; > > ># 12 "networking/libiproute/rtm_map.h" >#pragma GCC visibility pop ># 12 "networking/libiproute/rtm_map.h" > ># 8 "networking/libiproute/utils.h" 2 > > ># 9 "networking/libiproute/utils.h" >#pragma GCC visibility push(hidden) ># 9 "networking/libiproute/utils.h" > > >extern family_t preferred_family; >extern smallint show_stats; >extern smallint show_details; >extern smallint show_raw; >extern smallint resolve_hosts; >extern smallint oneline; >extern char _SL_; ># 29 "networking/libiproute/utils.h" >extern void incomplete_command(void) __attribute__ ((__noreturn__)); > > > >typedef struct { > uint8_t family; > uint8_t bytelen; > int16_t bitlen; > uint32_t data[4]; >} inet_prefix; ># 47 "networking/libiproute/utils.h" >struct dn_naddr { > unsigned short a_len; > unsigned char a_addr[20]; >}; > > > >struct ipx_addr { > uint32_t ipx_net; > uint8_t ipx_node[6]; >}; > >extern uint32_t get_addr32(char *name); >extern int get_addr_1(inet_prefix *dst, char *arg, int family); > >extern int get_addr(inet_prefix *dst, char *arg, int family); >extern void get_prefix(inet_prefix *dst, char *arg, int family); > >extern unsigned get_unsigned(char *arg, const char *errmsg); >extern uint32_t get_u32(char *arg, const char *errmsg); >extern uint16_t get_u16(char *arg, const char *errmsg); > >extern const char *rt_addr_n2a(int af, void *addr, char *buf, int buflen); > > > > > > > >void invarg(const char *, const char *) __attribute__ ((__noreturn__)); >void duparg(const char *, const char *) __attribute__ ((__noreturn__)); >void duparg2(const char *, const char *) __attribute__ ((__noreturn__)); >int inet_addr_match(const inet_prefix *a, const inet_prefix *b, int bits); > >const char *dnet_ntop(int af, const void *addr, char *str, size_t len); >int dnet_pton(int af, const char *src, void *addr); > >const char *ipx_ntop(int af, const void *addr, char *str, size_t len); >int ipx_pton(int af, const char *src, void *addr); > > ># 88 "networking/libiproute/utils.h" >#pragma GCC visibility pop ># 88 "networking/libiproute/utils.h" > ># 18 "networking/libiproute/ipaddress.c" 2 > > > > > > >struct filter_t { > char *label; > char *flushb; > struct rtnl_handle *rth; > int scope, scopemask; > int flags, flagmask; > int flushp; > int flushe; > int ifindex; > family_t family; > smallint showqueue; > smallint oneline; > smallint up; > smallint flushed; > inet_prefix pfx; >} __attribute__((__may_alias__)); >typedef struct filter_t filter_t; > > > > >static void print_link_flags(unsigned flags, unsigned mdown) >{ > static const int flag_masks[] = { > IFF_LOOPBACK, IFF_BROADCAST, IFF_POINTOPOINT, > IFF_MULTICAST, IFF_NOARP, IFF_UP, 0x10000 }; > static const char flag_labels[] __attribute__((aligned(1))) = > "LOOPBACK\0""BROADCAST\0""POINTOPOINT\0" > "MULTICAST\0""NOARP\0""UP\0""LOWER_UP\0"; > > bb_putchar('<'); > if (flags & IFF_UP && !(flags & IFF_RUNNING)) > printf("NO-CARRIER,"); > flags &= ~IFF_RUNNING; ># 69 "networking/libiproute/ipaddress.c" > flags = print_flags_separated(flag_masks, flag_labels, flags, ","); > if (flags) > printf("%x", flags); > if (mdown) > printf(",M-DOWN"); > printf("> "); >} > >static void print_queuelen(char *name) >{ > struct ifreq ifr; > int s; > > s = socket(2, SOCK_STREAM, 0); > if (s < 0) > return; > > memset(&ifr, 0, sizeof(ifr)); > strncpy_IFNAMSIZ(ifr.ifr_ifrn.ifrn_name, name); > if (bb_ioctl_or_warn(s,0x8942,&ifr,"SIOCGIFTXQLEN") < 0) { > close(s); > return; > } > close(s); > > if (ifr.ifr_ifru.ifru_ivalue) > printf("qlen %d", ifr.ifr_ifru.ifru_ivalue); >} > >static __attribute__((__noinline__)) int print_linkinfo(const struct nlmsghdr *n) >{ > struct ifinfomsg *ifi = ((void*)(((char*)n) + ((0) + ((int) ( ((sizeof(struct nlmsghdr))+4U -1) & ~(4U -1) ))))); > struct rtattr *tb[(__IFLA_MAX - 1)+1]; > int len = n->nlmsg_len; > > if (n->nlmsg_type != RTM_NEWLINK && n->nlmsg_type != RTM_DELLINK) > return 0; > > len -= ((sizeof(*ifi)) + ((int) ( ((sizeof(struct nlmsghdr))+4U -1) & ~(4U -1) ))); > if (len < 0) > return -1; > > if ((*(filter_t*)&bb_common_bufsiz1).ifindex && ifi->ifi_index != (*(filter_t*)&bb_common_bufsiz1).ifindex) > return 0; > if ((*(filter_t*)&bb_common_bufsiz1).up && !(ifi->ifi_flags & IFF_UP)) > return 0; > > memset(tb, 0, sizeof(tb)); > parse_rtattr(tb, (__IFLA_MAX - 1), ((struct rtattr*)(((char*)(ifi)) + ( ((sizeof(struct ifinfomsg))+4U -1) & ~(4U -1) ))), len); > if (tb[IFLA_IFNAME] == ((void *)0)) { > bb_error_msg("nil ifname"); > return -1; > } > if ((*(filter_t*)&bb_common_bufsiz1).label > && (!(*(filter_t*)&bb_common_bufsiz1).family || (*(filter_t*)&bb_common_bufsiz1).family == 17) > && fnmatch((*(filter_t*)&bb_common_bufsiz1).label, ((void*)(((char*)(tb[IFLA_IFNAME])) + (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0)))), 0) > ) { > return 0; > } > > if (n->nlmsg_type == RTM_DELLINK) > printf("Deleted "); > > printf("%d: %s", ifi->ifi_index, > > (char*)((void*)(((char*)(tb[IFLA_IFNAME])) + (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0)))) > ); > > { > unsigned m_flag = 0; > if (tb[IFLA_LINK]) { > char b1[64]; > int iflink = *(int*)((void*)(((char*)(tb[IFLA_LINK])) + (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0)))); > if (iflink == 0) > printf("@NONE: "); > else { > printf("@%s: ", ll_idx_n2a(iflink, b1)); > m_flag = ll_index_to_flags(iflink); > m_flag = !(m_flag & IFF_UP); > } > } else { > printf(": "); > } > print_link_flags(ifi->ifi_flags, m_flag); > } > > if (tb[IFLA_MTU]) > printf("mtu %u ", *(int*)((void*)(((char*)(tb[IFLA_MTU])) + (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0))))); > if (tb[IFLA_QDISC]) > printf("qdisc %s ", (char*)((void*)(((char*)(tb[IFLA_QDISC])) + (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0))))); > > if (tb[IFLA_MASTER]) { > char b1[64]; > printf("master %s ", ll_idx_n2a(*(int*)((void*)(((char*)(tb[IFLA_MASTER])) + (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0)))), b1)); > } ># 175 "networking/libiproute/ipaddress.c" > if ((*(filter_t*)&bb_common_bufsiz1).showqueue) > print_queuelen((char*)((void*)(((char*)(tb[IFLA_IFNAME])) + (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0))))); > > if (!(*(filter_t*)&bb_common_bufsiz1).family || (*(filter_t*)&bb_common_bufsiz1).family == 17) { > char b1[64]; > printf("%c link/%s ", _SL_, ll_type_n2a(ifi->ifi_type, b1)); > > if (tb[IFLA_ADDRESS]) { > fputs_unlocked(ll_addr_n2a(((void*)(((char*)(tb[IFLA_ADDRESS])) + (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0)))), ((int)((tb[IFLA_ADDRESS])->rta_len) - (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0))), ifi->ifi_type, b1, sizeof(b1)), stdout) > > > ; > } > if (tb[IFLA_BROADCAST]) { > if (ifi->ifi_flags & IFF_POINTOPOINT) > printf(" peer "); > else > printf(" brd "); > fputs_unlocked(ll_addr_n2a(((void*)(((char*)(tb[IFLA_BROADCAST])) + (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0)))), ((int)((tb[IFLA_BROADCAST])->rta_len) - (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0))), ifi->ifi_type, b1, sizeof(b1)), stdout) > > > ; > } > } > bb_putchar('\n'); > > return 0; >} > >static int flush_update(void) >{ > if (rtnl_send((*(filter_t*)&bb_common_bufsiz1).rth, (*(filter_t*)&bb_common_bufsiz1).flushb, (*(filter_t*)&bb_common_bufsiz1).flushp) < 0) { > bb_perror_msg("can't send flush request"); > return -1; > } > (*(filter_t*)&bb_common_bufsiz1).flushp = 0; > return 0; >} > >static int print_addrinfo(const struct sockaddr_nl *who __attribute__ ((__unused__)), > struct nlmsghdr *n, void *arg __attribute__ ((__unused__))) >{ > struct ifaddrmsg *ifa = ((void*)(((char*)n) + ((0) + ((int) ( ((sizeof(struct nlmsghdr))+4U -1) & ~(4U -1) ))))); > int len = n->nlmsg_len; > struct rtattr * rta_tb[(__IFA_MAX - 1)+1]; > char abuf[256]; > char b1[64]; > > if (n->nlmsg_type != RTM_NEWADDR && n->nlmsg_type != RTM_DELADDR) > return 0; > len -= ((sizeof(*ifa)) + ((int) ( ((sizeof(struct nlmsghdr))+4U -1) & ~(4U -1) ))); > if (len < 0) { > bb_error_msg("wrong nlmsg len %d", len); > return -1; > } > > if ((*(filter_t*)&bb_common_bufsiz1).flushb && n->nlmsg_type != RTM_NEWADDR) > return 0; > > memset(rta_tb, 0, sizeof(rta_tb)); > parse_rtattr(rta_tb, (__IFA_MAX - 1), ((struct rtattr*)(((char*)(ifa)) + ( ((sizeof(struct ifaddrmsg))+4U -1) & ~(4U -1) ))), n->nlmsg_len - ((sizeof(*ifa)) + ((int) ( ((sizeof(struct nlmsghdr))+4U -1) & ~(4U -1) )))); > > if (!rta_tb[IFA_LOCAL]) > rta_tb[IFA_LOCAL] = rta_tb[IFA_ADDRESS]; > if (!rta_tb[IFA_ADDRESS]) > rta_tb[IFA_ADDRESS] = rta_tb[IFA_LOCAL]; > > if ((*(filter_t*)&bb_common_bufsiz1).ifindex && (*(filter_t*)&bb_common_bufsiz1).ifindex != ifa->ifa_index) > return 0; > if (((*(filter_t*)&bb_common_bufsiz1).scope ^ ifa->ifa_scope) & (*(filter_t*)&bb_common_bufsiz1).scopemask) > return 0; > if (((*(filter_t*)&bb_common_bufsiz1).flags ^ ifa->ifa_flags) & (*(filter_t*)&bb_common_bufsiz1).flagmask) > return 0; > if ((*(filter_t*)&bb_common_bufsiz1).label) { > const char *label; > if (rta_tb[IFA_LABEL]) > label = ((void*)(((char*)(rta_tb[IFA_LABEL])) + (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0)))); > else > label = ll_idx_n2a(ifa->ifa_index, b1); > if (fnmatch((*(filter_t*)&bb_common_bufsiz1).label, label, 0) != 0) > return 0; > } > if ((*(filter_t*)&bb_common_bufsiz1).pfx.family) { > if (rta_tb[IFA_LOCAL]) { > inet_prefix dst; > memset(&dst, 0, sizeof(dst)); > dst.family = ifa->ifa_family; > memcpy(&dst.data, ((void*)(((char*)(rta_tb[IFA_LOCAL])) + (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0)))), ((int)((rta_tb[IFA_LOCAL])->rta_len) - (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0)))); > if (inet_addr_match(&dst, &(*(filter_t*)&bb_common_bufsiz1).pfx, (*(filter_t*)&bb_common_bufsiz1).pfx.bitlen)) > return 0; > } > } > > if ((*(filter_t*)&bb_common_bufsiz1).flushb) { > struct nlmsghdr *fn; > if (( (((*(filter_t*)&bb_common_bufsiz1).flushp)+4U -1) & ~(4U -1) ) + n->nlmsg_len > (*(filter_t*)&bb_common_bufsiz1).flushe) { > if (flush_update()) > return -1; > } > fn = (struct nlmsghdr*)((*(filter_t*)&bb_common_bufsiz1).flushb + ( (((*(filter_t*)&bb_common_bufsiz1).flushp)+4U -1) & ~(4U -1) )); > memcpy(fn, n, n->nlmsg_len); > fn->nlmsg_type = RTM_DELADDR; > fn->nlmsg_flags = 1; > fn->nlmsg_seq = ++(*(filter_t*)&bb_common_bufsiz1).rth->seq; > (*(filter_t*)&bb_common_bufsiz1).flushp = (((char*)fn) + n->nlmsg_len) - (*(filter_t*)&bb_common_bufsiz1).flushb; > (*(filter_t*)&bb_common_bufsiz1).flushed = 1; > return 0; > } > > if (n->nlmsg_type == RTM_DELADDR) > printf("Deleted "); > > if ((*(filter_t*)&bb_common_bufsiz1).oneline) > printf("%u: %s", ifa->ifa_index, ll_index_to_name(ifa->ifa_index)); > if (ifa->ifa_family == 2) > printf(" inet "); > else if (ifa->ifa_family == 10) > printf(" inet6 "); > else > printf(" family %d ", ifa->ifa_family); > > if (rta_tb[IFA_LOCAL]) { > fputs_unlocked(rt_addr_n2a(ifa->ifa_family, ((void*)(((char*)(rta_tb[IFA_LOCAL])) + (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0)))), abuf, sizeof(abuf)), stdout) > > ; > > if (rta_tb[IFA_ADDRESS] == ((void *)0) > || memcmp(((void*)(((char*)(rta_tb[IFA_ADDRESS])) + (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0)))), ((void*)(((char*)(rta_tb[IFA_LOCAL])) + (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0)))), 4) == 0 > ) { > printf("/%d ", ifa->ifa_prefixlen); > } else { > printf(" peer %s/%d ", > rt_addr_n2a(ifa->ifa_family, > ((void*)(((char*)(rta_tb[IFA_ADDRESS])) + (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0)))), > abuf, sizeof(abuf)), > ifa->ifa_prefixlen); > } > } > > if (rta_tb[IFA_BROADCAST]) { > printf("brd %s ", > rt_addr_n2a(ifa->ifa_family, > ((void*)(((char*)(rta_tb[IFA_BROADCAST])) + (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0)))), > abuf, sizeof(abuf)) > ); > } > if (rta_tb[IFA_ANYCAST]) { > printf("any %s ", > rt_addr_n2a(ifa->ifa_family, > ((void*)(((char*)(rta_tb[IFA_ANYCAST])) + (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0)))), > abuf, sizeof(abuf)) > ); > } > printf("scope %s ", rtnl_rtscope_n2a(ifa->ifa_scope, b1)); > if (ifa->ifa_flags & 0x01) { > ifa->ifa_flags &= ~0x01; > printf("secondary "); > } > if (ifa->ifa_flags & 0x40) { > ifa->ifa_flags &= ~0x40; > printf("tentative "); > } > if (ifa->ifa_flags & 0x20) { > ifa->ifa_flags &= ~0x20; > printf("deprecated "); > } > if (!(ifa->ifa_flags & 0x80)) { > printf("dynamic "); > } else > ifa->ifa_flags &= ~0x80; > if (ifa->ifa_flags) > printf("flags %02x ", ifa->ifa_flags); > if (rta_tb[IFA_LABEL]) > fputs_unlocked((char*)((void*)(((char*)(rta_tb[IFA_LABEL])) + (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0)))), stdout); > if (rta_tb[IFA_CACHEINFO]) { > struct ifa_cacheinfo *ci = ((void*)(((char*)(rta_tb[IFA_CACHEINFO])) + (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0)))); > char buf[128]; > bb_putchar(_SL_); > if (ci->ifa_valid == 0xFFFFFFFFU) > sprintf(buf, "valid_lft forever"); > else > sprintf(buf, "valid_lft %dsec", ci->ifa_valid); > if (ci->ifa_prefered == 0xFFFFFFFFU) > sprintf(buf+strlen(buf), " preferred_lft forever"); > else > sprintf(buf+strlen(buf), " preferred_lft %dsec", ci->ifa_prefered); > printf(" %s", buf); > } > bb_putchar('\n'); > > return 0; >} > > >struct nlmsg_list { > struct nlmsg_list *next; > struct nlmsghdr h; >}; > >static int print_selected_addrinfo(int ifindex, struct nlmsg_list *ainfo) >{ > for (; ainfo; ainfo = ainfo->next) { > struct nlmsghdr *n = &ainfo->h; > struct ifaddrmsg *ifa = ((void*)(((char*)n) + ((0) + ((int) ( ((sizeof(struct nlmsghdr))+4U -1) & ~(4U -1) ))))); > > if (n->nlmsg_type != RTM_NEWADDR) > continue; > if (n->nlmsg_len < ((sizeof(ifa)) + ((int) ( ((sizeof(struct nlmsghdr))+4U -1) & ~(4U -1) )))) > return -1; > if (ifa->ifa_index != ifindex > || ((*(filter_t*)&bb_common_bufsiz1).family && (*(filter_t*)&bb_common_bufsiz1).family != ifa->ifa_family) > ) { > continue; > } > print_addrinfo(((void *)0), n, ((void *)0)); > } > return 0; >} > > >static int store_nlmsg(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg) >{ > struct nlmsg_list **linfo = (struct nlmsg_list**)arg; > struct nlmsg_list *h; > struct nlmsg_list **lp; > > h = xzalloc(n->nlmsg_len + sizeof(void*)); > > memcpy(&h->h, n, n->nlmsg_len); > > > for (lp = linfo; *lp; lp = &(*lp)->next) > continue; > *lp = h; > > ll_remember_index(who, n, ((void *)0)); > return 0; >} > >static void ipaddr_reset_filter(int _oneline) >{ > memset(&(*(filter_t*)&bb_common_bufsiz1), 0, sizeof((*(filter_t*)&bb_common_bufsiz1))); > (*(filter_t*)&bb_common_bufsiz1).oneline = _oneline; >} > > >int ipaddr_list_or_flush(char **argv, int flush) >{ > static const char option[] __attribute__((aligned(1))) = "to\0""scope\0""up\0""label\0""dev\0"; > > struct nlmsg_list *linfo = ((void *)0); > struct nlmsg_list *ainfo = ((void *)0); > struct nlmsg_list *l; > struct rtnl_handle rth; > char *filter_dev = ((void *)0); > int no_link = 0; > > ipaddr_reset_filter(oneline); > (*(filter_t*)&bb_common_bufsiz1).showqueue = 1; > > if ((*(filter_t*)&bb_common_bufsiz1).family == 0) > (*(filter_t*)&bb_common_bufsiz1).family = preferred_family; > > if (flush) { > if (!*argv) { > bb_error_msg_and_die(bb_msg_requires_arg, "flush"); > } > if ((*(filter_t*)&bb_common_bufsiz1).family == 17) { > bb_error_msg_and_die("can't flush link addresses"); > } > } > > while (*argv) { > const smalluint key = index_in_strings(option, *argv); > if (key == 0) { > do { if (!*++argv) incomplete_command(); } while (0); > get_prefix(&(*(filter_t*)&bb_common_bufsiz1).pfx, *argv, (*(filter_t*)&bb_common_bufsiz1).family); > if ((*(filter_t*)&bb_common_bufsiz1).family == 0) { > (*(filter_t*)&bb_common_bufsiz1).family = (*(filter_t*)&bb_common_bufsiz1).pfx.family; > } > } else if (key == 1) { > uint32_t scope = 0; > do { if (!*++argv) incomplete_command(); } while (0); > (*(filter_t*)&bb_common_bufsiz1).scopemask = -1; > if (rtnl_rtscope_a2n(&scope, *argv)) { > if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (*argv) && __builtin_constant_p ("all") && (__s1_len = strlen (*argv), __s2_len = strlen ("all"), (!((size_t)(const void *)((*argv) + 1) - (size_t)(const void *)(*argv) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("all") + 1) - (size_t)(const void *)("all") == 1) || __s2_len >= 4)) ? __builtin_strcmp (*argv, "all") : (__builtin_constant_p (*argv) && ((size_t)(const void *)((*argv) + 1) - (size_t)(const void *)(*argv) == 1) && (__s1_len = strlen (*argv), __s1_len < 4) ? (__builtin_constant_p ("all") && ((size_t)(const void *)(("all") + 1) - (size_t)(const void *)("all") == 1) ? __builtin_strcmp (*argv, "all") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("all"); int __result = (((const unsigned char *) (const char *) (*argv))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (*argv))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (*argv))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (*argv))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("all") && ((size_t)(const void *)(("all") + 1) - (size_t)(const void *)("all") == 1) && (__s2_len = strlen ("all"), __s2_len < 4) ? (__builtin_constant_p (*argv) && ((size_t)(const void *)((*argv) + 1) - (size_t)(const void *)(*argv) == 1) ? __builtin_strcmp (*argv, "all") : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (*argv); int __result = (((const unsigned char *) (const char *) ("all"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("all"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("all"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("all"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (*argv, "all")))); }) != 0) { > invarg(*argv, "scope"); > } > scope = RT_SCOPE_NOWHERE; > (*(filter_t*)&bb_common_bufsiz1).scopemask = 0; > } > (*(filter_t*)&bb_common_bufsiz1).scope = scope; > } else if (key == 2) { > (*(filter_t*)&bb_common_bufsiz1).up = 1; > } else if (key == 3) { > do { if (!*++argv) incomplete_command(); } while (0); > (*(filter_t*)&bb_common_bufsiz1).label = *argv; > } else { > if (key == 4) > do { if (!*++argv) incomplete_command(); } while (0); > if (filter_dev) > duparg2("dev", *argv); > filter_dev = *argv; > } > argv++; > } > > xrtnl_open(&rth); > > xrtnl_wilddump_request(&rth, preferred_family, RTM_GETLINK); > xrtnl_dump_filter(&rth, store_nlmsg, &linfo); > > if (filter_dev) { > (*(filter_t*)&bb_common_bufsiz1).ifindex = xll_name_to_index(filter_dev); > } > > if (flush) { > char flushb[4096-512]; > > (*(filter_t*)&bb_common_bufsiz1).flushb = flushb; > (*(filter_t*)&bb_common_bufsiz1).flushp = 0; > (*(filter_t*)&bb_common_bufsiz1).flushe = sizeof(flushb); > (*(filter_t*)&bb_common_bufsiz1).rth = &rth; > > for (;;) { > xrtnl_wilddump_request(&rth, (*(filter_t*)&bb_common_bufsiz1).family, RTM_GETADDR); > (*(filter_t*)&bb_common_bufsiz1).flushed = 0; > xrtnl_dump_filter(&rth, print_addrinfo, ((void *)0)); > if ((*(filter_t*)&bb_common_bufsiz1).flushed == 0) { > return 0; > } > if (flush_update() < 0) { > return 1; > } > } > } > > if ((*(filter_t*)&bb_common_bufsiz1).family != 17) { > xrtnl_wilddump_request(&rth, (*(filter_t*)&bb_common_bufsiz1).family, RTM_GETADDR); > xrtnl_dump_filter(&rth, store_nlmsg, &ainfo); > } > > > if ((*(filter_t*)&bb_common_bufsiz1).family && (*(filter_t*)&bb_common_bufsiz1).family != 17) { > struct nlmsg_list **lp; > lp = &linfo; > > if ((*(filter_t*)&bb_common_bufsiz1).oneline) > no_link = 1; > > while ((l = *lp) != ((void *)0)) { > int ok = 0; > struct ifinfomsg *ifi = ((void*)(((char*)&l->h) + ((0) + ((int) ( ((sizeof(struct nlmsghdr))+4U -1) & ~(4U -1) ))))); > struct nlmsg_list *a; > > for (a = ainfo; a; a = a->next) { > struct nlmsghdr *n = &a->h; > struct ifaddrmsg *ifa = ((void*)(((char*)n) + ((0) + ((int) ( ((sizeof(struct nlmsghdr))+4U -1) & ~(4U -1) ))))); > > if (ifa->ifa_index != ifi->ifi_index > || ((*(filter_t*)&bb_common_bufsiz1).family && (*(filter_t*)&bb_common_bufsiz1).family != ifa->ifa_family) > ) { > continue; > } > if (((*(filter_t*)&bb_common_bufsiz1).scope ^ ifa->ifa_scope) & (*(filter_t*)&bb_common_bufsiz1).scopemask) > continue; > if (((*(filter_t*)&bb_common_bufsiz1).flags ^ ifa->ifa_flags) & (*(filter_t*)&bb_common_bufsiz1).flagmask) > continue; > if ((*(filter_t*)&bb_common_bufsiz1).pfx.family || (*(filter_t*)&bb_common_bufsiz1).label) { > struct rtattr *tb[(__IFA_MAX - 1)+1]; > memset(tb, 0, sizeof(tb)); > parse_rtattr(tb, (__IFA_MAX - 1), ((struct rtattr*)(((char*)(ifa)) + ( ((sizeof(struct ifaddrmsg))+4U -1) & ~(4U -1) ))), ((n)->nlmsg_len - ( (((((sizeof(struct ifaddrmsg))) + ((int) ( ((sizeof(struct nlmsghdr))+4U -1) & ~(4U -1) ))))+4U -1) & ~(4U -1) ))); > if (!tb[IFA_LOCAL]) > tb[IFA_LOCAL] = tb[IFA_ADDRESS]; > > if ((*(filter_t*)&bb_common_bufsiz1).pfx.family && tb[IFA_LOCAL]) { > inet_prefix dst; > memset(&dst, 0, sizeof(dst)); > dst.family = ifa->ifa_family; > memcpy(&dst.data, ((void*)(((char*)(tb[IFA_LOCAL])) + (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0)))), ((int)((tb[IFA_LOCAL])->rta_len) - (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0)))); > if (inet_addr_match(&dst, &(*(filter_t*)&bb_common_bufsiz1).pfx, (*(filter_t*)&bb_common_bufsiz1).pfx.bitlen)) > continue; > } > if ((*(filter_t*)&bb_common_bufsiz1).label) { > char b1[64]; > const char *label; > if (tb[IFA_LABEL]) > label = ((void*)(((char*)(tb[IFA_LABEL])) + (( ((sizeof(struct rtattr))+4 -1) & ~(4 -1) ) + (0)))); > else > label = ll_idx_n2a(ifa->ifa_index, b1); > if (fnmatch((*(filter_t*)&bb_common_bufsiz1).label, label, 0) != 0) > continue; > } > } > > ok = 1; > break; > } > if (!ok) > *lp = l->next; > else > lp = &l->next; > } > } > > for (l = linfo; l; l = l->next) { > if (no_link || print_linkinfo(&l->h) == 0) { > struct ifinfomsg *ifi = ((void*)(((char*)&l->h) + ((0) + ((int) ( ((sizeof(struct nlmsghdr))+4U -1) & ~(4U -1) ))))); > if ((*(filter_t*)&bb_common_bufsiz1).family != 17) > print_selected_addrinfo(ifi->ifi_index, ainfo); > } > } > > return 0; >} > >static int default_scope(inet_prefix *lcl) >{ > if (lcl->family == 2) { > if (lcl->bytelen >= 1 && *(uint8_t*)&lcl->data == 127) > return RT_SCOPE_HOST; > } > return 0; >} > > >static int ipaddr_modify(int cmd, char **argv) >{ > static const char option[] __attribute__((aligned(1))) = > "peer\0""remote\0""broadcast\0""brd\0" > "anycast\0""scope\0""dev\0""label\0""local\0"; > struct rtnl_handle rth; > struct { > struct nlmsghdr n; > struct ifaddrmsg ifa; > char buf[256]; > } req; > char *d = ((void *)0); > char *l = ((void *)0); > inet_prefix lcl; > inet_prefix peer; > int local_len = 0; > int peer_len = 0; > int brd_len = 0; > int any_len = 0; > _Bool scoped = 0; > > memset(&req, 0, sizeof(req)); > > req.n.nlmsg_len = ((sizeof(struct ifaddrmsg)) + ((int) ( ((sizeof(struct nlmsghdr))+4U -1) & ~(4U -1) ))); > req.n.nlmsg_flags = 1; > req.n.nlmsg_type = cmd; > req.ifa.ifa_family = preferred_family; > > while (*argv) { > const smalluint arg = index_in_strings(option, *argv); > if (arg <= 1) { > do { if (!*++argv) incomplete_command(); } while (0); > > if (peer_len) { > duparg("peer", *argv); > } > get_prefix(&peer, *argv, req.ifa.ifa_family); > peer_len = peer.bytelen; > if (req.ifa.ifa_family == 0) { > req.ifa.ifa_family = peer.family; > } > addattr_l(&req.n, sizeof(req), IFA_ADDRESS, &peer.data, peer.bytelen); > req.ifa.ifa_prefixlen = peer.bitlen; > } else if (arg <= 3) { > inet_prefix addr; > do { if (!*++argv) incomplete_command(); } while (0); > if (brd_len) { > duparg("broadcast", *argv); > } > if (((*argv)[0] == ('+') && !(*argv)[1])) { > brd_len = -1; > } else if (((*argv)[0] == '-' && !(*argv)[1])) { > brd_len = -2; > } else { > get_addr(&addr, *argv, req.ifa.ifa_family); > if (req.ifa.ifa_family == 0) > req.ifa.ifa_family = addr.family; > addattr_l(&req.n, sizeof(req), IFA_BROADCAST, &addr.data, addr.bytelen); > brd_len = addr.bytelen; > } > } else if (arg == 4) { > inet_prefix addr; > do { if (!*++argv) incomplete_command(); } while (0); > if (any_len) { > duparg("anycast", *argv); > } > get_addr(&addr, *argv, req.ifa.ifa_family); > if (req.ifa.ifa_family == 0) { > req.ifa.ifa_family = addr.family; > } > addattr_l(&req.n, sizeof(req), IFA_ANYCAST, &addr.data, addr.bytelen); > any_len = addr.bytelen; > } else if (arg == 5) { > uint32_t scope = 0; > do { if (!*++argv) incomplete_command(); } while (0); > if (rtnl_rtscope_a2n(&scope, *argv)) { > invarg(*argv, "scope"); > } > req.ifa.ifa_scope = scope; > scoped = 1; > } else if (arg == 6) { > do { if (!*++argv) incomplete_command(); } while (0); > d = *argv; > } else if (arg == 7) { > do { if (!*++argv) incomplete_command(); } while (0); > l = *argv; > addattr_l(&req.n, sizeof(req), IFA_LABEL, l, strlen(l) + 1); > } else { > if (arg == 8) > do { if (!*++argv) incomplete_command(); } while (0); > if (local_len) { > duparg2("local", *argv); > } > get_prefix(&lcl, *argv, req.ifa.ifa_family); > if (req.ifa.ifa_family == 0) { > req.ifa.ifa_family = lcl.family; > } > addattr_l(&req.n, sizeof(req), IFA_LOCAL, &lcl.data, lcl.bytelen); > local_len = lcl.bytelen; > } > argv++; > } > > if (!d) { > > bb_error_msg_and_die("need \"dev IFACE\""); > } > if (l && (__extension__ (__builtin_constant_p (strlen(d)) && ((__builtin_constant_p (d) && strlen (d) < ((size_t) (strlen(d)))) || (__builtin_constant_p (l) && strlen (l) < ((size_t) (strlen(d))))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (d) && __builtin_constant_p (l) && (__s1_len = strlen (d), __s2_len = strlen (l), (!((size_t)(const void *)((d) + 1) - (size_t)(const void *)(d) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((l) + 1) - (size_t)(const void *)(l) == 1) || __s2_len >= 4)) ? __builtin_strcmp (d, l) : (__builtin_constant_p (d) && ((size_t)(const void *)((d) + 1) - (size_t)(const void *)(d) == 1) && (__s1_len = strlen (d), __s1_len < 4) ? (__builtin_constant_p (l) && ((size_t)(const void *)((l) + 1) - (size_t)(const void *)(l) == 1) ? __builtin_strcmp (d, l) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (l); int __result = (((const unsigned char *) (const char *) (d))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (d))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (d))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (d))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (l) && ((size_t)(const void *)((l) + 1) - (size_t)(const void *)(l) == 1) && (__s2_len = strlen (l), __s2_len < 4) ? (__builtin_constant_p (d) && ((size_t)(const void *)((d) + 1) - (size_t)(const void *)(d) == 1) ? __builtin_strcmp (d, l) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (d); int __result = (((const unsigned char *) (const char *) (l))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (l))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (l))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (l))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (d, l)))); }) : strncmp (d, l, strlen(d)))) != 0) { > bb_error_msg_and_die("\"dev\" (%s) must match \"label\" (%s)", d, l); > } > > if (peer_len == 0 && local_len && cmd != RTM_DELADDR) { > peer = lcl; > addattr_l(&req.n, sizeof(req), IFA_ADDRESS, &lcl.data, lcl.bytelen); > } > if (req.ifa.ifa_prefixlen == 0) > req.ifa.ifa_prefixlen = lcl.bitlen; > > if (brd_len < 0 && cmd != RTM_DELADDR) { > inet_prefix brd; > int i; > if (req.ifa.ifa_family != 2) { > bb_error_msg_and_die("broadcast can be set only for IPv4 addresses"); > } > brd = peer; > if (brd.bitlen <= 30) { > for (i=31; i>=brd.bitlen; i--) { > if (brd_len == -1) > brd.data[0] |= __bswap_32 (1<<(31-i)); > else > brd.data[0] &= ~__bswap_32 (1<<(31-i)); > } > addattr_l(&req.n, sizeof(req), IFA_BROADCAST, &brd.data, brd.bytelen); > brd_len = brd.bytelen; > } > } > if (!scoped && cmd != RTM_DELADDR) > req.ifa.ifa_scope = default_scope(&lcl); > > xrtnl_open(&rth); > > ll_init_map(&rth); > > req.ifa.ifa_index = xll_name_to_index(d); > > if (rtnl_talk(&rth, &req.n, ((void *)0)) < 0) > return 2; > > return 0; >} > > >int do_ipaddr(char **argv) >{ > static const char commands[] __attribute__((aligned(1))) = > "add\0""delete\0""list\0""show\0""lst\0""flush\0"; > smalluint cmd = 2; > if (*argv) { > cmd = index_in_substrings(commands, *argv); > if (cmd > 5) > bb_error_msg_and_die(bb_msg_invalid_arg, *argv, applet_name); > argv++; > if (cmd <= 1) > return ipaddr_modify((cmd == 0) ? RTM_NEWADDR : RTM_DELADDR, argv); > } > > return ipaddr_list_or_flush(argv, cmd == 5); >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 529496
:
389488
|
389490
|
389492
|
389494
|
389498
|
389500
|
389502
|
389504
| 389658