// /usr/libexec/gcc/armeb-softfloat-linux-uclibc/3.4.6/cc1 -quiet -I/usr/include -Iinclude/ -D__ARM_ARCH_3__ -DIPTABLES_VERSION="1.3.7" extensions/libipt_connlimit.c -quiet -dumpbase libipt_connlimit.c -msoft-float -auxbase-strip extensions/libipt_connlimit_sh.o -Os -Wall -Wunused -fPIC -o - -frandom-seed=0 # 1 "extensions/libipt_connlimit.c" # 1 "" # 1 "" # 1 "extensions/libipt_connlimit.c" # 1 "/usr/include/stdio.h" 1 # 28 "/usr/include/stdio.h" # 1 "/usr/include/features.h" 1 # 323 "/usr/include/features.h" # 1 "/usr/include/sys/cdefs.h" 1 # 313 "/usr/include/sys/cdefs.h" # 1 "/usr/include/bits/wordsize.h" 1 # 314 "/usr/include/sys/cdefs.h" 2 # 324 "/usr/include/features.h" 2 # 346 "/usr/include/features.h" # 1 "/usr/include/gnu/stubs.h" 1 # 1 "/usr/include/bits/wordsize.h" 1 # 5 "/usr/include/gnu/stubs.h" 2 # 1 "/usr/include/gnu/stubs-32.h" 1 # 8 "/usr/include/gnu/stubs.h" 2 # 347 "/usr/include/features.h" 2 # 29 "/usr/include/stdio.h" 2 # 1 "/usr/lib/gcc/armeb-softfloat-linux-uclibc/3.4.6/include/stddef.h" 1 3 4 # 213 "/usr/lib/gcc/armeb-softfloat-linux-uclibc/3.4.6/include/stddef.h" 3 4 typedef unsigned int size_t; # 35 "/usr/include/stdio.h" 2 # 1 "/usr/include/bits/types.h" 1 # 28 "/usr/include/bits/types.h" # 1 "/usr/include/bits/wordsize.h" 1 # 29 "/usr/include/bits/types.h" 2 # 1 "/usr/lib/gcc/armeb-softfloat-linux-uclibc/3.4.6/include/stddef.h" 1 3 4 # 32 "/usr/include/bits/types.h" 2 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; # 134 "/usr/include/bits/types.h" # 1 "/usr/include/bits/typesizes.h" 1 # 135 "/usr/include/bits/types.h" 2 __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 long int __swblk_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 __ssize_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; # 37 "/usr/include/stdio.h" 2 typedef struct _IO_FILE FILE; # 62 "/usr/include/stdio.h" typedef struct _IO_FILE __FILE; # 72 "/usr/include/stdio.h" # 1 "/usr/include/libio.h" 1 # 32 "/usr/include/libio.h" # 1 "/usr/include/_G_config.h" 1 # 14 "/usr/include/_G_config.h" # 1 "/usr/lib/gcc/armeb-softfloat-linux-uclibc/3.4.6/include/stddef.h" 1 3 4 # 325 "/usr/lib/gcc/armeb-softfloat-linux-uclibc/3.4.6/include/stddef.h" 3 4 typedef long int wchar_t; # 354 "/usr/lib/gcc/armeb-softfloat-linux-uclibc/3.4.6/include/stddef.h" 3 4 typedef unsigned int wint_t; # 15 "/usr/include/_G_config.h" 2 # 24 "/usr/include/_G_config.h" # 1 "/usr/include/wchar.h" 1 # 48 "/usr/include/wchar.h" # 1 "/usr/lib/gcc/armeb-softfloat-linux-uclibc/3.4.6/include/stddef.h" 1 3 4 # 49 "/usr/include/wchar.h" 2 # 1 "/usr/include/bits/wchar.h" 1 # 51 "/usr/include/wchar.h" 2 # 76 "/usr/include/wchar.h" typedef struct { int __count; union { wint_t __wch; char __wchb[4]; } __value; } __mbstate_t; # 25 "/usr/include/_G_config.h" 2 typedef struct { __off_t __pos; __mbstate_t __state; } _G_fpos_t; typedef struct { __off64_t __pos; __mbstate_t __state; } _G_fpos64_t; # 44 "/usr/include/_G_config.h" # 1 "/usr/include/gconv.h" 1 # 28 "/usr/include/gconv.h" # 1 "/usr/include/wchar.h" 1 # 48 "/usr/include/wchar.h" # 1 "/usr/lib/gcc/armeb-softfloat-linux-uclibc/3.4.6/include/stddef.h" 1 3 4 # 49 "/usr/include/wchar.h" 2 # 29 "/usr/include/gconv.h" 2 # 1 "/usr/lib/gcc/armeb-softfloat-linux-uclibc/3.4.6/include/stddef.h" 1 3 4 # 32 "/usr/include/gconv.h" 2 enum { __GCONV_OK = 0, __GCONV_NOCONV, __GCONV_NODB, __GCONV_NOMEM, __GCONV_EMPTY_INPUT, __GCONV_FULL_OUTPUT, __GCONV_ILLEGAL_INPUT, __GCONV_INCOMPLETE_INPUT, __GCONV_ILLEGAL_DESCRIPTOR, __GCONV_INTERNAL_ERROR }; enum { __GCONV_IS_LAST = 0x0001, __GCONV_IGNORE_ERRORS = 0x0002 }; struct __gconv_step; struct __gconv_step_data; struct __gconv_loaded_object; struct __gconv_trans_data; typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *, int, int); typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char); typedef int (*__gconv_init_fct) (struct __gconv_step *); typedef void (*__gconv_end_fct) (struct __gconv_step *); typedef int (*__gconv_trans_fct) (struct __gconv_step *, struct __gconv_step_data *, void *, __const unsigned char *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *); typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *, __const unsigned char *, unsigned char *, unsigned char *); typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***, size_t *); typedef int (*__gconv_trans_init_fct) (void **, const char *); typedef void (*__gconv_trans_end_fct) (void *); struct __gconv_trans_data { __gconv_trans_fct __trans_fct; __gconv_trans_context_fct __trans_context_fct; __gconv_trans_end_fct __trans_end_fct; void *__data; struct __gconv_trans_data *__next; }; struct __gconv_step { struct __gconv_loaded_object *__shlib_handle; __const char *__modname; int __counter; char *__from_name; char *__to_name; __gconv_fct __fct; __gconv_btowc_fct __btowc_fct; __gconv_init_fct __init_fct; __gconv_end_fct __end_fct; int __min_needed_from; int __max_needed_from; int __min_needed_to; int __max_needed_to; int __stateful; void *__data; }; struct __gconv_step_data { unsigned char *__outbuf; unsigned char *__outbufend; int __flags; int __invocation_counter; int __internal_use; __mbstate_t *__statep; __mbstate_t __state; struct __gconv_trans_data *__trans; }; typedef struct __gconv_info { size_t __nsteps; struct __gconv_step *__steps; __extension__ struct __gconv_step_data __data []; } *__gconv_t; # 45 "/usr/include/_G_config.h" 2 typedef union { struct __gconv_info __cd; struct { struct __gconv_info __cd; struct __gconv_step_data __data; } __combined; } _G_iconv_t; typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); # 33 "/usr/include/libio.h" 2 # 53 "/usr/include/libio.h" # 1 "/usr/lib/gcc/armeb-softfloat-linux-uclibc/3.4.6/include/stdarg.h" 1 3 4 # 43 "/usr/lib/gcc/armeb-softfloat-linux-uclibc/3.4.6/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 54 "/usr/include/libio.h" 2 # 166 "/usr/include/libio.h" struct _IO_jump_t; struct _IO_FILE; # 176 "/usr/include/libio.h" typedef void _IO_lock_t; struct _IO_marker { struct _IO_marker *_next; struct _IO_FILE *_sbuf; int _pos; # 199 "/usr/include/libio.h" }; enum __codecvt_result { __codecvt_ok, __codecvt_partial, __codecvt_error, __codecvt_noconv }; # 267 "/usr/include/libio.h" 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; # 315 "/usr/include/libio.h" __off64_t _offset; # 324 "/usr/include/libio.h" 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_; # 360 "/usr/include/libio.h" 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); # 412 "/usr/include/libio.h" extern int __underflow (_IO_FILE *) __attribute__ ((__nothrow__)); extern int __uflow (_IO_FILE *) __attribute__ ((__nothrow__)); extern int __overflow (_IO_FILE *, int) __attribute__ ((__nothrow__)); extern wint_t __wunderflow (_IO_FILE *) __attribute__ ((__nothrow__)); extern wint_t __wuflow (_IO_FILE *) __attribute__ ((__nothrow__)); extern wint_t __woverflow (_IO_FILE *, wint_t) __attribute__ ((__nothrow__)); # 450 "/usr/include/libio.h" extern int _IO_getc (_IO_FILE *__fp) __attribute__ ((__nothrow__)); extern int _IO_putc (int __c, _IO_FILE *__fp) __attribute__ ((__nothrow__)); extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__)); extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__)); extern int _IO_peekc_locked (_IO_FILE *__fp) __attribute__ ((__nothrow__)); extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__)); extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__)); extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__)); # 480 "/usr/include/libio.h" 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) __attribute__ ((__nothrow__)); extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) __attribute__ ((__nothrow__)); extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) __attribute__ ((__nothrow__)); extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) __attribute__ ((__nothrow__)); extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__)); # 73 "/usr/include/stdio.h" 2 # 86 "/usr/include/stdio.h" typedef _G_fpos_t fpos_t; # 138 "/usr/include/stdio.h" # 1 "/usr/include/bits/stdio_lim.h" 1 # 139 "/usr/include/stdio.h" 2 extern struct _IO_FILE *stdin; extern struct _IO_FILE *stdout; extern struct _IO_FILE *stderr; extern int remove (__const char *__filename) __attribute__ ((__nothrow__)); extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__)); extern FILE *tmpfile (void); # 183 "/usr/include/stdio.h" extern char *tmpnam (char *__s) __attribute__ ((__nothrow__)); extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__)); # 201 "/usr/include/stdio.h" extern char *tempnam (__const char *__dir, __const char *__pfx) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)); extern int fclose (FILE *__stream); extern int fflush (FILE *__stream); # 226 "/usr/include/stdio.h" extern int fflush_unlocked (FILE *__stream); # 240 "/usr/include/stdio.h" extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes); extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream); # 267 "/usr/include/stdio.h" # 278 "/usr/include/stdio.h" extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__)); # 298 "/usr/include/stdio.h" extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__)); extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) __attribute__ ((__nothrow__)); extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) __attribute__ ((__nothrow__)); extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__)); 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))); # 392 "/usr/include/stdio.h" extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...) ; extern int scanf (__const char *__restrict __format, ...) ; extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); # 434 "/usr/include/stdio.h" extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); # 458 "/usr/include/stdio.h" extern int getc_unlocked (FILE *__stream); extern int getchar_unlocked (void); # 469 "/usr/include/stdio.h" 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); # 502 "/usr/include/stdio.h" 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) ; extern char *gets (char *__s) ; # 583 "/usr/include/stdio.h" 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) ; extern size_t fwrite (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s) ; # 636 "/usr/include/stdio.h" extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; 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) ; extern void rewind (FILE *__stream); # 672 "/usr/include/stdio.h" extern int fseeko (FILE *__stream, __off_t __off, int __whence); extern __off_t ftello (FILE *__stream) ; # 691 "/usr/include/stdio.h" extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); extern int fsetpos (FILE *__stream, __const fpos_t *__pos); # 714 "/usr/include/stdio.h" # 723 "/usr/include/stdio.h" extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__)); extern int feof (FILE *__stream) __attribute__ ((__nothrow__)) ; extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)) ; extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__)); extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; extern void perror (__const char *__s); # 1 "/usr/include/bits/sys_errlist.h" 1 # 27 "/usr/include/bits/sys_errlist.h" extern int sys_nerr; extern __const char *__const sys_errlist[]; # 753 "/usr/include/stdio.h" 2 extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) ; extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; # 772 "/usr/include/stdio.h" extern FILE *popen (__const char *__command, __const char *__modes) ; extern int pclose (FILE *__stream); extern char *ctermid (char *__s) __attribute__ ((__nothrow__)); # 812 "/usr/include/stdio.h" extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__)); extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) ; extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__)); # 842 "/usr/include/stdio.h" # 3 "extensions/libipt_connlimit.c" 2 # 1 "/usr/include/netdb.h" 1 # 28 "/usr/include/netdb.h" # 1 "/usr/include/netinet/in.h" 1 # 23 "/usr/include/netinet/in.h" # 1 "/usr/include/stdint.h" 1 # 28 "/usr/include/stdint.h" # 1 "/usr/include/bits/wordsize.h" 1 # 29 "/usr/include/stdint.h" 2 # 37 "/usr/include/stdint.h" typedef signed char int8_t; typedef short int int16_t; typedef int int32_t; __extension__ typedef long long int int64_t; 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; # 126 "/usr/include/stdint.h" typedef int intptr_t; typedef unsigned int uintptr_t; # 138 "/usr/include/stdint.h" __extension__ typedef long long int intmax_t; __extension__ typedef unsigned long long int uintmax_t; # 24 "/usr/include/netinet/in.h" 2 # 1 "/usr/include/sys/socket.h" 1 # 25 "/usr/include/sys/socket.h" # 1 "/usr/include/sys/uio.h" 1 # 24 "/usr/include/sys/uio.h" # 1 "/usr/include/sys/types.h" 1 # 29 "/usr/include/sys/types.h" 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 __ino_t ino_t; # 62 "/usr/include/sys/types.h" 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 __off_t off_t; # 100 "/usr/include/sys/types.h" 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; # 133 "/usr/include/sys/types.h" # 1 "/usr/include/time.h" 1 # 75 "/usr/include/time.h" typedef __time_t time_t; # 93 "/usr/include/time.h" typedef __clockid_t clockid_t; # 105 "/usr/include/time.h" typedef __timer_t timer_t; # 134 "/usr/include/sys/types.h" 2 # 147 "/usr/include/sys/types.h" # 1 "/usr/lib/gcc/armeb-softfloat-linux-uclibc/3.4.6/include/stddef.h" 1 3 4 # 148 "/usr/include/sys/types.h" 2 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 201 "/usr/include/sys/types.h" 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__))); # 217 "/usr/include/sys/types.h" # 1 "/usr/include/endian.h" 1 # 37 "/usr/include/endian.h" # 1 "/usr/include/bits/endian.h" 1 # 38 "/usr/include/endian.h" 2 # 218 "/usr/include/sys/types.h" 2 # 1 "/usr/include/sys/select.h" 1 # 31 "/usr/include/sys/select.h" # 1 "/usr/include/bits/select.h" 1 # 32 "/usr/include/sys/select.h" 2 # 1 "/usr/include/bits/sigset.h" 1 # 23 "/usr/include/bits/sigset.h" typedef int __sig_atomic_t; typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 35 "/usr/include/sys/select.h" 2 typedef __sigset_t sigset_t; # 1 "/usr/include/time.h" 1 # 121 "/usr/include/time.h" struct timespec { __time_t tv_sec; long int tv_nsec; }; # 45 "/usr/include/sys/select.h" 2 # 1 "/usr/include/bits/time.h" 1 # 69 "/usr/include/bits/time.h" struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 47 "/usr/include/sys/select.h" 2 typedef __suseconds_t suseconds_t; typedef long int __fd_mask; # 67 "/usr/include/sys/select.h" typedef struct { __fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask))]; } fd_set; typedef __fd_mask fd_mask; # 99 "/usr/include/sys/select.h" # 109 "/usr/include/sys/select.h" extern int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout); # 121 "/usr/include/sys/select.h" 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); # 221 "/usr/include/sys/types.h" 2 # 1 "/usr/include/sys/sysmacros.h" 1 # 29 "/usr/include/sys/sysmacros.h" __extension__ extern __inline unsigned int gnu_dev_major (unsigned long long int __dev) __attribute__ ((__nothrow__)); __extension__ extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev) __attribute__ ((__nothrow__)); __extension__ extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) __attribute__ ((__nothrow__)); __extension__ extern __inline unsigned int __attribute__ ((__nothrow__)) gnu_dev_major (unsigned long long int __dev) { return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); } __extension__ extern __inline unsigned int __attribute__ ((__nothrow__)) gnu_dev_minor (unsigned long long int __dev) { return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); } __extension__ extern __inline unsigned long long int __attribute__ ((__nothrow__)) 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)); } # 224 "/usr/include/sys/types.h" 2 # 235 "/usr/include/sys/types.h" typedef __blkcnt_t blkcnt_t; typedef __fsblkcnt_t fsblkcnt_t; typedef __fsfilcnt_t fsfilcnt_t; # 270 "/usr/include/sys/types.h" # 1 "/usr/include/bits/pthreadtypes.h" 1 # 36 "/usr/include/bits/pthreadtypes.h" typedef unsigned long int pthread_t; typedef union { char __size[36]; long int __align; } 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; unsigned int __flags; 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 # 25 "/usr/include/sys/uio.h" 2 # 1 "/usr/include/bits/uio.h" 1 # 44 "/usr/include/bits/uio.h" struct iovec { void *iov_base; size_t iov_len; }; # 30 "/usr/include/sys/uio.h" 2 # 40 "/usr/include/sys/uio.h" extern ssize_t readv (int __fd, __const struct iovec *__iovec, int __count); # 50 "/usr/include/sys/uio.h" extern ssize_t writev (int __fd, __const struct iovec *__iovec, int __count); # 28 "/usr/include/sys/socket.h" 2 # 1 "/usr/lib/gcc/armeb-softfloat-linux-uclibc/3.4.6/include/stddef.h" 1 3 4 # 30 "/usr/include/sys/socket.h" 2 # 1 "/usr/include/bits/socket.h" 1 # 29 "/usr/include/bits/socket.h" # 1 "/usr/lib/gcc/armeb-softfloat-linux-uclibc/3.4.6/include/stddef.h" 1 3 4 # 30 "/usr/include/bits/socket.h" 2 # 1 "/usr/include/limits.h" 1 # 125 "/usr/include/limits.h" # 1 "/usr/lib/gcc/armeb-softfloat-linux-uclibc/3.4.6/include/limits.h" 1 3 4 # 126 "/usr/include/limits.h" 2 # 145 "/usr/include/limits.h" # 1 "/usr/include/bits/posix1_lim.h" 1 # 153 "/usr/include/bits/posix1_lim.h" # 1 "/usr/include/bits/local_lim.h" 1 # 36 "/usr/include/bits/local_lim.h" # 1 "/usr/include/linux/limits.h" 1 # 37 "/usr/include/bits/local_lim.h" 2 # 154 "/usr/include/bits/posix1_lim.h" 2 # 146 "/usr/include/limits.h" 2 # 1 "/usr/include/bits/posix2_lim.h" 1 # 150 "/usr/include/limits.h" 2 # 32 "/usr/include/bits/socket.h" 2 typedef __socklen_t socklen_t; enum __socket_type { SOCK_STREAM = 1, SOCK_DGRAM = 2, SOCK_RAW = 3, SOCK_RDM = 4, SOCK_SEQPACKET = 5, SOCK_PACKET = 10 }; # 142 "/usr/include/bits/socket.h" # 1 "/usr/include/bits/sockaddr.h" 1 # 29 "/usr/include/bits/sockaddr.h" typedef unsigned short int sa_family_t; # 143 "/usr/include/bits/socket.h" 2 struct sockaddr { sa_family_t sa_family; char sa_data[14]; }; # 162 "/usr/include/bits/socket.h" struct sockaddr_storage { sa_family_t ss_family; __uint32_t __ss_align; char __ss_padding[(128 - (2 * sizeof (__uint32_t)))]; }; enum { MSG_OOB = 0x01, MSG_PEEK = 0x02, MSG_DONTROUTE = 0x04, 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 }; 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 []; }; # 263 "/usr/include/bits/socket.h" extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg) __attribute__ ((__nothrow__)); # 290 "/usr/include/bits/socket.h" enum { SCM_RIGHTS = 0x01 , SCM_CREDENTIALS = 0x02 }; struct ucred { pid_t pid; uid_t uid; gid_t gid; }; # 1 "/usr/include/asm/socket.h" 1 # 1 "/usr/include/asm/sockios.h" 1 # 5 "/usr/include/asm/socket.h" 2 # 311 "/usr/include/bits/socket.h" 2 struct linger { int l_onoff; int l_linger; }; # 36 "/usr/include/sys/socket.h" 2 struct osockaddr { unsigned short int sa_family; unsigned char sa_data[14]; }; enum { SHUT_RD = 0, SHUT_WR, SHUT_RDWR }; # 100 "/usr/include/sys/socket.h" extern int socket (int __domain, int __type, int __protocol) __attribute__ ((__nothrow__)); extern int socketpair (int __domain, int __type, int __protocol, int __fds[2]) __attribute__ ((__nothrow__)); extern int bind (int __fd, __const struct sockaddr * __addr, socklen_t __len) __attribute__ ((__nothrow__)); extern int getsockname (int __fd, struct sockaddr *__restrict __addr, socklen_t *__restrict __len) __attribute__ ((__nothrow__)); # 124 "/usr/include/sys/socket.h" extern int connect (int __fd, __const struct sockaddr * __addr, socklen_t __len); extern int getpeername (int __fd, struct sockaddr *__restrict __addr, socklen_t *__restrict __len) __attribute__ ((__nothrow__)); 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 struct sockaddr * __addr, socklen_t __addr_len); # 161 "/usr/include/sys/socket.h" extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n, int __flags, struct sockaddr *__restrict __addr, socklen_t *__restrict __addr_len); extern ssize_t sendmsg (int __fd, __const struct msghdr *__message, int __flags); extern ssize_t recvmsg (int __fd, struct msghdr *__message, int __flags); extern int getsockopt (int __fd, int __level, int __optname, void *__restrict __optval, socklen_t *__restrict __optlen) __attribute__ ((__nothrow__)); extern int setsockopt (int __fd, int __level, int __optname, __const void *__optval, socklen_t __optlen) __attribute__ ((__nothrow__)); extern int listen (int __fd, int __n) __attribute__ ((__nothrow__)); # 209 "/usr/include/sys/socket.h" extern int accept (int __fd, struct sockaddr *__restrict __addr, socklen_t *__restrict __addr_len); extern int shutdown (int __fd, int __how) __attribute__ ((__nothrow__)); extern int sockatmark (int __fd) __attribute__ ((__nothrow__)); extern int isfdtype (int __fd, int __fdtype) __attribute__ ((__nothrow__)); # 240 "/usr/include/sys/socket.h" # 25 "/usr/include/netinet/in.h" 2 enum { IPPROTO_IP = 0, IPPROTO_HOPOPTS = 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_IPV6 = 41, IPPROTO_ROUTING = 43, IPPROTO_FRAGMENT = 44, IPPROTO_RSVP = 46, IPPROTO_GRE = 47, IPPROTO_ESP = 50, IPPROTO_AH = 51, IPPROTO_ICMPV6 = 58, IPPROTO_NONE = 59, IPPROTO_DSTOPTS = 60, IPPROTO_MTP = 92, IPPROTO_ENCAP = 98, IPPROTO_PIM = 103, IPPROTO_COMP = 108, IPPROTO_SCTP = 132, IPPROTO_RAW = 255, IPPROTO_MAX }; 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 }; typedef uint32_t in_addr_t; struct in_addr { in_addr_t s_addr; }; # 193 "/usr/include/netinet/in.h" 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; # 219 "/usr/include/netinet/in.h" 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]; }; # 345 "/usr/include/netinet/in.h" # 1 "/usr/include/bits/in.h" 1 # 82 "/usr/include/bits/in.h" 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; }; # 346 "/usr/include/netinet/in.h" 2 # 354 "/usr/include/netinet/in.h" extern uint32_t ntohl (uint32_t __netlong) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern uint16_t ntohs (uint16_t __netshort) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern uint32_t htonl (uint32_t __hostlong) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern uint16_t htons (uint16_t __hostshort) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); # 1 "/usr/include/bits/byteswap.h" 1 # 366 "/usr/include/netinet/in.h" 2 # 428 "/usr/include/netinet/in.h" extern int bindresvport (int __sockfd, struct sockaddr_in *__sock_in) __attribute__ ((__nothrow__)); extern int bindresvport6 (int __sockfd, struct sockaddr_in6 *__sock_in) __attribute__ ((__nothrow__)); # 456 "/usr/include/netinet/in.h" struct in6_pktinfo { struct in6_addr ipi6_addr; unsigned int ipi6_ifindex; }; struct ip6_mtuinfo { struct sockaddr_in6 ip6m_addr; uint32_t ip6m_mtu; }; # 551 "/usr/include/netinet/in.h" # 29 "/usr/include/netdb.h" 2 # 1 "/usr/include/rpc/netdb.h" 1 # 42 "/usr/include/rpc/netdb.h" # 1 "/usr/lib/gcc/armeb-softfloat-linux-uclibc/3.4.6/include/stddef.h" 1 3 4 # 43 "/usr/include/rpc/netdb.h" 2 struct rpcent { char *r_name; char **r_aliases; int r_number; }; extern void setrpcent (int __stayopen) __attribute__ ((__nothrow__)); extern void endrpcent (void) __attribute__ ((__nothrow__)); extern struct rpcent *getrpcbyname (__const char *__name) __attribute__ ((__nothrow__)); extern struct rpcent *getrpcbynumber (int __number) __attribute__ ((__nothrow__)); extern struct rpcent *getrpcent (void) __attribute__ ((__nothrow__)); extern int getrpcbyname_r (__const char *__name, struct rpcent *__result_buf, char *__buffer, size_t __buflen, struct rpcent **__result) __attribute__ ((__nothrow__)); extern int getrpcbynumber_r (int __number, struct rpcent *__result_buf, char *__buffer, size_t __buflen, struct rpcent **__result) __attribute__ ((__nothrow__)); extern int getrpcent_r (struct rpcent *__result_buf, char *__buffer, size_t __buflen, struct rpcent **__result) __attribute__ ((__nothrow__)); # 34 "/usr/include/netdb.h" 2 # 43 "/usr/include/netdb.h" # 1 "/usr/include/bits/netdb.h" 1 # 27 "/usr/include/bits/netdb.h" struct netent { char *n_name; char **n_aliases; int n_addrtype; uint32_t n_net; }; # 44 "/usr/include/netdb.h" 2 # 54 "/usr/include/netdb.h" extern int *__h_errno_location (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); # 88 "/usr/include/netdb.h" extern void herror (__const char *__str) __attribute__ ((__nothrow__)); extern __const char *hstrerror (int __err_num) __attribute__ ((__nothrow__)); 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); # 149 "/usr/include/netdb.h" extern struct hostent *gethostbyname2 (__const char *__name, int __af); # 161 "/usr/include/netdb.h" 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); # 192 "/usr/include/netdb.h" 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); # 231 "/usr/include/netdb.h" 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); # 303 "/usr/include/netdb.h" 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); # 369 "/usr/include/netdb.h" 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); # 390 "/usr/include/netdb.h" extern int setnetgrent (__const char *__netgroup); extern void endnetgrent (void); # 407 "/usr/include/netdb.h" extern int getnetgrent (char **__restrict __hostp, char **__restrict __userp, char **__restrict __domainp); # 418 "/usr/include/netdb.h" 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); # 446 "/usr/include/netdb.h" 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); # 458 "/usr/include/netdb.h" 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); # 474 "/usr/include/netdb.h" extern int rexec (char **__restrict __ahost, int __rport, __const char *__restrict __name, __const char *__restrict __pass, __const char *__restrict __cmd, int *__restrict __fd2p); # 486 "/usr/include/netdb.h" 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); # 500 "/usr/include/netdb.h" extern int ruserok (__const char *__rhost, int __suser, __const char *__remuser, __const char *__locuser); # 510 "/usr/include/netdb.h" extern int ruserok_af (__const char *__rhost, int __suser, __const char *__remuser, __const char *__locuser, sa_family_t __af); # 522 "/usr/include/netdb.h" extern int rresvport (int *__alport); # 531 "/usr/include/netdb.h" 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; }; # 631 "/usr/include/netdb.h" 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__)); extern __const char *gai_strerror (int __ecode) __attribute__ ((__nothrow__)); extern int getnameinfo (__const struct sockaddr *__restrict __sa, socklen_t __salen, char *__restrict __host, socklen_t __hostlen, char *__restrict __serv, socklen_t __servlen, unsigned int __flags); # 682 "/usr/include/netdb.h" # 4 "extensions/libipt_connlimit.c" 2 # 1 "/usr/include/string.h" 1 # 28 "/usr/include/string.h" # 1 "/usr/lib/gcc/armeb-softfloat-linux-uclibc/3.4.6/include/stddef.h" 1 3 4 # 34 "/usr/include/string.h" 2 extern void *memcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memmove (void *__dest, __const void *__src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memchr (__const void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 82 "/usr/include/string.h" extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strcat (char *__restrict __dest, __const char *__restrict __src) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strncat (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcmp (__const char *__s1, __const char *__s2) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcoll (__const char *__s1, __const char *__s2) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strxfrm (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); # 130 "/usr/include/string.h" extern char *strdup (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); # 165 "/usr/include/string.h" extern char *strchr (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strrchr (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 181 "/usr/include/string.h" extern size_t strcspn (__const char *__s, __const char *__reject) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strspn (__const char *__s, __const char *__accept) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strpbrk (__const char *__s, __const char *__accept) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strstr (__const char *__haystack, __const char *__needle) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strtok (char *__restrict __s, __const char *__restrict __delim) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern char *__strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); # 240 "/usr/include/string.h" extern size_t strlen (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 254 "/usr/include/string.h" extern char *strerror (int __errnum) __attribute__ ((__nothrow__)); # 270 "/usr/include/string.h" extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); # 288 "/usr/include/string.h" extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void bcopy (__const void *__src, void *__dest, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *index (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *rindex (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern int ffs (int __i) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); # 325 "/usr/include/string.h" extern int strcasecmp (__const char *__s1, __const char *__s2) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 348 "/usr/include/string.h" extern char *strsep (char **__restrict __stringp, __const char *__restrict __delim) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); # 426 "/usr/include/string.h" # 5 "extensions/libipt_connlimit.c" 2 # 1 "/usr/include/stdlib.h" 1 # 33 "/usr/include/stdlib.h" # 1 "/usr/lib/gcc/armeb-softfloat-linux-uclibc/3.4.6/include/stddef.h" 1 3 4 # 34 "/usr/include/stdlib.h" 2 # 96 "/usr/include/stdlib.h" typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; # 140 "/usr/include/stdlib.h" extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__)) ; extern double atof (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern int atoi (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern long int atol (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int atoll (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern double strtod (__const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 182 "/usr/include/stdlib.h" extern long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern unsigned long long int strtoull (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 279 "/usr/include/stdlib.h" extern double __strtod_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern float __strtof_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern long double __strtold_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern long int __strtol_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern unsigned long int __strtoul_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int __strtoll_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern unsigned long long int __strtoull_internal (__const char * __restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 429 "/usr/include/stdlib.h" extern char *l64a (long int __n) __attribute__ ((__nothrow__)) ; extern long int a64l (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; # 445 "/usr/include/stdlib.h" extern long int random (void) __attribute__ ((__nothrow__)); extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__)); extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __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__)) __attribute__ ((__nonnull__ (1, 2))); extern int srandom_r (unsigned int __seed, struct random_data *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4))); extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int rand (void) __attribute__ ((__nothrow__)); extern void srand (unsigned int __seed) __attribute__ ((__nothrow__)); extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__)); extern double drand48 (void) __attribute__ ((__nothrow__)); extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern long int lrand48 (void) __attribute__ ((__nothrow__)); extern long int nrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern long int mrand48 (void) __attribute__ ((__nothrow__)); extern long int jrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void srand48 (long int __seedval) __attribute__ ((__nothrow__)); extern unsigned short int *seed48 (unsigned short int __seed16v[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__)) __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; unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int srand48_r (long int __seedval, struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); extern void free (void *__ptr) __attribute__ ((__nothrow__)); extern void cfree (void *__ptr) __attribute__ ((__nothrow__)); # 1 "/usr/include/alloca.h" 1 # 25 "/usr/include/alloca.h" # 1 "/usr/lib/gcc/armeb-softfloat-linux-uclibc/3.4.6/include/stddef.h" 1 3 4 # 26 "/usr/include/alloca.h" 2 extern void *alloca (size_t __size) __attribute__ ((__nothrow__)); # 613 "/usr/include/stdlib.h" 2 extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); # 658 "/usr/include/stdlib.h" extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern char *__secure_getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int setenv (__const char *__name, __const char *__value, int __replace) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__)); extern int clearenv (void) __attribute__ ((__nothrow__)); # 698 "/usr/include/stdlib.h" extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 709 "/usr/include/stdlib.h" extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; # 729 "/usr/include/stdlib.h" extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int system (__const char *__command) ; # 757 "/usr/include/stdlib.h" extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) __attribute__ ((__nothrow__)) ; typedef int (*__compar_fn_t) (__const void *, __const 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))) ; extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; extern div_t div (int __numer, int __denom) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; extern ldiv_t ldiv (long int __numer, long int __denom) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; # 822 "/usr/include/stdlib.h" extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *gcvt (double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ; extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *qgcvt (long double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ; extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __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__)) __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__)) __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__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__)) ; extern int mbtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)) ; extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__)) ; extern size_t mbstowcs (wchar_t *__restrict __pwcs, __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)); extern size_t wcstombs (char *__restrict __s, __const wchar_t *__restrict __pwcs, size_t __n) __attribute__ ((__nothrow__)); extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 927 "/usr/include/stdlib.h" extern int posix_openpt (int __oflag) ; # 962 "/usr/include/stdlib.h" extern int getloadavg (double __loadavg[], int __nelem) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 978 "/usr/include/stdlib.h" # 6 "extensions/libipt_connlimit.c" 2 # 1 "/usr/lib/gcc/armeb-softfloat-linux-uclibc/3.4.6/include/stddef.h" 1 3 4 # 151 "/usr/lib/gcc/armeb-softfloat-linux-uclibc/3.4.6/include/stddef.h" 3 4 typedef int ptrdiff_t; # 7 "extensions/libipt_connlimit.c" 2 # 1 "/usr/include/getopt.h" 1 # 59 "/usr/include/getopt.h" extern char *optarg; # 73 "/usr/include/getopt.h" extern int optind; extern int opterr; extern int optopt; # 106 "/usr/include/getopt.h" struct option { const char *name; int has_arg; int *flag; int val; }; # 152 "/usr/include/getopt.h" extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) __attribute__ ((__nothrow__)); extern int getopt_long (int ___argc, char *const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind) __attribute__ ((__nothrow__)); extern int getopt_long_only (int ___argc, char *const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind) __attribute__ ((__nothrow__)); # 8 "extensions/libipt_connlimit.c" 2 # 1 "include/iptables.h" 1 # 1 "include/iptables_common.h" 1 enum exittype { OTHER_PROBLEM = 1, PARAMETER_PROBLEM, VERSION_PROBLEM, RESOURCE_PROBLEM }; extern void exit_printhelp() __attribute__((noreturn)); extern void exit_tryhelp(int) __attribute__((noreturn)); int check_inverse(const char option[], int *invert, int *optind, int argc); extern int string_to_number(const char *, unsigned int, unsigned int, unsigned int *); extern int string_to_number_l(const char *, unsigned long int, unsigned long int, unsigned long *); extern int string_to_number_ll(const char *, unsigned long long int, unsigned long long int, unsigned long long *); extern int iptables_insmod(const char *modname, const char *modprobe); extern int load_iptables_ko(const char *modprobe); void exit_error(enum exittype, char *, ...)__attribute__((noreturn, format(printf,2,3))); extern const char *program_name, *program_version; extern char *lib_dir; # 5 "include/iptables.h" 2 # 1 "include/libiptc/libiptc.h" 1 # 1 "include/libiptc/ipt_kernel_headers.h" 1 # 1 "/usr/include/limits.h" 1 # 7 "include/libiptc/ipt_kernel_headers.h" 2 # 1 "/usr/include/netinet/ip.h" 1 # 27 "/usr/include/netinet/ip.h" struct timestamp { u_int8_t len; u_int8_t ptr; unsigned int flags:4; unsigned int overflow:4; u_int32_t data[9]; }; struct iphdr { unsigned int ihl:4; unsigned int version:4; u_int8_t tos; u_int16_t tot_len; u_int16_t id; u_int16_t frag_off; u_int8_t ttl; u_int8_t protocol; u_int16_t check; u_int32_t saddr; u_int32_t daddr; }; # 108 "/usr/include/netinet/ip.h" struct ip { unsigned int ip_hl:4; unsigned int ip_v:4; u_int8_t ip_tos; u_short ip_len; u_short ip_id; u_short ip_off; u_int8_t ip_ttl; u_int8_t ip_p; u_short ip_sum; struct in_addr ip_src, ip_dst; }; struct ip_timestamp { u_int8_t ipt_code; u_int8_t ipt_len; u_int8_t ipt_ptr; unsigned int ipt_flg:4; unsigned int ipt_oflw:4; u_int32_t data[9]; }; # 247 "/usr/include/netinet/ip.h" # 10 "include/libiptc/ipt_kernel_headers.h" 2 # 1 "/usr/include/netinet/ip_icmp.h" 1 # 25 "/usr/include/netinet/ip_icmp.h" struct icmphdr { u_int8_t type; u_int8_t code; u_int16_t checksum; union { struct { u_int16_t id; u_int16_t sequence; } echo; u_int32_t gateway; struct { u_int16_t __unused; u_int16_t mtu; } frag; } un; }; # 132 "/usr/include/netinet/ip_icmp.h" struct icmp_ra_addr { u_int32_t ira_addr; u_int32_t ira_preference; }; struct icmp { u_int8_t icmp_type; u_int8_t icmp_code; u_int16_t icmp_cksum; union { u_char ih_pptr; struct in_addr ih_gwaddr; struct ih_idseq { u_int16_t icd_id; u_int16_t icd_seq; } ih_idseq; u_int32_t ih_void; struct ih_pmtu { u_int16_t ipm_void; u_int16_t ipm_nextmtu; } ih_pmtu; struct ih_rtradv { u_int8_t irt_num_addrs; u_int8_t irt_wpa; u_int16_t irt_lifetime; } ih_rtradv; } icmp_hun; # 178 "/usr/include/netinet/ip_icmp.h" union { struct { u_int32_t its_otime; u_int32_t its_rtime; u_int32_t its_ttime; } id_ts; struct { struct ip idi_ip; } id_ip; struct icmp_ra_addr id_radv; u_int32_t id_mask; u_int8_t id_data[1]; } icmp_dun; }; # 281 "/usr/include/netinet/ip_icmp.h" # 12 "include/libiptc/ipt_kernel_headers.h" 2 # 1 "/usr/include/netinet/tcp.h" 1 # 89 "/usr/include/netinet/tcp.h" struct tcphdr { u_int16_t source; u_int16_t dest; u_int32_t seq; u_int32_t ack_seq; u_int16_t res1:4; u_int16_t doff:4; u_int16_t fin:1; u_int16_t syn:1; u_int16_t rst:1; u_int16_t psh:1; u_int16_t ack:1; u_int16_t urg:1; u_int16_t res2:2; # 118 "/usr/include/netinet/tcp.h" u_int16_t window; u_int16_t check; u_int16_t urg_ptr; }; enum { TCP_ESTABLISHED = 1, TCP_SYN_SENT, TCP_SYN_RECV, TCP_FIN_WAIT1, TCP_FIN_WAIT2, TCP_TIME_WAIT, TCP_CLOSE, TCP_CLOSE_WAIT, TCP_LAST_ACK, TCP_LISTEN, TCP_CLOSING }; # 176 "/usr/include/netinet/tcp.h" enum tcp_ca_state { TCP_CA_Open = 0, TCP_CA_Disorder = 1, TCP_CA_CWR = 2, TCP_CA_Recovery = 3, TCP_CA_Loss = 4 }; struct tcp_info { u_int8_t tcpi_state; u_int8_t tcpi_ca_state; u_int8_t tcpi_retransmits; u_int8_t tcpi_probes; u_int8_t tcpi_backoff; u_int8_t tcpi_options; u_int8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4; u_int32_t tcpi_rto; u_int32_t tcpi_ato; u_int32_t tcpi_snd_mss; u_int32_t tcpi_rcv_mss; u_int32_t tcpi_unacked; u_int32_t tcpi_sacked; u_int32_t tcpi_lost; u_int32_t tcpi_retrans; u_int32_t tcpi_fackets; u_int32_t tcpi_last_data_sent; u_int32_t tcpi_last_ack_sent; u_int32_t tcpi_last_data_recv; u_int32_t tcpi_last_ack_recv; u_int32_t tcpi_pmtu; u_int32_t tcpi_rcv_ssthresh; u_int32_t tcpi_rtt; u_int32_t tcpi_rttvar; u_int32_t tcpi_snd_ssthresh; u_int32_t tcpi_snd_cwnd; u_int32_t tcpi_advmss; u_int32_t tcpi_reordering; }; # 13 "include/libiptc/ipt_kernel_headers.h" 2 # 1 "/usr/include/netinet/udp.h" 1 # 68 "/usr/include/netinet/udp.h" struct udphdr { u_int16_t source; u_int16_t dest; u_int16_t len; u_int16_t check; }; # 14 "include/libiptc/ipt_kernel_headers.h" 2 # 1 "/usr/include/net/if.h" 1 # 34 "/usr/include/net/if.h" 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; }; # 112 "/usr/include/net/if.h" 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; }; # 177 "/usr/include/net/if.h" 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__)); extern char *if_indextoname (unsigned int __ifindex, char *__ifname) __attribute__ ((__nothrow__)); extern struct if_nameindex *if_nameindex (void) __attribute__ ((__nothrow__)); extern void if_freenameindex (struct if_nameindex *__ptr) __attribute__ ((__nothrow__)); # 15 "include/libiptc/ipt_kernel_headers.h" 2 # 6 "include/libiptc/libiptc.h" 2 # 1 "/usr/include/linux/netfilter_ipv4/ip_tables.h" 1 # 25 "/usr/include/linux/netfilter_ipv4/ip_tables.h" # 1 "/usr/include/linux/compiler.h" 1 # 26 "/usr/include/linux/netfilter_ipv4/ip_tables.h" 2 # 1 "/usr/include/linux/netfilter_ipv4.h" 1 # 1 "/usr/include/linux/config.h" 1 # 1 "/usr/include/linux/autoconf.h" 1 # 7 "/usr/include/linux/config.h" 2 # 9 "/usr/include/linux/netfilter_ipv4.h" 2 # 1 "/usr/include/linux/netfilter.h" 1 # 10 "/usr/include/linux/netfilter_ipv4.h" 2 # 55 "/usr/include/linux/netfilter_ipv4.h" enum nf_ip_hook_priorities { NF_IP_PRI_FIRST = (-2147483647 - 1), NF_IP_PRI_CONNTRACK_DEFRAG = -400, NF_IP_PRI_RAW = -300, NF_IP_PRI_SELINUX_FIRST = -225, NF_IP_PRI_CONNTRACK = -200, NF_IP_PRI_BRIDGE_SABOTAGE_FORWARD = -175, NF_IP_PRI_MANGLE = -150, NF_IP_PRI_NAT_DST = -100, NF_IP_PRI_BRIDGE_SABOTAGE_LOCAL_OUT = -50, NF_IP_PRI_FILTER = 0, NF_IP_PRI_NAT_SRC = 100, NF_IP_PRI_SELINUX_LAST = 225, NF_IP_PRI_CONNTRACK_HELPER = 2147483647 - 2, NF_IP_PRI_NAT_SEQ_ADJUST = 2147483647 - 1, NF_IP_PRI_CONNTRACK_CONFIRM = 2147483647, NF_IP_PRI_LAST = 2147483647, }; # 27 "/usr/include/linux/netfilter_ipv4/ip_tables.h" 2 # 1 "/usr/include/linux/netfilter/x_tables.h" 1 struct xt_entry_match { union { struct { u_int16_t match_size; char name[30 -1]; u_int8_t revision; } user; struct { u_int16_t match_size; struct xt_match *match; } kernel; u_int16_t match_size; } u; unsigned char data[0]; }; struct xt_entry_target { union { struct { u_int16_t target_size; char name[30 -1]; u_int8_t revision; } user; struct { u_int16_t target_size; struct xt_target *target; } kernel; u_int16_t target_size; } u; unsigned char data[0]; }; struct xt_standard_target { struct xt_entry_target target; int verdict; }; struct xt_get_revision { char name[30 -1]; u_int8_t revision; }; # 83 "/usr/include/linux/netfilter/x_tables.h" struct _xt_align { u_int8_t __u8; u_int16_t __u16; u_int32_t __u32; u_int64_t __u64; }; # 118 "/usr/include/linux/netfilter/x_tables.h" struct xt_counters { u_int64_t pcnt, bcnt; }; struct xt_counters_info { char name[32]; unsigned int num_counters; struct xt_counters counters[0]; }; # 29 "/usr/include/linux/netfilter_ipv4/ip_tables.h" 2 # 38 "/usr/include/linux/netfilter_ipv4/ip_tables.h" struct ipt_ip { struct in_addr src, dst; struct in_addr smsk, dmsk; char iniface[16], outiface[16]; unsigned char iniface_mask[16], outiface_mask[16]; u_int16_t proto; u_int8_t flags; u_int8_t invflags; }; # 79 "/usr/include/linux/netfilter_ipv4/ip_tables.h" struct ipt_entry { struct ipt_ip ip; unsigned int nfcache; u_int16_t target_offset; u_int16_t next_offset; unsigned int comefrom; struct xt_counters counters; unsigned char elems[0]; }; # 120 "/usr/include/linux/netfilter_ipv4/ip_tables.h" # 1 "/usr/include/linux/netfilter/xt_tcpudp.h" 1 struct xt_tcp { u_int16_t spts[2]; u_int16_t dpts[2]; u_int8_t option; u_int8_t flg_mask; u_int8_t flg_cmp; u_int8_t invflags; }; # 23 "/usr/include/linux/netfilter/xt_tcpudp.h" struct xt_udp { u_int16_t spts[2]; u_int16_t dpts[2]; u_int8_t invflags; }; # 121 "/usr/include/linux/netfilter_ipv4/ip_tables.h" 2 # 135 "/usr/include/linux/netfilter_ipv4/ip_tables.h" struct ipt_icmp { u_int8_t type; u_int8_t code[2]; u_int8_t invflags; }; struct ipt_getinfo { char name[30]; unsigned int valid_hooks; unsigned int hook_entry[5]; unsigned int underflow[5]; unsigned int num_entries; unsigned int size; }; struct ipt_replace { char name[30]; unsigned int valid_hooks; unsigned int num_entries; unsigned int size; unsigned int hook_entry[5]; unsigned int underflow[5]; unsigned int num_counters; struct xt_counters *counters; struct ipt_entry entries[0]; }; struct ipt_get_entries { char name[30]; unsigned int size; struct ipt_entry entrytable[0]; }; static __inline__ struct xt_entry_target * ipt_get_target(struct ipt_entry *e) { return (void *)e + e->target_offset; } # 7 "include/libiptc/libiptc.h" 2 # 21 "include/libiptc/libiptc.h" typedef char ipt_chainlabel[32]; typedef struct iptc_handle *iptc_handle_t; int iptc_is_chain(const char *chain, const iptc_handle_t handle); iptc_handle_t iptc_init(const char *tablename); void iptc_free(iptc_handle_t *h); const char *iptc_first_chain(iptc_handle_t *handle); const char *iptc_next_chain(iptc_handle_t *handle); const struct ipt_entry *iptc_first_rule(const char *chain, iptc_handle_t *handle); const struct ipt_entry *iptc_next_rule(const struct ipt_entry *prev, iptc_handle_t *handle); const char *iptc_get_target(const struct ipt_entry *e, iptc_handle_t *handle); int iptc_builtin(const char *chain, const iptc_handle_t handle); const char *iptc_get_policy(const char *chain, struct xt_counters *counter, iptc_handle_t *handle); int iptc_insert_entry(const ipt_chainlabel chain, const struct ipt_entry *e, unsigned int rulenum, iptc_handle_t *handle); int iptc_replace_entry(const ipt_chainlabel chain, const struct ipt_entry *e, unsigned int rulenum, iptc_handle_t *handle); int iptc_append_entry(const ipt_chainlabel chain, const struct ipt_entry *e, iptc_handle_t *handle); int iptc_delete_entry(const ipt_chainlabel chain, const struct ipt_entry *origfw, unsigned char *matchmask, iptc_handle_t *handle); int iptc_delete_num_entry(const ipt_chainlabel chain, unsigned int rulenum, iptc_handle_t *handle); const char *iptc_check_packet(const ipt_chainlabel chain, struct ipt_entry *entry, iptc_handle_t *handle); int iptc_flush_entries(const ipt_chainlabel chain, iptc_handle_t *handle); int iptc_zero_entries(const ipt_chainlabel chain, iptc_handle_t *handle); int iptc_create_chain(const ipt_chainlabel chain, iptc_handle_t *handle); int iptc_delete_chain(const ipt_chainlabel chain, iptc_handle_t *handle); int iptc_rename_chain(const ipt_chainlabel oldname, const ipt_chainlabel newname, iptc_handle_t *handle); int iptc_set_policy(const ipt_chainlabel chain, const ipt_chainlabel policy, struct xt_counters *counters, iptc_handle_t *handle); int iptc_get_references(unsigned int *ref, const ipt_chainlabel chain, iptc_handle_t *handle); struct xt_counters *iptc_read_counter(const ipt_chainlabel chain, unsigned int rulenum, iptc_handle_t *handle); int iptc_zero_counter(const ipt_chainlabel chain, unsigned int rulenum, iptc_handle_t *handle); int iptc_set_counter(const ipt_chainlabel chain, unsigned int rulenum, struct xt_counters *counters, iptc_handle_t *handle); int iptc_commit(iptc_handle_t *handle); int iptc_get_raw_socket(); const char *iptc_strerror(int err); # 6 "include/iptables.h" 2 # 30 "include/iptables.h" struct iptables_rule_match { struct iptables_rule_match *next; struct iptables_match *match; unsigned int completed; }; struct iptables_match { struct iptables_match *next; ipt_chainlabel name; u_int8_t revision; const char *version; size_t size; size_t userspacesize; void (*help)(void); void (*init)(struct xt_entry_match *m, unsigned int *nfcache); int (*parse)(int c, char **argv, int invert, unsigned int *flags, const struct ipt_entry *entry, unsigned int *nfcache, struct xt_entry_match **match); void (*final_check)(unsigned int flags); void (*print)(const struct ipt_ip *ip, const struct xt_entry_match *match, int numeric); void (*save)(const struct ipt_ip *ip, const struct xt_entry_match *match); const struct option *extra_opts; unsigned int option_offset; struct xt_entry_match *m; unsigned int mflags; }; struct iptables_target { struct iptables_target *next; ipt_chainlabel name; u_int8_t revision; const char *version; size_t size; size_t userspacesize; void (*help)(void); void (*init)(struct xt_entry_target *t, unsigned int *nfcache); int (*parse)(int c, char **argv, int invert, unsigned int *flags, const struct ipt_entry *entry, struct xt_entry_target **target); void (*final_check)(unsigned int flags); void (*print)(const struct ipt_ip *ip, const struct xt_entry_target *target, int numeric); void (*save)(const struct ipt_ip *ip, const struct xt_entry_target *target); struct option *extra_opts; unsigned int option_offset; struct xt_entry_target *t; unsigned int tflags; unsigned int used; }; extern int line; extern void register_match(struct iptables_match *me); extern void register_target(struct iptables_target *me); extern int service_to_port(const char *name, const char *proto); extern u_int16_t parse_port(const char *port, const char *proto); extern struct in_addr *dotted_to_addr(const char *dotted); extern struct in_addr *dotted_to_mask(const char *dotted); extern char *addr_to_dotted(const struct in_addr *addrp); extern char *addr_to_anyname(const struct in_addr *addr); extern char *mask_to_dotted(const struct in_addr *mask); extern void parse_hostnetworkmask(const char *name, struct in_addr **addrpp, struct in_addr *maskp, unsigned int *naddrs); extern u_int16_t parse_protocol(const char *s); extern void parse_interface(const char *arg, char *vianame, unsigned char *mask); extern int do_command(int argc, char *argv[], char **table, iptc_handle_t *handle); extern struct iptables_match *iptables_matches; extern struct iptables_target *iptables_targets; enum ipt_tryload { DONT_LOAD, DURING_LOAD, TRY_LOAD, LOAD_MUST_SUCCEED }; extern struct iptables_target *find_target(const char *name, enum ipt_tryload); extern struct iptables_match *find_match(const char *name, enum ipt_tryload, struct iptables_rule_match **match); extern int delete_chain(const ipt_chainlabel chain, int verbose, iptc_handle_t *handle); extern int flush_entries(const ipt_chainlabel chain, int verbose, iptc_handle_t *handle); extern int for_each_chain(int (*fn)(const ipt_chainlabel, int, iptc_handle_t *), int verbose, int builtinstoo, iptc_handle_t *handle); extern int kernel_version; extern void get_kernel_version(void); # 9 "extensions/libipt_connlimit.c" 2 # 1 "/usr/include/linux/netfilter_ipv4/ip_conntrack.h" 1 # 1 "/usr/include/linux/netfilter/nf_conntrack_common.h" 1 enum ip_conntrack_info { IP_CT_ESTABLISHED, IP_CT_RELATED, IP_CT_NEW, IP_CT_IS_REPLY, IP_CT_NUMBER = IP_CT_IS_REPLY * 2 - 1 }; enum ip_conntrack_status { IPS_EXPECTED_BIT = 0, IPS_EXPECTED = (1 << IPS_EXPECTED_BIT), IPS_SEEN_REPLY_BIT = 1, IPS_SEEN_REPLY = (1 << IPS_SEEN_REPLY_BIT), IPS_ASSURED_BIT = 2, IPS_ASSURED = (1 << IPS_ASSURED_BIT), IPS_CONFIRMED_BIT = 3, IPS_CONFIRMED = (1 << IPS_CONFIRMED_BIT), IPS_SRC_NAT_BIT = 4, IPS_SRC_NAT = (1 << IPS_SRC_NAT_BIT), IPS_DST_NAT_BIT = 5, IPS_DST_NAT = (1 << IPS_DST_NAT_BIT), IPS_NAT_MASK = (IPS_DST_NAT | IPS_SRC_NAT), IPS_SEQ_ADJUST_BIT = 6, IPS_SEQ_ADJUST = (1 << IPS_SEQ_ADJUST_BIT), IPS_SRC_NAT_DONE_BIT = 7, IPS_SRC_NAT_DONE = (1 << IPS_SRC_NAT_DONE_BIT), IPS_DST_NAT_DONE_BIT = 8, IPS_DST_NAT_DONE = (1 << IPS_DST_NAT_DONE_BIT), IPS_NAT_DONE_MASK = (IPS_DST_NAT_DONE | IPS_SRC_NAT_DONE), IPS_DYING_BIT = 9, IPS_DYING = (1 << IPS_DYING_BIT), }; enum ip_conntrack_events { IPCT_NEW_BIT = 0, IPCT_NEW = (1 << IPCT_NEW_BIT), IPCT_RELATED_BIT = 1, IPCT_RELATED = (1 << IPCT_RELATED_BIT), IPCT_DESTROY_BIT = 2, IPCT_DESTROY = (1 << IPCT_DESTROY_BIT), IPCT_REFRESH_BIT = 3, IPCT_REFRESH = (1 << IPCT_REFRESH_BIT), IPCT_STATUS_BIT = 4, IPCT_STATUS = (1 << IPCT_STATUS_BIT), IPCT_PROTOINFO_BIT = 5, IPCT_PROTOINFO = (1 << IPCT_PROTOINFO_BIT), IPCT_PROTOINFO_VOLATILE_BIT = 6, IPCT_PROTOINFO_VOLATILE = (1 << IPCT_PROTOINFO_VOLATILE_BIT), IPCT_HELPER_BIT = 7, IPCT_HELPER = (1 << IPCT_HELPER_BIT), IPCT_HELPINFO_BIT = 8, IPCT_HELPINFO = (1 << IPCT_HELPINFO_BIT), IPCT_HELPINFO_VOLATILE_BIT = 9, IPCT_HELPINFO_VOLATILE = (1 << IPCT_HELPINFO_VOLATILE_BIT), IPCT_NATINFO_BIT = 10, IPCT_NATINFO = (1 << IPCT_NATINFO_BIT), IPCT_COUNTER_FILLING_BIT = 11, IPCT_COUNTER_FILLING = (1 << IPCT_COUNTER_FILLING_BIT), }; enum ip_conntrack_expect_events { IPEXP_NEW_BIT = 0, IPEXP_NEW = (1 << IPEXP_NEW_BIT), }; # 5 "/usr/include/linux/netfilter_ipv4/ip_conntrack.h" 2 # 10 "extensions/libipt_connlimit.c" 2 # 1 "include/linux/netfilter_ipv4/ipt_connlimit.h" 1 struct ipt_connlimit_data; struct ipt_connlimit_info { int limit; int inverse; u_int32_t mask; struct ipt_connlimit_data *data; }; # 11 "extensions/libipt_connlimit.c" 2 static void help(void) { printf( "connlimit v%s options:\n" "[!] --connlimit-above n match if the number of existing tcp connections is (not) above n\n" " --connlimit-mask n group hosts using mask\n" "\n", "1.3.7"); } static struct option opts[] = { { "connlimit-above", 1, 0, '1' }, { "connlimit-mask", 1, 0, '2' }, {0} }; static int parse(int c, char **argv, int invert, unsigned int *flags, const struct ipt_entry *entry, unsigned int *nfcache, struct xt_entry_match **match) { struct ipt_connlimit_info *info = (struct ipt_connlimit_info*)(*match)->data; int i; if (0 == (*flags & 2)) { info->mask = (__extension__ ({ register unsigned int __v, __x = (0xFFFFFFFF); if (__builtin_constant_p (__x)) __v = ((((__x) & 0xff000000) >> 24) | (((__x) & 0x00ff0000) >> 8) | (((__x) & 0x0000ff00) << 8) | (((__x) & 0x000000ff) << 24)); else __asm__ ("rorw $8, %w0;" "rorl $16, %0;" "rorw $8, %w0" : "=r" (__v) : "0" (__x) : "cc"); __v; })); } switch (c) { case '1': check_inverse(optarg, &invert, &optind, 0); info->limit = atoi(argv[optind-1]); info->inverse = invert; *flags |= 1; break; case '2': i = atoi(argv[optind-1]); if ((i < 0) || (i > 32)) exit_error(PARAMETER_PROBLEM, "--connlimit-mask must be between 0 and 32"); if (i == 0) info->mask = 0; else info->mask = (__extension__ ({ register unsigned int __v, __x = (0xFFFFFFFF << (32 - i)); if (__builtin_constant_p (__x)) __v = ((((__x) & 0xff000000) >> 24) | (((__x) & 0x00ff0000) >> 8) | (((__x) & 0x0000ff00) << 8) | (((__x) & 0x000000ff) << 24)); else __asm__ ("rorw $8, %w0;" "rorl $16, %0;" "rorw $8, %w0" : "=r" (__v) : "0" (__x) : "cc"); __v; })); *flags |= 2; break; default: return 0; } return 1; } static void final_check(unsigned int flags) { if (!flags & 1) exit_error(PARAMETER_PROBLEM, "You must specify `--connlimit-above'"); } static int count_bits(u_int32_t mask) { int i, bits; for (bits = 0, i = 31; i >= 0; i--) { if (mask & (__extension__ ({ register unsigned int __v, __x = ((u_int32_t)1 << i); if (__builtin_constant_p (__x)) __v = ((((__x) & 0xff000000) >> 24) | (((__x) & 0x00ff0000) >> 8) | (((__x) & 0x0000ff00) << 8) | (((__x) & 0x000000ff) << 24)); else __asm__ ("rorw $8, %w0;" "rorl $16, %0;" "rorw $8, %w0" : "=r" (__v) : "0" (__x) : "cc"); __v; }))) { bits++; continue; } break; } return bits; } static void print(const struct ipt_ip *ip, const struct xt_entry_match *match, int numeric) { struct ipt_connlimit_info *info = (struct ipt_connlimit_info*)match->data; printf("#conn/%d %s %d ", count_bits(info->mask), info->inverse ? "<" : ">", info->limit); } static void save(const struct ipt_ip *ip, const struct xt_entry_match *match) { struct ipt_connlimit_info *info = (struct ipt_connlimit_info*)match->data; printf("%s--connlimit-above %d ",info->inverse ? "! " : "",info->limit); printf("--connlimit-mask %d ",count_bits(info->mask)); } static struct iptables_match connlimit = { .name = "connlimit", .version = "1.3.7", .size = (((sizeof(struct ipt_connlimit_info)) + (((__alignof__(struct ipt_entry)))-1)) & ~(((__alignof__(struct ipt_entry)))-1)), .userspacesize = ((size_t) &((struct ipt_connlimit_info *)0)->data), .help = help, .parse = parse, .final_check = final_check, .print = print, .save = save, .extra_opts = opts }; void __attribute__((constructor)) my_init(void) { register_match(&connlimit); }