gcc -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 "" # 1 "" # 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 4 typedef 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 4 typedef unsigned char __u_char; typedef unsigned short int __u_short; typedef unsigned int __u_int; typedef unsigned long int __u_long; typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef signed short int __int16_t; typedef unsigned short int __uint16_t; typedef signed int __int32_t; typedef unsigned int __uint32_t; __extension__ typedef signed long long int __int64_t; __extension__ typedef unsigned long long int __uint64_t; __extension__ typedef long long int __quad_t; __extension__ typedef unsigned long long int __u_quad_t; # 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 4 typedef struct _IO_FILE FILE; # 62 "/usr/include/stdio.h" 3 4 typedef 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 4 typedef long int wchar_t; # 354 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/stddef.h" 3 4 typedef 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 4 typedef struct { int __count; union { wint_t __wch; char __wchb[4]; } __value; } __mbstate_t; # 25 "/usr/include/_G_config.h" 2 3 4 typedef struct { __off_t __pos; __mbstate_t __state; } _G_fpos_t; typedef struct { __off64_t __pos; __mbstate_t __state; } _G_fpos64_t; # 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 4 enum { __GCONV_OK = 0, __GCONV_NOCONV, __GCONV_NODB, __GCONV_NOMEM, __GCONV_EMPTY_INPUT, __GCONV_FULL_OUTPUT, __GCONV_ILLEGAL_INPUT, __GCONV_INCOMPLETE_INPUT, __GCONV_ILLEGAL_DESCRIPTOR, __GCONV_INTERNAL_ERROR }; enum { __GCONV_IS_LAST = 0x0001, __GCONV_IGNORE_ERRORS = 0x0002 }; struct __gconv_step; struct __gconv_step_data; struct __gconv_loaded_object; struct __gconv_trans_data; typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *, int, int); typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char); typedef int (*__gconv_init_fct) (struct __gconv_step *); typedef void (*__gconv_end_fct) (struct __gconv_step *); typedef int (*__gconv_trans_fct) (struct __gconv_step *, struct __gconv_step_data *, void *, __const unsigned char *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *); typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *, __const unsigned char *, unsigned char *, unsigned char *); typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***, size_t *); typedef int (*__gconv_trans_init_fct) (void **, const char *); typedef void (*__gconv_trans_end_fct) (void *); struct __gconv_trans_data { __gconv_trans_fct __trans_fct; __gconv_trans_context_fct __trans_context_fct; __gconv_trans_end_fct __trans_end_fct; void *__data; struct __gconv_trans_data *__next; }; struct __gconv_step { struct __gconv_loaded_object *__shlib_handle; __const char *__modname; int __counter; char *__from_name; char *__to_name; __gconv_fct __fct; __gconv_btowc_fct __btowc_fct; __gconv_init_fct __init_fct; __gconv_end_fct __end_fct; int __min_needed_from; int __max_needed_from; int __min_needed_to; int __max_needed_to; int __stateful; void *__data; }; struct __gconv_step_data { unsigned char *__outbuf; unsigned char *__outbufend; int __flags; int __invocation_counter; int __internal_use; __mbstate_t *__statep; __mbstate_t __state; struct __gconv_trans_data *__trans; }; typedef struct __gconv_info { size_t __nsteps; struct __gconv_step *__steps; __extension__ struct __gconv_step_data __data []; } *__gconv_t; # 45 "/usr/include/_G_config.h" 2 3 4 typedef union { struct __gconv_info __cd; struct { struct __gconv_info __cd; struct __gconv_step_data __data; } __combined; } _G_iconv_t; typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); # 33 "/usr/include/libio.h" 2 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 4 typedef __builtin_va_list __gnuc_va_list; # 54 "/usr/include/libio.h" 2 3 4 # 166 "/usr/include/libio.h" 3 4 struct _IO_jump_t; struct _IO_FILE; # 176 "/usr/include/libio.h" 3 4 typedef 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 4 struct _IO_FILE { int _flags; char* _IO_read_ptr; char* _IO_read_end; char* _IO_read_base; char* _IO_write_base; char* _IO_write_ptr; char* _IO_write_end; char* _IO_buf_base; char* _IO_buf_end; char *_IO_save_base; char *_IO_backup_base; char *_IO_save_end; struct _IO_marker *_markers; struct _IO_FILE *_chain; int _fileno; int _flags2; __off_t _old_offset; unsigned short _cur_column; signed char _vtable_offset; char _shortbuf[1]; _IO_lock_t *_lock; # 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 4 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf, size_t __n); typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); typedef int __io_close_fn (void *__cookie); # 406 "/usr/include/libio.h" 3 4 extern int __underflow (_IO_FILE *) __attribute__ ((__nothrow__)); extern int __uflow (_IO_FILE *) __attribute__ ((__nothrow__)); extern int __overflow (_IO_FILE *, int) __attribute__ ((__nothrow__)); extern wint_t __wunderflow (_IO_FILE *) __attribute__ ((__nothrow__)); extern wint_t __wuflow (_IO_FILE *) __attribute__ ((__nothrow__)); extern wint_t __woverflow (_IO_FILE *, wint_t) __attribute__ ((__nothrow__)); # 444 "/usr/include/libio.h" 3 4 extern int _IO_getc (_IO_FILE *__fp) __attribute__ ((__nothrow__)); extern int _IO_putc (int __c, _IO_FILE *__fp) __attribute__ ((__nothrow__)); extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__)); extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__)); extern int _IO_peekc_locked (_IO_FILE *__fp) __attribute__ ((__nothrow__)); extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__)); extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__)); extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__)); # 474 "/usr/include/libio.h" 3 4 extern 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 4 typedef _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 4 extern struct _IO_FILE *stdin; extern struct _IO_FILE *stdout; extern struct _IO_FILE *stderr; extern int remove (__const char *__filename) __attribute__ ((__nothrow__)); extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__)); extern FILE *tmpfile (void); # 178 "/usr/include/stdio.h" 3 4 extern char *tmpnam (char *__s) __attribute__ ((__nothrow__)); extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__)); # 196 "/usr/include/stdio.h" 3 4 extern 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 4 extern int fflush_unlocked (FILE *__stream); # 235 "/usr/include/stdio.h" 3 4 extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes); extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream); # 262 "/usr/include/stdio.h" 3 4 # 273 "/usr/include/stdio.h" 3 4 extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__)); # 294 "/usr/include/stdio.h" 3 4 extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__)); extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) __attribute__ ((__nothrow__)); extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) __attribute__ ((__nothrow__)); extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__)); extern int fprintf (FILE *__restrict __stream, __const char *__restrict __format, ...); extern int printf (__const char *__restrict __format, ...); extern int sprintf (char *__restrict __s, __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg); extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg); extern int vsprintf (char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__)); extern int snprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); # 388 "/usr/include/stdio.h" 3 4 extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...); extern int scanf (__const char *__restrict __format, ...); extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); # 430 "/usr/include/stdio.h" 3 4 extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); # 454 "/usr/include/stdio.h" 3 4 extern int getc_unlocked (FILE *__stream); extern int getchar_unlocked (void); # 465 "/usr/include/stdio.h" 3 4 extern int fgetc_unlocked (FILE *__stream); extern int fputc (int __c, FILE *__stream); extern int putc (int __c, FILE *__stream); extern int putchar (int __c); # 498 "/usr/include/stdio.h" 3 4 extern int fputc_unlocked (int __c, FILE *__stream); extern int putc_unlocked (int __c, FILE *__stream); extern int putchar_unlocked (int __c); extern int getw (FILE *__stream); extern int putw (int __w, FILE *__stream); extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream); extern char *gets (char *__s); # 578 "/usr/include/stdio.h" 3 4 extern int fputs (__const char *__restrict __s, FILE *__restrict __stream); extern int puts (__const char *__s); extern int ungetc (int __c, FILE *__stream); extern size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream); extern size_t fwrite (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s); # 631 "/usr/include/stdio.h" 3 4 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream); extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream); extern int fseek (FILE *__stream, long int __off, int __whence); extern long int ftell (FILE *__stream); extern void rewind (FILE *__stream); # 686 "/usr/include/stdio.h" 3 4 extern 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 4 extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__)); extern int feof (FILE *__stream) __attribute__ ((__nothrow__)); extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)); extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__)); extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__)); extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__)); extern void perror (__const char *__s); # 1 "/usr/include/bits/sys_errlist.h" 1 3 4 # 27 "/usr/include/bits/sys_errlist.h" 3 4 extern int sys_nerr; extern __const char *__const sys_errlist[]; # 748 "/usr/include/stdio.h" 2 3 4 extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)); extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)); # 767 "/usr/include/stdio.h" 3 4 extern 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 4 extern 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 4 typedef signed char int8_t; typedef short int int16_t; typedef int int32_t; __extension__ typedef long long int int64_t; typedef unsigned char uint8_t; typedef unsigned short int uint16_t; typedef unsigned int uint32_t; __extension__ typedef unsigned long long int uint64_t; typedef signed char int_least8_t; typedef short int int_least16_t; typedef int int_least32_t; __extension__ typedef long long int int_least64_t; typedef unsigned char uint_least8_t; typedef unsigned short int uint_least16_t; typedef unsigned int uint_least32_t; __extension__ typedef unsigned long long int uint_least64_t; typedef signed char int_fast8_t; typedef int int_fast16_t; typedef int int_fast32_t; __extension__ typedef long long int int_fast64_t; typedef unsigned char uint_fast8_t; typedef unsigned int uint_fast16_t; typedef unsigned int uint_fast32_t; __extension__ typedef unsigned long long int uint_fast64_t; # 126 "/usr/include/stdint.h" 3 4 typedef 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 4 typedef __u_char u_char; typedef __u_short u_short; typedef __u_int u_int; typedef __u_long u_long; typedef __quad_t quad_t; typedef __u_quad_t u_quad_t; typedef __fsid_t fsid_t; typedef __loff_t loff_t; typedef __ino_t ino_t; # 62 "/usr/include/sys/types.h" 3 4 typedef __dev_t dev_t; typedef __gid_t gid_t; typedef __mode_t mode_t; typedef __nlink_t nlink_t; typedef __uid_t uid_t; typedef __off_t off_t; # 100 "/usr/include/sys/types.h" 3 4 typedef __pid_t pid_t; typedef __id_t id_t; typedef __ssize_t ssize_t; typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; typedef __key_t key_t; # 133 "/usr/include/sys/types.h" 3 4 # 1 "/usr/include/time.h" 1 3 4 # 74 "/usr/include/time.h" 3 4 typedef __time_t time_t; # 92 "/usr/include/time.h" 3 4 typedef __clockid_t clockid_t; # 104 "/usr/include/time.h" 3 4 typedef __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 4 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 197 "/usr/include/sys/types.h" 3 4 typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); typedef int register_t __attribute__ ((__mode__ (__word__))); # 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 4 typedef int __sig_atomic_t; typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 35 "/usr/include/sys/select.h" 2 3 4 typedef __sigset_t sigset_t; # 1 "/usr/include/time.h" 1 3 4 # 118 "/usr/include/time.h" 3 4 struct 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 4 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 47 "/usr/include/sys/select.h" 2 3 4 typedef __suseconds_t suseconds_t; typedef long int __fd_mask; # 67 "/usr/include/sys/select.h" 3 4 typedef 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 4 extern 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 4 typedef __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 4 struct __sched_param { int __sched_priority; }; # 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 struct _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 4 typedef 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 4 struct iovec { void *iov_base; size_t iov_len; }; # 30 "/usr/include/sys/uio.h" 2 3 4 # 40 "/usr/include/sys/uio.h" 3 4 extern ssize_t readv (int __fd, __const struct iovec *__iovec, int __count); # 50 "/usr/include/sys/uio.h" 3 4 extern 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 4 typedef __socklen_t socklen_t; enum __socket_type { SOCK_STREAM = 1, SOCK_DGRAM = 2, SOCK_RAW = 3, SOCK_RDM = 4, SOCK_SEQPACKET = 5, SOCK_PACKET = 10 }; # 142 "/usr/include/bits/socket.h" 3 4 # 1 "/usr/include/bits/sockaddr.h" 1 3 4 # 29 "/usr/include/bits/sockaddr.h" 3 4 typedef unsigned short int sa_family_t; # 143 "/usr/include/bits/socket.h" 2 3 4 struct sockaddr { sa_family_t sa_family; char sa_data[14]; }; # 162 "/usr/include/bits/socket.h" 3 4 struct sockaddr_storage { sa_family_t ss_family; __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 4 extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg) __attribute__ ((__nothrow__)); # 284 "/usr/include/bits/socket.h" 3 4 enum { SCM_RIGHTS = 0x01, SCM_CREDENTIALS = 0x02 }; struct ucred { pid_t pid; uid_t uid; gid_t gid; }; # 1 "/usr/include/asm/socket.h" 1 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 4 struct linger { int l_onoff; int l_linger; }; # 36 "/usr/include/sys/socket.h" 2 3 4 struct osockaddr { unsigned short int sa_family; unsigned char sa_data[14]; }; enum { SHUT_RD = 0, SHUT_WR, SHUT_RDWR }; # 100 "/usr/include/sys/socket.h" 3 4 extern int socket (int __domain, int __type, int __protocol) __attribute__ ((__nothrow__)); extern int socketpair (int __domain, int __type, int __protocol, int __fds[2]) __attribute__ ((__nothrow__)); extern int bind (int __fd, __const struct sockaddr * __addr, socklen_t __len) __attribute__ ((__nothrow__)); extern int getsockname (int __fd, struct sockaddr *__restrict __addr, socklen_t *__restrict __len) __attribute__ ((__nothrow__)); # 124 "/usr/include/sys/socket.h" 3 4 extern int connect (int __fd, __const struct sockaddr * __addr, socklen_t __len); extern int getpeername (int __fd, struct sockaddr *__restrict __addr, socklen_t *__restrict __len) __attribute__ ((__nothrow__)); extern ssize_t send (int __fd, __const void *__buf, size_t __n, int __flags); extern ssize_t recv (int __fd, void *__buf, size_t __n, int __flags); extern ssize_t sendto (int __fd, __const void *__buf, size_t __n, int __flags, __const struct sockaddr * __addr, socklen_t __addr_len); # 161 "/usr/include/sys/socket.h" 3 4 extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n, int __flags, struct sockaddr *__restrict __addr, socklen_t *__restrict __addr_len); extern ssize_t sendmsg (int __fd, __const struct msghdr *__message, int __flags); extern ssize_t recvmsg (int __fd, struct msghdr *__message, int __flags); extern int getsockopt (int __fd, int __level, int __optname, void *__restrict __optval, socklen_t *__restrict __optlen) __attribute__ ((__nothrow__)); extern int setsockopt (int __fd, int __level, int __optname, __const void *__optval, socklen_t __optlen) __attribute__ ((__nothrow__)); extern int listen (int __fd, int __n) __attribute__ ((__nothrow__)); # 209 "/usr/include/sys/socket.h" 3 4 extern 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 4 extern int isfdtype (int __fd, int __fdtype) __attribute__ ((__nothrow__)); # 25 "/usr/include/netinet/in.h" 2 3 4 enum { IPPROTO_IP = 0, IPPROTO_HOPOPTS = 0, IPPROTO_ICMP = 1, IPPROTO_IGMP = 2, IPPROTO_IPIP = 4, IPPROTO_TCP = 6, IPPROTO_EGP = 8, IPPROTO_PUP = 12, IPPROTO_UDP = 17, IPPROTO_IDP = 22, IPPROTO_TP = 29, IPPROTO_IPV6 = 41, IPPROTO_ROUTING = 43, IPPROTO_FRAGMENT = 44, IPPROTO_RSVP = 46, IPPROTO_GRE = 47, IPPROTO_ESP = 50, IPPROTO_AH = 51, IPPROTO_ICMPV6 = 58, IPPROTO_NONE = 59, IPPROTO_DSTOPTS = 60, IPPROTO_MTP = 92, IPPROTO_ENCAP = 98, IPPROTO_PIM = 103, IPPROTO_COMP = 108, IPPROTO_SCTP = 132, IPPROTO_RAW = 255, IPPROTO_MAX }; typedef uint16_t in_port_t; enum { IPPORT_ECHO = 7, IPPORT_DISCARD = 9, IPPORT_SYSTAT = 11, IPPORT_DAYTIME = 13, IPPORT_NETSTAT = 15, IPPORT_FTP = 21, IPPORT_TELNET = 23, IPPORT_SMTP = 25, IPPORT_TIMESERVER = 37, IPPORT_NAMESERVER = 42, IPPORT_WHOIS = 43, IPPORT_MTP = 57, IPPORT_TFTP = 69, IPPORT_RJE = 77, IPPORT_FINGER = 79, IPPORT_TTYLINK = 87, IPPORT_SUPDUP = 95, IPPORT_EXECSERVER = 512, IPPORT_LOGINSERVER = 513, IPPORT_CMDSERVER = 514, IPPORT_EFSSERVER = 520, IPPORT_BIFFUDP = 512, IPPORT_WHOSERVER = 513, IPPORT_ROUTESERVER = 520, IPPORT_RESERVED = 1024, IPPORT_USERRESERVED = 5000 }; typedef uint32_t in_addr_t; struct in_addr { in_addr_t s_addr; }; # 193 "/usr/include/netinet/in.h" 3 4 struct in6_addr { union { uint8_t u6_addr8[16]; uint16_t u6_addr16[8]; uint32_t u6_addr32[4]; } in6_u; }; extern const struct in6_addr in6addr_any; extern const struct in6_addr in6addr_loopback; # 219 "/usr/include/netinet/in.h" 3 4 struct sockaddr_in { sa_family_t sin_family; in_port_t sin_port; struct in_addr sin_addr; unsigned char sin_zero[sizeof (struct sockaddr) - (sizeof (unsigned short int)) - sizeof (in_port_t) - sizeof (struct in_addr)]; }; struct sockaddr_in6 { sa_family_t sin6_family; in_port_t sin6_port; uint32_t sin6_flowinfo; struct in6_addr sin6_addr; uint32_t sin6_scope_id; }; struct ip_mreq { struct in_addr imr_multiaddr; struct in_addr imr_interface; }; struct ip_mreq_source { struct in_addr imr_multiaddr; struct in_addr imr_interface; struct in_addr imr_sourceaddr; }; struct ipv6_mreq { struct in6_addr ipv6mr_multiaddr; unsigned int ipv6mr_interface; }; struct group_req { uint32_t gr_interface; struct sockaddr_storage gr_group; }; struct group_source_req { uint32_t gsr_interface; struct sockaddr_storage gsr_group; struct sockaddr_storage gsr_source; }; struct ip_msfilter { struct in_addr imsf_multiaddr; struct in_addr imsf_interface; uint32_t imsf_fmode; uint32_t imsf_numsrc; struct in_addr imsf_slist[1]; }; struct group_filter { uint32_t gf_interface; struct sockaddr_storage gf_group; uint32_t gf_fmode; uint32_t gf_numsrc; struct sockaddr_storage gf_slist[1]; }; # 345 "/usr/include/netinet/in.h" 3 4 # 1 "/usr/include/bits/in.h" 1 3 4 # 82 "/usr/include/bits/in.h" 3 4 struct ip_opts { struct in_addr ip_dst; char ip_opts[40]; }; struct ip_mreqn { struct in_addr imr_multiaddr; struct in_addr imr_address; int imr_ifindex; }; struct in_pktinfo { int ipi_ifindex; struct in_addr ipi_spec_dst; struct in_addr ipi_addr; }; # 346 "/usr/include/netinet/in.h" 2 3 4 # 354 "/usr/include/netinet/in.h" 3 4 extern uint32_t ntohl (uint32_t __netlong) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern uint16_t ntohs (uint16_t __netshort) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern uint32_t htonl (uint32_t __hostlong) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern uint16_t htons (uint16_t __hostshort) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); # 1 "/usr/include/bits/byteswap.h" 1 3 4 # 366 "/usr/include/netinet/in.h" 2 3 4 # 428 "/usr/include/netinet/in.h" 3 4 extern int bindresvport (int __sockfd, struct sockaddr_in *__sock_in) __attribute__ ((__nothrow__)); extern int bindresvport6 (int __sockfd, struct sockaddr_in6 *__sock_in) __attribute__ ((__nothrow__)); # 456 "/usr/include/netinet/in.h" 3 4 struct 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 4 struct rpcent { char *r_name; char **r_aliases; int r_number; }; extern void setrpcent (int __stayopen) __attribute__ ((__nothrow__)); extern void endrpcent (void) __attribute__ ((__nothrow__)); extern struct rpcent *getrpcbyname (__const char *__name) __attribute__ ((__nothrow__)); extern struct rpcent *getrpcbynumber (int __number) __attribute__ ((__nothrow__)); extern struct rpcent *getrpcent (void) __attribute__ ((__nothrow__)); extern int getrpcbyname_r (__const char *__name, struct rpcent *__result_buf, char *__buffer, size_t __buflen, struct rpcent **__result) __attribute__ ((__nothrow__)); extern int getrpcbynumber_r (int __number, struct rpcent *__result_buf, char *__buffer, size_t __buflen, struct rpcent **__result) __attribute__ ((__nothrow__)); extern int getrpcent_r (struct rpcent *__result_buf, char *__buffer, size_t __buflen, struct rpcent **__result) __attribute__ ((__nothrow__)); # 34 "/usr/include/netdb.h" 2 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 4 struct 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 4 extern int *__h_errno_location (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); # 88 "/usr/include/netdb.h" 3 4 extern void herror (__const char *__str) __attribute__ ((__nothrow__)); extern __const char *hstrerror (int __err_num) __attribute__ ((__nothrow__)); struct hostent { char *h_name; char **h_aliases; int h_addrtype; int h_length; char **h_addr_list; }; extern void sethostent (int __stay_open); extern void endhostent (void); extern struct hostent *gethostent (void); extern struct hostent *gethostbyaddr (__const void *__addr, __socklen_t __len, int __type); extern struct hostent *gethostbyname (__const char *__name); # 149 "/usr/include/netdb.h" 3 4 extern struct hostent *gethostbyname2 (__const char *__name, int __af); # 161 "/usr/include/netdb.h" 3 4 extern int gethostent_r (struct hostent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct hostent **__restrict __result, int *__restrict __h_errnop); extern int gethostbyaddr_r (__const void *__restrict __addr, __socklen_t __len, int __type, struct hostent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct hostent **__restrict __result, int *__restrict __h_errnop); extern int gethostbyname_r (__const char *__restrict __name, struct hostent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct hostent **__restrict __result, int *__restrict __h_errnop); extern int gethostbyname2_r (__const char *__restrict __name, int __af, struct hostent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct hostent **__restrict __result, int *__restrict __h_errnop); # 192 "/usr/include/netdb.h" 3 4 extern void setnetent (int __stay_open); extern void endnetent (void); extern struct netent *getnetent (void); extern struct netent *getnetbyaddr (uint32_t __net, int __type); extern struct netent *getnetbyname (__const char *__name); # 231 "/usr/include/netdb.h" 3 4 extern int getnetent_r (struct netent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct netent **__restrict __result, int *__restrict __h_errnop); extern int getnetbyaddr_r (uint32_t __net, int __type, struct netent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct netent **__restrict __result, int *__restrict __h_errnop); extern int getnetbyname_r (__const char *__restrict __name, struct netent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct netent **__restrict __result, int *__restrict __h_errnop); struct servent { char *s_name; char **s_aliases; int s_port; char *s_proto; }; extern void setservent (int __stay_open); extern void endservent (void); extern struct servent *getservent (void); extern struct servent *getservbyname (__const char *__name, __const char *__proto); extern struct servent *getservbyport (int __port, __const char *__proto); # 303 "/usr/include/netdb.h" 3 4 extern int getservent_r (struct servent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct servent **__restrict __result); extern int getservbyname_r (__const char *__restrict __name, __const char *__restrict __proto, struct servent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct servent **__restrict __result); extern int getservbyport_r (int __port, __const char *__restrict __proto, struct servent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct servent **__restrict __result); struct protoent { char *p_name; char **p_aliases; int p_proto; }; extern void setprotoent (int __stay_open); extern void endprotoent (void); extern struct protoent *getprotoent (void); extern struct protoent *getprotobyname (__const char *__name); extern struct protoent *getprotobynumber (int __proto); # 369 "/usr/include/netdb.h" 3 4 extern int getprotoent_r (struct protoent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct protoent **__restrict __result); extern int getprotobyname_r (__const char *__restrict __name, struct protoent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct protoent **__restrict __result); extern int getprotobynumber_r (int __proto, struct protoent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct protoent **__restrict __result); # 390 "/usr/include/netdb.h" 3 4 extern int setnetgrent (__const char *__netgroup); extern void endnetgrent (void); # 407 "/usr/include/netdb.h" 3 4 extern int getnetgrent (char **__restrict __hostp, char **__restrict __userp, char **__restrict __domainp); # 418 "/usr/include/netdb.h" 3 4 extern int innetgr (__const char *__netgroup, __const char *__host, __const char *__user, __const char *domain); extern int getnetgrent_r (char **__restrict __hostp, char **__restrict __userp, char **__restrict __domainp, char *__restrict __buffer, size_t __buflen); # 446 "/usr/include/netdb.h" 3 4 extern int rcmd (char **__restrict __ahost, unsigned short int __rport, __const char *__restrict __locuser, __const char *__restrict __remuser, __const char *__restrict __cmd, int *__restrict __fd2p); # 458 "/usr/include/netdb.h" 3 4 extern int rcmd_af (char **__restrict __ahost, unsigned short int __rport, __const char *__restrict __locuser, __const char *__restrict __remuser, __const char *__restrict __cmd, int *__restrict __fd2p, sa_family_t __af); # 474 "/usr/include/netdb.h" 3 4 extern int rexec (char **__restrict __ahost, int __rport, __const char *__restrict __name, __const char *__restrict __pass, __const char *__restrict __cmd, int *__restrict __fd2p); # 486 "/usr/include/netdb.h" 3 4 extern int rexec_af (char **__restrict __ahost, int __rport, __const char *__restrict __name, __const char *__restrict __pass, __const char *__restrict __cmd, int *__restrict __fd2p, sa_family_t __af); # 500 "/usr/include/netdb.h" 3 4 extern int ruserok (__const char *__rhost, int __suser, __const char *__remuser, __const char *__locuser); # 510 "/usr/include/netdb.h" 3 4 extern int ruserok_af (__const char *__rhost, int __suser, __const char *__remuser, __const char *__locuser, sa_family_t __af); # 522 "/usr/include/netdb.h" 3 4 extern int rresvport (int *__alport); # 531 "/usr/include/netdb.h" 3 4 extern int rresvport_af (int *__alport, sa_family_t __af); struct addrinfo { int ai_flags; int ai_family; int ai_socktype; int ai_protocol; socklen_t ai_addrlen; struct sockaddr *ai_addr; char *ai_canonname; struct addrinfo *ai_next; }; # 631 "/usr/include/netdb.h" 3 4 extern int getaddrinfo (__const char *__restrict __name, __const char *__restrict __service, __const struct addrinfo *__restrict __req, struct addrinfo **__restrict __pai); extern void freeaddrinfo (struct addrinfo *__ai) __attribute__ ((__nothrow__)); 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 4 extern void *memcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memmove (void *__dest, __const void *__src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memchr (__const void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 82 "/usr/include/string.h" 3 4 extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strcat (char *__restrict __dest, __const char *__restrict __src) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strncat (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcmp (__const char *__s1, __const char *__s2) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcoll (__const char *__s1, __const char *__s2) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strxfrm (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); # 130 "/usr/include/string.h" 3 4 extern char *strdup (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); # 165 "/usr/include/string.h" 3 4 extern char *strchr (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strrchr (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 181 "/usr/include/string.h" 3 4 extern size_t strcspn (__const char *__s, __const char *__reject) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strspn (__const char *__s, __const char *__accept) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strpbrk (__const char *__s, __const char *__accept) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strstr (__const char *__haystack, __const char *__needle) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strtok (char *__restrict __s, __const char *__restrict __delim) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern char *__strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); # 240 "/usr/include/string.h" 3 4 extern size_t strlen (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 254 "/usr/include/string.h" 3 4 extern char *strerror (int __errnum) __attribute__ ((__nothrow__)); # 281 "/usr/include/string.h" 3 4 extern 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 4 extern int strcasecmp (__const char *__s1, __const char *__s2) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 348 "/usr/include/string.h" 3 4 extern 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 4 typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; # 140 "/usr/include/stdlib.h" 3 4 extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__)); extern double atof (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern int atoi (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern long int atol (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); __extension__ extern long long int atoll (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern double strtod (__const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 181 "/usr/include/stdlib.h" 3 4 extern long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); __extension__ extern long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); __extension__ extern unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); __extension__ extern long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); __extension__ extern unsigned long long int strtoull (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 277 "/usr/include/stdlib.h" 3 4 extern double __strtod_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern float __strtof_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern long double __strtold_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern long int __strtol_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern unsigned long int __strtoul_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); __extension__ extern long long int __strtoll_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); __extension__ extern unsigned long long int __strtoull_internal (__const char * __restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 424 "/usr/include/stdlib.h" 3 4 extern 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 4 extern long int random (void) __attribute__ ((__nothrow__)); extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__)); extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); struct random_data { int32_t *fptr; int32_t *rptr; int32_t *state; int rand_type; int rand_deg; int rand_sep; int32_t *end_ptr; }; extern int random_r (struct random_data *__restrict __buf, int32_t *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int srandom_r (unsigned int __seed, struct random_data *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4))); extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int rand (void) __attribute__ ((__nothrow__)); extern void srand (unsigned int __seed) __attribute__ ((__nothrow__)); extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__)); extern double drand48 (void) __attribute__ ((__nothrow__)); extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern long int lrand48 (void) __attribute__ ((__nothrow__)); extern long int nrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern long int mrand48 (void) __attribute__ ((__nothrow__)); extern long int jrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void srand48 (long int __seedval) __attribute__ ((__nothrow__)); extern unsigned short int *seed48 (unsigned short int __seed16v[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); struct drand48_data { unsigned short int __x[3]; unsigned short int __old_x[3]; unsigned short int __c; unsigned short int __init; unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int srand48_r (long int __seedval, struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)); extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)); extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)); 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 4 extern void *alloca (size_t __size) __attribute__ ((__nothrow__)); # 607 "/usr/include/stdlib.h" 2 3 4 extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)); # 620 "/usr/include/stdlib.h" 3 4 extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); # 652 "/usr/include/stdlib.h" 3 4 extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern char *__secure_getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int setenv (__const char *__name, __const char *__value, int __replace) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (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 4 extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 702 "/usr/include/stdlib.h" 3 4 extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))); # 721 "/usr/include/stdlib.h" 3 4 extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int system (__const char *__command); # 749 "/usr/include/stdlib.h" 3 4 extern 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 4 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))); extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))); extern char *gcvt (double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))); extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))); extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))); extern char *qgcvt (long double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))); extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__)); extern int mbtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)); extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__)); extern size_t mbstowcs (wchar_t *__restrict __pwcs, __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)); extern size_t wcstombs (char *__restrict __s, __const wchar_t *__restrict __pwcs, size_t __n) __attribute__ ((__nothrow__)); extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 954 "/usr/include/stdlib.h" 3 4 extern 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 4 extern char *optarg; # 73 "/usr/include/getopt.h" 3 4 extern int optind; extern int opterr; extern int optopt; # 106 "/usr/include/getopt.h" 3 4 struct option { const char *name; int has_arg; int *flag; int val; }; # 152 "/usr/include/getopt.h" 3 4 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) __attribute__ ((__nothrow__)); extern int getopt_long (int ___argc, char *const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind) __attribute__ ((__nothrow__)); extern int getopt_long_only (int ___argc, char *const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind) __attribute__ ((__nothrow__)); # 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 4 enum { _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) }; # 81 "/usr/include/ctype.h" 3 4 extern __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 4 extern 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 4 extern 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" 1 enum 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 4 struct timestamp { u_int8_t len; u_int8_t ptr; unsigned int flags:4; unsigned int overflow:4; u_int32_t data[9]; }; struct iphdr { unsigned int ihl:4; unsigned int version:4; u_int8_t tos; u_int16_t tot_len; u_int16_t id; u_int16_t frag_off; u_int8_t ttl; u_int8_t protocol; u_int16_t check; u_int32_t saddr; u_int32_t daddr; }; # 108 "/usr/include/netinet/ip.h" 3 4 struct ip { unsigned int ip_hl:4; unsigned int ip_v:4; u_int8_t ip_tos; u_short ip_len; u_short ip_id; u_short ip_off; u_int8_t ip_ttl; u_int8_t ip_p; u_short ip_sum; struct in_addr ip_src, ip_dst; }; struct ip_timestamp { u_int8_t ipt_code; u_int8_t ipt_len; u_int8_t ipt_ptr; unsigned int ipt_flg:4; unsigned int ipt_oflw:4; u_int32_t data[9]; }; # 247 "/usr/include/netinet/ip.h" 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 4 struct icmphdr { u_int8_t type; u_int8_t code; u_int16_t checksum; union { struct { u_int16_t id; u_int16_t sequence; } echo; u_int32_t gateway; struct { u_int16_t __unused; u_int16_t mtu; } frag; } un; }; # 132 "/usr/include/netinet/ip_icmp.h" 3 4 struct icmp_ra_addr { u_int32_t ira_addr; u_int32_t ira_preference; }; struct icmp { u_int8_t icmp_type; u_int8_t icmp_code; u_int16_t icmp_cksum; union { u_char ih_pptr; struct in_addr ih_gwaddr; struct ih_idseq { u_int16_t icd_id; u_int16_t icd_seq; } ih_idseq; u_int32_t ih_void; struct ih_pmtu { u_int16_t ipm_void; u_int16_t ipm_nextmtu; } ih_pmtu; struct ih_rtradv { u_int8_t irt_num_addrs; u_int8_t irt_wpa; u_int16_t irt_lifetime; } ih_rtradv; } icmp_hun; # 178 "/usr/include/netinet/ip_icmp.h" 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 4 struct tcphdr { u_int16_t source; u_int16_t dest; u_int32_t seq; u_int32_t ack_seq; u_int16_t res1:4; u_int16_t doff:4; u_int16_t fin:1; u_int16_t syn:1; u_int16_t rst:1; u_int16_t psh:1; u_int16_t ack:1; u_int16_t urg:1; u_int16_t res2:2; # 118 "/usr/include/netinet/tcp.h" 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 4 enum tcp_ca_state { TCP_CA_Open = 0, TCP_CA_Disorder = 1, TCP_CA_CWR = 2, TCP_CA_Recovery = 3, TCP_CA_Loss = 4 }; struct tcp_info { u_int8_t tcpi_state; u_int8_t tcpi_ca_state; u_int8_t tcpi_retransmits; u_int8_t tcpi_probes; u_int8_t tcpi_backoff; u_int8_t tcpi_options; u_int8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4; u_int32_t tcpi_rto; u_int32_t tcpi_ato; u_int32_t tcpi_snd_mss; u_int32_t tcpi_rcv_mss; u_int32_t tcpi_unacked; u_int32_t tcpi_sacked; u_int32_t tcpi_lost; u_int32_t tcpi_retrans; u_int32_t tcpi_fackets; u_int32_t tcpi_last_data_sent; u_int32_t tcpi_last_ack_sent; u_int32_t tcpi_last_data_recv; u_int32_t tcpi_last_ack_recv; u_int32_t tcpi_pmtu; u_int32_t tcpi_rcv_ssthresh; u_int32_t tcpi_rtt; u_int32_t tcpi_rttvar; u_int32_t tcpi_snd_ssthresh; u_int32_t tcpi_snd_cwnd; u_int32_t tcpi_advmss; u_int32_t tcpi_reordering; }; # 13 "/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 4 struct 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 4 struct if_nameindex { unsigned int if_index; char *if_name; }; enum { IFF_UP = 0x1, IFF_BROADCAST = 0x2, IFF_DEBUG = 0x4, IFF_LOOPBACK = 0x8, IFF_POINTOPOINT = 0x10, IFF_NOTRAILERS = 0x20, IFF_RUNNING = 0x40, IFF_NOARP = 0x80, IFF_PROMISC = 0x100, IFF_ALLMULTI = 0x200, IFF_MASTER = 0x400, IFF_SLAVE = 0x800, IFF_MULTICAST = 0x1000, IFF_PORTSEL = 0x2000, IFF_AUTOMEDIA = 0x4000 }; 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 4 struct ifmap { unsigned long int mem_start; unsigned long int mem_end; unsigned short int base_addr; unsigned char irq; unsigned char dma; unsigned char port; }; struct ifreq { union { char ifrn_name[16]; } ifr_ifrn; union { struct sockaddr ifru_addr; struct sockaddr ifru_dstaddr; struct sockaddr ifru_broadaddr; struct sockaddr ifru_netmask; struct sockaddr ifru_hwaddr; short int ifru_flags; int ifru_ivalue; int ifru_mtu; struct ifmap ifru_map; char ifru_slave[16]; char ifru_newname[16]; __caddr_t ifru_data; } ifr_ifru; }; # 175 "/usr/include/net/if.h" 3 4 struct ifconf { int ifc_len; union { __caddr_t ifcu_buf; struct ifreq *ifcu_req; } ifc_ifcu; }; extern unsigned int if_nametoindex (__const char *__ifname) __attribute__ ((__nothrow__)); 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 4 enum nf_ip_hook_priorities { NF_IP_PRI_FIRST = (-2147483647 - 1), NF_IP_PRI_CONNTRACK_DEFRAG = -400, NF_IP_PRI_RAW = -300, NF_IP_PRI_SELINUX_FIRST = -225, NF_IP_PRI_CONNTRACK = -200, NF_IP_PRI_BRIDGE_SABOTAGE_FORWARD = -175, NF_IP_PRI_MANGLE = -150, NF_IP_PRI_NAT_DST = -100, NF_IP_PRI_BRIDGE_SABOTAGE_LOCAL_OUT = -50, NF_IP_PRI_FILTER = 0, NF_IP_PRI_NAT_SRC = 100, NF_IP_PRI_SELINUX_LAST = 225, NF_IP_PRI_LAST = 2147483647, }; # 19 "/usr/include/linux/netfilter_ipv4/ip_tables.h" 2 3 4 struct ipt_ip { struct in_addr src, dst; struct in_addr smsk, dmsk; char iniface[16], outiface[16]; unsigned char iniface_mask[16], outiface_mask[16]; u_int16_t proto; u_int8_t flags; u_int8_t invflags; }; 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 4 struct 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 4 struct 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 4 struct 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" 1 struct ipt_p2p_info { int cmd; int debug; int proto; }; # 12 "libipt_ipp2p.c" 2 static void help(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 void init(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 int parse(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 void final_check(unsigned int flags) { if (!flags) exit_error(PARAMETER_PROBLEM, "\nipp2p-parameter problem: for ipp2p usage type: iptables -m ipp2p --help\n"); } static void print(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 void save(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 "); } static struct 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