rendered paste bodygcc -E -Wall -DIPTABLES_VERSION=\"'1.3.1'\" -I/var/abs/system/iptables/src/iptables-1.3.1/include -fPIC -c libipt_ipp2p.c# 1 "libipt_ipp2p.c"# 1 "<built-in>"# 1 "<command line>"# 1 "libipt_ipp2p.c"# 1 "/usr/include/stdio.h" 1 3 4# 28 "/usr/include/stdio.h" 3 4# 1 "/usr/include/features.h" 1 3 4# 308 "/usr/include/features.h" 3 4# 1 "/usr/include/sys/cdefs.h" 1 3 4# 309 "/usr/include/features.h" 2 3 4# 331 "/usr/include/features.h" 3 4# 1 "/usr/include/gnu/stubs.h" 1 3 4# 332 "/usr/include/features.h" 2 3 4# 29 "/usr/include/stdio.h" 2 3 4# 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/stddef.h" 1 3 4# 213 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/stddef.h" 3 4typedef unsigned int size_t;# 35 "/usr/include/stdio.h" 2 3 4# 1 "/usr/include/bits/types.h" 1 3 4# 28 "/usr/include/bits/types.h" 3 4# 1 "/usr/include/bits/wordsize.h" 1 3 4# 29 "/usr/include/bits/types.h" 2 3 4# 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/stddef.h" 1 3 4# 32 "/usr/include/bits/types.h" 2 3 4typedef 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;# 129 "/usr/include/bits/types.h" 3 4# 1 "/usr/include/bits/typesizes.h" 1 3 4# 130 "/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 long int __swblk_t;__extension__ typedef int __key_t;__extension__ typedef int __clockid_t;__extension__ typedef int __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 3 4typedef struct _IO_FILE FILE;# 62 "/usr/include/stdio.h" 3 4typedef struct _IO_FILE __FILE;# 72 "/usr/include/stdio.h" 3 4# 1 "/usr/include/libio.h" 1 3 4# 32 "/usr/include/libio.h" 3 4# 1 "/usr/include/_G_config.h" 1 3 4# 14 "/usr/include/_G_config.h" 3 4# 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/stddef.h" 1 3 4# 325 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/stddef.h" 3 4typedef long int wchar_t;# 354 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/stddef.h" 3 4typedef unsigned int wint_t;# 15 "/usr/include/_G_config.h" 2 3 4# 24 "/usr/include/_G_config.h" 3 4# 1 "/usr/include/wchar.h" 1 3 4# 48 "/usr/include/wchar.h" 3 4# 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/stddef.h" 1 3 4# 49 "/usr/include/wchar.h" 2 3 4# 1 "/usr/include/bits/wchar.h" 1 3 4# 51 "/usr/include/wchar.h" 2 3 4# 76 "/usr/include/wchar.h" 3 4typedef struct{ int __count; union { wint_t __wch; char __wchb[4]; } __value;} __mbstate_t;# 25 "/usr/include/_G_config.h" 2 3 4typedef 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" 3 4# 1 "/usr/include/gconv.h" 1 3 4# 28 "/usr/include/gconv.h" 3 4# 1 "/usr/include/wchar.h" 1 3 4# 48 "/usr/include/wchar.h" 3 4# 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/stddef.h" 1 3 4# 49 "/usr/include/wchar.h" 2 3 4# 29 "/usr/include/gconv.h" 2 3 4# 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/stddef.h" 1 3 4# 32 "/usr/include/gconv.h" 2 3 4enum{ __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 3 4typedef 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 3 4# 53 "/usr/include/libio.h" 3 4# 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/stdarg.h" 1 3 4# 43 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/stdarg.h" 3 4typedef __builtin_va_list __gnuc_va_list;# 54 "/usr/include/libio.h" 2 3 4# 166 "/usr/include/libio.h" 3 4struct _IO_jump_t; struct _IO_FILE;# 176 "/usr/include/libio.h" 3 4typedef void _IO_lock_t;struct _IO_marker { struct _IO_marker *_next; struct _IO_FILE *_sbuf; int _pos;# 199 "/usr/include/libio.h" 3 4};enum __codecvt_result{ __codecvt_ok, __codecvt_partial, __codecvt_error, __codecvt_noconv};# 267 "/usr/include/libio.h" 3 4struct _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" 3 4 __off64_t _offset; void *__pad1; void *__pad2; int _mode; char _unused2[15 * sizeof (int) - 2 * sizeof (void *)];};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_;# 354 "/usr/include/libio.h" 3 4typedef __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);# 406 "/usr/include/libio.h" 3 4extern 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__));# 444 "/usr/include/libio.h" 3 4extern 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__));# 474 "/usr/include/libio.h" 3 4extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, __gnuc_va_list, int *__restrict) __attribute__ ((__nothrow__));extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, __gnuc_va_list) __attribute__ ((__nothrow__));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 3 4# 86 "/usr/include/stdio.h" 3 4typedef _G_fpos_t fpos_t;# 138 "/usr/include/stdio.h" 3 4# 1 "/usr/include/bits/stdio_lim.h" 1 3 4# 139 "/usr/include/stdio.h" 2 3 4extern 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);# 178 "/usr/include/stdio.h" 3 4extern char *tmpnam (char *__s) __attribute__ ((__nothrow__));extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__));# 196 "/usr/include/stdio.h" 3 4extern char *tempnam (__const char *__dir, __const char *__pfx) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));extern int fclose (FILE *__stream);extern int fflush (FILE *__stream);# 221 "/usr/include/stdio.h" 3 4extern int fflush_unlocked (FILE *__stream);# 235 "/usr/include/stdio.h" 3 4extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes);extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream);# 262 "/usr/include/stdio.h" 3 4# 273 "/usr/include/stdio.h" 3 4extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__));# 294 "/usr/include/stdio.h" 3 4extern 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)));# 388 "/usr/include/stdio.h" 3 4extern 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__));# 430 "/usr/include/stdio.h" 3 4extern int fgetc (FILE *__stream);extern int getc (FILE *__stream);extern int getchar (void);# 454 "/usr/include/stdio.h" 3 4extern int getc_unlocked (FILE *__stream);extern int getchar_unlocked (void);# 465 "/usr/include/stdio.h" 3 4extern int fgetc_unlocked (FILE *__stream);extern int fputc (int __c, FILE *__stream);extern int putc (int __c, FILE *__stream);extern int putchar (int __c);# 498 "/usr/include/stdio.h" 3 4extern 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);# 578 "/usr/include/stdio.h" 3 4extern 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);# 631 "/usr/include/stdio.h" 3 4extern 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);# 686 "/usr/include/stdio.h" 3 4extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);extern int fsetpos (FILE *__stream, __const fpos_t *__pos);# 709 "/usr/include/stdio.h" 3 4# 718 "/usr/include/stdio.h" 3 4extern 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 3 4# 27 "/usr/include/bits/sys_errlist.h" 3 4extern int sys_nerr;extern __const char *__const sys_errlist[];# 748 "/usr/include/stdio.h" 2 3 4extern int fileno (FILE *__stream) __attribute__ ((__nothrow__));extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__));# 767 "/usr/include/stdio.h" 3 4extern FILE *popen (__const char *__command, __const char *__modes);extern int pclose (FILE *__stream);extern char *ctermid (char *__s) __attribute__ ((__nothrow__));# 807 "/usr/include/stdio.h" 3 4extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__));extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__));extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__));# 834 "/usr/include/stdio.h" 3 4# 3 "libipt_ipp2p.c" 2# 1 "/usr/include/netdb.h" 1 3 4# 28 "/usr/include/netdb.h" 3 4# 1 "/usr/include/netinet/in.h" 1 3 4# 23 "/usr/include/netinet/in.h" 3 4# 1 "/usr/include/stdint.h" 1 3 4# 28 "/usr/include/stdint.h" 3 4# 1 "/usr/include/bits/wordsize.h" 1 3 4# 29 "/usr/include/stdint.h" 2 3 4# 37 "/usr/include/stdint.h" 3 4typedef 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" 3 4typedef int intptr_t;typedef unsigned int uintptr_t;# 138 "/usr/include/stdint.h" 3 4__extension__typedef long long int intmax_t;__extension__typedef unsigned long long int uintmax_t;# 24 "/usr/include/netinet/in.h" 2 3 4# 1 "/usr/include/sys/socket.h" 1 3 4# 25 "/usr/include/sys/socket.h" 3 4# 1 "/usr/include/sys/uio.h" 1 3 4# 24 "/usr/include/sys/uio.h" 3 4# 1 "/usr/include/sys/types.h" 1 3 4# 29 "/usr/include/sys/types.h" 3 4typedef __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" 3 4typedef __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" 3 4typedef __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" 3 4# 1 "/usr/include/time.h" 1 3 4# 74 "/usr/include/time.h" 3 4typedef __time_t time_t;# 92 "/usr/include/time.h" 3 4typedef __clockid_t clockid_t;# 104 "/usr/include/time.h" 3 4typedef __timer_t timer_t;# 134 "/usr/include/sys/types.h" 2 3 4# 147 "/usr/include/sys/types.h" 3 4# 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/stddef.h" 1 3 4# 148 "/usr/include/sys/types.h" 2 3 4typedef unsigned long int ulong;typedef unsigned short int ushort;typedef unsigned int uint;# 197 "/usr/include/sys/types.h" 3 4typedef 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__)));# 213 "/usr/include/sys/types.h" 3 4# 1 "/usr/include/endian.h" 1 3 4# 37 "/usr/include/endian.h" 3 4# 1 "/usr/include/bits/endian.h" 1 3 4# 38 "/usr/include/endian.h" 2 3 4# 214 "/usr/include/sys/types.h" 2 3 4# 1 "/usr/include/sys/select.h" 1 3 4# 31 "/usr/include/sys/select.h" 3 4# 1 "/usr/include/bits/select.h" 1 3 4# 32 "/usr/include/sys/select.h" 2 3 4# 1 "/usr/include/bits/sigset.h" 1 3 4# 23 "/usr/include/bits/sigset.h" 3 4typedef 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 3 4typedef __sigset_t sigset_t;# 1 "/usr/include/time.h" 1 3 4# 118 "/usr/include/time.h" 3 4struct timespec { __time_t tv_sec; long int tv_nsec; };# 45 "/usr/include/sys/select.h" 2 3 4# 1 "/usr/include/bits/time.h" 1 3 4# 69 "/usr/include/bits/time.h" 3 4struct timeval { __time_t tv_sec; __suseconds_t tv_usec; };# 47 "/usr/include/sys/select.h" 2 3 4typedef __suseconds_t suseconds_t;typedef long int __fd_mask;# 67 "/usr/include/sys/select.h" 3 4typedef struct { __fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask))]; } fd_set;typedef __fd_mask fd_mask;# 99 "/usr/include/sys/select.h" 3 4# 109 "/usr/include/sys/select.h" 3 4extern int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout);# 128 "/usr/include/sys/select.h" 3 4# 217 "/usr/include/sys/types.h" 2 3 4# 1 "/usr/include/sys/sysmacros.h" 1 3 4# 29 "/usr/include/sys/sysmacros.h" 3 4__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));}# 220 "/usr/include/sys/types.h" 2 3 4# 231 "/usr/include/sys/types.h" 3 4typedef __blkcnt_t blkcnt_t;typedef __fsblkcnt_t fsblkcnt_t;typedef __fsfilcnt_t fsfilcnt_t;# 266 "/usr/include/sys/types.h" 3 4# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4# 23 "/usr/include/bits/pthreadtypes.h" 3 4# 1 "/usr/include/bits/sched.h" 1 3 4# 83 "/usr/include/bits/sched.h" 3 4struct __sched_param { int __sched_priority; };# 24 "/usr/include/bits/pthreadtypes.h" 2 3 4struct _pthread_fastlock{ long int __status; int __spinlock;};typedef struct _pthread_descr_struct *_pthread_descr;typedef struct __pthread_attr_s{ int __detachstate; int __schedpolicy; struct __sched_param __schedparam; int __inheritsched; int __scope; size_t __guardsize; int __stackaddr_set; void *__stackaddr; size_t __stacksize;} pthread_attr_t;__extension__ typedef long long __pthread_cond_align_t;typedef struct{ struct _pthread_fastlock __c_lock; _pthread_descr __c_waiting; char __padding[48 - sizeof (struct _pthread_fastlock) - sizeof (_pthread_descr) - sizeof (__pthread_cond_align_t)]; __pthread_cond_align_t __align;} pthread_cond_t;typedef struct{ int __dummy;} pthread_condattr_t;typedef unsigned int pthread_key_t;typedef struct{ int __m_reserved; int __m_count; _pthread_descr __m_owner; int __m_kind; struct _pthread_fastlock __m_lock;} pthread_mutex_t;typedef struct{ int __mutexkind;} pthread_mutexattr_t;typedef int pthread_once_t;# 150 "/usr/include/bits/pthreadtypes.h" 3 4typedef unsigned long int pthread_t;# 267 "/usr/include/sys/types.h" 2 3 4# 25 "/usr/include/sys/uio.h" 2 3 4# 1 "/usr/include/bits/uio.h" 1 3 4# 42 "/usr/include/bits/uio.h" 3 4struct iovec { void *iov_base; size_t iov_len; };# 30 "/usr/include/sys/uio.h" 2 3 4# 40 "/usr/include/sys/uio.h" 3 4extern ssize_t readv (int __fd, __const struct iovec *__iovec, int __count);# 50 "/usr/include/sys/uio.h" 3 4extern ssize_t writev (int __fd, __const struct iovec *__iovec, int __count);# 28 "/usr/include/sys/socket.h" 2 3 4# 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/stddef.h" 1 3 4# 30 "/usr/include/sys/socket.h" 2 3 4# 1 "/usr/include/bits/socket.h" 1 3 4# 29 "/usr/include/bits/socket.h" 3 4# 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/stddef.h" 1 3 4# 30 "/usr/include/bits/socket.h" 2 3 4# 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/limits.h" 1 3 4# 11 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/limits.h" 3 4# 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/syslimits.h" 1 3 4# 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/limits.h" 1 3 4# 122 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/limits.h" 3 4# 1 "/usr/include/limits.h" 1 3 4# 144 "/usr/include/limits.h" 3 4# 1 "/usr/include/bits/posix1_lim.h" 1 3 4# 153 "/usr/include/bits/posix1_lim.h" 3 4# 1 "/usr/include/bits/local_lim.h" 1 3 4# 36 "/usr/include/bits/local_lim.h" 3 4# 1 "/usr/include/linux/limits.h" 1 3 4# 37 "/usr/include/bits/local_lim.h" 2 3 4# 154 "/usr/include/bits/posix1_lim.h" 2 3 4# 145 "/usr/include/limits.h" 2 3 4# 1 "/usr/include/bits/posix2_lim.h" 1 3 4# 149 "/usr/include/limits.h" 2 3 4# 123 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/limits.h" 2 3 4# 8 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/syslimits.h" 2 3 4# 12 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/limits.h" 2 3 4# 32 "/usr/include/bits/socket.h" 2 3 4typedef __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" 3 4# 1 "/usr/include/bits/sockaddr.h" 1 3 4# 29 "/usr/include/bits/sockaddr.h" 3 4typedef unsigned short int sa_family_t;# 143 "/usr/include/bits/socket.h" 2 3 4struct sockaddr { sa_family_t sa_family; char sa_data[14]; };# 162 "/usr/include/bits/socket.h" 3 4struct 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 []; };# 257 "/usr/include/bits/socket.h" 3 4extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg) __attribute__ ((__nothrow__));# 284 "/usr/include/bits/socket.h" 3 4enum { SCM_RIGHTS = 0x01, SCM_CREDENTIALS = 0x02 };struct ucred{ pid_t pid; uid_t uid; gid_t gid;};# 1 "/usr/include/asm/socket.h" 1 3 4# 1 "/usr/include/asm/sockios.h" 1 3 4# 5 "/usr/include/asm/socket.h" 2 3 4# 305 "/usr/include/bits/socket.h" 2 3 4struct linger { int l_onoff; int l_linger; };# 36 "/usr/include/sys/socket.h" 2 3 4struct 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" 3 4extern 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" 3 4extern 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" 3 4extern 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" 3 4extern int accept (int __fd, struct sockaddr *__restrict __addr, socklen_t *__restrict __addr_len);extern int shutdown (int __fd, int __how) __attribute__ ((__nothrow__));# 231 "/usr/include/sys/socket.h" 3 4extern int isfdtype (int __fd, int __fdtype) __attribute__ ((__nothrow__));# 25 "/usr/include/netinet/in.h" 2 3 4enum { 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" 3 4struct 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" 3 4struct 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" 3 4# 1 "/usr/include/bits/in.h" 1 3 4# 82 "/usr/include/bits/in.h" 3 4struct 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 3 4# 354 "/usr/include/netinet/in.h" 3 4extern 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 3 4# 366 "/usr/include/netinet/in.h" 2 3 4# 428 "/usr/include/netinet/in.h" 3 4extern 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" 3 4struct in6_pktinfo { struct in6_addr ipi6_addr; unsigned int ipi6_ifindex; };# 510 "/usr/include/netinet/in.h" 3 4# 29 "/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/i686-pc-linux-gnu/3.4.3/include/stddef.h" 1 3 4# 43 "/usr/include/rpc/netdb.h" 2 3 4struct 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 3 4# 43 "/usr/include/netdb.h" 3 4# 1 "/usr/include/bits/netdb.h" 1 3 4# 27 "/usr/include/bits/netdb.h" 3 4struct netent{ char *n_name; char **n_aliases; int n_addrtype; uint32_t n_net;};# 44 "/usr/include/netdb.h" 2 3 4# 54 "/usr/include/netdb.h" 3 4extern int *__h_errno_location (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__));# 88 "/usr/include/netdb.h" 3 4extern 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" 3 4extern struct hostent *gethostbyname2 (__const char *__name, int __af);# 161 "/usr/include/netdb.h" 3 4extern 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" 3 4extern 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" 3 4extern 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" 3 4extern 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" 3 4extern 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" 3 4extern int setnetgrent (__const char *__netgroup);extern void endnetgrent (void);# 407 "/usr/include/netdb.h" 3 4extern int getnetgrent (char **__restrict __hostp, char **__restrict __userp, char **__restrict __domainp);# 418 "/usr/include/netdb.h" 3 4extern 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" 3 4extern 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" 3 4extern 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" 3 4extern 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" 3 4extern 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" 3 4extern int ruserok (__const char *__rhost, int __suser, __const char *__remuser, __const char *__locuser);# 510 "/usr/include/netdb.h" 3 4extern int ruserok_af (__const char *__rhost, int __suser, __const char *__remuser, __const char *__locuser, sa_family_t __af);# 522 "/usr/include/netdb.h" 3 4extern int rresvport (int *__alport);# 531 "/usr/include/netdb.h" 3 4extern 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" 3 4extern 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" 3 4# 4 "libipt_ipp2p.c" 2# 1 "/usr/include/string.h" 1 3 4# 28 "/usr/include/string.h" 3 4# 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/stddef.h" 1 3 4# 34 "/usr/include/string.h" 2 3 4extern 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" 3 4extern 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" 3 4extern char *strdup (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));# 165 "/usr/include/string.h" 3 4extern 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" 3 4extern 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" 3 4extern size_t strlen (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));# 254 "/usr/include/string.h" 3 4extern char *strerror (int __errnum) __attribute__ ((__nothrow__));# 281 "/usr/include/string.h" 3 4extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));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" 3 4extern 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" 3 4extern char *strsep (char **__restrict __stringp, __const char *__restrict __delim) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));# 426 "/usr/include/string.h" 3 4# 5 "libipt_ipp2p.c" 2# 1 "/usr/include/stdlib.h" 1 3 4# 33 "/usr/include/stdlib.h" 3 4# 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/stddef.h" 1 3 4# 34 "/usr/include/stdlib.h" 2 3 4# 96 "/usr/include/stdlib.h" 3 4typedef struct { int quot; int rem; } div_t;typedef struct { long int quot; long int rem; } ldiv_t;# 140 "/usr/include/stdlib.h" 3 4extern 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)));# 181 "/usr/include/stdlib.h" 3 4extern 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)));# 277 "/usr/include/stdlib.h" 3 4extern 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)));# 424 "/usr/include/stdlib.h" 3 4extern char *l64a (long int __n) __attribute__ ((__nothrow__));extern long int a64l (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));# 440 "/usr/include/stdlib.h" 3 4extern 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__));extern void free (void *__ptr) __attribute__ ((__nothrow__));extern void cfree (void *__ptr) __attribute__ ((__nothrow__));# 1 "/usr/include/alloca.h" 1 3 4# 25 "/usr/include/alloca.h" 3 4# 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/stddef.h" 1 3 4# 26 "/usr/include/alloca.h" 2 3 4extern void *alloca (size_t __size) __attribute__ ((__nothrow__));# 607 "/usr/include/stdlib.h" 2 3 4extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));# 620 "/usr/include/stdlib.h" 3 4extern 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__));# 652 "/usr/include/stdlib.h" 3 4extern 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__ (1, 2)));extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));extern int clearenv (void) __attribute__ ((__nothrow__));# 691 "/usr/include/stdlib.h" 3 4extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));# 702 "/usr/include/stdlib.h" 3 4extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1)));# 721 "/usr/include/stdlib.h" 3 4extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));extern int system (__const char *__command);# 749 "/usr/include/stdlib.h" 3 4extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));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__));# 814 "/usr/include/stdlib.h" 3 4extern 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)));# 954 "/usr/include/stdlib.h" 3 4extern int getloadavg (double __loadavg[], int __nelem) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));# 6 "libipt_ipp2p.c" 2# 1 "/usr/include/getopt.h" 1 3 4# 59 "/usr/include/getopt.h" 3 4extern char *optarg;# 73 "/usr/include/getopt.h" 3 4extern int optind;extern int opterr;extern int optopt;# 106 "/usr/include/getopt.h" 3 4struct option{ const char *name; int has_arg; int *flag; int val;};# 152 "/usr/include/getopt.h" 3 4extern 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__));# 7 "libipt_ipp2p.c" 2# 1 "/usr/include/ctype.h" 1 3 4# 30 "/usr/include/ctype.h" 3 4# 48 "/usr/include/ctype.h" 3 4enum{ _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))};# 81 "/usr/include/ctype.h" 3 4extern __const unsigned short int **__ctype_b_loc (void) __attribute__ ((__const));extern __const __int32_t **__ctype_tolower_loc (void) __attribute__ ((__const));extern __const __int32_t **__ctype_toupper_loc (void) __attribute__ ((__const));# 96 "/usr/include/ctype.h" 3 4extern int isalnum (int) __attribute__ ((__nothrow__));extern int isalpha (int) __attribute__ ((__nothrow__));extern int iscntrl (int) __attribute__ ((__nothrow__));extern int isdigit (int) __attribute__ ((__nothrow__));extern int islower (int) __attribute__ ((__nothrow__));extern int isgraph (int) __attribute__ ((__nothrow__));extern int isprint (int) __attribute__ ((__nothrow__));extern int ispunct (int) __attribute__ ((__nothrow__));extern int isspace (int) __attribute__ ((__nothrow__));extern int isupper (int) __attribute__ ((__nothrow__));extern int isxdigit (int) __attribute__ ((__nothrow__));extern int tolower (int __c) __attribute__ ((__nothrow__));extern int toupper (int __c) __attribute__ ((__nothrow__));# 142 "/usr/include/ctype.h" 3 4extern int isascii (int __c) __attribute__ ((__nothrow__));extern int toascii (int __c) __attribute__ ((__nothrow__));extern int _toupper (int) __attribute__ ((__nothrow__));extern int _tolower (int) __attribute__ ((__nothrow__));# 323 "/usr/include/ctype.h" 3 4# 8 "libipt_ipp2p.c" 2# 1 "/var/abs/system/iptables/src/iptables-1.3.1/include/iptables.h" 1# 1 "/var/abs/system/iptables/src/iptables-1.3.1/include/iptables_common.h" 1enum exittype { OTHER_PROBLEM = 1, PARAMETER_PROBLEM, VERSION_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);void exit_error(enum exittype, char *, ...)__attribute__((noreturn, format(printf,2,3)));extern const char *program_name, *program_version;extern char *lib_dir;# 5 "/var/abs/system/iptables/src/iptables-1.3.1/include/iptables.h" 2# 1 "/var/abs/system/iptables/src/iptables-1.3.1/include/libiptc/libiptc.h" 1# 1 "/var/abs/system/iptables/src/iptables-1.3.1/include/libiptc/ipt_kernel_headers.h" 1# 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/limits.h" 1 3 4# 7 "/var/abs/system/iptables/src/iptables-1.3.1/include/libiptc/ipt_kernel_headers.h" 2# 1 "/usr/include/netinet/ip.h" 1 3 4# 27 "/usr/include/netinet/ip.h" 3 4struct 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" 3 4struct 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" 3 4# 10 "/var/abs/system/iptables/src/iptables-1.3.1/include/libiptc/ipt_kernel_headers.h" 2# 1 "/usr/include/netinet/ip_icmp.h" 1 3 4# 25 "/usr/include/netinet/ip_icmp.h" 3 4struct 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" 3 4struct 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" 3 4 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" 3 4# 12 "/var/abs/system/iptables/src/iptables-1.3.1/include/libiptc/ipt_kernel_headers.h" 2# 1 "/usr/include/netinet/tcp.h" 1 3 4# 89 "/usr/include/netinet/tcp.h" 3 4struct 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" 3 4 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" 3 4enum 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 "/var/abs/system/iptables/src/iptables-1.3.1/include/libiptc/ipt_kernel_headers.h" 2# 1 "/usr/include/netinet/udp.h" 1 3 4# 68 "/usr/include/netinet/udp.h" 3 4struct udphdr{ u_int16_t source; u_int16_t dest; u_int16_t len; u_int16_t check;};# 14 "/var/abs/system/iptables/src/iptables-1.3.1/include/libiptc/ipt_kernel_headers.h" 2# 1 "/usr/include/net/if.h" 1 3 4# 34 "/usr/include/net/if.h" 3 4struct 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 };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; };# 110 "/usr/include/net/if.h" 3 4struct 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; };# 175 "/usr/include/net/if.h" 3 4struct 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 "/var/abs/system/iptables/src/iptables-1.3.1/include/libiptc/ipt_kernel_headers.h" 2# 6 "/var/abs/system/iptables/src/iptables-1.3.1/include/libiptc/libiptc.h" 2# 1 "/usr/include/linux/netfilter_ipv4/ip_tables.h" 1 3 4# 18 "/usr/include/linux/netfilter_ipv4/ip_tables.h" 3 4# 1 "/usr/include/linux/netfilter_ipv4.h" 1 3 4# 1 "/usr/include/linux/netfilter.h" 1 3 4# 9 "/usr/include/linux/netfilter_ipv4.h" 2 3 4# 51 "/usr/include/linux/netfilter_ipv4.h" 3 4enum 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_LAST = 2147483647,};# 19 "/usr/include/linux/netfilter_ipv4/ip_tables.h" 2 3 4struct 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;};struct ipt_entry_match{ union { struct { u_int16_t match_size; char name[30]; } user; struct { u_int16_t match_size; struct ipt_match *match; } kernel; u_int16_t match_size; } u; unsigned char data[0];};struct ipt_entry_target{ union { struct { u_int16_t target_size; char name[30]; } user; struct { u_int16_t target_size; struct ipt_target *target; } kernel; u_int16_t target_size; } u; unsigned char data[0];};struct ipt_standard_target{ struct ipt_entry_target target; int verdict;};struct ipt_counters{ u_int64_t pcnt, bcnt;};# 115 "/usr/include/linux/netfilter_ipv4/ip_tables.h" 3 4struct ipt_entry{ struct ipt_ip ip; unsigned int nfcache; u_int16_t target_offset; u_int16_t next_offset; unsigned int comefrom; struct ipt_counters counters; unsigned char elems[0];};# 158 "/usr/include/linux/netfilter_ipv4/ip_tables.h" 3 4struct ipt_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;};# 176 "/usr/include/linux/netfilter_ipv4/ip_tables.h" 3 4struct ipt_udp{ u_int16_t spts[2]; u_int16_t dpts[2]; u_int8_t invflags;};struct ipt_icmp{ u_int8_t type; u_int8_t code[2]; u_int8_t invflags;};struct ipt_getinfo{ char name[32]; 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[32]; 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 ipt_counters *counters; struct ipt_entry entries[0];};struct ipt_counters_info{ char name[32]; unsigned int num_counters; struct ipt_counters counters[0];};struct ipt_get_entries{ char name[32]; unsigned int size; struct ipt_entry entrytable[0];};static __inline__ struct ipt_entry_target *ipt_get_target(struct ipt_entry *e){ return (void *)e + e->target_offset;}# 7 "/var/abs/system/iptables/src/iptables-1.3.1/include/libiptc/libiptc.h" 2# 21 "/var/abs/system/iptables/src/iptables-1.3.1/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 ipt_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 ipt_counters *counters, iptc_handle_t *handle);int iptc_get_references(unsigned int *ref, const ipt_chainlabel chain, iptc_handle_t *handle);struct ipt_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 ipt_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 "/var/abs/system/iptables/src/iptables-1.3.1/include/iptables.h" 2# 19 "/var/abs/system/iptables/src/iptables-1.3.1/include/iptables.h"struct ipt_get_revision{ char name[30 -1]; u_int8_t revision;};struct iptables_rule_match{ struct iptables_rule_match *next; struct iptables_match *match;};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 ipt_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 ipt_entry_match **match); void (*final_check)(unsigned int flags); void (*print)(const struct ipt_ip *ip, const struct ipt_entry_match *match, int numeric); void (*save)(const struct ipt_ip *ip, const struct ipt_entry_match *match); const struct option *extra_opts; unsigned int option_offset; struct ipt_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 ipt_entry_target *t, unsigned int *nfcache); int (*parse)(int c, char **argv, int invert, unsigned int *flags, const struct ipt_entry *entry, struct ipt_entry_target **target); void (*final_check)(unsigned int flags); void (*print)(const struct ipt_ip *ip, const struct ipt_entry_target *target, int numeric); void (*save)(const struct ipt_ip *ip, const struct ipt_entry_target *target); struct option *extra_opts; unsigned int option_offset; struct ipt_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 struct in_addr *dotted_to_addr(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 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, 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);# 10 "libipt_ipp2p.c" 2# 1 "ipt_ipp2p.h" 1struct ipt_p2p_info { int cmd; int debug; int proto;};# 12 "libipt_ipp2p.c" 2static voidhelp(void){ printf( "IPP2P v%s options:\n" " --ipp2p Grab all known p2p packets\n" " --ipp2p-data Identify all known p2p download commands (obsolete)\n\n" " --edk [TCP&UDP] All known eDonkey/eMule/Overnet packets\n" " --dc [TCP] All known Direct Connect packets\n" " --kazaa [TCP&UDP] All known KaZaA packets\n" " --gnu [TCP&UDP] All known Gnutella packets\n" " --bit [TCP&UDP] All known BitTorrent packets\n" " --apple [TCP] All known AppleJuice packets (beta - just a few tests until now)\n" " --winmx [TCP] All known WinMX (beta - need feedback)\n" " --soul [TCP] All known SoulSeek (beta - need feedback!)\n" " --ares [TCP] All known Ares - use with DROP only (beta - need feedback!)\n\n" " --edk-data [TCP] eDonkey/eMule/Overnet download commands (obsolete)\n" " --dc-data [TCP] Direct Connect download command (obsolete)\n" " --kazaa-data [TCP] KaZaA download command (obsolete)\n" " --gnu-data [TCP] Gnutella download command (obsolete)\n" "\nNote that the follwing options will have the same meaning:\n" " '--ipp2p' is equal to '--edk --dc --kazaa --gnu'\n" " '--ipp2p-data' is equal to '--edk-data --dc-data --kazaa-data --gnu-data'\n" "\nIPP2P was intended for TCP only. Due to increasing usage of UDP we needed to change this:\n" " --udp search UDP packets only\n" " --tcp search TCP packets only\n" " --udp --tcp search UDP and TCP packets\n" "\nSee README included with this package for more details or visit http://www.ipp2p.org\n" "\nExamples:\n" " iptables -A FORWARD -m ipp2p --ipp2p -j MARK --set-mark 0x01\n" " iptables -A FORWARD -m ipp2p --udp --kazaa --bit -j DROP\n" " iptables -A FORWARD -m ipp2p --tcp --edk --soul -j DROP\n\n" , "0.7.1");}static struct option opts[] = { { "ipp2p", 0, 0, '1' }, { "edk", 0, 0, '2' }, { "ipp2p-data", 0, 0, '3' }, { "kazaa-data", 0, 0, '4' }, { "edk-data", 0, 0, '5' }, { "dc-data", 0, 0, '6' }, { "dc", 0, 0, '7' }, { "gnu-data", 0, 0, '8' }, { "gnu", 0, 0, '9' }, { "kazaa", 0, 0, 'a' }, { "bit", 0, 0, 'b' }, { "apple", 0, 0, 'c' }, { "soul", 0, 0, 'd' }, { "winmx", 0, 0, 'e' }, { "ares", 0, 0, 'f' }, { "debug", 0, 0, 'g' }, { "udp", 0, 0, 'h' }, { "tcp", 0, 0, 'i' }, {0}};static voidinit(struct ipt_entry_match *m, unsigned int *nfcache){ struct ipt_p2p_info *info = (struct ipt_p2p_info *)m->data; *nfcache |= 0x4000; info->cmd = 0; info->debug = 0; info->proto = 1;}static intparse(int c, char **argv, int invert, unsigned int *flags, const struct ipt_entry *entry, unsigned int *nfcache, struct ipt_entry_match **match){ struct ipt_p2p_info *info = (struct ipt_p2p_info *)(*match)->data; switch (c) { case '1': if ((*flags & 1) == 1) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ipp2p' may only be " "specified once!"); if ((*flags & 4) == 4) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ipp2p-data' may only be " "specified alone!"); if ((*flags) != 0) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ipp2p' may only be " "specified alone!"); if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!"); *flags += 1; info->cmd = *flags; break; case '2': if ((*flags & 2) == 2) exit_error(PARAMETER_PROBLEM, "ipp2p: `--edk' may only be " "specified once"); if ((*flags & 1) == 1) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ipp2p' may only be " "specified alone!"); if ((*flags & 4) == 4) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ipp2p-data' may only be " "specified alone!"); if ((*flags & 16) == 16) exit_error(PARAMETER_PROBLEM, "ipp2p: use `--edk' OR `--edk-data' but not both of them!"); if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!"); *flags += 2; info->cmd = *flags; break; case '3': if ((*flags & 4) == 4) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ipp2p-data' may only be " "specified once!"); if ((*flags & 1) == 1) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ipp2p' may only be " "specified alone!"); if ((*flags) != 0) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ipp2p-data' may only be " "specified alone!"); if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!"); *flags += 4; info->cmd = *flags; break; case '4': if ((*flags & 8) == 8) exit_error(PARAMETER_PROBLEM, "ipp2p: `--kazaa-data' may only be " "specified once!"); if ((*flags & 1) == 1) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ipp2p' may only be " "specified alone!"); if ((*flags & 4) == 4) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ipp2p-data' may only be " "specified alone!"); if ((*flags & 512) == 512) exit_error(PARAMETER_PROBLEM, "ipp2p: use `--kazaa' OR `--kazaa-data' but not both of them!"); if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!"); *flags += 8; info->cmd = *flags; break; case '5': if ((*flags & 16) == 16) exit_error(PARAMETER_PROBLEM, "ipp2p: `--edk-data' may only be " "specified once!"); if ((*flags & 1) == 1) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ipp2p' may only be " "specified alone!"); if ((*flags & 4) == 4) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ipp2p-data' may only be " "specified alone!"); if ((*flags & 2) == 2) exit_error(PARAMETER_PROBLEM, "ipp2p: use `--edk' OR `--edk-data' but not both of them!"); if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!"); *flags += 16; info->cmd = *flags; break; case '6': if ((*flags & 32) == 32) exit_error(PARAMETER_PROBLEM, "ipp2p: `--dc-data' may only be " "specified once!"); if ((*flags & 4) == 4) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ipp2p-data' may only be " "specified alone!"); if ((*flags & 1) == 1) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ipp2p' may only be " "specified alone!"); if ((*flags & 64) == 64) exit_error(PARAMETER_PROBLEM, "ipp2p: use `--dc' OR `--dc-data' but not both of them!"); if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!"); *flags += 32; info->cmd = *flags; break; case '7': if ((*flags & 64) == 64) exit_error(PARAMETER_PROBLEM, "ipp2p: `--dc' may only be " "specified once!"); if ((*flags & 1) == 1) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ipp2p' may only be " "specified alone!"); if ((*flags & 4) == 4) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ipp2p-data' may only be " "specified alone!"); if ((*flags & 32) == 32) exit_error(PARAMETER_PROBLEM, "ipp2p: use `--dc' OR `--dc-data' but not both of them!"); if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!"); *flags += 64; info->cmd = *flags; break; case '8': if ((*flags & 128) == 128) exit_error(PARAMETER_PROBLEM, "ipp2p: `--gnu-data' may only be " "specified once!"); if ((*flags & 1) == 1) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ipp2p' may only be " "specified alone!"); if ((*flags & 4) == 4) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ipp2p-data' may only be " "specified alone!"); if ((*flags & 256) == 256) exit_error(PARAMETER_PROBLEM, "ipp2p: use `--gnu' OR `--gnu-data' but not both of them!"); if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!"); *flags += 128; info->cmd = *flags; break; case '9': if ((*flags & 256) == 256) exit_error(PARAMETER_PROBLEM, "ipp2p: `--gnu' may only be " "specified once!"); if ((*flags & 4) == 4) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ipp2p-data' may only be " "specified alone!"); if ((*flags & 1) == 1) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ipp2p' may only be " "specified alone!"); if ((*flags & 128) == 128) exit_error(PARAMETER_PROBLEM, "ipp2p: use `--gnu' OR `--gnu-data' but not both of them!"); if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!"); *flags += 256; info->cmd = *flags; break; case 'a': if ((*flags & 512) == 512) exit_error(PARAMETER_PROBLEM, "ipp2p: `--kazaa' may only be " "specified once!"); if ((*flags & 4) == 4) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ipp2p-data' may only be " "specified alone!"); if ((*flags & 1) == 1) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ipp2p' may only be " "specified alone!"); if ((*flags & 8) == 8) exit_error(PARAMETER_PROBLEM, "ipp2p: use `--kazaa' OR `--kazaa-data' but not both of them!"); if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!"); *flags += 512; info->cmd = *flags; break; case 'b': if ((*flags & 1024) == 1024) exit_error(PARAMETER_PROBLEM, "ipp2p: `--bit' may only be " "specified once!"); if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!"); *flags += 1024; info->cmd = *flags; break; case 'c': if ((*flags & 2048) == 2048) exit_error(PARAMETER_PROBLEM, "ipp2p: `--apple' may only be " "specified once!"); if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!"); *flags += 2048; info->cmd = *flags; break; case 'd': if ((*flags & 4096) == 4096) exit_error(PARAMETER_PROBLEM, "ipp2p: `--soul' may only be " "specified once!"); if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!"); *flags += 4096; info->cmd = *flags; break; case 'e': if ((*flags & 8192) == 8192) exit_error(PARAMETER_PROBLEM, "ipp2p: `--winmx' may only be " "specified once!"); if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!"); *flags += 8192; info->cmd = *flags; break; case 'f': if ((*flags & 16384) == 16384) exit_error(PARAMETER_PROBLEM, "ipp2p: `--ares' may only be " "specified once!"); if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!"); *flags += 16384; info->cmd = *flags; break; case 'g': if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!"); info->debug = 1; break; case 'h': if ((info->proto & 2) == 2) exit_error(PARAMETER_PROBLEM, "ipp2p: --udp may only be specified once!"); if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!"); info->proto += 2; break; case 'i': if ((info->proto & 4) == 4) exit_error(PARAMETER_PROBLEM, "ipp2p: --tcp may only be specified once!"); if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!"); info->proto += 4; break; default: exit_error(PARAMETER_PROBLEM, "\nipp2p-parameter problem: for ipp2p usage type: iptables -m ipp2p --help\n"); return 0; } return 1;}static voidfinal_check(unsigned int flags){ if (!flags) exit_error(PARAMETER_PROBLEM, "\nipp2p-parameter problem: for ipp2p usage type: iptables -m ipp2p --help\n");}static voidprint(const struct ipt_ip *ip, const struct ipt_entry_match *match, int numeric){ struct ipt_p2p_info *info = (struct ipt_p2p_info *)match->data; printf("ipp2p v%s", "0.7.1"); if ((info->cmd & 1) == 1) printf(" --ipp2p"); if ((info->cmd & 4) == 4) printf(" --ipp2p-data"); if ((info->cmd & 512) == 512) printf(" --kazaa"); if ((info->cmd & 8) == 8) printf(" --kazaa-data"); if ((info->cmd & 128) == 128) printf(" --gnu-data"); if ((info->cmd & 256) == 256) printf(" --gnu"); if ((info->cmd & 2) == 2) printf(" --edk"); if ((info->cmd & 16) == 16) printf(" --edk-data"); if ((info->cmd & 32) == 32) printf(" --dc-data"); if ((info->cmd & 64) == 64) printf(" --dc"); if ((info->cmd & 1024) == 1024) printf(" --bit"); if ((info->cmd & 2048) == 2048) printf(" --apple"); if ((info->cmd & 4096) == 4096) printf(" --soul"); if ((info->cmd & 8192) == 8192) printf(" --winmx"); if ((info->cmd & 16384) == 16384) printf(" --ares"); if ((info->proto & 2) == 2) printf(" --udp"); if ((info->proto & 4) == 4) printf(" --tcp"); if (info->debug != 0) printf(" --debug"); printf(" ");}static voidsave(const struct ipt_ip *ip, const struct ipt_entry_match *match){ struct ipt_p2p_info *info = (struct ipt_p2p_info *)match->data; if ((info->cmd & 1) == 1) printf("--ipp2p "); if ((info->cmd & 4) == 4) printf("--ipp2p-data "); if ((info->cmd & 512) == 512) printf("--kazaa "); if ((info->cmd & 8) == 8) printf("--kazaa-data "); if ((info->cmd & 128) == 128) printf("--gnu-data "); if ((info->cmd & 256) == 256) printf("--gnu "); if ((info->cmd & 2) == 2) printf("--edk "); if ((info->cmd & 16) == 16) printf("--edk-data "); if ((info->cmd & 32) == 32) printf("--dc-data "); if ((info->cmd & 64) == 64) printf("--dc "); if ((info->cmd & 1024) == 1024) printf("--bit "); if ((info->cmd & 2048) == 2048) printf("--apple "); if ((info->cmd & 4096) == 4096) printf("--soul "); if ((info->cmd & 8192) == 8192) printf("--winmx "); if ((info->cmd & 16384) == 16384) printf("--ares "); if ((info->proto & 2) == 2) printf("--udp "); if ((info->proto & 4) == 4) printf("--tcp "); if (info->debug != 0) printf("--debug ");}staticstruct iptables_match ipp2p= { ((void *)0), "ipp2p", "1.3.1", (((sizeof(struct ipt_p2p_info)) + (((__alignof__(struct ipt_entry)))-1)) & ~(((__alignof__(struct ipt_entry)))-1)), (((sizeof(struct ipt_p2p_info)) + (((__alignof__(struct ipt_entry)))-1)) & ~(((__alignof__(struct ipt_entry)))-1)), &help, &init, &parse, &final_check, &print, &save, &opts};void _init(void){ register_match(&ipp2p);}ld -shared -o libipt_ipp2p.so libipt_ipp2p.o