Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 185177 Details for
Bug 262646
sys-devel/gcc-4.3.3-r1 internal error - segfault
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
Preprocessed source of failing netlink.c
netlink.lst (text/plain), 90.94 KB, created by
Graham Murray
on 2009-03-16 10:46:17 UTC
(
hide
)
Description:
Preprocessed source of failing netlink.c
Filename:
MIME Type:
Creator:
Graham Murray
Created:
2009-03-16 10:46:17 UTC
Size:
90.94 KB
patch
obsolete
># 1 "netlink.c" ># 1 "<built-in>" ># 1 "<command-line>" ># 1 "netlink.c" ># 1 "/usr/include/netlink/route/link.h" 1 3 4 ># 15 "/usr/include/netlink/route/link.h" 3 4 ># 1 "/usr/include/netlink/netlink.h" 1 3 4 ># 15 "/usr/include/netlink/netlink.h" 3 4 ># 1 "/usr/include/stdio.h" 1 3 4 ># 28 "/usr/include/stdio.h" 3 4 ># 1 "/usr/include/features.h" 1 3 4 ># 330 "/usr/include/features.h" 3 4 ># 1 "/usr/include/sys/cdefs.h" 1 3 4 ># 348 "/usr/include/sys/cdefs.h" 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 349 "/usr/include/sys/cdefs.h" 2 3 4 ># 331 "/usr/include/features.h" 2 3 4 ># 354 "/usr/include/features.h" 3 4 ># 1 "/usr/include/gnu/stubs.h" 1 3 4 > > > ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 5 "/usr/include/gnu/stubs.h" 2 3 4 > > ># 1 "/usr/include/gnu/stubs-32.h" 1 3 4 ># 8 "/usr/include/gnu/stubs.h" 2 3 4 ># 355 "/usr/include/features.h" 2 3 4 ># 29 "/usr/include/stdio.h" 2 3 4 > > > > > ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.3.3/include/stddef.h" 1 3 4 ># 214 "/usr/lib/gcc/i686-pc-linux-gnu/4.3.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 > > >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; ># 131 "/usr/include/bits/types.h" 3 4 ># 1 "/usr/include/bits/typesizes.h" 1 3 4 ># 132 "/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 void * __timer_t; > > >__extension__ typedef long int __blksize_t; > > > > >__extension__ typedef long int __blkcnt_t; >__extension__ typedef __quad_t __blkcnt64_t; > > >__extension__ typedef unsigned long int __fsblkcnt_t; >__extension__ typedef __u_quad_t __fsblkcnt64_t; > > >__extension__ typedef unsigned long int __fsfilcnt_t; >__extension__ typedef __u_quad_t __fsfilcnt64_t; > >__extension__ typedef int __ssize_t; > > > >typedef __off64_t __loff_t; >typedef __quad_t *__qaddr_t; >typedef char *__caddr_t; > > >__extension__ typedef int __intptr_t; > > >__extension__ typedef unsigned int __socklen_t; ># 37 "/usr/include/stdio.h" 2 3 4 ># 45 "/usr/include/stdio.h" 3 4 >struct _IO_FILE; > > > >typedef struct _IO_FILE FILE; > > > > > ># 65 "/usr/include/stdio.h" 3 4 >typedef struct _IO_FILE __FILE; ># 75 "/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 ># 15 "/usr/include/_G_config.h" 3 4 ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.3.3/include/stddef.h" 1 3 4 ># 16 "/usr/include/_G_config.h" 2 3 4 > > > > ># 1 "/usr/include/wchar.h" 1 3 4 ># 78 "/usr/include/wchar.h" 3 4 >typedef struct >{ > int __count; > union > { > > unsigned int __wch; > > > > char __wchb[4]; > } __value; >} __mbstate_t; ># 21 "/usr/include/_G_config.h" 2 3 4 > >typedef struct >{ > __off_t __pos; > __mbstate_t __state; >} _G_fpos_t; >typedef struct >{ > __off64_t __pos; > __mbstate_t __state; >} _G_fpos64_t; ># 53 "/usr/include/_G_config.h" 3 4 >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/4.3.3/include/stdarg.h" 1 3 4 ># 43 "/usr/lib/gcc/i686-pc-linux-gnu/4.3.3/include/stdarg.h" 3 4 >typedef __builtin_va_list __gnuc_va_list; ># 54 "/usr/include/libio.h" 2 3 4 ># 170 "/usr/include/libio.h" 3 4 >struct _IO_jump_t; struct _IO_FILE; ># 180 "/usr/include/libio.h" 3 4 >typedef void _IO_lock_t; > > > > > >struct _IO_marker { > struct _IO_marker *_next; > struct _IO_FILE *_sbuf; > > > > int _pos; ># 203 "/usr/include/libio.h" 3 4 >}; > > >enum __codecvt_result >{ > __codecvt_ok, > __codecvt_partial, > __codecvt_error, > __codecvt_noconv >}; ># 271 "/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; ># 319 "/usr/include/libio.h" 3 4 > __off64_t _offset; ># 328 "/usr/include/libio.h" 3 4 > void *__pad1; > void *__pad2; > void *__pad3; > void *__pad4; > size_t __pad5; > > int _mode; > > char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; > >}; > > >typedef struct _IO_FILE _IO_FILE; > > >struct _IO_FILE_plus; > >extern struct _IO_FILE_plus _IO_2_1_stdin_; >extern struct _IO_FILE_plus _IO_2_1_stdout_; >extern struct _IO_FILE_plus _IO_2_1_stderr_; ># 364 "/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); ># 416 "/usr/include/libio.h" 3 4 >extern int __underflow (_IO_FILE *); >extern int __uflow (_IO_FILE *); >extern int __overflow (_IO_FILE *, int); ># 458 "/usr/include/libio.h" 3 4 >extern int _IO_getc (_IO_FILE *__fp); >extern int _IO_putc (int __c, _IO_FILE *__fp); >extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__)); >extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__)); > >extern int _IO_peekc_locked (_IO_FILE *__fp); > > > > > >extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__)); >extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__)); >extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__)); ># 488 "/usr/include/libio.h" 3 4 >extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, > __gnuc_va_list, int *__restrict); >extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, > __gnuc_va_list); >extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t); >extern size_t _IO_sgetn (_IO_FILE *, void *, size_t); > >extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int); >extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int); > >extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__)); ># 76 "/usr/include/stdio.h" 2 3 4 ># 89 "/usr/include/stdio.h" 3 4 > > >typedef _G_fpos_t fpos_t; > > > > ># 141 "/usr/include/stdio.h" 3 4 ># 1 "/usr/include/bits/stdio_lim.h" 1 3 4 ># 142 "/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) ; ># 186 "/usr/include/stdio.h" 3 4 >extern char *tmpnam (char *__s) __attribute__ ((__nothrow__)) ; > > > > > >extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__)) ; ># 204 "/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); > ># 229 "/usr/include/stdio.h" 3 4 >extern int fflush_unlocked (FILE *__stream); ># 243 "/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) ; ># 272 "/usr/include/stdio.h" 3 4 > ># 283 "/usr/include/stdio.h" 3 4 >extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__)) ; ># 304 "/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))); > ># 398 "/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__)); ># 421 "/usr/include/stdio.h" 3 4 >extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") ; > > >extern int scanf (__const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") ; > >extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__)); ># 441 "/usr/include/stdio.h" 3 4 > > > > > > > > >extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, > __gnuc_va_list __arg) > __attribute__ ((__format__ (__scanf__, 2, 0))) ; > > > > > >extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) > __attribute__ ((__format__ (__scanf__, 1, 0))) ; > > >extern int vsscanf (__const char *__restrict __s, > __const char *__restrict __format, __gnuc_va_list __arg) > __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__scanf__, 2, 0))); ># 472 "/usr/include/stdio.h" 3 4 >extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") > > > > __attribute__ ((__format__ (__scanf__, 2, 0))) ; >extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") > > __attribute__ ((__format__ (__scanf__, 1, 0))) ; >extern int vsscanf (__const char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") > > > > __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__scanf__, 2, 0))); ># 500 "/usr/include/stdio.h" 3 4 > > > > > > > > > >extern int fgetc (FILE *__stream); >extern int getc (FILE *__stream); > > > > > >extern int getchar (void); > ># 528 "/usr/include/stdio.h" 3 4 >extern int getc_unlocked (FILE *__stream); >extern int getchar_unlocked (void); ># 539 "/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); > ># 572 "/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) ; > ># 653 "/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) ; > ># 706 "/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); > ># 742 "/usr/include/stdio.h" 3 4 >extern int fseeko (FILE *__stream, __off_t __off, int __whence); > > > > >extern __off_t ftello (FILE *__stream) ; ># 761 "/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); ># 784 "/usr/include/stdio.h" 3 4 > ># 793 "/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[]; ># 823 "/usr/include/stdio.h" 2 3 4 > > > > >extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) ; > > > > >extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; ># 842 "/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__)); ># 882 "/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__)); ># 912 "/usr/include/stdio.h" 3 4 > ># 16 "/usr/include/netlink/netlink.h" 2 3 4 ># 1 "/usr/include/stdint.h" 1 3 4 ># 27 "/usr/include/stdint.h" 3 4 ># 1 "/usr/include/bits/wchar.h" 1 3 4 ># 28 "/usr/include/stdint.h" 2 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; ># 17 "/usr/include/netlink/netlink.h" 2 3 4 ># 1 "/usr/include/string.h" 1 3 4 ># 28 "/usr/include/string.h" 3 4 > > > > > ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.3.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__)); > ># 270 "/usr/include/string.h" 3 4 >extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); ># 294 "/usr/include/string.h" 3 4 >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__)); ># 331 "/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))); ># 354 "/usr/include/string.h" 3 4 >extern char *strsep (char **__restrict __stringp, > __const char *__restrict __delim) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); ># 432 "/usr/include/string.h" 3 4 > ># 18 "/usr/include/netlink/netlink.h" 2 3 4 ># 1 "/usr/include/stdlib.h" 1 3 4 ># 33 "/usr/include/stdlib.h" 3 4 ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.3.3/include/stddef.h" 1 3 4 ># 326 "/usr/lib/gcc/i686-pc-linux-gnu/4.3.3/include/stddef.h" 3 4 >typedef long int wchar_t; ># 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; > > > > > > > >__extension__ typedef struct > { > long long int quot; > long long int rem; > } lldiv_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))) ; > > > > > >extern float strtof (__const char *__restrict __nptr, > char **__restrict __endptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; > >extern long double strtold (__const char *__restrict __nptr, > char **__restrict __endptr) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; > > > > > >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))) ; > ># 311 "/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))) ; > > > > ># 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 ># 75 "/usr/include/time.h" 3 4 > > >typedef __time_t time_t; > > > ># 93 "/usr/include/time.h" 3 4 >typedef __clockid_t clockid_t; ># 105 "/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/4.3.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; ># 201 "/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__))); ># 217 "/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 ># 61 "/usr/include/endian.h" 3 4 ># 1 "/usr/include/bits/byteswap.h" 1 3 4 ># 62 "/usr/include/endian.h" 2 3 4 ># 218 "/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 ># 24 "/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 ># 121 "/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); ># 121 "/usr/include/sys/select.h" 3 4 >extern int pselect (int __nfds, fd_set *__restrict __readfds, > fd_set *__restrict __writefds, > fd_set *__restrict __exceptfds, > const struct timespec *__restrict __timeout, > const __sigset_t *__restrict __sigmask); > > > ># 221 "/usr/include/sys/types.h" 2 3 4 > > ># 1 "/usr/include/sys/sysmacros.h" 1 3 4 ># 30 "/usr/include/sys/sysmacros.h" 3 4 >__extension__ >extern unsigned int gnu_dev_major (unsigned long long int __dev) > __attribute__ ((__nothrow__)); >__extension__ >extern unsigned int gnu_dev_minor (unsigned long long int __dev) > __attribute__ ((__nothrow__)); >__extension__ >extern unsigned long long int gnu_dev_makedev (unsigned int __major, > unsigned int __minor) > __attribute__ ((__nothrow__)); ># 224 "/usr/include/sys/types.h" 2 3 4 ># 235 "/usr/include/sys/types.h" 3 4 >typedef __blkcnt_t blkcnt_t; > > > >typedef __fsblkcnt_t fsblkcnt_t; > > > >typedef __fsfilcnt_t fsfilcnt_t; ># 270 "/usr/include/sys/types.h" 3 4 ># 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 ># 36 "/usr/include/bits/pthreadtypes.h" 3 4 >typedef unsigned long int pthread_t; > > >typedef union >{ > char __size[36]; > long int __align; >} pthread_attr_t; > > >typedef struct __pthread_internal_slist >{ > struct __pthread_internal_slist *__next; >} __pthread_slist_t; > > > > >typedef union >{ > struct __pthread_mutex_s > { > int __lock; > unsigned int __count; > int __owner; > > > int __kind; > unsigned int __nusers; > __extension__ union > { > int __spins; > __pthread_slist_t __list; > }; > } __data; > char __size[24]; > long int __align; >} pthread_mutex_t; > >typedef union >{ > char __size[4]; > long int __align; >} pthread_mutexattr_t; > > > > >typedef union >{ > struct > { > int __lock; > unsigned int __futex; > __extension__ unsigned long long int __total_seq; > __extension__ unsigned long long int __wakeup_seq; > __extension__ unsigned long long int __woken_seq; > void *__mutex; > unsigned int __nwaiters; > unsigned int __broadcast_seq; > } __data; > char __size[48]; > __extension__ long long int __align; >} pthread_cond_t; > >typedef union >{ > char __size[4]; > long int __align; >} pthread_condattr_t; > > > >typedef unsigned int pthread_key_t; > > > >typedef int pthread_once_t; > > > > > >typedef union >{ > struct > { > int __lock; > unsigned int __nr_readers; > unsigned int __readers_wakeup; > unsigned int __writer_wakeup; > unsigned int __nr_readers_queued; > unsigned int __nr_writers_queued; > > > unsigned char __flags; > unsigned char __shared; > unsigned char __pad1; > unsigned char __pad2; > int __writer; > } __data; > char __size[32]; > long int __align; >} pthread_rwlock_t; > >typedef union >{ > char __size[8]; > long int __align; >} pthread_rwlockattr_t; > > > > > >typedef volatile int pthread_spinlock_t; > > > > >typedef union >{ > char __size[20]; > long int __align; >} pthread_barrier_t; > >typedef union >{ > char __size[4]; > int __align; >} pthread_barrierattr_t; ># 271 "/usr/include/sys/types.h" 2 3 4 > > > ># 321 "/usr/include/stdlib.h" 2 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__ ((__warn_unused_result__)); > >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/4.3.3/include/stddef.h" 1 3 4 ># 26 "/usr/include/alloca.h" 2 3 4 > > > > > > > >extern void *alloca (size_t __size) __attribute__ ((__nothrow__)); > > > > > > ># 498 "/usr/include/stdlib.h" 2 3 4 > > > > >extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; > > > > >extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; > > > > >extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); > > > >extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); > > > > > >extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); > > > > > > >extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); > > > > > > >extern void _Exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); > > > > > > >extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; > > > > >extern char *__secure_getenv (__const char *__name) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; > > > > > >extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); > > > > > >extern int setenv (__const char *__name, __const char *__value, int __replace) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); > > >extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__)); > > > > > > >extern int clearenv (void) __attribute__ ((__nothrow__)); ># 583 "/usr/include/stdlib.h" 3 4 >extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; ># 594 "/usr/include/stdlib.h" 3 4 >extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; ># 614 "/usr/include/stdlib.h" 3 4 >extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; ># 640 "/usr/include/stdlib.h" 3 4 > > > > > >extern int system (__const char *__command) ; > ># 662 "/usr/include/stdlib.h" 3 4 >extern char *realpath (__const char *__restrict __name, > char *__restrict __resolved) __attribute__ ((__nothrow__)) ; > > > > > > >typedef int (*__compar_fn_t) (__const void *, __const void *); ># 680 "/usr/include/stdlib.h" 3 4 > > > >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))); ># 699 "/usr/include/stdlib.h" 3 4 >extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; >extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; > > > >__extension__ extern long long int llabs (long 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__)) ; > > > > >__extension__ extern lldiv_t lldiv (long long int __numer, > long long int __denom) > __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; > ># 735 "/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))) ; ># 840 "/usr/include/stdlib.h" 3 4 >extern int posix_openpt (int __oflag) ; ># 875 "/usr/include/stdlib.h" 3 4 >extern int getloadavg (double __loadavg[], int __nelem) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); ># 891 "/usr/include/stdlib.h" 3 4 > ># 19 "/usr/include/netlink/netlink.h" 2 3 4 ># 1 "/usr/include/sys/poll.h" 1 3 4 ># 26 "/usr/include/sys/poll.h" 3 4 ># 1 "/usr/include/bits/poll.h" 1 3 4 ># 27 "/usr/include/sys/poll.h" 2 3 4 ># 37 "/usr/include/sys/poll.h" 3 4 >typedef unsigned long int nfds_t; > > >struct pollfd > { > int fd; > short int events; > short int revents; > }; > > > ># 58 "/usr/include/sys/poll.h" 3 4 >extern int poll (struct pollfd *__fds, nfds_t __nfds, int __timeout); ># 72 "/usr/include/sys/poll.h" 3 4 > ># 20 "/usr/include/netlink/netlink.h" 2 3 4 ># 1 "/usr/include/sys/socket.h" 1 3 4 ># 26 "/usr/include/sys/socket.h" 3 4 > > ># 1 "/usr/include/sys/uio.h" 1 3 4 ># 26 "/usr/include/sys/uio.h" 3 4 > > > ># 1 "/usr/include/bits/uio.h" 1 3 4 ># 44 "/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); > > ># 29 "/usr/include/sys/socket.h" 2 3 4 > ># 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.3.3/include/stddef.h" 1 3 4 ># 31 "/usr/include/sys/socket.h" 2 3 4 ># 40 "/usr/include/sys/socket.h" 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/4.3.3/include/stddef.h" 1 3 4 ># 30 "/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_DCCP = 6, > > SOCK_PACKET = 10, > > > > > > > > SOCK_CLOEXEC = 02000000, > > > SOCK_NONBLOCK = 04000 > > >}; ># 159 "/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; ># 160 "/usr/include/bits/socket.h" 2 3 4 > > >struct sockaddr > { > sa_family_t sa_family; > char sa_data[14]; > }; ># 175 "/usr/include/bits/socket.h" 3 4 >struct sockaddr_storage > { > sa_family_t ss_family; > unsigned long int __ss_align; > char __ss_padding[(128 - (2 * sizeof (unsigned long int)))]; > }; > > > >enum > { > MSG_OOB = 0x01, > > MSG_PEEK = 0x02, > > MSG_DONTROUTE = 0x04, > > > > > > > MSG_CTRUNC = 0x08, > > MSG_PROXY = 0x10, > > MSG_TRUNC = 0x20, > > MSG_DONTWAIT = 0x40, > > MSG_EOR = 0x80, > > MSG_WAITALL = 0x100, > > MSG_FIN = 0x200, > > MSG_SYN = 0x400, > > MSG_CONFIRM = 0x800, > > MSG_RST = 0x1000, > > MSG_ERRQUEUE = 0x2000, > > MSG_NOSIGNAL = 0x4000, > > MSG_MORE = 0x8000, > > > MSG_CMSG_CLOEXEC = 0x40000000 > > > > }; > > > > >struct msghdr > { > void *msg_name; > socklen_t msg_namelen; > > struct iovec *msg_iov; > size_t msg_iovlen; > > void *msg_control; > size_t msg_controllen; > > > > > int msg_flags; > }; > > >struct cmsghdr > { > size_t cmsg_len; > > > > > int cmsg_level; > int cmsg_type; > > __extension__ unsigned char __cmsg_data []; > > }; ># 281 "/usr/include/bits/socket.h" 3 4 >extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr, > struct cmsghdr *__cmsg) __attribute__ ((__nothrow__)); ># 308 "/usr/include/bits/socket.h" 3 4 >enum > { > SCM_RIGHTS = 0x01 > > > , SCM_CREDENTIALS = 0x02 > > > }; ># 354 "/usr/include/bits/socket.h" 3 4 ># 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 ># 355 "/usr/include/bits/socket.h" 2 3 4 ># 388 "/usr/include/bits/socket.h" 3 4 >struct linger > { > int l_onoff; > int l_linger; > }; ># 41 "/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 > >}; ># 105 "/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__)); ># 129 "/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); ># 166 "/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__)); ># 214 "/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__)); > > > > >extern int sockatmark (int __fd) __attribute__ ((__nothrow__)); > > > > > > > >extern int isfdtype (int __fd, int __fdtype) __attribute__ ((__nothrow__)); ># 245 "/usr/include/sys/socket.h" 3 4 > ># 21 "/usr/include/netlink/netlink.h" 2 3 4 > ># 1 "/usr/include/sys/time.h" 1 3 4 ># 27 "/usr/include/sys/time.h" 3 4 ># 1 "/usr/include/time.h" 1 3 4 ># 28 "/usr/include/sys/time.h" 2 3 4 > ># 1 "/usr/include/bits/time.h" 1 3 4 ># 30 "/usr/include/sys/time.h" 2 3 4 ># 39 "/usr/include/sys/time.h" 3 4 > ># 57 "/usr/include/sys/time.h" 3 4 >struct timezone > { > int tz_minuteswest; > int tz_dsttime; > }; > >typedef struct timezone *__restrict __timezone_ptr_t; ># 73 "/usr/include/sys/time.h" 3 4 >extern int gettimeofday (struct timeval *__restrict __tv, > __timezone_ptr_t __tz) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); > > > > >extern int settimeofday (__const struct timeval *__tv, > __const struct timezone *__tz) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); > > > > > >extern int adjtime (__const struct timeval *__delta, > struct timeval *__olddelta) __attribute__ ((__nothrow__)); > > > > >enum __itimer_which > { > > ITIMER_REAL = 0, > > > ITIMER_VIRTUAL = 1, > > > > ITIMER_PROF = 2 > > }; > > > >struct itimerval > { > > struct timeval it_interval; > > struct timeval it_value; > }; > > > > > > >typedef int __itimer_which_t; > > > > >extern int getitimer (__itimer_which_t __which, > struct itimerval *__value) __attribute__ ((__nothrow__)); > > > > >extern int setitimer (__itimer_which_t __which, > __const struct itimerval *__restrict __new, > struct itimerval *__restrict __old) __attribute__ ((__nothrow__)); > > > > >extern int utimes (__const char *__file, __const struct timeval __tvp[2]) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); > > > >extern int lutimes (__const char *__file, __const struct timeval __tvp[2]) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); > > >extern int futimes (int __fd, __const struct timeval __tvp[2]) __attribute__ ((__nothrow__)); ># 191 "/usr/include/sys/time.h" 3 4 > ># 23 "/usr/include/netlink/netlink.h" 2 3 4 ># 1 "/usr/include/netlink/netlink-compat.h" 1 3 4 ># 24 "/usr/include/netlink/netlink.h" 2 3 4 ># 1 "/usr/include/linux/netlink.h" 1 3 4 > > > ># 1 "/usr/include/linux/socket.h" 1 3 4 ># 11 "/usr/include/linux/socket.h" 3 4 >struct __kernel_sockaddr_storage { > unsigned short ss_family; > > char __data[128 - sizeof(unsigned short)]; > > >} __attribute__ ((aligned((__alignof__ (struct sockaddr *))))); ># 5 "/usr/include/linux/netlink.h" 2 3 4 ># 1 "/usr/include/linux/types.h" 1 3 4 > > > > > ># 1 "/usr/include/linux/posix_types.h" 1 3 4 > > > ># 1 "/usr/include/linux/stddef.h" 1 3 4 ># 5 "/usr/include/linux/posix_types.h" 2 3 4 ># 36 "/usr/include/linux/posix_types.h" 3 4 >typedef struct { > unsigned long fds_bits [(1024/(8 * sizeof(unsigned long)))]; >} __kernel_fd_set; > > >typedef void (*__kernel_sighandler_t)(int); > > >typedef int __kernel_key_t; >typedef int __kernel_mqd_t; > ># 1 "/usr/include/asm/posix_types.h" 1 3 4 > ># 1 "/usr/include/asm/posix_types_32.h" 1 3 4 ># 10 "/usr/include/asm/posix_types_32.h" 3 4 >typedef unsigned long __kernel_ino_t; >typedef unsigned short __kernel_mode_t; >typedef unsigned short __kernel_nlink_t; >typedef long __kernel_off_t; >typedef int __kernel_pid_t; >typedef unsigned short __kernel_ipc_pid_t; >typedef unsigned short __kernel_uid_t; >typedef unsigned short __kernel_gid_t; >typedef unsigned int __kernel_size_t; >typedef int __kernel_ssize_t; >typedef int __kernel_ptrdiff_t; >typedef long __kernel_time_t; >typedef long __kernel_suseconds_t; >typedef long __kernel_clock_t; >typedef int __kernel_timer_t; >typedef int __kernel_clockid_t; >typedef int __kernel_daddr_t; >typedef char * __kernel_caddr_t; >typedef unsigned short __kernel_uid16_t; >typedef unsigned short __kernel_gid16_t; >typedef unsigned int __kernel_uid32_t; >typedef unsigned int __kernel_gid32_t; > >typedef unsigned short __kernel_old_uid_t; >typedef unsigned short __kernel_old_gid_t; >typedef unsigned short __kernel_old_dev_t; > > >typedef long long __kernel_loff_t; > > >typedef struct { > int val[2]; >} __kernel_fsid_t; ># 3 "/usr/include/asm/posix_types.h" 2 3 4 ># 48 "/usr/include/linux/posix_types.h" 2 3 4 ># 7 "/usr/include/linux/types.h" 2 3 4 ># 1 "/usr/include/asm/types.h" 1 3 4 > > > ># 1 "/usr/include/asm-generic/int-ll64.h" 1 3 4 ># 17 "/usr/include/asm-generic/int-ll64.h" 3 4 >typedef __signed__ char __s8; >typedef unsigned char __u8; > >typedef __signed__ short __s16; >typedef unsigned short __u16; > >typedef __signed__ int __s32; >typedef unsigned int __u32; > > >__extension__ typedef __signed__ long long __s64; >__extension__ typedef unsigned long long __u64; ># 5 "/usr/include/asm/types.h" 2 3 4 > > > >typedef unsigned short umode_t; ># 8 "/usr/include/linux/types.h" 2 3 4 ># 154 "/usr/include/linux/types.h" 3 4 >typedef __u16 __le16; >typedef __u16 __be16; >typedef __u32 __le32; >typedef __u32 __be32; > >typedef __u64 __le64; >typedef __u64 __be64; > >typedef __u16 __sum16; >typedef __u32 __wsum; ># 6 "/usr/include/linux/netlink.h" 2 3 4 ># 30 "/usr/include/linux/netlink.h" 3 4 >struct net; > >struct sockaddr_nl >{ > sa_family_t nl_family; > unsigned short nl_pad; > __u32 nl_pid; > __u32 nl_groups; >}; > >struct nlmsghdr >{ > __u32 nlmsg_len; > __u16 nlmsg_type; > __u16 nlmsg_flags; > __u32 nlmsg_seq; > __u32 nlmsg_pid; >}; ># 97 "/usr/include/linux/netlink.h" 3 4 >struct nlmsgerr >{ > int error; > struct nlmsghdr msg; >}; > > > > > >struct nl_pktinfo >{ > __u32 group; >}; > > > >enum { > NETLINK_UNCONNECTED = 0, > NETLINK_CONNECTED, >}; ># 128 "/usr/include/linux/netlink.h" 3 4 >struct nlattr >{ > __u16 nla_len; > __u16 nla_type; >}; ># 25 "/usr/include/netlink/netlink.h" 2 3 4 ># 1 "/usr/include/linux/rtnetlink.h" 1 3 4 > > > > ># 1 "/usr/include/linux/if_link.h" 1 3 4 > > > > > > >struct rtnl_link_stats >{ > __u32 rx_packets; > __u32 tx_packets; > __u32 rx_bytes; > __u32 tx_bytes; > __u32 rx_errors; > __u32 tx_errors; > __u32 rx_dropped; > __u32 tx_dropped; > __u32 multicast; > __u32 collisions; > > > __u32 rx_length_errors; > __u32 rx_over_errors; > __u32 rx_crc_errors; > __u32 rx_frame_errors; > __u32 rx_fifo_errors; > __u32 rx_missed_errors; > > > __u32 tx_aborted_errors; > __u32 tx_carrier_errors; > __u32 tx_fifo_errors; > __u32 tx_heartbeat_errors; > __u32 tx_window_errors; > > > __u32 rx_compressed; > __u32 tx_compressed; >}; > > >struct rtnl_link_ifmap >{ > __u64 mem_start; > __u64 mem_end; > __u64 base_addr; > __u16 irq; > __u8 dma; > __u8 port; >}; > >enum >{ > IFLA_UNSPEC, > IFLA_ADDRESS, > IFLA_BROADCAST, > IFLA_IFNAME, > IFLA_MTU, > IFLA_LINK, > IFLA_QDISC, > IFLA_STATS, > IFLA_COST, > > IFLA_PRIORITY, > > IFLA_MASTER, > > IFLA_WIRELESS, > > IFLA_PROTINFO, > > IFLA_TXQLEN, > > IFLA_MAP, > > IFLA_WEIGHT, > > IFLA_OPERSTATE, > IFLA_LINKMODE, > IFLA_LINKINFO, > > IFLA_NET_NS_PID, > IFLA_IFALIAS, > __IFLA_MAX >}; ># 123 "/usr/include/linux/if_link.h" 3 4 >enum >{ > IFLA_INET6_UNSPEC, > IFLA_INET6_FLAGS, > IFLA_INET6_CONF, > IFLA_INET6_STATS, > IFLA_INET6_MCAST, > IFLA_INET6_CACHEINFO, > IFLA_INET6_ICMP6STATS, > __IFLA_INET6_MAX >}; > > > >struct ifla_cacheinfo >{ > __u32 max_reasm_len; > __u32 tstamp; > __u32 reachable_time; > __u32 retrans_time; >}; > >enum >{ > IFLA_INFO_UNSPEC, > IFLA_INFO_KIND, > IFLA_INFO_DATA, > IFLA_INFO_XSTATS, > __IFLA_INFO_MAX, >}; > > > > > >enum >{ > IFLA_VLAN_UNSPEC, > IFLA_VLAN_ID, > IFLA_VLAN_FLAGS, > IFLA_VLAN_EGRESS_QOS, > IFLA_VLAN_INGRESS_QOS, > __IFLA_VLAN_MAX, >}; > > > >struct ifla_vlan_flags { > __u32 flags; > __u32 mask; >}; > >enum >{ > IFLA_VLAN_QOS_UNSPEC, > IFLA_VLAN_QOS_MAPPING, > __IFLA_VLAN_QOS_MAX >}; > > > >struct ifla_vlan_qos_mapping >{ > __u32 from; > __u32 to; >}; ># 6 "/usr/include/linux/rtnetlink.h" 2 3 4 ># 1 "/usr/include/linux/if_addr.h" 1 3 4 > > > > > >struct ifaddrmsg >{ > __u8 ifa_family; > __u8 ifa_prefixlen; > __u8 ifa_flags; > __u8 ifa_scope; > __u32 ifa_index; >}; ># 22 "/usr/include/linux/if_addr.h" 3 4 >enum >{ > IFA_UNSPEC, > IFA_ADDRESS, > IFA_LOCAL, > IFA_LABEL, > IFA_BROADCAST, > IFA_ANYCAST, > IFA_CACHEINFO, > IFA_MULTICAST, > __IFA_MAX, >}; ># 48 "/usr/include/linux/if_addr.h" 3 4 >struct ifa_cacheinfo >{ > __u32 ifa_prefered; > __u32 ifa_valid; > __u32 cstamp; > __u32 tstamp; >}; ># 7 "/usr/include/linux/rtnetlink.h" 2 3 4 ># 1 "/usr/include/linux/neighbour.h" 1 3 4 > > > > > >struct ndmsg >{ > __u8 ndm_family; > __u8 ndm_pad1; > __u16 ndm_pad2; > __s32 ndm_ifindex; > __u16 ndm_state; > __u8 ndm_flags; > __u8 ndm_type; >}; > >enum >{ > NDA_UNSPEC, > NDA_DST, > NDA_LLADDR, > NDA_CACHEINFO, > NDA_PROBES, > __NDA_MAX >}; ># 57 "/usr/include/linux/neighbour.h" 3 4 >struct nda_cacheinfo >{ > __u32 ndm_confirmed; > __u32 ndm_used; > __u32 ndm_updated; > __u32 ndm_refcnt; >}; ># 90 "/usr/include/linux/neighbour.h" 3 4 >struct ndt_stats >{ > __u64 ndts_allocs; > __u64 ndts_destroys; > __u64 ndts_hash_grows; > __u64 ndts_res_failed; > __u64 ndts_lookups; > __u64 ndts_hits; > __u64 ndts_rcv_probes_mcast; > __u64 ndts_rcv_probes_ucast; > __u64 ndts_periodic_gc_runs; > __u64 ndts_forced_gc_runs; >}; > >enum { > NDTPA_UNSPEC, > NDTPA_IFINDEX, > NDTPA_REFCNT, > NDTPA_REACHABLE_TIME, > NDTPA_BASE_REACHABLE_TIME, > NDTPA_RETRANS_TIME, > NDTPA_GC_STALETIME, > NDTPA_DELAY_PROBE_TIME, > NDTPA_QUEUE_LEN, > NDTPA_APP_PROBES, > NDTPA_UCAST_PROBES, > NDTPA_MCAST_PROBES, > NDTPA_ANYCAST_DELAY, > NDTPA_PROXY_DELAY, > NDTPA_PROXY_QLEN, > NDTPA_LOCKTIME, > __NDTPA_MAX >}; > > >struct ndtmsg >{ > __u8 ndtm_family; > __u8 ndtm_pad1; > __u16 ndtm_pad2; >}; > >struct ndt_config >{ > __u16 ndtc_key_len; > __u16 ndtc_entry_size; > __u32 ndtc_entries; > __u32 ndtc_last_flush; > __u32 ndtc_last_rand; > __u32 ndtc_hash_rnd; > __u32 ndtc_hash_mask; > __u32 ndtc_hash_chain_gc; > __u32 ndtc_proxy_qlen; >}; > >enum { > NDTA_UNSPEC, > NDTA_NAME, > NDTA_THRESH1, > NDTA_THRESH2, > NDTA_THRESH3, > NDTA_CONFIG, > NDTA_PARMS, > NDTA_STATS, > NDTA_GC_INTERVAL, > __NDTA_MAX >}; ># 8 "/usr/include/linux/rtnetlink.h" 2 3 4 > > > > > > > >enum { > RTM_BASE = 16, > > > RTM_NEWLINK = 16, > > RTM_DELLINK, > > RTM_GETLINK, > > RTM_SETLINK, > > > RTM_NEWADDR = 20, > > RTM_DELADDR, > > RTM_GETADDR, > > > RTM_NEWROUTE = 24, > > RTM_DELROUTE, > > RTM_GETROUTE, > > > RTM_NEWNEIGH = 28, > > RTM_DELNEIGH, > > RTM_GETNEIGH, > > > RTM_NEWRULE = 32, > > RTM_DELRULE, > > RTM_GETRULE, > > > RTM_NEWQDISC = 36, > > RTM_DELQDISC, > > RTM_GETQDISC, > > > RTM_NEWTCLASS = 40, > > RTM_DELTCLASS, > > RTM_GETTCLASS, > > > RTM_NEWTFILTER = 44, > > RTM_DELTFILTER, > > RTM_GETTFILTER, > > > RTM_NEWACTION = 48, > > RTM_DELACTION, > > RTM_GETACTION, > > > RTM_NEWPREFIX = 52, > > > RTM_GETMULTICAST = 58, > > > RTM_GETANYCAST = 62, > > > RTM_NEWNEIGHTBL = 64, > > RTM_GETNEIGHTBL = 66, > > RTM_SETNEIGHTBL, > > > RTM_NEWNDUSEROPT = 68, > > > RTM_NEWADDRLABEL = 72, > > RTM_DELADDRLABEL, > > RTM_GETADDRLABEL, > > > __RTM_MAX, > >}; ># 124 "/usr/include/linux/rtnetlink.h" 3 4 >struct rtattr >{ > unsigned short rta_len; > unsigned short rta_type; >}; ># 151 "/usr/include/linux/rtnetlink.h" 3 4 >struct rtmsg >{ > unsigned char rtm_family; > unsigned char rtm_dst_len; > unsigned char rtm_src_len; > unsigned char rtm_tos; > > unsigned char rtm_table; > unsigned char rtm_protocol; > unsigned char rtm_scope; > unsigned char rtm_type; > > unsigned rtm_flags; >}; > > > >enum >{ > RTN_UNSPEC, > RTN_UNICAST, > RTN_LOCAL, > RTN_BROADCAST, > > RTN_ANYCAST, > > RTN_MULTICAST, > RTN_BLACKHOLE, > RTN_UNREACHABLE, > RTN_PROHIBIT, > RTN_THROW, > RTN_NAT, > RTN_XRESOLVE, > __RTN_MAX >}; ># 226 "/usr/include/linux/rtnetlink.h" 3 4 >enum rt_scope_t >{ > RT_SCOPE_UNIVERSE=0, > > RT_SCOPE_SITE=200, > RT_SCOPE_LINK=253, > RT_SCOPE_HOST=254, > RT_SCOPE_NOWHERE=255 >}; ># 245 "/usr/include/linux/rtnetlink.h" 3 4 >enum rt_class_t >{ > RT_TABLE_UNSPEC=0, > > RT_TABLE_COMPAT=252, > RT_TABLE_DEFAULT=253, > RT_TABLE_MAIN=254, > RT_TABLE_LOCAL=255, > RT_TABLE_MAX=0xFFFFFFFF >}; > > > > >enum rtattr_type_t >{ > RTA_UNSPEC, > RTA_DST, > RTA_SRC, > RTA_IIF, > RTA_OIF, > RTA_GATEWAY, > RTA_PRIORITY, > RTA_PREFSRC, > RTA_METRICS, > RTA_MULTIPATH, > RTA_PROTOINFO, > RTA_FLOW, > RTA_CACHEINFO, > RTA_SESSION, > RTA_MP_ALGO, > RTA_TABLE, > __RTA_MAX >}; ># 294 "/usr/include/linux/rtnetlink.h" 3 4 >struct rtnexthop >{ > unsigned short rtnh_len; > unsigned char rtnh_flags; > unsigned char rtnh_hops; > int rtnh_ifindex; >}; ># 321 "/usr/include/linux/rtnetlink.h" 3 4 >struct rta_cacheinfo >{ > __u32 rta_clntref; > __u32 rta_lastuse; > __s32 rta_expires; > __u32 rta_error; > __u32 rta_used; > > > __u32 rta_id; > __u32 rta_ts; > __u32 rta_tsage; >}; > > > >enum >{ > RTAX_UNSPEC, > > RTAX_LOCK, > > RTAX_MTU, > > RTAX_WINDOW, > > RTAX_RTT, > > RTAX_RTTVAR, > > RTAX_SSTHRESH, > > RTAX_CWND, > > RTAX_ADVMSS, > > RTAX_REORDERING, > > RTAX_HOPLIMIT, > > RTAX_INITCWND, > > RTAX_FEATURES, > > RTAX_RTO_MIN, > > __RTAX_MAX >}; ># 377 "/usr/include/linux/rtnetlink.h" 3 4 >struct rta_session >{ > __u8 proto; > __u8 pad1; > __u16 pad2; > > union { > struct { > __u16 sport; > __u16 dport; > } ports; > > struct { > __u8 type; > __u8 code; > __u16 ident; > } icmpt; > > __u32 spi; > } u; >}; > > > > > >struct rtgenmsg >{ > unsigned char rtgen_family; >}; ># 417 "/usr/include/linux/rtnetlink.h" 3 4 >struct ifinfomsg >{ > unsigned char ifi_family; > unsigned char __ifi_pad; > unsigned short ifi_type; > int ifi_index; > unsigned ifi_flags; > unsigned ifi_change; >}; > > > > > >struct prefixmsg >{ > unsigned char prefix_family; > unsigned char prefix_pad1; > unsigned short prefix_pad2; > int prefix_ifindex; > unsigned char prefix_type; > unsigned char prefix_len; > unsigned char prefix_flags; > unsigned char prefix_pad3; >}; > >enum >{ > PREFIX_UNSPEC, > PREFIX_ADDRESS, > PREFIX_CACHEINFO, > __PREFIX_MAX >}; > > > >struct prefix_cacheinfo >{ > __u32 preferred_time; > __u32 valid_time; >}; > > > > > > >struct tcmsg >{ > unsigned char tcm_family; > unsigned char tcm__pad1; > unsigned short tcm__pad2; > int tcm_ifindex; > __u32 tcm_handle; > __u32 tcm_parent; > __u32 tcm_info; >}; > >enum >{ > TCA_UNSPEC, > TCA_KIND, > TCA_OPTIONS, > TCA_STATS, > TCA_XSTATS, > TCA_RATE, > TCA_FCNT, > TCA_STATS2, > TCA_STAB, > __TCA_MAX >}; ># 498 "/usr/include/linux/rtnetlink.h" 3 4 >struct nduseroptmsg >{ > unsigned char nduseropt_family; > unsigned char nduseropt_pad1; > unsigned short nduseropt_opts_len; > int nduseropt_ifindex; > __u8 nduseropt_icmp_type; > __u8 nduseropt_icmp_code; > unsigned short nduseropt_pad2; > unsigned int nduseropt_pad3; > >}; > >enum >{ > NDUSEROPT_UNSPEC, > NDUSEROPT_SRCADDR, > __NDUSEROPT_MAX >}; ># 542 "/usr/include/linux/rtnetlink.h" 3 4 >enum rtnetlink_groups { > RTNLGRP_NONE, > > RTNLGRP_LINK, > > RTNLGRP_NOTIFY, > > RTNLGRP_NEIGH, > > RTNLGRP_TC, > > RTNLGRP_IPV4_IFADDR, > > RTNLGRP_IPV4_MROUTE, > > RTNLGRP_IPV4_ROUTE, > > RTNLGRP_IPV4_RULE, > > RTNLGRP_IPV6_IFADDR, > > RTNLGRP_IPV6_MROUTE, > > RTNLGRP_IPV6_ROUTE, > > RTNLGRP_IPV6_IFINFO, > > RTNLGRP_DECnet_IFADDR, > > RTNLGRP_NOP2, > RTNLGRP_DECnet_ROUTE, > > RTNLGRP_DECnet_RULE, > > RTNLGRP_NOP4, > RTNLGRP_IPV6_PREFIX, > > RTNLGRP_IPV6_RULE, > > RTNLGRP_ND_USEROPT, > > RTNLGRP_PHONET_IFADDR, > > RTNLGRP_PHONET_ROUTE, > > __RTNLGRP_MAX >}; > > > >struct tcamsg >{ > unsigned char tca_family; > unsigned char tca__pad1; > unsigned short tca__pad2; >}; ># 26 "/usr/include/netlink/netlink.h" 2 3 4 ># 1 "/usr/include/linux/genetlink.h" 1 3 4 ># 11 "/usr/include/linux/genetlink.h" 3 4 >struct genlmsghdr { > __u8 cmd; > __u8 version; > __u16 reserved; >}; ># 34 "/usr/include/linux/genetlink.h" 3 4 >enum { > CTRL_CMD_UNSPEC, > CTRL_CMD_NEWFAMILY, > CTRL_CMD_DELFAMILY, > CTRL_CMD_GETFAMILY, > CTRL_CMD_NEWOPS, > CTRL_CMD_DELOPS, > CTRL_CMD_GETOPS, > CTRL_CMD_NEWMCAST_GRP, > CTRL_CMD_DELMCAST_GRP, > CTRL_CMD_GETMCAST_GRP, > __CTRL_CMD_MAX, >}; > > > >enum { > CTRL_ATTR_UNSPEC, > CTRL_ATTR_FAMILY_ID, > CTRL_ATTR_FAMILY_NAME, > CTRL_ATTR_VERSION, > CTRL_ATTR_HDRSIZE, > CTRL_ATTR_MAXATTR, > CTRL_ATTR_OPS, > CTRL_ATTR_MCAST_GROUPS, > __CTRL_ATTR_MAX, >}; > > > >enum { > CTRL_ATTR_OP_UNSPEC, > CTRL_ATTR_OP_ID, > CTRL_ATTR_OP_FLAGS, > __CTRL_ATTR_OP_MAX, >}; > > > >enum { > CTRL_ATTR_MCAST_GRP_UNSPEC, > CTRL_ATTR_MCAST_GRP_NAME, > CTRL_ATTR_MCAST_GRP_ID, > __CTRL_ATTR_MCAST_GRP_MAX, >}; ># 27 "/usr/include/netlink/netlink.h" 2 3 4 ># 1 "/usr/include/linux/netfilter/nfnetlink.h" 1 3 4 > > > ># 1 "/usr/include/linux/netfilter/nfnetlink_compat.h" 1 3 4 ># 20 "/usr/include/linux/netfilter/nfnetlink_compat.h" 3 4 >struct nfattr >{ > u_int16_t nfa_len; > u_int16_t nfa_type; > >}; ># 5 "/usr/include/linux/netfilter/nfnetlink.h" 2 3 4 > >enum nfnetlink_groups { > NFNLGRP_NONE, > > NFNLGRP_CONNTRACK_NEW, > > NFNLGRP_CONNTRACK_UPDATE, > > NFNLGRP_CONNTRACK_DESTROY, > > NFNLGRP_CONNTRACK_EXP_NEW, > > NFNLGRP_CONNTRACK_EXP_UPDATE, > > NFNLGRP_CONNTRACK_EXP_DESTROY, > > __NFNLGRP_MAX, >}; > > > > >struct nfgenmsg { > u_int8_t nfgen_family; > u_int8_t version; > __be16 res_id; >}; ># 28 "/usr/include/netlink/netlink.h" 2 3 4 ># 1 "/usr/include/netlink/types.h" 1 3 4 ># 21 "/usr/include/netlink/types.h" 3 4 >enum nl_dump_type { > NL_DUMP_BRIEF, > NL_DUMP_FULL, > NL_DUMP_STATS, > NL_DUMP_XML, > NL_DUMP_ENV, > NL_DUMP_EVENTS, > __NL_DUMP_MAX, >}; > > > > > > >struct nl_dump_params >{ > > > > enum nl_dump_type dp_type; > > > > > > int dp_prefix; > > > > > int dp_print_index; > > > > > int dp_dump_msgtype; ># 66 "/usr/include/netlink/types.h" 3 4 > void (*dp_cb)(struct nl_dump_params *, char *); ># 76 "/usr/include/netlink/types.h" 3 4 > void (*dp_nl_cb)(struct nl_dump_params *, int); > > > > > void *dp_data; > > > > > FILE * dp_fd; > > > > > char * dp_buf; > > > > > size_t dp_buflen; > > > > > > int dp_pre_dump; >}; ># 29 "/usr/include/netlink/netlink.h" 2 3 4 ># 1 "/usr/include/netlink/handlers.h" 1 3 4 ># 19 "/usr/include/netlink/handlers.h" 3 4 ># 1 "/usr/include/netlink/netlink-kernel.h" 1 3 4 ># 20 "/usr/include/netlink/handlers.h" 2 3 4 > > > > > >struct nl_cb; >struct nl_handle; >struct nl_msg; ># 40 "/usr/include/netlink/handlers.h" 3 4 >typedef int (*nl_recvmsg_msg_cb_t)(struct nl_msg *msg, void *arg); ># 49 "/usr/include/netlink/handlers.h" 3 4 >typedef int (*nl_recvmsg_err_cb_t)(struct sockaddr_nl *nla, > struct nlmsgerr *nlerr, void *arg); > > > > > > > >enum nl_cb_action { > > NL_OK, > > NL_SKIP, > > NL_STOP, >}; ># 75 "/usr/include/netlink/handlers.h" 3 4 >enum nl_cb_kind { > > NL_CB_DEFAULT, > > NL_CB_VERBOSE, > > NL_CB_DEBUG, > > NL_CB_CUSTOM, > __NL_CB_KIND_MAX, >}; > > > > > > > >enum nl_cb_type { > > NL_CB_VALID, > > NL_CB_FINISH, > > NL_CB_OVERRUN, > > NL_CB_SKIPPED, > > NL_CB_ACK, > > NL_CB_MSG_IN, > > NL_CB_MSG_OUT, > > NL_CB_INVALID, > > NL_CB_SEQ_CHECK, > > NL_CB_SEND_ACK, > __NL_CB_TYPE_MAX, >}; > > > >extern struct nl_cb * nl_cb_alloc(enum nl_cb_kind); >extern struct nl_cb * nl_cb_clone(struct nl_cb *); >extern struct nl_cb * nl_cb_get(struct nl_cb *); >extern void nl_cb_put(struct nl_cb *); > >extern int nl_cb_set(struct nl_cb *, enum nl_cb_type, enum nl_cb_kind, > nl_recvmsg_msg_cb_t, void *); >extern int nl_cb_set_all(struct nl_cb *, enum nl_cb_kind, > nl_recvmsg_msg_cb_t, void *); >extern int nl_cb_err(struct nl_cb *, enum nl_cb_kind, nl_recvmsg_err_cb_t, > void *); > >extern void nl_cb_overwrite_recvmsgs(struct nl_cb *, > int (*func)(struct nl_handle *, > struct nl_cb *)); >extern void nl_cb_overwrite_recv(struct nl_cb *, > int (*func)(struct nl_handle *, > struct sockaddr_nl *, > unsigned char **, > struct ucred **)); >extern void nl_cb_overwrite_send(struct nl_cb *, > int (*func)(struct nl_handle *, > struct nl_msg *)); ># 30 "/usr/include/netlink/netlink.h" 2 3 4 ># 1 "/usr/include/netlink/socket.h" 1 3 4 ># 22 "/usr/include/netlink/socket.h" 3 4 >extern struct nl_handle * nl_handle_alloc(void); >extern struct nl_handle * nl_handle_alloc_cb(struct nl_cb *); >extern void nl_handle_destroy(struct nl_handle *); > >extern uint32_t nl_socket_get_local_port(struct nl_handle *); >extern void nl_socket_set_local_port(struct nl_handle *, > uint32_t); > >extern int nl_socket_add_membership(struct nl_handle *, > int); >extern int nl_socket_drop_membership(struct nl_handle *, > int); >extern void nl_join_groups(struct nl_handle *, int); > >extern uint32_t nl_socket_get_peer_port(struct nl_handle *); >extern void nl_socket_set_peer_port(struct nl_handle *, > uint32_t); > >extern struct nl_cb * nl_socket_get_cb(struct nl_handle *); >extern void nl_socket_set_cb(struct nl_handle *, > struct nl_cb *); >extern int nl_socket_modify_cb(struct nl_handle *, > enum nl_cb_type, > enum nl_cb_kind, > nl_recvmsg_msg_cb_t, > void *); > >extern int nl_set_buffer_size(struct nl_handle *, > int, int); >extern int nl_set_passcred(struct nl_handle *, int); >extern int nl_socket_recv_pktinfo(struct nl_handle *, int); > >extern void nl_disable_sequence_check(struct nl_handle *); >extern unsigned int nl_socket_use_seq(struct nl_handle *); > >extern int nl_socket_get_fd(struct nl_handle *); >extern int nl_socket_set_nonblocking(struct nl_handle *); >extern void nl_socket_enable_msg_peek(struct nl_handle *); >extern void nl_socket_disable_msg_peek(struct nl_handle *); ># 31 "/usr/include/netlink/netlink.h" 2 3 4 > > > > > >extern int nl_debug; >extern struct nl_dump_params nl_debug_dp; > > >extern int nl_connect(struct nl_handle *, int); >extern void nl_close(struct nl_handle *); > > >extern int nl_sendto(struct nl_handle *, void *, size_t); >extern int nl_sendmsg(struct nl_handle *, struct nl_msg *, > struct msghdr *); >extern int nl_send(struct nl_handle *, struct nl_msg *); >extern int nl_send_auto_complete(struct nl_handle *, > struct nl_msg *); >extern int nl_send_simple(struct nl_handle *, int, int, > void *, size_t); > > >extern int nl_recv(struct nl_handle *, > struct sockaddr_nl *, unsigned char **, > struct ucred **); > >extern int nl_recvmsgs(struct nl_handle *, struct nl_cb *); > > >extern int nl_recvmsgs_default(struct nl_handle *); > >extern int nl_wait_for_ack(struct nl_handle *); > > >extern char * nl_nlfamily2str(int, char *, size_t); >extern int nl_str2nlfamily(const char *); ># 16 "/usr/include/netlink/route/link.h" 2 3 4 ># 1 "/usr/include/netlink/cache.h" 1 3 4 ># 16 "/usr/include/netlink/cache.h" 3 4 ># 1 "/usr/include/netlink/msg.h" 1 3 4 ># 16 "/usr/include/netlink/msg.h" 3 4 ># 1 "/usr/include/netlink/object.h" 1 3 4 ># 16 "/usr/include/netlink/object.h" 3 4 ># 1 "/usr/include/netlink/utils.h" 1 3 4 ># 16 "/usr/include/netlink/utils.h" 3 4 ># 1 "/usr/include/netlink/list.h" 1 3 4 ># 15 "/usr/include/netlink/list.h" 3 4 >struct nl_list_head >{ > struct nl_list_head * next; > struct nl_list_head * prev; >}; > > >static inline void __nl_list_add(struct nl_list_head *obj, > struct nl_list_head *prev, > struct nl_list_head *next) >{ > prev->next = obj; > obj->prev = prev; > next->prev = obj; > obj->next = next; >} > >static inline void nl_list_add_tail(struct nl_list_head *obj, > struct nl_list_head *head) >{ > __nl_list_add(obj, head->prev, head); >} > >static inline void nl_list_add_head(struct nl_list_head *obj, > struct nl_list_head *head) >{ > __nl_list_add(obj, head, head->next); >} > >static inline void nl_list_del(struct nl_list_head *obj) >{ > obj->next->prev = obj->prev; > obj->prev->next = obj->next; >} > >static inline int nl_list_empty(struct nl_list_head *head) >{ > return head->next == head; >} ># 17 "/usr/include/netlink/utils.h" 2 3 4 ># 41 "/usr/include/netlink/utils.h" 3 4 >extern char * nl_geterror(void); >extern int nl_get_errno(void); >extern void nl_perror(const char *); > > >extern double nl_cancel_down_bytes(unsigned long long, char **); >extern double nl_cancel_down_bits(unsigned long long, char **); >extern double nl_cancel_down_us(uint32_t, char **); > > >extern long nl_size2int(const char *); >extern long nl_prob2int(const char *); > > >extern int nl_get_hz(void); >extern uint32_t nl_us2ticks(uint32_t); >extern uint32_t nl_ticks2us(uint32_t); >extern char * nl_msec2str(uint64_t, char *, size_t); > > >extern char * nl_llproto2str(int, char *, size_t); >extern int nl_str2llproto(const char *); > > >extern char * nl_ether_proto2str(int, char *, size_t); >extern int nl_str2ether_proto(const char *); > > >extern char * nl_ip_proto2str(int, char *, size_t); >extern int nl_str2ip_proto(const char *); > > >extern void nl_new_line(struct nl_dump_params *, int); >extern void nl_dump(struct nl_dump_params *, const char *, ...); >extern void nl_dump_line(struct nl_dump_params *, int, const char *, ...); ># 17 "/usr/include/netlink/object.h" 2 3 4 > > > > > >struct nl_cache; >struct nl_object; >struct nl_object_ops; > > > > >extern struct nl_object * nl_object_alloc(struct nl_object_ops *); >extern struct nl_object * nl_object_alloc_name(const char *); >extern void nl_object_free(struct nl_object *); >extern struct nl_object * nl_object_clone(struct nl_object *obj); >extern void nl_object_get(struct nl_object *); >extern void nl_object_put(struct nl_object *); >extern int nl_object_shared(struct nl_object *); >extern void nl_object_dump(struct nl_object *, > struct nl_dump_params *); >extern int nl_object_identical(struct nl_object *, > struct nl_object *); >extern uint32_t nl_object_diff(struct nl_object *, > struct nl_object *); >extern int nl_object_match_filter(struct nl_object *, > struct nl_object *); >extern char * nl_object_attrs2str(struct nl_object *, > uint32_t attrs, char *buf, > size_t); >extern char * nl_object_attr_list(struct nl_object *, > char *, size_t); > > >extern void nl_object_mark(struct nl_object *); >extern void nl_object_unmark(struct nl_object *); >extern int nl_object_is_marked(struct nl_object *); > > >extern int nl_object_get_refcnt(struct nl_object *); >extern struct nl_cache * nl_object_get_cache(struct nl_object *); >extern inline void * nl_object_priv(struct nl_object *); ># 17 "/usr/include/netlink/msg.h" 2 3 4 ># 1 "/usr/include/netlink/attr.h" 1 3 4 ># 17 "/usr/include/netlink/attr.h" 3 4 ># 1 "/usr/include/netlink/addr.h" 1 3 4 ># 21 "/usr/include/netlink/addr.h" 3 4 >struct nl_addr; > > >extern struct nl_addr * nl_addr_alloc(size_t); >extern struct nl_addr * nl_addr_build(int, void *, size_t); >extern struct nl_addr * nl_addr_parse(const char *, int); >extern struct nl_addr * nl_addr_clone(struct nl_addr *); > > >extern void nl_addr_destroy(struct nl_addr *); > > >extern struct nl_addr * nl_addr_get(struct nl_addr *); >extern void nl_addr_put(struct nl_addr *); >extern int nl_addr_shared(struct nl_addr *); > >extern int nl_addr_cmp(struct nl_addr *, struct nl_addr *); >extern int nl_addr_cmp_prefix(struct nl_addr *, struct nl_addr *); >extern int nl_addr_iszero(struct nl_addr *); >extern int nl_addr_valid(char *, int); >extern int nl_addr_guess_family(struct nl_addr *); >extern int nl_addr_fill_sockaddr(struct nl_addr *, > struct sockaddr *, socklen_t *); >extern struct addrinfo *nl_addr_info(struct nl_addr *addr); >extern int nl_addr_resolve(struct nl_addr *addr, char *host, size_t hostlen); > > >extern void nl_addr_set_family(struct nl_addr *, int); >extern int nl_addr_get_family(struct nl_addr *); >extern int nl_addr_set_binary_addr(struct nl_addr *, void *, > size_t); >extern void * nl_addr_get_binary_addr(struct nl_addr *); >extern unsigned int nl_addr_get_len(struct nl_addr *); >extern void nl_addr_set_prefixlen(struct nl_addr *, int); >extern unsigned int nl_addr_get_prefixlen(struct nl_addr *); > > >extern char * nl_af2str(int, char *, size_t); >extern int nl_str2af(const char *); > > >extern char * nl_addr2str(struct nl_addr *, char *, size_t); ># 18 "/usr/include/netlink/attr.h" 2 3 4 ># 1 "/usr/include/netlink/data.h" 1 3 4 ># 21 "/usr/include/netlink/data.h" 3 4 >struct nl_data; > > >extern struct nl_data * nl_data_alloc(void *, size_t); >extern struct nl_data * nl_data_clone(struct nl_data *); >extern int nl_data_append(struct nl_data *, void *, size_t); >extern void nl_data_free(struct nl_data *); > > >extern void * nl_data_get(struct nl_data *); >extern size_t nl_data_get_size(struct nl_data *); > > >extern int nl_data_cmp(struct nl_data *, struct nl_data *); ># 19 "/usr/include/netlink/attr.h" 2 3 4 > > > > > >struct nl_msg; ># 35 "/usr/include/netlink/attr.h" 3 4 >enum { > NLA_UNSPEC, > NLA_U8, > NLA_U16, > NLA_U32, > NLA_U64, > NLA_STRING, > NLA_FLAG, > NLA_MSECS, > NLA_NESTED, > __NLA_TYPE_MAX, >}; ># 73 "/usr/include/netlink/attr.h" 3 4 >struct nla_policy { > > uint16_t type; > > > uint16_t minlen; > > > uint16_t maxlen; >}; > > >extern int nla_attr_size(int payload); >extern int nla_total_size(int payload); >extern int nla_padlen(int payload); > > >extern int nla_type(const struct nlattr *); >extern void * nla_data(const struct nlattr *); >extern int nla_len(const struct nlattr *); > > >extern int nla_ok(const struct nlattr *, int); >extern struct nlattr * nla_next(const struct nlattr *, int *); >extern int nla_parse(struct nlattr **, int, struct nlattr *, > int, struct nla_policy *); >extern int nla_parse_nested(struct nlattr **, int, struct nlattr *, > struct nla_policy *); >extern int nla_validate(struct nlattr *, int, int, > struct nla_policy *); >extern struct nlattr * nla_find(struct nlattr *, int, int); > > >extern int nla_memcpy(void *, struct nlattr *, int); >extern size_t nla_strlcpy(char *, const struct nlattr *, size_t); >extern int nla_memcmp(const struct nlattr *, const void *, size_t); >extern int nla_strcmp(const struct nlattr *, const char *); > > >extern struct nlattr * nla_reserve(struct nl_msg *, int, int); >extern int nla_put(struct nl_msg *, int, int, const void *); >extern int nla_put_nested(struct nl_msg *, int, struct nl_msg *); >extern int nla_put_u8(struct nl_msg *, int, uint8_t); >extern int nla_put_u16(struct nl_msg *, int, uint16_t); >extern int nla_put_u32(struct nl_msg *, int, uint32_t); >extern int nla_put_u64(struct nl_msg *, int, uint64_t); >extern int nla_put_string(struct nl_msg *, int, const char *); >extern int nla_put_flag(struct nl_msg *, int); >extern int nla_put_msecs(struct nl_msg *, int, unsigned long); >extern int nla_put_data(struct nl_msg *, int, struct nl_data *); >extern int nla_put_addr(struct nl_msg *, int, struct nl_addr *); > > >extern struct nlattr * nla_nest_start(struct nl_msg *, int); >extern int nla_nest_end(struct nl_msg *, struct nlattr *); > > >extern uint8_t nla_get_u8(struct nlattr *); >extern uint16_t nla_get_u16(struct nlattr *); >extern uint32_t nla_get_u32(struct nlattr *); >extern uint64_t nla_get_u64(struct nlattr *); >extern char * nla_get_string(struct nlattr *); >extern int nla_get_flag(struct nlattr *); >extern unsigned long nla_get_msecs(struct nlattr *); >extern struct nl_data * nla_get_data(struct nlattr *); >extern struct nl_addr * nla_get_addr(struct nlattr *, int); ># 18 "/usr/include/netlink/msg.h" 2 3 4 ># 43 "/usr/include/netlink/msg.h" 3 4 >struct nl_msg; >struct nl_tree; >struct ucred; > > >extern int nlmsg_msg_size(int); >extern int nlmsg_total_size(int); >extern int nlmsg_padlen(int); > > >extern void * nlmsg_data(const struct nlmsghdr *); >extern int nlmsg_len(const struct nlmsghdr *); >extern void * nlmsg_tail(const struct nlmsghdr *); > > >extern struct nlattr * nlmsg_attrdata(const struct nlmsghdr *, int); >extern int nlmsg_attrlen(const struct nlmsghdr *, int); > > >extern int nlmsg_valid_hdr(const struct nlmsghdr *, int); >extern int nlmsg_ok(const struct nlmsghdr *, int); >extern struct nlmsghdr * nlmsg_next(struct nlmsghdr *, int *); >extern int nlmsg_parse(struct nlmsghdr *, int, struct nlattr **, > int, struct nla_policy *); >extern struct nlattr * nlmsg_find_attr(struct nlmsghdr *, int, int); >extern int nlmsg_validate(struct nlmsghdr *, int, int, > struct nla_policy *); > > > > > > >extern struct nl_msg * nlmsg_alloc(void); >extern struct nl_msg * nlmsg_alloc_size(size_t); >extern struct nl_msg * nlmsg_alloc_simple(int, int); >extern void nlmsg_set_default_size(size_t); >extern struct nl_msg * nlmsg_inherit(struct nlmsghdr *); >extern struct nl_msg * nlmsg_convert(struct nlmsghdr *); >extern void * nlmsg_reserve(struct nl_msg *, size_t, int); >extern int nlmsg_append(struct nl_msg *, void *, size_t, int); >extern int nlmsg_expand(struct nl_msg *, size_t); > >extern struct nlmsghdr * nlmsg_put(struct nl_msg *, uint32_t, uint32_t, > int, int, int); >extern struct nlmsghdr * nlmsg_hdr(struct nl_msg *); >extern void nlmsg_free(struct nl_msg *); > > >extern void nlmsg_set_proto(struct nl_msg *, int); >extern int nlmsg_get_proto(struct nl_msg *); >extern size_t nlmsg_get_max_size(struct nl_msg *); >extern void nlmsg_set_src(struct nl_msg *, struct sockaddr_nl *); >extern struct sockaddr_nl *nlmsg_get_src(struct nl_msg *); >extern void nlmsg_set_dst(struct nl_msg *, struct sockaddr_nl *); >extern struct sockaddr_nl *nlmsg_get_dst(struct nl_msg *); >extern void nlmsg_set_creds(struct nl_msg *, struct ucred *); >extern struct ucred * nlmsg_get_creds(struct nl_msg *); > >extern char * nl_nlmsgtype2str(int, char *, size_t); >extern int nl_str2nlmsgtype(const char *); > >extern char * nl_nlmsg_flags2str(int, char *, size_t); > >extern int nl_msg_parse(struct nl_msg *, > void (*cb)(struct nl_object *, void *), > void *); > >extern void nl_msg_dump(struct nl_msg *, FILE *); ># 17 "/usr/include/netlink/cache.h" 2 3 4 > > ># 1 "/usr/include/netlink/cache-api.h" 1 3 4 ># 111 "/usr/include/netlink/cache-api.h" 3 4 >enum { > NL_ACT_UNSPEC, > NL_ACT_NEW, > NL_ACT_DEL, > NL_ACT_GET, > NL_ACT_SET, > NL_ACT_CHANGE, > __NL_ACT_MAX, >}; ># 128 "/usr/include/netlink/cache-api.h" 3 4 >struct nl_msgtype >{ > > int mt_id; > > > int mt_act; > > > char * mt_name; >}; > > > > >struct nl_af_group >{ > > int ag_family; > > > int ag_group; >}; > > > >struct nl_parser_param >{ > int (*pp_cb)(struct nl_object *, struct nl_parser_param *); > void * pp_arg; >}; > > > > >struct nl_cache_ops >{ > char * co_name; > > int co_hdrsize; > int co_protocol; > struct nl_af_group * co_groups; > > > > > > int (*co_request_update)(struct nl_cache *, struct nl_handle *); > > > > > > > int (*co_msg_parser)(struct nl_cache_ops *, struct sockaddr_nl *, > struct nlmsghdr *, struct nl_parser_param *); > > struct nl_object_ops * co_obj_ops; > > struct nl_cache_ops *co_next; > struct nl_cache *co_major_cache; > struct genl_ops * co_genl; > struct nl_msgtype co_msgtypes[]; >}; ># 20 "/usr/include/netlink/cache.h" 2 3 4 > > > > > >struct nl_cache; > >typedef void (*change_func_t)(struct nl_cache *, struct nl_object *, int); > > >extern int nl_cache_nitems(struct nl_cache *); >extern int nl_cache_nitems_filter(struct nl_cache *, > struct nl_object *); >extern struct nl_cache_ops * nl_cache_get_ops(struct nl_cache *); >extern struct nl_object * nl_cache_get_first(struct nl_cache *); >extern struct nl_object * nl_cache_get_last(struct nl_cache *); >extern struct nl_object * nl_cache_get_next(struct nl_object *); >extern struct nl_object * nl_cache_get_prev(struct nl_object *); > > > >extern struct nl_cache * nl_cache_alloc(struct nl_cache_ops *); >extern struct nl_cache * nl_cache_alloc_name(const char *); >extern struct nl_cache * nl_cache_subset(struct nl_cache *, > struct nl_object *); >extern void nl_cache_clear(struct nl_cache *); >extern void nl_cache_free(struct nl_cache *); > > >extern int nl_cache_add(struct nl_cache *, > struct nl_object *); >extern int nl_cache_parse_and_add(struct nl_cache *, > struct nl_msg *); > >extern void nl_cache_remove(struct nl_object *); > >extern int nl_cache_refill(struct nl_handle *, > struct nl_cache *); >extern int nl_cache_pickup(struct nl_handle *, > struct nl_cache *); >extern int nl_cache_resync(struct nl_handle *, > struct nl_cache *, > change_func_t); >extern int nl_cache_include(struct nl_cache *, > struct nl_object *, > change_func_t); > > >extern int nl_cache_is_empty(struct nl_cache *); >extern void nl_cache_mark_all(struct nl_cache *); > > >extern void nl_cache_dump(struct nl_cache *, > struct nl_dump_params *); >extern void nl_cache_dump_filter(struct nl_cache *, > struct nl_dump_params *, > struct nl_object *); > > >extern void nl_cache_foreach(struct nl_cache *, > void (*cb)(struct nl_object *, > void *), > void *arg); >extern void nl_cache_foreach_filter(struct nl_cache *, > struct nl_object *, > void (*cb)(struct > nl_object *, > void *), > void *arg); > > > > >extern struct nl_cache_ops * nl_cache_ops_lookup(const char *); >extern struct nl_cache_ops * nl_cache_ops_associate(int, int); >extern struct nl_msgtype * nl_msgtype_lookup(struct nl_cache_ops *, int); >extern void nl_cache_ops_foreach(void (*cb)(struct nl_cache_ops *, void *), void *); >extern int nl_cache_mngt_register(struct nl_cache_ops *); >extern int nl_cache_mngt_unregister(struct nl_cache_ops *); > > >extern void nl_cache_mngt_provide(struct nl_cache *); >extern void nl_cache_mngt_unprovide(struct nl_cache *); >extern struct nl_cache * nl_cache_mngt_require(const char *); > >struct nl_cache_mngr; > > > >extern struct nl_cache_mngr * nl_cache_mngr_alloc(struct nl_handle *, > int, int); >extern struct nl_cache * nl_cache_mngr_add(struct nl_cache_mngr *, > const char *, > change_func_t); >extern int nl_cache_mngr_get_fd(struct nl_cache_mngr *); >extern int nl_cache_mngr_poll(struct nl_cache_mngr *, > int); >extern int nl_cache_mngr_data_ready(struct nl_cache_mngr *); >extern void nl_cache_mngr_free(struct nl_cache_mngr *); ># 17 "/usr/include/netlink/route/link.h" 2 3 4 > > > > > > >struct rtnl_link; > >enum rtnl_link_st { > RTNL_LINK_RX_PACKETS, > RTNL_LINK_TX_PACKETS, > RTNL_LINK_RX_BYTES, > RTNL_LINK_TX_BYTES, > RTNL_LINK_RX_ERRORS, > RTNL_LINK_TX_ERRORS, > RTNL_LINK_RX_DROPPED, > RTNL_LINK_TX_DROPPED, > RTNL_LINK_RX_COMPRESSED, > RTNL_LINK_TX_COMPRESSED, > RTNL_LINK_RX_FIFO_ERR, > RTNL_LINK_TX_FIFO_ERR, > RTNL_LINK_RX_LEN_ERR, > RTNL_LINK_RX_OVER_ERR, > RTNL_LINK_RX_CRC_ERR, > RTNL_LINK_RX_FRAME_ERR, > RTNL_LINK_RX_MISSED_ERR, > RTNL_LINK_TX_ABORT_ERR, > RTNL_LINK_TX_CARRIER_ERR, > RTNL_LINK_TX_HBEAT_ERR, > RTNL_LINK_TX_WIN_ERR, > RTNL_LINK_TX_COLLISIONS, > RTNL_LINK_MULTICAST, > __RTNL_LINK_STATS_MAX, >}; ># 61 "/usr/include/netlink/route/link.h" 3 4 >extern struct rtnl_link * rtnl_link_alloc(void); >extern void rtnl_link_put(struct rtnl_link *); >extern void rtnl_link_free(struct rtnl_link *); > > >extern struct nl_cache * rtnl_link_alloc_cache(struct nl_handle *); >extern struct rtnl_link * rtnl_link_get(struct nl_cache *, int); >extern struct rtnl_link * rtnl_link_get_by_name(struct nl_cache *, > const char *); > > > >extern struct nl_msg * rtnl_link_build_change_request(struct rtnl_link *, > struct rtnl_link *, > int); >extern int rtnl_link_change(struct nl_handle *, > struct rtnl_link *, > struct rtnl_link *, int); > > >extern char * rtnl_link_i2name(struct nl_cache *, int, > char *, size_t); >extern int rtnl_link_name2i(struct nl_cache *, > const char *); > > >extern char * rtnl_link_stat2str(int, char *, size_t); >extern int rtnl_link_str2stat(const char *); > > >extern char * rtnl_link_flags2str(int, char *, size_t); >extern int rtnl_link_str2flags(const char *); > >extern char * rtnl_link_operstate2str(int, char *, size_t); >extern int rtnl_link_str2operstate(const char *); > >extern char * rtnl_link_mode2str(int, char *, size_t); >extern int rtnl_link_str2mode(const char *); > > >extern void rtnl_link_set_qdisc(struct rtnl_link *, > const char *); >extern char * rtnl_link_get_qdisc(struct rtnl_link *); > >extern void rtnl_link_set_name(struct rtnl_link *, > const char *); >extern char * rtnl_link_get_name(struct rtnl_link *); > >extern void rtnl_link_set_flags(struct rtnl_link *, > unsigned int); >extern void rtnl_link_unset_flags(struct rtnl_link *, > unsigned int); >extern unsigned int rtnl_link_get_flags(struct rtnl_link *); > >extern void rtnl_link_set_mtu(struct rtnl_link *, > unsigned int); >extern unsigned int rtnl_link_get_mtu(struct rtnl_link *); > >extern void rtnl_link_set_txqlen(struct rtnl_link *, > unsigned int); >extern unsigned int rtnl_link_get_txqlen(struct rtnl_link *); > >extern void rtnl_link_set_weight(struct rtnl_link *, > unsigned int); >extern unsigned int rtnl_link_get_weight(struct rtnl_link *); > >extern void rtnl_link_set_ifindex(struct rtnl_link *, int); >extern int rtnl_link_get_ifindex(struct rtnl_link *); > >extern void rtnl_link_set_family(struct rtnl_link *, int); >extern int rtnl_link_get_family(struct rtnl_link *); > >extern void rtnl_link_set_arptype(struct rtnl_link *, > unsigned int); >extern unsigned int rtnl_link_get_arptype(struct rtnl_link *); > >extern void rtnl_link_set_addr(struct rtnl_link *, > struct nl_addr *); >extern struct nl_addr * rtnl_link_get_addr(struct rtnl_link *); > >extern void rtnl_link_set_broadcast(struct rtnl_link *, > struct nl_addr *); >extern struct nl_addr * rtnl_link_get_broadcast(struct rtnl_link *); > >extern void rtnl_link_set_link(struct rtnl_link *, int); >extern int rtnl_link_get_link(struct rtnl_link *); > >extern void rtnl_link_set_master(struct rtnl_link *, int); >extern int rtnl_link_get_master(struct rtnl_link *); > >extern void rtnl_link_set_operstate(struct rtnl_link *, > uint8_t); >extern uint8_t rtnl_link_get_operstate(struct rtnl_link *); > >extern void rtnl_link_set_linkmode(struct rtnl_link *, > uint8_t); >extern uint8_t rtnl_link_get_linkmode(struct rtnl_link *); > >extern uint64_t rtnl_link_get_stat(struct rtnl_link *, int); > >extern int rtnl_link_set_info_type(struct rtnl_link *, > const char *); >extern char * rtnl_link_get_info_type(struct rtnl_link *); ># 2 "netlink.c" 2 ># 1 "/usr/include/netlink/route/addr.h" 1 3 4 ># 25 "/usr/include/netlink/route/addr.h" 3 4 >struct rtnl_addr; > > >extern struct rtnl_addr *rtnl_addr_alloc(void); >extern void rtnl_addr_put(struct rtnl_addr *); > >extern struct nl_cache *rtnl_addr_alloc_cache(struct nl_handle *); > > >extern struct nl_msg * rtnl_addr_build_add_request(struct rtnl_addr *, int); >extern int rtnl_addr_add(struct nl_handle *, struct rtnl_addr *, > int); > > >extern struct nl_msg * rtnl_addr_build_delete_request(struct rtnl_addr *, int); >extern int rtnl_addr_delete(struct nl_handle *, > struct rtnl_addr *, int); > > >extern char * rtnl_addr_flags2str(int, char *, size_t); >extern int rtnl_addr_str2flags(const char *); > > >extern void rtnl_addr_set_label(struct rtnl_addr *, const char *); >extern char * rtnl_addr_get_label(struct rtnl_addr *); > >extern void rtnl_addr_set_ifindex(struct rtnl_addr *, int); >extern int rtnl_addr_get_ifindex(struct rtnl_addr *); > >extern void rtnl_addr_set_family(struct rtnl_addr *, int); >extern int rtnl_addr_get_family(struct rtnl_addr *); > >extern void rtnl_addr_set_prefixlen(struct rtnl_addr *, int); >extern int rtnl_addr_get_prefixlen(struct rtnl_addr *); > >extern void rtnl_addr_set_scope(struct rtnl_addr *, int); >extern int rtnl_addr_get_scope(struct rtnl_addr *); > >extern void rtnl_addr_set_flags(struct rtnl_addr *, unsigned int); >extern void rtnl_addr_unset_flags(struct rtnl_addr *, unsigned int); >extern unsigned int rtnl_addr_get_flags(struct rtnl_addr *); > >extern int rtnl_addr_set_local(struct rtnl_addr *, > struct nl_addr *); >extern struct nl_addr * rtnl_addr_get_local(struct rtnl_addr *); > >extern int rtnl_addr_set_peer(struct rtnl_addr *, > struct nl_addr *); >extern struct nl_addr * rtnl_addr_get_peer(struct rtnl_addr *); > >extern int rtnl_addr_set_broadcast(struct rtnl_addr *, > struct nl_addr *); >extern struct nl_addr * rtnl_addr_get_broadcast(struct rtnl_addr *); > >extern int rtnl_addr_set_anycast(struct rtnl_addr *, > struct nl_addr *); >extern struct nl_addr * rtnl_addr_get_anycast(struct rtnl_addr *); > >extern int rtnl_addr_set_multicast(struct rtnl_addr *, > struct nl_addr *); >extern struct nl_addr * rtnl_addr_get_multicast(struct rtnl_addr *); ># 3 "netlink.c" 2 > > >int get_if_indx(const char * restrict ifname) >{ > struct nl_handle *nh; > struct nl_cache *lc; > > int lnk; > > nh = nl_handle_alloc(); > if(!nh) > { > return -1; > } > > nl_connect(nh, 0); > > lc = rtnl_link_alloc_cache(nh); > if(!lc) > { > nl_close(nh); > nl_handle_destroy(nh); > return -1; > } > > lnk = rtnl_link_name2i(lc, ifname); > > nl_cache_free(lc); > nl_close(nh); > nl_handle_destroy(nh); > > return lnk; > >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 262646
: 185177