// /usr/lib/gcc/x86_64-linux-gnu/4.8/cc1 -quiet -I ./Include -I . -I /usr/include/x86_64-linux-gnu -I /usr/local/include -I /usr/local/src/python/Python-3.6.2/Include -I /usr/local/src/python/Python-3.6.2 -imultiarch x86_64-linux-gnu -D_REENTRANT -D NDEBUG /usr/local/src/python/Python-3.6.2/Modules/socketmodule.c -quiet -dumpbase socketmodule.c -mtune=generic -march=x86-64 -auxbase-strip build/temp.linux-x86_64-3.6/usr/local/src/python/Python-3.6.2/Modules/socketmodule.o -g -O3 -Wsign-compare -Wall -Wstrict-prototypes -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -std=c99 -fPIC -fwrapv -fprofile-use -fprofile-correction -fstack-protector -Wformat-security -o - -frandom-seed=0 # 1 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" # 1 "/usr/local/src/python/Python-3.6.2//" # 1 "" # 1 "" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 1 "" 2 # 1 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" # 100 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" # 1 "./Include/Python.h" 1 # 1 "./Include/patchlevel.h" 1 # 8 "./Include/Python.h" 2 # 1 "./pyconfig.h" 1 # 9 "./Include/Python.h" 2 # 1 "./Include/pymacconfig.h" 1 # 10 "./Include/Python.h" 2 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h" 1 3 4 # 34 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h" 1 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h" 1 3 4 # 168 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h" 3 4 # 1 "/usr/include/limits.h" 1 3 4 # 25 "/usr/include/limits.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 374 "/usr/include/features.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 1 3 4 # 385 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 # 386 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4 # 375 "/usr/include/features.h" 2 3 4 # 398 "/usr/include/features.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 1 3 4 # 10 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/gnu/stubs-64.h" 1 3 4 # 11 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 2 3 4 # 399 "/usr/include/features.h" 2 3 4 # 26 "/usr/include/limits.h" 2 3 4 # 143 "/usr/include/limits.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/posix1_lim.h" 1 3 4 # 160 "/usr/include/x86_64-linux-gnu/bits/posix1_lim.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/local_lim.h" 1 3 4 # 38 "/usr/include/x86_64-linux-gnu/bits/local_lim.h" 3 4 # 1 "/usr/include/linux/limits.h" 1 3 4 # 39 "/usr/include/x86_64-linux-gnu/bits/local_lim.h" 2 3 4 # 161 "/usr/include/x86_64-linux-gnu/bits/posix1_lim.h" 2 3 4 # 144 "/usr/include/limits.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/posix2_lim.h" 1 3 4 # 148 "/usr/include/limits.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/xopen_lim.h" 1 3 4 # 33 "/usr/include/x86_64-linux-gnu/bits/xopen_lim.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/stdio_lim.h" 1 3 4 # 34 "/usr/include/x86_64-linux-gnu/bits/xopen_lim.h" 2 3 4 # 152 "/usr/include/limits.h" 2 3 4 # 169 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h" 2 3 4 # 8 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h" 2 3 4 # 35 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h" 2 3 4 # 12 "./Include/Python.h" 2 # 25 "./Include/Python.h" # 1 "/usr/include/stdio.h" 1 3 4 # 29 "/usr/include/stdio.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h" 1 3 4 # 212 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h" 3 4 typedef long unsigned int size_t; # 34 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/types.h" 1 3 4 # 27 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 # 28 "/usr/include/x86_64-linux-gnu/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; typedef signed long int __int64_t; typedef unsigned long int __uint64_t; typedef long int __quad_t; typedef unsigned long int __u_quad_t; # 121 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 1 3 4 # 122 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 typedef unsigned long int __dev_t; typedef unsigned int __uid_t; typedef unsigned int __gid_t; typedef unsigned long int __ino_t; typedef unsigned long int __ino64_t; typedef unsigned int __mode_t; typedef unsigned long int __nlink_t; typedef long int __off_t; typedef long int __off64_t; typedef int __pid_t; typedef struct { int __val[2]; } __fsid_t; typedef long int __clock_t; typedef unsigned long int __rlim_t; typedef unsigned long int __rlim64_t; typedef unsigned int __id_t; typedef long int __time_t; typedef unsigned int __useconds_t; typedef long int __suseconds_t; typedef int __daddr_t; typedef int __key_t; typedef int __clockid_t; typedef void * __timer_t; typedef long int __blksize_t; typedef long int __blkcnt_t; typedef long int __blkcnt64_t; typedef unsigned long int __fsblkcnt_t; typedef unsigned long int __fsblkcnt64_t; typedef unsigned long int __fsfilcnt_t; typedef unsigned long int __fsfilcnt64_t; typedef long int __fsword_t; typedef long int __ssize_t; typedef long int __syscall_slong_t; typedef unsigned long int __syscall_ulong_t; typedef __off64_t __loff_t; typedef __quad_t *__qaddr_t; typedef char *__caddr_t; typedef long int __intptr_t; typedef unsigned int __socklen_t; # 36 "/usr/include/stdio.h" 2 3 4 # 44 "/usr/include/stdio.h" 3 4 struct _IO_FILE; typedef struct _IO_FILE FILE; # 64 "/usr/include/stdio.h" 3 4 typedef struct _IO_FILE __FILE; # 74 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/libio.h" 1 3 4 # 31 "/usr/include/libio.h" 3 4 # 1 "/usr/include/_G_config.h" 1 3 4 # 15 "/usr/include/_G_config.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h" 1 3 4 # 16 "/usr/include/_G_config.h" 2 3 4 # 1 "/usr/include/wchar.h" 1 3 4 # 82 "/usr/include/wchar.h" 3 4 typedef struct { int __count; union { unsigned int __wch; char __wchb[4]; } __value; } __mbstate_t; # 21 "/usr/include/_G_config.h" 2 3 4 typedef struct { __off_t __pos; __mbstate_t __state; } _G_fpos_t; typedef struct { __off64_t __pos; __mbstate_t __state; } _G_fpos64_t; # 32 "/usr/include/libio.h" 2 3 4 # 49 "/usr/include/libio.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h" 1 3 4 # 40 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 50 "/usr/include/libio.h" 2 3 4 # 144 "/usr/include/libio.h" 3 4 struct _IO_jump_t; struct _IO_FILE; # 154 "/usr/include/libio.h" 3 4 typedef void _IO_lock_t; struct _IO_marker { struct _IO_marker *_next; struct _IO_FILE *_sbuf; int _pos; # 177 "/usr/include/libio.h" 3 4 }; enum __codecvt_result { __codecvt_ok, __codecvt_partial, __codecvt_error, __codecvt_noconv }; # 245 "/usr/include/libio.h" 3 4 struct _IO_FILE { int _flags; char* _IO_read_ptr; char* _IO_read_end; char* _IO_read_base; char* _IO_write_base; char* _IO_write_ptr; char* _IO_write_end; char* _IO_buf_base; char* _IO_buf_end; char *_IO_save_base; char *_IO_backup_base; char *_IO_save_end; struct _IO_marker *_markers; struct _IO_FILE *_chain; int _fileno; int _flags2; __off_t _old_offset; unsigned short _cur_column; signed char _vtable_offset; char _shortbuf[1]; _IO_lock_t *_lock; # 293 "/usr/include/libio.h" 3 4 __off64_t _offset; # 302 "/usr/include/libio.h" 3 4 void *__pad1; void *__pad2; void *__pad3; void *__pad4; size_t __pad5; int _mode; char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; }; typedef struct _IO_FILE _IO_FILE; struct _IO_FILE_plus; extern struct _IO_FILE_plus _IO_2_1_stdin_; extern struct _IO_FILE_plus _IO_2_1_stdout_; extern struct _IO_FILE_plus _IO_2_1_stderr_; # 338 "/usr/include/libio.h" 3 4 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); typedef __ssize_t __io_write_fn (void *__cookie, const char *__buf, size_t __n); typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); typedef int __io_close_fn (void *__cookie); typedef __io_read_fn cookie_read_function_t; typedef __io_write_fn cookie_write_function_t; typedef __io_seek_fn cookie_seek_function_t; typedef __io_close_fn cookie_close_function_t; typedef struct { __io_read_fn *read; __io_write_fn *write; __io_seek_fn *seek; __io_close_fn *close; } _IO_cookie_io_functions_t; typedef _IO_cookie_io_functions_t cookie_io_functions_t; struct _IO_cookie_file; extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write, void *__cookie, _IO_cookie_io_functions_t __fns); extern int __underflow (_IO_FILE *); extern int __uflow (_IO_FILE *); extern int __overflow (_IO_FILE *, int); # 434 "/usr/include/libio.h" 3 4 extern int _IO_getc (_IO_FILE *__fp); extern int _IO_putc (int __c, _IO_FILE *__fp); extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__ , __leaf__)); extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__ , __leaf__)); extern int _IO_peekc_locked (_IO_FILE *__fp); extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__)); extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__)); extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__)); # 464 "/usr/include/libio.h" 3 4 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, __gnuc_va_list, int *__restrict); extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, __gnuc_va_list); extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t); extern size_t _IO_sgetn (_IO_FILE *, void *, size_t); extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int); extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int); extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__)); # 75 "/usr/include/stdio.h" 2 3 4 typedef __gnuc_va_list va_list; # 92 "/usr/include/stdio.h" 3 4 typedef __off64_t off_t; typedef __off64_t off64_t; typedef __ssize_t ssize_t; typedef _G_fpos64_t fpos_t; typedef _G_fpos64_t fpos64_t; # 164 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/stdio_lim.h" 1 3 4 # 165 "/usr/include/stdio.h" 2 3 4 extern struct _IO_FILE *stdin; extern struct _IO_FILE *stdout; extern struct _IO_FILE *stderr; extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); extern int renameat (int __oldfd, const char *__old, int __newfd, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); # 198 "/usr/include/stdio.h" 3 4 extern FILE *tmpfile (void) __asm__ ("" "tmpfile64") __attribute__ ((__warn_unused_result__)); extern FILE *tmpfile64 (void) __attribute__ ((__warn_unused_result__)); extern char *tmpnam (char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); # 227 "/usr/include/stdio.h" 3 4 extern char *tempnam (const char *__dir, const char *__pfx) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); extern int fclose (FILE *__stream); extern int fflush (FILE *__stream); # 252 "/usr/include/stdio.h" 3 4 extern int fflush_unlocked (FILE *__stream); # 262 "/usr/include/stdio.h" 3 4 extern int fcloseall (void); # 283 "/usr/include/stdio.h" 3 4 extern FILE *fopen (const char *__restrict __filename, const char *__restrict __modes) __asm__ ("" "fopen64") __attribute__ ((__warn_unused_result__)); extern FILE *freopen (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) __asm__ ("" "freopen64") __attribute__ ((__warn_unused_result__)); extern FILE *fopen64 (const char *__restrict __filename, const char *__restrict __modes) __attribute__ ((__warn_unused_result__)); extern FILE *freopen64 (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern FILE *fopencookie (void *__restrict __magic_cookie, const char *__restrict __modes, _IO_cookie_io_functions_t __io_funcs) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) __attribute__ ((__nothrow__ , __leaf__)); extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); extern int fprintf (FILE *__restrict __stream, const char *__restrict __format, ...); extern int printf (const char *__restrict __format, ...); extern int sprintf (char *__restrict __s, const char *__restrict __format, ...) __attribute__ ((__nothrow__)); extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg); extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); extern int vsprintf (char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__)); extern int snprintf (char *__restrict __s, size_t __maxlen, const char *__restrict __format, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, __gnuc_va_list __arg) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__)); extern int __asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); extern int asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); extern int vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 2, 0))); extern int dprintf (int __fd, const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); # 463 "/usr/include/stdio.h" 3 4 extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)); extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); # 522 "/usr/include/stdio.h" 3 4 extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); # 550 "/usr/include/stdio.h" 3 4 extern int getc_unlocked (FILE *__stream); extern int getchar_unlocked (void); # 561 "/usr/include/stdio.h" 3 4 extern int fgetc_unlocked (FILE *__stream); extern int fputc (int __c, FILE *__stream); extern int putc (int __c, FILE *__stream); extern int putchar (int __c); # 594 "/usr/include/stdio.h" 3 4 extern int fputc_unlocked (int __c, FILE *__stream); extern int putc_unlocked (int __c, FILE *__stream); extern int putchar_unlocked (int __c); extern int getw (FILE *__stream); extern int putw (int __w, FILE *__stream); extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); # 640 "/usr/include/stdio.h" 3 4 # 649 "/usr/include/stdio.h" 3 4 extern char *fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); # 665 "/usr/include/stdio.h" 3 4 extern __ssize_t __getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern __ssize_t getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern __ssize_t getline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern int fputs (const char *__restrict __s, FILE *__restrict __stream); extern int puts (const char *__s); extern int ungetc (int __c, FILE *__stream); extern size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern size_t fwrite (const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s); # 726 "/usr/include/stdio.h" 3 4 extern int fputs_unlocked (const char *__restrict __s, FILE *__restrict __stream); # 737 "/usr/include/stdio.h" 3 4 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream); extern int fseek (FILE *__stream, long int __off, int __whence); extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__)); extern void rewind (FILE *__stream); # 781 "/usr/include/stdio.h" 3 4 extern int fseeko (FILE *__stream, __off64_t __off, int __whence) __asm__ ("" "fseeko64") ; extern __off64_t ftello (FILE *__stream) __asm__ ("" "ftello64"); # 806 "/usr/include/stdio.h" 3 4 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) __asm__ ("" "fgetpos64") ; extern int fsetpos (FILE *__stream, const fpos_t *__pos) __asm__ ("" "fsetpos64") ; extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); extern __off64_t ftello64 (FILE *__stream) __attribute__ ((__warn_unused_result__)); extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos); extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern void perror (const char *__s); # 1 "/usr/include/x86_64-linux-gnu/bits/sys_errlist.h" 1 3 4 # 26 "/usr/include/x86_64-linux-gnu/bits/sys_errlist.h" 3 4 extern int sys_nerr; extern const char *const sys_errlist[]; extern int _sys_nerr; extern const char *const _sys_errlist[]; # 854 "/usr/include/stdio.h" 2 3 4 extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); # 873 "/usr/include/stdio.h" 3 4 extern FILE *popen (const char *__command, const char *__modes) __attribute__ ((__warn_unused_result__)); extern int pclose (FILE *__stream); extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)); extern char *cuserid (char *__s); struct obstack; extern int obstack_printf (struct obstack *__restrict __obstack, const char *__restrict __format, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))); extern int obstack_vprintf (struct obstack *__restrict __obstack, const char *__restrict __format, __gnuc_va_list __args) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))); extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); # 934 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/stdio.h" 1 3 4 # 43 "/usr/include/x86_64-linux-gnu/bits/stdio.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) int getchar (void) { return _IO_getc (stdin); } extern __inline __attribute__ ((__gnu_inline__)) int fgetc_unlocked (FILE *__fp) { return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline __attribute__ ((__gnu_inline__)) int getc_unlocked (FILE *__fp) { return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline __attribute__ ((__gnu_inline__)) int getchar_unlocked (void) { return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); } extern __inline __attribute__ ((__gnu_inline__)) int putchar (int __c) { return _IO_putc (__c, stdout); } extern __inline __attribute__ ((__gnu_inline__)) int fputc_unlocked (int __c, FILE *__stream) { return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline __attribute__ ((__gnu_inline__)) int putc_unlocked (int __c, FILE *__stream) { return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline __attribute__ ((__gnu_inline__)) int putchar_unlocked (int __c) { return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); } extern __inline __attribute__ ((__gnu_inline__)) __ssize_t getline (char **__lineptr, size_t *__n, FILE *__stream) { return __getdelim (__lineptr, __n, '\n', __stream); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) feof_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x10) != 0); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) ferror_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x20) != 0); } # 935 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/stdio2.h" 1 3 4 # 23 "/usr/include/x86_64-linux-gnu/bits/stdio2.h" 3 4 extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, const char *__restrict __format, __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) { return __builtin___sprintf_chk (__s, 2 - 1, __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) { return __builtin___vsprintf_chk (__s, 2 - 1, __builtin_object_size (__s, 2 > 1), __fmt, __ap); } extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, size_t __slen, const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, size_t __slen, const char *__restrict __format, __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) { return __builtin___snprintf_chk (__s, __n, 2 - 1, __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) { return __builtin___vsnprintf_chk (__s, __n, 2 - 1, __builtin_object_size (__s, 2 > 1), __fmt, __ap); } extern int __fprintf_chk (FILE *__restrict __stream, int __flag, const char *__restrict __format, ...); extern int __printf_chk (int __flag, const char *__restrict __format, ...); extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, const char *__restrict __format, __gnuc_va_list __ap); extern int __vprintf_chk (int __flag, const char *__restrict __format, __gnuc_va_list __ap); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...) { return __fprintf_chk (__stream, 2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int printf (const char *__restrict __fmt, ...) { return __printf_chk (2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int vprintf (const char *__restrict __fmt, __gnuc_va_list __ap) { return __vfprintf_chk (stdout, 2 - 1, __fmt, __ap); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int vfprintf (FILE *__restrict __stream, const char *__restrict __fmt, __gnuc_va_list __ap) { return __vfprintf_chk (__stream, 2 - 1, __fmt, __ap); } extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 3, 4))); extern int __vdprintf_chk (int __fd, int __flag, const char *__restrict __fmt, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 3, 0))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int dprintf (int __fd, const char *__restrict __fmt, ...) { return __dprintf_chk (__fd, 2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap) { return __vdprintf_chk (__fd, 2 - 1, __fmt, __ap); } extern int __asprintf_chk (char **__restrict __ptr, int __flag, const char *__restrict __fmt, ...) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__printf__, 3, 4))) __attribute__ ((__warn_unused_result__)); extern int __vasprintf_chk (char **__restrict __ptr, int __flag, const char *__restrict __fmt, __gnuc_va_list __arg) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__printf__, 3, 0))) __attribute__ ((__warn_unused_result__)); extern int __obstack_printf_chk (struct obstack *__restrict __obstack, int __flag, const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__printf__, 3, 4))); extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack, int __flag, const char *__restrict __format, __gnuc_va_list __args) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__printf__, 3, 0))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) { return __asprintf_chk (__ptr, 2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) __asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) { return __asprintf_chk (__ptr, 2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) obstack_printf (struct obstack *__restrict __obstack, const char *__restrict __fmt, ...) { return __obstack_printf_chk (__obstack, 2 - 1, __fmt, __builtin_va_arg_pack ()); } # 206 "/usr/include/x86_64-linux-gnu/bits/stdio2.h" 3 4 extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) vasprintf (char **__restrict __ptr, const char *__restrict __fmt, __gnuc_va_list __ap) { return __vasprintf_chk (__ptr, 2 - 1, __fmt, __ap); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) obstack_vprintf (struct obstack *__restrict __obstack, const char *__restrict __fmt, __gnuc_va_list __ap) { return __obstack_vprintf_chk (__obstack, 2 - 1, __fmt, __ap); } # 241 "/usr/include/x86_64-linux-gnu/bits/stdio2.h" 3 4 extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets") __attribute__ ((__warn_unused_result__)); extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * fgets (char *__restrict __s, int __n, FILE *__restrict __stream) { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__n) || __n <= 0) return __fgets_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); if ((size_t) __n > __builtin_object_size (__s, 2 > 1)) return __fgets_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); } return __fgets_alias (__s, __n, __stream); } extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread") __attribute__ ((__warn_unused_result__)); extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) { if (__builtin_object_size (__ptr, 0) != (size_t) -1) { if (!__builtin_constant_p (__size) || !__builtin_constant_p (__n) || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))) return __fread_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); if (__size * __n > __builtin_object_size (__ptr, 0)) return __fread_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); } return __fread_alias (__ptr, __size, __n, __stream); } extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern char *__fgets_unlocked_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets_unlocked") __attribute__ ((__warn_unused_result__)); extern char *__fgets_unlocked_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_unlocked_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets_unlocked called with bigger size than length " "of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__n) || __n <= 0) return __fgets_unlocked_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); if ((size_t) __n > __builtin_object_size (__s, 2 > 1)) return __fgets_unlocked_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); } return __fgets_unlocked_alias (__s, __n, __stream); } extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked") __attribute__ ((__warn_unused_result__)); extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) { if (__builtin_object_size (__ptr, 0) != (size_t) -1) { if (!__builtin_constant_p (__size) || !__builtin_constant_p (__n) || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))) return __fread_unlocked_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); if (__size * __n > __builtin_object_size (__ptr, 0)) return __fread_unlocked_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); } if (__builtin_constant_p (__size) && __builtin_constant_p (__n) && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2)) && __size * __n <= 8) { size_t __cnt = __size * __n; char *__cptr = (char *) __ptr; if (__cnt == 0) return 0; for (; __cnt > 0; --__cnt) { int __c = (__builtin_expect (((__stream)->_IO_read_ptr >= (__stream)->_IO_read_end), 0) ? __uflow (__stream) : *(unsigned char *) (__stream)->_IO_read_ptr++); if (__c == (-1)) break; *__cptr++ = __c; } return (__cptr - (char *) __ptr) / __size; } return __fread_unlocked_alias (__ptr, __size, __n, __stream); } # 938 "/usr/include/stdio.h" 2 3 4 # 26 "./Include/Python.h" 2 # 1 "/usr/include/string.h" 1 3 4 # 27 "/usr/include/string.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h" 1 3 4 # 33 "/usr/include/string.h" 2 3 4 # 44 "/usr/include/string.h" 3 4 extern void *memcpy (void *__restrict __dest, const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memmove (void *__dest, const void *__src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memccpy (void *__restrict __dest, const void *__restrict __src, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int memcmp (const void *__s1, const void *__s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 96 "/usr/include/string.h" 3 4 extern void *memchr (const void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 110 "/usr/include/string.h" 3 4 extern void *rawmemchr (const void *__s, int __c) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 121 "/usr/include/string.h" 3 4 extern void *memrchr (const void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strcpy (char *__restrict __dest, const char *__restrict __src) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strncpy (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strcat (char *__restrict __dest, const char *__restrict __src) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strncat (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcmp (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncmp (const char *__s1, const char *__s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcoll (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strxfrm (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); # 1 "/usr/include/xlocale.h" 1 3 4 # 27 "/usr/include/xlocale.h" 3 4 typedef struct __locale_struct { struct __locale_data *__locales[13]; const unsigned short int *__ctype_b; const int *__ctype_tolower; const int *__ctype_toupper; const char *__names[13]; } *__locale_t; typedef __locale_t locale_t; # 164 "/usr/include/string.h" 2 3 4 extern int strcoll_l (const char *__s1, const char *__s2, __locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, __locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); extern char *strdup (const char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); extern char *strndup (const char *__string, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); # 211 "/usr/include/string.h" 3 4 # 236 "/usr/include/string.h" 3 4 extern char *strchr (const char *__s, int __c) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 263 "/usr/include/string.h" 3 4 extern char *strrchr (const char *__s, int __c) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 277 "/usr/include/string.h" 3 4 extern char *strchrnul (const char *__s, int __c) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern size_t strcspn (const char *__s, const char *__reject) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strspn (const char *__s, const char *__accept) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 315 "/usr/include/string.h" 3 4 extern char *strpbrk (const char *__s, const char *__accept) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 342 "/usr/include/string.h" 3 4 extern char *strstr (const char *__haystack, const char *__needle) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strtok (char *__restrict __s, const char *__restrict __delim) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern char *__strtok_r (char *__restrict __s, const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); # 373 "/usr/include/string.h" 3 4 extern char *strcasestr (const char *__haystack, const char *__needle) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memmem (const void *__haystack, size_t __haystacklen, const void *__needle, size_t __needlelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))); extern void *__mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern void *mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strlen (const char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern size_t strnlen (const char *__string, size_t __maxlen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strerror (int __errnum) __attribute__ ((__nothrow__ , __leaf__)); # 438 "/usr/include/string.h" 3 4 extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)); extern char *strerror_l (int __errnum, __locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern void bcopy (const void *__src, void *__dest, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int bcmp (const void *__s1, const void *__s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 489 "/usr/include/string.h" 3 4 extern char *index (const char *__s, int __c) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 517 "/usr/include/string.h" 3 4 extern char *rindex (const char *__s, int __c) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern int ffs (int __i) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int ffsl (long int __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); __extension__ extern int ffsll (long long int __ll) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int strcasecmp (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcasecmp_l (const char *__s1, const char *__s2, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); extern int strncasecmp_l (const char *__s1, const char *__s2, size_t __n, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); extern char *strsep (char **__restrict __stringp, const char *__restrict __delim) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__)); extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *__stpncpy (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *stpncpy (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int strverscmp (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strfry (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern void *memfrob (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 604 "/usr/include/string.h" 3 4 extern char *basename (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 632 "/usr/include/string.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/string.h" 1 3 4 # 633 "/usr/include/string.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/string2.h" 1 3 4 # 51 "/usr/include/x86_64-linux-gnu/bits/string2.h" 3 4 # 1 "/usr/include/endian.h" 1 3 4 # 36 "/usr/include/endian.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/endian.h" 1 3 4 # 37 "/usr/include/endian.h" 2 3 4 # 60 "/usr/include/endian.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 1 3 4 # 28 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 # 29 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/byteswap-16.h" 1 3 4 # 36 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 2 3 4 # 44 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4 static __inline unsigned int __bswap_32 (unsigned int __bsx) { return __builtin_bswap32 (__bsx); } # 108 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4 static __inline __uint64_t __bswap_64 (__uint64_t __bsx) { return __builtin_bswap64 (__bsx); } # 61 "/usr/include/endian.h" 2 3 4 # 52 "/usr/include/x86_64-linux-gnu/bits/string2.h" 2 3 4 # 393 "/usr/include/x86_64-linux-gnu/bits/string2.h" 3 4 extern void *__rawmemchr (const void *__s, int __c); # 945 "/usr/include/x86_64-linux-gnu/bits/string2.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c1 (const char *__s, int __reject); extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c1 (const char *__s, int __reject) { size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject) ++__result; return __result; } extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c2 (const char *__s, int __reject1, int __reject2); extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c2 (const char *__s, int __reject1, int __reject2) { size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject1 && __s[__result] != __reject2) ++__result; return __result; } extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c3 (const char *__s, int __reject1, int __reject2, int __reject3); extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c3 (const char *__s, int __reject1, int __reject2, int __reject3) { size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject1 && __s[__result] != __reject2 && __s[__result] != __reject3) ++__result; return __result; } # 1021 "/usr/include/x86_64-linux-gnu/bits/string2.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c1 (const char *__s, int __accept); extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c1 (const char *__s, int __accept) { size_t __result = 0; while (__s[__result] == __accept) ++__result; return __result; } extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c2 (const char *__s, int __accept1, int __accept2); extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c2 (const char *__s, int __accept1, int __accept2) { size_t __result = 0; while (__s[__result] == __accept1 || __s[__result] == __accept2) ++__result; return __result; } extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c3 (const char *__s, int __accept1, int __accept2, int __accept3); extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c3 (const char *__s, int __accept1, int __accept2, int __accept3) { size_t __result = 0; while (__s[__result] == __accept1 || __s[__result] == __accept2 || __s[__result] == __accept3) ++__result; return __result; } # 1097 "/usr/include/x86_64-linux-gnu/bits/string2.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) char *__strpbrk_c2 (const char *__s, int __accept1, int __accept2); extern __inline __attribute__ ((__gnu_inline__)) char * __strpbrk_c2 (const char *__s, int __accept1, int __accept2) { while (*__s != '\0' && *__s != __accept1 && *__s != __accept2) ++__s; return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; } extern __inline __attribute__ ((__gnu_inline__)) char *__strpbrk_c3 (const char *__s, int __accept1, int __accept2, int __accept3); extern __inline __attribute__ ((__gnu_inline__)) char * __strpbrk_c3 (const char *__s, int __accept1, int __accept2, int __accept3) { while (*__s != '\0' && *__s != __accept1 && *__s != __accept2 && *__s != __accept3) ++__s; return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; } # 1147 "/usr/include/x86_64-linux-gnu/bits/string2.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) char *__strtok_r_1c (char *__s, char __sep, char **__nextp); extern __inline __attribute__ ((__gnu_inline__)) char * __strtok_r_1c (char *__s, char __sep, char **__nextp) { char *__result; if (__s == ((void *)0)) __s = *__nextp; while (*__s == __sep) ++__s; __result = ((void *)0); if (*__s != '\0') { __result = __s++; while (*__s != '\0') if (*__s++ == __sep) { __s[-1] = '\0'; break; } } *__nextp = __s; return __result; } # 1179 "/usr/include/x86_64-linux-gnu/bits/string2.h" 3 4 extern char *__strsep_g (char **__stringp, const char *__delim); # 1197 "/usr/include/x86_64-linux-gnu/bits/string2.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_1c (char **__s, char __reject); extern __inline __attribute__ ((__gnu_inline__)) char * __strsep_1c (char **__s, char __reject) { char *__retval = *__s; if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && !__builtin_constant_p (__retval) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : __builtin_strchr (__retval, __reject)))) != ((void *)0)) *(*__s)++ = '\0'; return __retval; } extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_2c (char **__s, char __reject1, char __reject2); extern __inline __attribute__ ((__gnu_inline__)) char * __strsep_2c (char **__s, char __reject1, char __reject2) { char *__retval = *__s; if (__retval != ((void *)0)) { char *__cp = __retval; while (1) { if (*__cp == '\0') { __cp = ((void *)0); break; } if (*__cp == __reject1 || *__cp == __reject2) { *__cp++ = '\0'; break; } ++__cp; } *__s = __cp; } return __retval; } extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3); extern __inline __attribute__ ((__gnu_inline__)) char * __strsep_3c (char **__s, char __reject1, char __reject2, char __reject3) { char *__retval = *__s; if (__retval != ((void *)0)) { char *__cp = __retval; while (1) { if (*__cp == '\0') { __cp = ((void *)0); break; } if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3) { *__cp++ = '\0'; break; } ++__cp; } *__s = __cp; } return __retval; } # 1273 "/usr/include/x86_64-linux-gnu/bits/string2.h" 3 4 # 1 "/usr/include/stdlib.h" 1 3 4 # 32 "/usr/include/stdlib.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h" 1 3 4 # 33 "/usr/include/stdlib.h" 2 3 4 # 464 "/usr/include/stdlib.h" 3 4 extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); # 968 "/usr/include/stdlib.h" 3 4 # 1274 "/usr/include/x86_64-linux-gnu/bits/string2.h" 2 3 4 extern char *__strdup (const char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)); # 1297 "/usr/include/x86_64-linux-gnu/bits/string2.h" 3 4 extern char *__strndup (const char *__string, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)); # 636 "/usr/include/string.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/string3.h" 1 3 4 # 22 "/usr/include/x86_64-linux-gnu/bits/string3.h" 3 4 extern void __warn_memset_zero_len (void) __attribute__((__warning__ ("memset used with constant zero length parameter; this could be due to transposed parameters"))) ; # 47 "/usr/include/x86_64-linux-gnu/bits/string3.h" 3 4 extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * __attribute__ ((__nothrow__ , __leaf__)) memcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) { return __builtin___memcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * __attribute__ ((__nothrow__ , __leaf__)) memmove (void *__dest, const void *__src, size_t __len) { return __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * __attribute__ ((__nothrow__ , __leaf__)) mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) { return __builtin___mempcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); } # 75 "/usr/include/x86_64-linux-gnu/bits/string3.h" 3 4 extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * __attribute__ ((__nothrow__ , __leaf__)) memset (void *__dest, int __ch, size_t __len) { if (__builtin_constant_p (__len) && __len == 0 && (!__builtin_constant_p (__ch) || __ch != 0)) { __warn_memset_zero_len (); return __dest; } return __builtin___memset_chk (__dest, __ch, __len, __builtin_object_size (__dest, 0)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void __attribute__ ((__nothrow__ , __leaf__)) bcopy (const void *__src, void *__dest, size_t __len) { (void) __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void __attribute__ ((__nothrow__ , __leaf__)) bzero (void *__dest, size_t __len) { (void) __builtin___memset_chk (__dest, '\0', __len, __builtin_object_size (__dest, 0)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * __attribute__ ((__nothrow__ , __leaf__)) strcpy (char *__restrict __dest, const char *__restrict __src) { return __builtin___strcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * __attribute__ ((__nothrow__ , __leaf__)) stpcpy (char *__restrict __dest, const char *__restrict __src) { return __builtin___stpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * __attribute__ ((__nothrow__ , __leaf__)) strncpy (char *__restrict __dest, const char *__restrict __src, size_t __len) { return __builtin___strncpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1)); } extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n, size_t __destlen) __attribute__ ((__nothrow__ , __leaf__)); extern char *__stpncpy_alias (char *__dest, const char *__src, size_t __n) __asm__ ("" "stpncpy") __attribute__ ((__nothrow__ , __leaf__)) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * __attribute__ ((__nothrow__ , __leaf__)) stpncpy (char *__dest, const char *__src, size_t __n) { if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1 && (!__builtin_constant_p (__n) || __n <= __builtin_object_size (__dest, 2 > 1))) return __stpncpy_chk (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1)); return __stpncpy_alias (__dest, __src, __n); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * __attribute__ ((__nothrow__ , __leaf__)) strcat (char *__restrict __dest, const char *__restrict __src) { return __builtin___strcat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * __attribute__ ((__nothrow__ , __leaf__)) strncat (char *__restrict __dest, const char *__restrict __src, size_t __len) { return __builtin___strncat_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1)); } # 641 "/usr/include/string.h" 2 3 4 # 31 "./Include/Python.h" 2 # 1 "/usr/include/errno.h" 1 3 4 # 31 "/usr/include/errno.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/errno.h" 1 3 4 # 24 "/usr/include/x86_64-linux-gnu/bits/errno.h" 3 4 # 1 "/usr/include/linux/errno.h" 1 3 4 # 1 "/usr/include/x86_64-linux-gnu/asm/errno.h" 1 3 4 # 1 "/usr/include/asm-generic/errno.h" 1 3 4 # 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 # 5 "/usr/include/asm-generic/errno.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/asm/errno.h" 2 3 4 # 1 "/usr/include/linux/errno.h" 2 3 4 # 25 "/usr/include/x86_64-linux-gnu/bits/errno.h" 2 3 4 # 50 "/usr/include/x86_64-linux-gnu/bits/errno.h" 3 4 extern int *__errno_location (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); # 36 "/usr/include/errno.h" 2 3 4 # 54 "/usr/include/errno.h" 3 4 extern char *program_invocation_name, *program_invocation_short_name; # 68 "/usr/include/errno.h" 3 4 typedef int error_t; # 33 "./Include/Python.h" 2 # 1 "/usr/include/stdlib.h" 1 3 4 # 32 "/usr/include/stdlib.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h" 1 3 4 # 324 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h" 3 4 typedef int wchar_t; # 33 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/waitflags.h" 1 3 4 # 50 "/usr/include/x86_64-linux-gnu/bits/waitflags.h" 3 4 typedef enum { P_ALL, P_PID, P_PGID } idtype_t; # 42 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/waitstatus.h" 1 3 4 # 66 "/usr/include/x86_64-linux-gnu/bits/waitstatus.h" 3 4 union wait { int w_status; struct { unsigned int __w_termsig:7; unsigned int __w_coredump:1; unsigned int __w_retcode:8; unsigned int:16; } __wait_terminated; struct { unsigned int __w_stopval:8; unsigned int __w_stopsig:8; unsigned int:16; } __wait_stopped; }; # 43 "/usr/include/stdlib.h" 2 3 4 # 67 "/usr/include/stdlib.h" 3 4 typedef union { union wait *__uptr; int *__iptr; } __WAIT_STATUS __attribute__ ((__transparent_union__)); # 95 "/usr/include/stdlib.h" 3 4 typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; __extension__ typedef struct { long long int quot; long long int rem; } lldiv_t; # 139 "/usr/include/stdlib.h" 3 4 extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern double atof (const char *__nptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int atoi (const char *__nptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern long int atol (const char *__nptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); __extension__ extern long long int atoll (const char *__nptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern double strtod (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern float strtof (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern long double strtold (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern long int strtol (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern unsigned long int strtoul (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); __extension__ extern long long int strtoq (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); __extension__ extern unsigned long long int strtouq (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); __extension__ extern long long int strtoll (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); __extension__ extern unsigned long long int strtoull (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 239 "/usr/include/stdlib.h" 3 4 extern long int strtol_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))); extern unsigned long int strtoul_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))); __extension__ extern long long int strtoll_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))); __extension__ extern unsigned long long int strtoull_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))); extern double strtod_l (const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))); extern float strtof_l (const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))); extern long double strtold_l (const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))); extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) atoi (const char *__nptr) { return (int) strtol (__nptr, (char **) ((void *)0), 10); } extern __inline __attribute__ ((__gnu_inline__)) long int __attribute__ ((__nothrow__ , __leaf__)) atol (const char *__nptr) { return strtol (__nptr, (char **) ((void *)0), 10); } __extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int __attribute__ ((__nothrow__ , __leaf__)) atoll (const char *__nptr) { return strtoll (__nptr, (char **) ((void *)0), 10); } # 305 "/usr/include/stdlib.h" 3 4 extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern long int a64l (const char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 1 "/usr/include/x86_64-linux-gnu/sys/types.h" 1 3 4 # 27 "/usr/include/x86_64-linux-gnu/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 __ino64_t ino_t; typedef __ino64_t ino64_t; typedef __dev_t dev_t; typedef __gid_t gid_t; typedef __mode_t mode_t; typedef __nlink_t nlink_t; typedef __uid_t uid_t; # 98 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 typedef __pid_t pid_t; typedef __id_t id_t; # 115 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; typedef __key_t key_t; # 132 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 # 1 "/usr/include/time.h" 1 3 4 # 57 "/usr/include/time.h" 3 4 typedef __clock_t clock_t; # 73 "/usr/include/time.h" 3 4 typedef __time_t time_t; # 91 "/usr/include/time.h" 3 4 typedef __clockid_t clockid_t; # 103 "/usr/include/time.h" 3 4 typedef __timer_t timer_t; # 133 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 typedef __useconds_t useconds_t; typedef __suseconds_t suseconds_t; # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h" 1 3 4 # 147 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 194 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 typedef int int8_t __attribute__ ((__mode__ (__QI__))); typedef int int16_t __attribute__ ((__mode__ (__HI__))); typedef int int32_t __attribute__ ((__mode__ (__SI__))); typedef int int64_t __attribute__ ((__mode__ (__DI__))); typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); typedef int register_t __attribute__ ((__mode__ (__word__))); # 219 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/sys/select.h" 1 3 4 # 30 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/select.h" 1 3 4 # 22 "/usr/include/x86_64-linux-gnu/bits/select.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 # 23 "/usr/include/x86_64-linux-gnu/bits/select.h" 2 3 4 # 31 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/sigset.h" 1 3 4 # 22 "/usr/include/x86_64-linux-gnu/bits/sigset.h" 3 4 typedef int __sig_atomic_t; typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 34 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 typedef __sigset_t sigset_t; # 1 "/usr/include/time.h" 1 3 4 # 120 "/usr/include/time.h" 3 4 struct timespec { __time_t tv_sec; __syscall_slong_t tv_nsec; }; # 44 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/time.h" 1 3 4 # 30 "/usr/include/x86_64-linux-gnu/bits/time.h" 3 4 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 46 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 # 54 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 typedef long int __fd_mask; # 64 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 typedef struct { __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; } fd_set; typedef __fd_mask fd_mask; # 96 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 # 106 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 extern int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout); # 118 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 extern int pselect (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, const struct timespec *__restrict __timeout, const __sigset_t *__restrict __sigmask); # 1 "/usr/include/x86_64-linux-gnu/bits/select2.h" 1 3 4 # 24 "/usr/include/x86_64-linux-gnu/bits/select2.h" 3 4 extern long int __fdelt_chk (long int __d); extern long int __fdelt_warn (long int __d) __attribute__((__warning__ ("bit outside of fd_set selected"))); # 129 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 # 220 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/sys/sysmacros.h" 1 3 4 # 24 "/usr/include/x86_64-linux-gnu/sys/sysmacros.h" 3 4 __extension__ extern unsigned int gnu_dev_major (unsigned long long int __dev) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); __extension__ extern unsigned int gnu_dev_minor (unsigned long long int __dev) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); __extension__ extern unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); __extension__ extern __inline __attribute__ ((__gnu_inline__)) __attribute__ ((__const__)) unsigned int __attribute__ ((__nothrow__ , __leaf__)) gnu_dev_major (unsigned long long int __dev) { return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); } __extension__ extern __inline __attribute__ ((__gnu_inline__)) __attribute__ ((__const__)) unsigned int __attribute__ ((__nothrow__ , __leaf__)) gnu_dev_minor (unsigned long long int __dev) { return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); } __extension__ extern __inline __attribute__ ((__gnu_inline__)) __attribute__ ((__const__)) unsigned long long int __attribute__ ((__nothrow__ , __leaf__)) gnu_dev_makedev (unsigned int __major, unsigned int __minor) { return ((__minor & 0xff) | ((__major & 0xfff) << 8) | (((unsigned long long int) (__minor & ~0xff)) << 12) | (((unsigned long long int) (__major & ~0xfff)) << 32)); } # 223 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 typedef __blksize_t blksize_t; # 248 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 typedef __blkcnt64_t blkcnt_t; typedef __fsblkcnt64_t fsblkcnt_t; typedef __fsfilcnt64_t fsfilcnt_t; typedef __blkcnt64_t blkcnt64_t; typedef __fsblkcnt64_t fsblkcnt64_t; typedef __fsfilcnt64_t fsfilcnt64_t; # 1 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 1 3 4 # 21 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 # 22 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 2 3 4 # 60 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 typedef unsigned long int pthread_t; union pthread_attr_t { char __size[56]; long int __align; }; typedef union pthread_attr_t pthread_attr_t; typedef struct __pthread_internal_list { struct __pthread_internal_list *__prev; struct __pthread_internal_list *__next; } __pthread_list_t; # 90 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 typedef union { struct __pthread_mutex_s { int __lock; unsigned int __count; int __owner; unsigned int __nusers; int __kind; short __spins; short __elision; __pthread_list_t __list; # 124 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 } __data; char __size[40]; long int __align; } pthread_mutex_t; typedef union { char __size[4]; 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]; 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; int __writer; int __shared; unsigned long int __pad1; unsigned long int __pad2; unsigned int __flags; } __data; # 211 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 char __size[56]; 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[32]; long int __align; } pthread_barrier_t; typedef union { char __size[4]; int __align; } pthread_barrierattr_t; # 271 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 # 315 "/usr/include/stdlib.h" 2 3 4 extern long int random (void) __attribute__ ((__nothrow__ , __leaf__)); extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); struct random_data { int32_t *fptr; int32_t *rptr; int32_t *state; int rand_type; int rand_deg; int rand_sep; int32_t *end_ptr; }; extern int random_r (struct random_data *__restrict __buf, int32_t *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int srandom_r (unsigned int __seed, struct random_data *__buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int rand (void) __attribute__ ((__nothrow__ , __leaf__)); extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__)); extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__)); extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); extern long int nrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); extern long int jrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__)); extern unsigned short int *seed48 (unsigned short int __seed16v[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); struct drand48_data { unsigned short int __x[3]; unsigned short int __old_x[3]; unsigned short int __c; unsigned short int __init; __extension__ unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int srand48_r (long int __seedval, struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); # 474 "/usr/include/stdlib.h" 3 4 extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); extern void cfree (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); # 1 "/usr/include/alloca.h" 1 3 4 # 24 "/usr/include/alloca.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h" 1 3 4 # 25 "/usr/include/alloca.h" 2 3 4 extern void *alloca (size_t __size) __attribute__ ((__nothrow__ , __leaf__)); # 493 "/usr/include/stdlib.h" 2 3 4 extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern void *aligned_alloc (size_t __alignment, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__)); extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); extern void quick_exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); extern char *getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern char *secure_getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int setenv (const char *__name, const char *__value, int __replace) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int clearenv (void) __attribute__ ((__nothrow__ , __leaf__)); # 606 "/usr/include/stdlib.h" 3 4 extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 623 "/usr/include/stdlib.h" 3 4 extern int mkstemp (char *__template) __asm__ ("" "mkstemp64") __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 645 "/usr/include/stdlib.h" 3 4 extern int mkstemps (char *__template, int __suffixlen) __asm__ ("" "mkstemps64") __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int mkstemps64 (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 663 "/usr/include/stdlib.h" 3 4 extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 677 "/usr/include/stdlib.h" 3 4 extern int mkostemp (char *__template, int __flags) __asm__ ("" "mkostemp64") __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 698 "/usr/include/stdlib.h" 3 4 extern int mkostemps (char *__template, int __suffixlen, int __flags) __asm__ ("" "mkostemps64") __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int mkostemps64 (char *__template, int __suffixlen, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int system (const char *__command) __attribute__ ((__warn_unused_result__)); extern char *canonicalize_file_name (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 734 "/usr/include/stdlib.h" 3 4 extern char *realpath (const char *__restrict __name, char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); typedef int (*__compar_fn_t) (const void *, const void *); typedef __compar_fn_t comparison_fn_t; typedef int (*__compar_d_fn_t) (const void *, const void *, void *); extern void *bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__)); # 1 "/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h" 1 3 4 # 19 "/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) void * bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) { size_t __l, __u, __idx; const void *__p; int __comparison; __l = 0; __u = __nmemb; while (__l < __u) { __idx = (__l + __u) / 2; __p = (void *) (((const char *) __base) + (__idx * __size)); __comparison = (*__compar) (__key, __p); if (__comparison < 0) __u = __idx; else if (__comparison > 0) __l = __idx + 1; else return (void *) __p; } return ((void *)0); } # 761 "/usr/include/stdlib.h" 2 3 4 extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); extern void qsort_r (void *__base, size_t __nmemb, size_t __size, __compar_d_fn_t __compar, void *__arg) __attribute__ ((__nonnull__ (1, 4))); extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); __extension__ extern long long int llabs (long long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); extern div_t div (int __numer, int __denom) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); extern ldiv_t ldiv (long int __numer, long int __denom) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); __extension__ extern lldiv_t lldiv (long long int __numer, long long int __denom) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); # 812 "/usr/include/stdlib.h" 3 4 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); extern char *gcvt (double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); extern char *qgcvt (long double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern int mbtowc (wchar_t *__restrict __pwc, const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)); extern size_t mbstowcs (wchar_t *__restrict __pwcs, const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern size_t wcstombs (char *__restrict __s, const wchar_t *__restrict __pwcs, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern int rpmatch (const char *__response) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 899 "/usr/include/stdlib.h" 3 4 extern int getsubopt (char **__restrict __optionp, char *const *__restrict __tokens, char **__restrict __valuep) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__)); extern void setkey (const char *__key) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int posix_openpt (int __oflag) __attribute__ ((__warn_unused_result__)); extern int grantpt (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern int unlockpt (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern char *ptsname (int __fd) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int ptsname_r (int __fd, char *__buf, size_t __buflen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int getpt (void); extern int getloadavg (double __loadavg[], int __nelem) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 1 "/usr/include/x86_64-linux-gnu/bits/stdlib-float.h" 1 3 4 # 24 "/usr/include/x86_64-linux-gnu/bits/stdlib-float.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) double __attribute__ ((__nothrow__ , __leaf__)) atof (const char *__nptr) { return strtod (__nptr, (char **) ((void *)0)); } # 956 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/stdlib.h" 1 3 4 # 23 "/usr/include/x86_64-linux-gnu/bits/stdlib.h" 3 4 extern char *__realpath_chk (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern char *__realpath_alias (const char *__restrict __name, char *__restrict __resolved) __asm__ ("" "realpath") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern char *__realpath_chk_warn (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) __asm__ ("" "__realpath_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * __attribute__ ((__nothrow__ , __leaf__)) realpath (const char *__restrict __name, char *__restrict __resolved) { if (__builtin_object_size (__resolved, 2 > 1) != (size_t) -1) { if (__builtin_object_size (__resolved, 2 > 1) < 4096) return __realpath_chk_warn (__name, __resolved, __builtin_object_size (__resolved, 2 > 1)); return __realpath_chk (__name, __resolved, __builtin_object_size (__resolved, 2 > 1)); } return __realpath_alias (__name, __resolved); } extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen, size_t __nreal) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) __asm__ ("" "ptsname_r") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__ptsname_r_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) ptsname_r (int __fd, char *__buf, size_t __buflen) { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__buflen)) return __ptsname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); if (__buflen > __builtin_object_size (__buf, 2 > 1)) return __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); } return __ptsname_r_alias (__fd, __buf, __buflen); } extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int __wctomb_alias (char *__s, wchar_t __wchar) __asm__ ("" "wctomb") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int __attribute__ ((__nothrow__ , __leaf__)) wctomb (char *__s, wchar_t __wchar) { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 && 16 > __builtin_object_size (__s, 2 > 1)) return __wctomb_chk (__s, __wchar, __builtin_object_size (__s, 2 > 1)); return __wctomb_alias (__s, __wchar); } extern size_t __mbstowcs_chk (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)); extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) __asm__ ("" "mbstowcs") __attribute__ ((__nothrow__ , __leaf__)) ; extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__mbstowcs_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t __attribute__ ((__nothrow__ , __leaf__)) mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) { if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __mbstowcs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) return __mbstowcs_chk_warn (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); } return __mbstowcs_alias (__dst, __src, __len); } extern size_t __wcstombs_chk (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)); extern size_t __wcstombs_alias (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) __asm__ ("" "wcstombs") __attribute__ ((__nothrow__ , __leaf__)) ; extern size_t __wcstombs_chk_warn (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__wcstombs_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len"))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t __attribute__ ((__nothrow__ , __leaf__)) wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) { if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __wcstombs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)); if (__len > __builtin_object_size (__dst, 2 > 1)) return __wcstombs_chk_warn (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)); } return __wcstombs_alias (__dst, __src, __len); } # 960 "/usr/include/stdlib.h" 2 3 4 # 968 "/usr/include/stdlib.h" 3 4 # 35 "./Include/Python.h" 2 # 1 "/usr/include/unistd.h" 1 3 4 # 27 "/usr/include/unistd.h" 3 4 # 202 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/posix_opt.h" 1 3 4 # 203 "/usr/include/unistd.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/environments.h" 1 3 4 # 22 "/usr/include/x86_64-linux-gnu/bits/environments.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 # 23 "/usr/include/x86_64-linux-gnu/bits/environments.h" 2 3 4 # 207 "/usr/include/unistd.h" 2 3 4 # 226 "/usr/include/unistd.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h" 1 3 4 # 227 "/usr/include/unistd.h" 2 3 4 # 267 "/usr/include/unistd.h" 3 4 typedef __intptr_t intptr_t; typedef __socklen_t socklen_t; # 287 "/usr/include/unistd.h" 3 4 extern int access (const char *__name, int __type) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int euidaccess (const char *__name, int __type) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int eaccess (const char *__name, int __type) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int faccessat (int __fd, const char *__file, int __type, int __flag) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)); # 337 "/usr/include/unistd.h" 3 4 extern __off64_t lseek (int __fd, __off64_t __offset, int __whence) __asm__ ("" "lseek64") __attribute__ ((__nothrow__ , __leaf__)) ; extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) __attribute__ ((__nothrow__ , __leaf__)); extern int close (int __fd); extern ssize_t read (int __fd, void *__buf, size_t __nbytes) __attribute__ ((__warn_unused_result__)); extern ssize_t write (int __fd, const void *__buf, size_t __n) __attribute__ ((__warn_unused_result__)); # 388 "/usr/include/unistd.h" 3 4 extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pread64") __attribute__ ((__warn_unused_result__)); extern ssize_t pwrite (int __fd, const void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pwrite64") __attribute__ ((__warn_unused_result__)); # 404 "/usr/include/unistd.h" 3 4 extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __attribute__ ((__warn_unused_result__)); extern ssize_t pwrite64 (int __fd, const void *__buf, size_t __n, __off64_t __offset) __attribute__ ((__warn_unused_result__)); extern int pipe (int __pipedes[2]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int pipe2 (int __pipedes[2], int __flags) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); # 432 "/usr/include/unistd.h" 3 4 extern unsigned int alarm (unsigned int __seconds) __attribute__ ((__nothrow__ , __leaf__)); # 444 "/usr/include/unistd.h" 3 4 extern unsigned int sleep (unsigned int __seconds); extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) __attribute__ ((__nothrow__ , __leaf__)); extern int usleep (__useconds_t __useconds); # 469 "/usr/include/unistd.h" 3 4 extern int pause (void); extern int chown (const char *__file, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int lchown (const char *__file, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int fchownat (int __fd, const char *__file, __uid_t __owner, __gid_t __group, int __flag) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)); extern int chdir (const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int fchdir (int __fd) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); # 511 "/usr/include/unistd.h" 3 4 extern char *getcwd (char *__buf, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern char *get_current_dir_name (void) __attribute__ ((__nothrow__ , __leaf__)); extern char *getwd (char *__buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) __attribute__ ((__warn_unused_result__)); extern int dup (int __fd) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int dup2 (int __fd, int __fd2) __attribute__ ((__nothrow__ , __leaf__)); extern int dup3 (int __fd, int __fd2, int __flags) __attribute__ ((__nothrow__ , __leaf__)); extern char **__environ; extern char **environ; extern int execve (const char *__path, char *const __argv[], char *const __envp[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int fexecve (int __fd, char *const __argv[], char *const __envp[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int execv (const char *__path, char *const __argv[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int execle (const char *__path, const char *__arg, ...) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int execl (const char *__path, const char *__arg, ...) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int execvp (const char *__file, char *const __argv[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int execlp (const char *__file, const char *__arg, ...) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int execvpe (const char *__file, char *const __argv[], char *const __envp[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int nice (int __inc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern void _exit (int __status) __attribute__ ((__noreturn__)); # 1 "/usr/include/x86_64-linux-gnu/bits/confname.h" 1 3 4 # 24 "/usr/include/x86_64-linux-gnu/bits/confname.h" 3 4 enum { _PC_LINK_MAX, _PC_MAX_CANON, _PC_MAX_INPUT, _PC_NAME_MAX, _PC_PATH_MAX, _PC_PIPE_BUF, _PC_CHOWN_RESTRICTED, _PC_NO_TRUNC, _PC_VDISABLE, _PC_SYNC_IO, _PC_ASYNC_IO, _PC_PRIO_IO, _PC_SOCK_MAXBUF, _PC_FILESIZEBITS, _PC_REC_INCR_XFER_SIZE, _PC_REC_MAX_XFER_SIZE, _PC_REC_MIN_XFER_SIZE, _PC_REC_XFER_ALIGN, _PC_ALLOC_SIZE_MIN, _PC_SYMLINK_MAX, _PC_2_SYMLINKS }; enum { _SC_ARG_MAX, _SC_CHILD_MAX, _SC_CLK_TCK, _SC_NGROUPS_MAX, _SC_OPEN_MAX, _SC_STREAM_MAX, _SC_TZNAME_MAX, _SC_JOB_CONTROL, _SC_SAVED_IDS, _SC_REALTIME_SIGNALS, _SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO, _SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC, _SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE, _SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING, _SC_SEMAPHORES, _SC_SHARED_MEMORY_OBJECTS, _SC_AIO_LISTIO_MAX, _SC_AIO_MAX, _SC_AIO_PRIO_DELTA_MAX, _SC_DELAYTIMER_MAX, _SC_MQ_OPEN_MAX, _SC_MQ_PRIO_MAX, _SC_VERSION, _SC_PAGESIZE, _SC_RTSIG_MAX, _SC_SEM_NSEMS_MAX, _SC_SEM_VALUE_MAX, _SC_SIGQUEUE_MAX, _SC_TIMER_MAX, _SC_BC_BASE_MAX, _SC_BC_DIM_MAX, _SC_BC_SCALE_MAX, _SC_BC_STRING_MAX, _SC_COLL_WEIGHTS_MAX, _SC_EQUIV_CLASS_MAX, _SC_EXPR_NEST_MAX, _SC_LINE_MAX, _SC_RE_DUP_MAX, _SC_CHARCLASS_NAME_MAX, _SC_2_VERSION, _SC_2_C_BIND, _SC_2_C_DEV, _SC_2_FORT_DEV, _SC_2_FORT_RUN, _SC_2_SW_DEV, _SC_2_LOCALEDEF, _SC_PII, _SC_PII_XTI, _SC_PII_SOCKET, _SC_PII_INTERNET, _SC_PII_OSI, _SC_POLL, _SC_SELECT, _SC_UIO_MAXIOV, _SC_IOV_MAX = _SC_UIO_MAXIOV, _SC_PII_INTERNET_STREAM, _SC_PII_INTERNET_DGRAM, _SC_PII_OSI_COTS, _SC_PII_OSI_CLTS, _SC_PII_OSI_M, _SC_T_IOV_MAX, _SC_THREADS, _SC_THREAD_SAFE_FUNCTIONS, _SC_GETGR_R_SIZE_MAX, _SC_GETPW_R_SIZE_MAX, _SC_LOGIN_NAME_MAX, _SC_TTY_NAME_MAX, _SC_THREAD_DESTRUCTOR_ITERATIONS, _SC_THREAD_KEYS_MAX, _SC_THREAD_STACK_MIN, _SC_THREAD_THREADS_MAX, _SC_THREAD_ATTR_STACKADDR, _SC_THREAD_ATTR_STACKSIZE, _SC_THREAD_PRIORITY_SCHEDULING, _SC_THREAD_PRIO_INHERIT, _SC_THREAD_PRIO_PROTECT, _SC_THREAD_PROCESS_SHARED, _SC_NPROCESSORS_CONF, _SC_NPROCESSORS_ONLN, _SC_PHYS_PAGES, _SC_AVPHYS_PAGES, _SC_ATEXIT_MAX, _SC_PASS_MAX, _SC_XOPEN_VERSION, _SC_XOPEN_XCU_VERSION, _SC_XOPEN_UNIX, _SC_XOPEN_CRYPT, _SC_XOPEN_ENH_I18N, _SC_XOPEN_SHM, _SC_2_CHAR_TERM, _SC_2_C_VERSION, _SC_2_UPE, _SC_XOPEN_XPG2, _SC_XOPEN_XPG3, _SC_XOPEN_XPG4, _SC_CHAR_BIT, _SC_CHAR_MAX, _SC_CHAR_MIN, _SC_INT_MAX, _SC_INT_MIN, _SC_LONG_BIT, _SC_WORD_BIT, _SC_MB_LEN_MAX, _SC_NZERO, _SC_SSIZE_MAX, _SC_SCHAR_MAX, _SC_SCHAR_MIN, _SC_SHRT_MAX, _SC_SHRT_MIN, _SC_UCHAR_MAX, _SC_UINT_MAX, _SC_ULONG_MAX, _SC_USHRT_MAX, _SC_NL_ARGMAX, _SC_NL_LANGMAX, _SC_NL_MSGMAX, _SC_NL_NMAX, _SC_NL_SETMAX, _SC_NL_TEXTMAX, _SC_XBS5_ILP32_OFF32, _SC_XBS5_ILP32_OFFBIG, _SC_XBS5_LP64_OFF64, _SC_XBS5_LPBIG_OFFBIG, _SC_XOPEN_LEGACY, _SC_XOPEN_REALTIME, _SC_XOPEN_REALTIME_THREADS, _SC_ADVISORY_INFO, _SC_BARRIERS, _SC_BASE, _SC_C_LANG_SUPPORT, _SC_C_LANG_SUPPORT_R, _SC_CLOCK_SELECTION, _SC_CPUTIME, _SC_THREAD_CPUTIME, _SC_DEVICE_IO, _SC_DEVICE_SPECIFIC, _SC_DEVICE_SPECIFIC_R, _SC_FD_MGMT, _SC_FIFO, _SC_PIPE, _SC_FILE_ATTRIBUTES, _SC_FILE_LOCKING, _SC_FILE_SYSTEM, _SC_MONOTONIC_CLOCK, _SC_MULTI_PROCESS, _SC_SINGLE_PROCESS, _SC_NETWORKING, _SC_READER_WRITER_LOCKS, _SC_SPIN_LOCKS, _SC_REGEXP, _SC_REGEX_VERSION, _SC_SHELL, _SC_SIGNALS, _SC_SPAWN, _SC_SPORADIC_SERVER, _SC_THREAD_SPORADIC_SERVER, _SC_SYSTEM_DATABASE, _SC_SYSTEM_DATABASE_R, _SC_TIMEOUTS, _SC_TYPED_MEMORY_OBJECTS, _SC_USER_GROUPS, _SC_USER_GROUPS_R, _SC_2_PBS, _SC_2_PBS_ACCOUNTING, _SC_2_PBS_LOCATE, _SC_2_PBS_MESSAGE, _SC_2_PBS_TRACK, _SC_SYMLOOP_MAX, _SC_STREAMS, _SC_2_PBS_CHECKPOINT, _SC_V6_ILP32_OFF32, _SC_V6_ILP32_OFFBIG, _SC_V6_LP64_OFF64, _SC_V6_LPBIG_OFFBIG, _SC_HOST_NAME_MAX, _SC_TRACE, _SC_TRACE_EVENT_FILTER, _SC_TRACE_INHERIT, _SC_TRACE_LOG, _SC_LEVEL1_ICACHE_SIZE, _SC_LEVEL1_ICACHE_ASSOC, _SC_LEVEL1_ICACHE_LINESIZE, _SC_LEVEL1_DCACHE_SIZE, _SC_LEVEL1_DCACHE_ASSOC, _SC_LEVEL1_DCACHE_LINESIZE, _SC_LEVEL2_CACHE_SIZE, _SC_LEVEL2_CACHE_ASSOC, _SC_LEVEL2_CACHE_LINESIZE, _SC_LEVEL3_CACHE_SIZE, _SC_LEVEL3_CACHE_ASSOC, _SC_LEVEL3_CACHE_LINESIZE, _SC_LEVEL4_CACHE_SIZE, _SC_LEVEL4_CACHE_ASSOC, _SC_LEVEL4_CACHE_LINESIZE, _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50, _SC_RAW_SOCKETS, _SC_V7_ILP32_OFF32, _SC_V7_ILP32_OFFBIG, _SC_V7_LP64_OFF64, _SC_V7_LPBIG_OFFBIG, _SC_SS_REPL_MAX, _SC_TRACE_EVENT_NAME_MAX, _SC_TRACE_NAME_MAX, _SC_TRACE_SYS_MAX, _SC_TRACE_USER_EVENT_MAX, _SC_XOPEN_STREAMS, _SC_THREAD_ROBUST_PRIO_INHERIT, _SC_THREAD_ROBUST_PRIO_PROTECT }; enum { _CS_PATH, _CS_V6_WIDTH_RESTRICTED_ENVS, _CS_GNU_LIBC_VERSION, _CS_GNU_LIBPTHREAD_VERSION, _CS_V5_WIDTH_RESTRICTED_ENVS, _CS_V7_WIDTH_RESTRICTED_ENVS, _CS_LFS_CFLAGS = 1000, _CS_LFS_LDFLAGS, _CS_LFS_LIBS, _CS_LFS_LINTFLAGS, _CS_LFS64_CFLAGS, _CS_LFS64_LDFLAGS, _CS_LFS64_LIBS, _CS_LFS64_LINTFLAGS, _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, _CS_XBS5_ILP32_OFF32_LDFLAGS, _CS_XBS5_ILP32_OFF32_LIBS, _CS_XBS5_ILP32_OFF32_LINTFLAGS, _CS_XBS5_ILP32_OFFBIG_CFLAGS, _CS_XBS5_ILP32_OFFBIG_LDFLAGS, _CS_XBS5_ILP32_OFFBIG_LIBS, _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, _CS_XBS5_LP64_OFF64_CFLAGS, _CS_XBS5_LP64_OFF64_LDFLAGS, _CS_XBS5_LP64_OFF64_LIBS, _CS_XBS5_LP64_OFF64_LINTFLAGS, _CS_XBS5_LPBIG_OFFBIG_CFLAGS, _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, _CS_XBS5_LPBIG_OFFBIG_LIBS, _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, _CS_POSIX_V6_ILP32_OFF32_CFLAGS, _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, _CS_POSIX_V6_ILP32_OFF32_LIBS, _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LIBS, _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, _CS_POSIX_V6_LP64_OFF64_CFLAGS, _CS_POSIX_V6_LP64_OFF64_LDFLAGS, _CS_POSIX_V6_LP64_OFF64_LIBS, _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS, _CS_POSIX_V7_ILP32_OFF32_CFLAGS, _CS_POSIX_V7_ILP32_OFF32_LDFLAGS, _CS_POSIX_V7_ILP32_OFF32_LIBS, _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS, _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS, _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS, _CS_POSIX_V7_ILP32_OFFBIG_LIBS, _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS, _CS_POSIX_V7_LP64_OFF64_CFLAGS, _CS_POSIX_V7_LP64_OFF64_LDFLAGS, _CS_POSIX_V7_LP64_OFF64_LIBS, _CS_POSIX_V7_LP64_OFF64_LINTFLAGS, _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS, _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS, _CS_POSIX_V7_LPBIG_OFFBIG_LIBS, _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS, _CS_V6_ENV, _CS_V7_ENV }; # 610 "/usr/include/unistd.h" 2 3 4 extern long int pathconf (const char *__path, int __name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern long int fpathconf (int __fd, int __name) __attribute__ ((__nothrow__ , __leaf__)); extern long int sysconf (int __name) __attribute__ ((__nothrow__ , __leaf__)); extern size_t confstr (int __name, char *__buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t getpid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t getppid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t getpgrp (void) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t __getpgid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t getpgid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__)); extern int setpgid (__pid_t __pid, __pid_t __pgid) __attribute__ ((__nothrow__ , __leaf__)); # 660 "/usr/include/unistd.h" 3 4 extern int setpgrp (void) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t setsid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t getsid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__)); extern __uid_t getuid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __uid_t geteuid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __gid_t getgid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __gid_t getegid (void) __attribute__ ((__nothrow__ , __leaf__)); extern int getgroups (int __size, __gid_t __list[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int group_member (__gid_t __gid) __attribute__ ((__nothrow__ , __leaf__)); extern int setuid (__uid_t __uid) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int setreuid (__uid_t __ruid, __uid_t __euid) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int seteuid (__uid_t __uid) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int setgid (__gid_t __gid) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int setregid (__gid_t __rgid, __gid_t __egid) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int setegid (__gid_t __gid) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid) __attribute__ ((__nothrow__ , __leaf__)); extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid) __attribute__ ((__nothrow__ , __leaf__)); extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern __pid_t fork (void) __attribute__ ((__nothrow__)); extern __pid_t vfork (void) __attribute__ ((__nothrow__ , __leaf__)); extern char *ttyname (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern int ttyname_r (int __fd, char *__buf, size_t __buflen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)); extern int isatty (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern int ttyslot (void) __attribute__ ((__nothrow__ , __leaf__)); extern int link (const char *__from, const char *__to) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)); extern int linkat (int __fromfd, const char *__from, int __tofd, const char *__to, int __flags) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) __attribute__ ((__warn_unused_result__)); extern int symlink (const char *__from, const char *__to) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)); extern ssize_t readlink (const char *__restrict __path, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)); extern int symlinkat (const char *__from, int __tofd, const char *__to) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))) __attribute__ ((__warn_unused_result__)); extern ssize_t readlinkat (int __fd, const char *__restrict __path, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)); extern int unlink (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int unlinkat (int __fd, const char *__name, int __flag) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int rmdir (const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern __pid_t tcgetpgrp (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) __attribute__ ((__nothrow__ , __leaf__)); extern char *getlogin (void); extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1))); extern int setlogin (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 871 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/getopt.h" 1 3 4 # 57 "/usr/include/getopt.h" 3 4 extern char *optarg; # 71 "/usr/include/getopt.h" 3 4 extern int optind; extern int opterr; extern int optopt; # 150 "/usr/include/getopt.h" 3 4 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) __attribute__ ((__nothrow__ , __leaf__)); # 872 "/usr/include/unistd.h" 2 3 4 extern int gethostname (char *__name, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int sethostname (const char *__name, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int sethostid (long int __id) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int getdomainname (char *__name, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int setdomainname (const char *__name, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int vhangup (void) __attribute__ ((__nothrow__ , __leaf__)); extern int revoke (const char *__file) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int profil (unsigned short int *__sample_buffer, size_t __size, size_t __offset, unsigned int __scale) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int acct (const char *__name) __attribute__ ((__nothrow__ , __leaf__)); extern char *getusershell (void) __attribute__ ((__nothrow__ , __leaf__)); extern void endusershell (void) __attribute__ ((__nothrow__ , __leaf__)); extern void setusershell (void) __attribute__ ((__nothrow__ , __leaf__)); extern int daemon (int __nochdir, int __noclose) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int chroot (const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern char *getpass (const char *__prompt) __attribute__ ((__nonnull__ (1))); extern int fsync (int __fd); extern int syncfs (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern long int gethostid (void); extern void sync (void) __attribute__ ((__nothrow__ , __leaf__)); extern int getpagesize (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int getdtablesize (void) __attribute__ ((__nothrow__ , __leaf__)); # 997 "/usr/include/unistd.h" 3 4 extern int truncate (const char *__file, __off64_t __length) __asm__ ("" "truncate64") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int truncate64 (const char *__file, __off64_t __length) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 1019 "/usr/include/unistd.h" 3 4 extern int ftruncate (int __fd, __off64_t __length) __asm__ ("" "ftruncate64") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int ftruncate64 (int __fd, __off64_t __length) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); # 1037 "/usr/include/unistd.h" 3 4 extern int brk (void *__addr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern void *sbrk (intptr_t __delta) __attribute__ ((__nothrow__ , __leaf__)); # 1058 "/usr/include/unistd.h" 3 4 extern long int syscall (long int __sysno, ...) __attribute__ ((__nothrow__ , __leaf__)); # 1084 "/usr/include/unistd.h" 3 4 extern int lockf (int __fd, int __cmd, __off64_t __len) __asm__ ("" "lockf64") __attribute__ ((__warn_unused_result__)); extern int lockf64 (int __fd, int __cmd, __off64_t __len) __attribute__ ((__warn_unused_result__)); # 1112 "/usr/include/unistd.h" 3 4 extern int fdatasync (int __fildes); extern char *crypt (const char *__key, const char *__salt) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern void encrypt (char *__glibc_block, int __edflag) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern void swab (const void *__restrict __from, void *__restrict __to, ssize_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); # 1148 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/unistd.h" 1 3 4 # 23 "/usr/include/x86_64-linux-gnu/bits/unistd.h" 3 4 extern ssize_t __read_chk (int __fd, void *__buf, size_t __nbytes, size_t __buflen) __attribute__ ((__warn_unused_result__)); extern ssize_t __read_alias (int __fd, void *__buf, size_t __nbytes) __asm__ ("" "read") __attribute__ ((__warn_unused_result__)); extern ssize_t __read_chk_warn (int __fd, void *__buf, size_t __nbytes, size_t __buflen) __asm__ ("" "__read_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("read called with bigger length than size of " "the destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) ssize_t read (int __fd, void *__buf, size_t __nbytes) { if (__builtin_object_size (__buf, 0) != (size_t) -1) { if (!__builtin_constant_p (__nbytes)) return __read_chk (__fd, __buf, __nbytes, __builtin_object_size (__buf, 0)); if (__nbytes > __builtin_object_size (__buf, 0)) return __read_chk_warn (__fd, __buf, __nbytes, __builtin_object_size (__buf, 0)); } return __read_alias (__fd, __buf, __nbytes); } extern ssize_t __pread_chk (int __fd, void *__buf, size_t __nbytes, __off_t __offset, size_t __bufsize) __attribute__ ((__warn_unused_result__)); extern ssize_t __pread64_chk (int __fd, void *__buf, size_t __nbytes, __off64_t __offset, size_t __bufsize) __attribute__ ((__warn_unused_result__)); extern ssize_t __pread_alias (int __fd, void *__buf, size_t __nbytes, __off_t __offset) __asm__ ("" "pread") __attribute__ ((__warn_unused_result__)); extern ssize_t __pread64_alias (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pread64") __attribute__ ((__warn_unused_result__)); extern ssize_t __pread_chk_warn (int __fd, void *__buf, size_t __nbytes, __off_t __offset, size_t __bufsize) __asm__ ("" "__pread_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("pread called with bigger length than size of " "the destination buffer"))) ; extern ssize_t __pread64_chk_warn (int __fd, void *__buf, size_t __nbytes, __off64_t __offset, size_t __bufsize) __asm__ ("" "__pread64_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("pread64 called with bigger length than size of " "the destination buffer"))) ; # 86 "/usr/include/x86_64-linux-gnu/bits/unistd.h" 3 4 extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) { if (__builtin_object_size (__buf, 0) != (size_t) -1) { if (!__builtin_constant_p (__nbytes)) return __pread64_chk (__fd, __buf, __nbytes, __offset, __builtin_object_size (__buf, 0)); if ( __nbytes > __builtin_object_size (__buf, 0)) return __pread64_chk_warn (__fd, __buf, __nbytes, __offset, __builtin_object_size (__buf, 0)); } return __pread64_alias (__fd, __buf, __nbytes, __offset); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) { if (__builtin_object_size (__buf, 0) != (size_t) -1) { if (!__builtin_constant_p (__nbytes)) return __pread64_chk (__fd, __buf, __nbytes, __offset, __builtin_object_size (__buf, 0)); if ( __nbytes > __builtin_object_size (__buf, 0)) return __pread64_chk_warn (__fd, __buf, __nbytes, __offset, __builtin_object_size (__buf, 0)); } return __pread64_alias (__fd, __buf, __nbytes, __offset); } extern ssize_t __readlink_chk (const char *__restrict __path, char *__restrict __buf, size_t __len, size_t __buflen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)); extern ssize_t __readlink_alias (const char *__restrict __path, char *__restrict __buf, size_t __len) __asm__ ("" "readlink") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)); extern ssize_t __readlink_chk_warn (const char *__restrict __path, char *__restrict __buf, size_t __len, size_t __buflen) __asm__ ("" "__readlink_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("readlink called with bigger length " "than size of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)) ssize_t __attribute__ ((__nothrow__ , __leaf__)) readlink (const char *__restrict __path, char *__restrict __buf, size_t __len) { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __readlink_chk (__path, __buf, __len, __builtin_object_size (__buf, 2 > 1)); if ( __len > __builtin_object_size (__buf, 2 > 1)) return __readlink_chk_warn (__path, __buf, __len, __builtin_object_size (__buf, 2 > 1)); } return __readlink_alias (__path, __buf, __len); } extern ssize_t __readlinkat_chk (int __fd, const char *__restrict __path, char *__restrict __buf, size_t __len, size_t __buflen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)); extern ssize_t __readlinkat_alias (int __fd, const char *__restrict __path, char *__restrict __buf, size_t __len) __asm__ ("" "readlinkat") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)); extern ssize_t __readlinkat_chk_warn (int __fd, const char *__restrict __path, char *__restrict __buf, size_t __len, size_t __buflen) __asm__ ("" "__readlinkat_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("readlinkat called with bigger " "length than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)) ssize_t __attribute__ ((__nothrow__ , __leaf__)) readlinkat (int __fd, const char *__restrict __path, char *__restrict __buf, size_t __len) { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __readlinkat_chk (__fd, __path, __buf, __len, __builtin_object_size (__buf, 2 > 1)); if (__len > __builtin_object_size (__buf, 2 > 1)) return __readlinkat_chk_warn (__fd, __path, __buf, __len, __builtin_object_size (__buf, 2 > 1)); } return __readlinkat_alias (__fd, __path, __buf, __len); } extern char *__getcwd_chk (char *__buf, size_t __size, size_t __buflen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern char *__getcwd_alias (char *__buf, size_t __size) __asm__ ("" "getcwd") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern char *__getcwd_chk_warn (char *__buf, size_t __size, size_t __buflen) __asm__ ("" "__getcwd_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("getcwd caller with bigger length than size of " "destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * __attribute__ ((__nothrow__ , __leaf__)) getcwd (char *__buf, size_t __size) { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__size)) return __getcwd_chk (__buf, __size, __builtin_object_size (__buf, 2 > 1)); if (__size > __builtin_object_size (__buf, 2 > 1)) return __getcwd_chk_warn (__buf, __size, __builtin_object_size (__buf, 2 > 1)); } return __getcwd_alias (__buf, __size); } extern char *__getwd_chk (char *__buf, size_t buflen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern char *__getwd_warn (char *__buf) __asm__ ("" "getwd") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("please use getcwd instead, as getwd " "doesn't specify buffer size"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) __attribute__ ((__warn_unused_result__)) char * __attribute__ ((__nothrow__ , __leaf__)) getwd (char *__buf) { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) return __getwd_chk (__buf, __builtin_object_size (__buf, 2 > 1)); return __getwd_warn (__buf); } extern size_t __confstr_chk (int __name, char *__buf, size_t __len, size_t __buflen) __attribute__ ((__nothrow__ , __leaf__)); extern size_t __confstr_alias (int __name, char *__buf, size_t __len) __asm__ ("" "confstr") __attribute__ ((__nothrow__ , __leaf__)) ; extern size_t __confstr_chk_warn (int __name, char *__buf, size_t __len, size_t __buflen) __asm__ ("" "__confstr_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__((__warning__ ("confstr called with bigger length than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t __attribute__ ((__nothrow__ , __leaf__)) confstr (int __name, char *__buf, size_t __len) { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __confstr_chk (__name, __buf, __len, __builtin_object_size (__buf, 2 > 1)); if (__builtin_object_size (__buf, 2 > 1) < __len) return __confstr_chk_warn (__name, __buf, __len, __builtin_object_size (__buf, 2 > 1)); } return __confstr_alias (__name, __buf, __len); } extern int __getgroups_chk (int __size, __gid_t __list[], size_t __listlen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int __getgroups_alias (int __size, __gid_t __list[]) __asm__ ("" "getgroups") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int __getgroups_chk_warn (int __size, __gid_t __list[], size_t __listlen) __asm__ ("" "__getgroups_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("getgroups called with bigger group count than what " "can fit into destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) getgroups (int __size, __gid_t __list[]) { if (__builtin_object_size (__list, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__size) || __size < 0) return __getgroups_chk (__size, __list, __builtin_object_size (__list, 2 > 1)); if (__size * sizeof (__gid_t) > __builtin_object_size (__list, 2 > 1)) return __getgroups_chk_warn (__size, __list, __builtin_object_size (__list, 2 > 1)); } return __getgroups_alias (__size, __list); } extern int __ttyname_r_chk (int __fd, char *__buf, size_t __buflen, size_t __nreal) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int __ttyname_r_alias (int __fd, char *__buf, size_t __buflen) __asm__ ("" "ttyname_r") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int __ttyname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__ttyname_r_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ttyname_r called with bigger buflen than " "size of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) ttyname_r (int __fd, char *__buf, size_t __buflen) { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__buflen)) return __ttyname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); if (__buflen > __builtin_object_size (__buf, 2 > 1)) return __ttyname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); } return __ttyname_r_alias (__fd, __buf, __buflen); } extern int __getlogin_r_chk (char *__buf, size_t __buflen, size_t __nreal) __attribute__ ((__nonnull__ (1))); extern int __getlogin_r_alias (char *__buf, size_t __buflen) __asm__ ("" "getlogin_r") __attribute__ ((__nonnull__ (1))); extern int __getlogin_r_chk_warn (char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__getlogin_r_chk") __attribute__ ((__nonnull__ (1))) __attribute__((__warning__ ("getlogin_r called with bigger buflen than " "size of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int getlogin_r (char *__buf, size_t __buflen) { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__buflen)) return __getlogin_r_chk (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)); if (__buflen > __builtin_object_size (__buf, 2 > 1)) return __getlogin_r_chk_warn (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)); } return __getlogin_r_alias (__buf, __buflen); } extern int __gethostname_chk (char *__buf, size_t __buflen, size_t __nreal) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int __gethostname_alias (char *__buf, size_t __buflen) __asm__ ("" "gethostname") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int __gethostname_chk_warn (char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__gethostname_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__((__warning__ ("gethostname called with bigger buflen than " "size of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) gethostname (char *__buf, size_t __buflen) { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__buflen)) return __gethostname_chk (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)); if (__buflen > __builtin_object_size (__buf, 2 > 1)) return __gethostname_chk_warn (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)); } return __gethostname_alias (__buf, __buflen); } extern int __getdomainname_chk (char *__buf, size_t __buflen, size_t __nreal) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int __getdomainname_alias (char *__buf, size_t __buflen) __asm__ ("" "getdomainname") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int __getdomainname_chk_warn (char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__getdomainname_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("getdomainname called with bigger " "buflen than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) getdomainname (char *__buf, size_t __buflen) { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__buflen)) return __getdomainname_chk (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)); if (__buflen > __builtin_object_size (__buf, 2 > 1)) return __getdomainname_chk_warn (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)); } return __getdomainname_alias (__buf, __buflen); } # 1149 "/usr/include/unistd.h" 2 3 4 # 37 "./Include/Python.h" 2 # 48 "./Include/Python.h" # 1 "/usr/include/assert.h" 1 3 4 # 49 "./Include/Python.h" 2 # 1 "./Include/pyport.h" 1 # 1 "/usr/include/inttypes.h" 1 3 4 # 27 "/usr/include/inttypes.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h" 1 3 4 # 9 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h" 3 4 # 1 "/usr/include/stdint.h" 1 3 4 # 26 "/usr/include/stdint.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/wchar.h" 1 3 4 # 27 "/usr/include/stdint.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 # 28 "/usr/include/stdint.h" 2 3 4 # 48 "/usr/include/stdint.h" 3 4 typedef unsigned char uint8_t; typedef unsigned short int uint16_t; typedef unsigned int uint32_t; typedef unsigned long int uint64_t; # 65 "/usr/include/stdint.h" 3 4 typedef signed char int_least8_t; typedef short int int_least16_t; typedef int int_least32_t; typedef long int int_least64_t; typedef unsigned char uint_least8_t; typedef unsigned short int uint_least16_t; typedef unsigned int uint_least32_t; typedef unsigned long int uint_least64_t; # 90 "/usr/include/stdint.h" 3 4 typedef signed char int_fast8_t; typedef long int int_fast16_t; typedef long int int_fast32_t; typedef long int int_fast64_t; # 103 "/usr/include/stdint.h" 3 4 typedef unsigned char uint_fast8_t; typedef unsigned long int uint_fast16_t; typedef unsigned long int uint_fast32_t; typedef unsigned long int uint_fast64_t; # 122 "/usr/include/stdint.h" 3 4 typedef unsigned long int uintptr_t; # 134 "/usr/include/stdint.h" 3 4 typedef long int intmax_t; typedef unsigned long int uintmax_t; # 10 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h" 2 3 4 # 28 "/usr/include/inttypes.h" 2 3 4 typedef int __gwchar_t; # 266 "/usr/include/inttypes.h" 3 4 typedef struct { long int quot; long int rem; } imaxdiv_t; # 290 "/usr/include/inttypes.h" 3 4 extern intmax_t imaxabs (intmax_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern intmax_t strtoimax (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); extern uintmax_t strtoumax (const char *__restrict __nptr, char ** __restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); extern intmax_t wcstoimax (const __gwchar_t *__restrict __nptr, __gwchar_t **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); extern uintmax_t wcstoumax (const __gwchar_t *__restrict __nptr, __gwchar_t ** __restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); extern long int __strtol_internal (const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern __inline __attribute__ ((__gnu_inline__)) intmax_t __attribute__ ((__nothrow__ , __leaf__)) strtoimax (const char *__restrict nptr, char **__restrict endptr, int base) { return __strtol_internal (nptr, endptr, base, 0); } extern unsigned long int __strtoul_internal (const char *__restrict __nptr, char ** __restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern __inline __attribute__ ((__gnu_inline__)) uintmax_t __attribute__ ((__nothrow__ , __leaf__)) strtoumax (const char *__restrict nptr, char **__restrict endptr, int base) { return __strtoul_internal (nptr, endptr, base, 0); } extern long int __wcstol_internal (const __gwchar_t * __restrict __nptr, __gwchar_t **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern __inline __attribute__ ((__gnu_inline__)) intmax_t __attribute__ ((__nothrow__ , __leaf__)) wcstoimax (const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, int base) { return __wcstol_internal (nptr, endptr, base, 0); } extern unsigned long int __wcstoul_internal (const __gwchar_t * __restrict __nptr, __gwchar_t ** __restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern __inline __attribute__ ((__gnu_inline__)) uintmax_t __attribute__ ((__nothrow__ , __leaf__)) wcstoumax (const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, int base) { return __wcstoul_internal (nptr, endptr, base, 0); } # 432 "/usr/include/inttypes.h" 3 4 # 7 "./Include/pyport.h" 2 # 76 "./Include/pyport.h" typedef uintptr_t Py_uintptr_t; typedef intptr_t Py_intptr_t; typedef ssize_t Py_ssize_t; # 93 "./Include/pyport.h" typedef Py_ssize_t Py_hash_t; typedef size_t Py_uhash_t; typedef int Py_ssize_clean_t; # 194 "./Include/pyport.h" # 1 "/usr/include/math.h" 1 3 4 # 28 "/usr/include/math.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/huge_val.h" 1 3 4 # 33 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/huge_valf.h" 1 3 4 # 35 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/huge_vall.h" 1 3 4 # 36 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/inf.h" 1 3 4 # 39 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/nan.h" 1 3 4 # 42 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/mathdef.h" 1 3 4 # 28 "/usr/include/x86_64-linux-gnu/bits/mathdef.h" 3 4 typedef float float_t; typedef double double_t; # 46 "/usr/include/math.h" 2 3 4 # 69 "/usr/include/math.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 1 3 4 # 52 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4 extern double acos (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __acos (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double asin (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __asin (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double atan (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __atan (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double atan2 (double __y, double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __atan2 (double __y, double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double cos (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __cos (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double sin (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __sin (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double tan (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __tan (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double cosh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __cosh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double sinh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __sinh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double tanh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __tanh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern void sincos (double __x, double *__sinx, double *__cosx) __attribute__ ((__nothrow__ , __leaf__)); extern void __sincos (double __x, double *__sinx, double *__cosx) __attribute__ ((__nothrow__ , __leaf__)) ; extern double acosh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __acosh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double asinh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __asinh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double atanh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __atanh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double exp (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __exp (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double frexp (double __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern double __frexp (double __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern double ldexp (double __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern double __ldexp (double __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern double log (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __log (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double log10 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __log10 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double modf (double __x, double *__iptr) __attribute__ ((__nothrow__ , __leaf__)); extern double __modf (double __x, double *__iptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern double exp10 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __exp10 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double pow10 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __pow10 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double expm1 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __expm1 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double log1p (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __log1p (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double logb (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __logb (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double exp2 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __exp2 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double log2 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __log2 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double pow (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __pow (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double sqrt (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __sqrt (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double hypot (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __hypot (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double cbrt (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __cbrt (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double ceil (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __ceil (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double fabs (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __fabs (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double floor (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __floor (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double fmod (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __fmod (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern int __isinf (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __finite (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int isinf (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int finite (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double drem (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __drem (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double significand (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __significand (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double copysign (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double nan (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __nan (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __isnan (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int isnan (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double j0 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __j0 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double j1 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __j1 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double jn (int, double) __attribute__ ((__nothrow__ , __leaf__)); extern double __jn (int, double) __attribute__ ((__nothrow__ , __leaf__)); extern double y0 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __y0 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double y1 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __y1 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double yn (int, double) __attribute__ ((__nothrow__ , __leaf__)); extern double __yn (int, double) __attribute__ ((__nothrow__ , __leaf__)); extern double erf (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __erf (double) __attribute__ ((__nothrow__ , __leaf__)); extern double erfc (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __erfc (double) __attribute__ ((__nothrow__ , __leaf__)); extern double lgamma (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __lgamma (double) __attribute__ ((__nothrow__ , __leaf__)); extern double tgamma (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __tgamma (double) __attribute__ ((__nothrow__ , __leaf__)); extern double gamma (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __gamma (double) __attribute__ ((__nothrow__ , __leaf__)); extern double lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern double __lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern double rint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __rint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double nextafter (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __nextafter (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double nexttoward (double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __nexttoward (double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double remainder (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __remainder (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double scalbn (double __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern double __scalbn (double __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern int ilogb (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern int __ilogb (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double scalbln (double __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern double __scalbln (double __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern double nearbyint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __nearbyint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double round (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __round (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double trunc (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __trunc (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double remquo (double __x, double __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern double __remquo (double __x, double __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern long int lrint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lrint (double __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llrint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llrint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int lround (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lround (double __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llround (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llround (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double fdim (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __fdim (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double fmax (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __fmax (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double fmin (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __fmin (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __fpclassify (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __signbit (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double fma (double __x, double __y, double __z) __attribute__ ((__nothrow__ , __leaf__)); extern double __fma (double __x, double __y, double __z) __attribute__ ((__nothrow__ , __leaf__)); extern int __issignaling (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double scalb (double __x, double __n) __attribute__ ((__nothrow__ , __leaf__)); extern double __scalb (double __x, double __n) __attribute__ ((__nothrow__ , __leaf__)); # 70 "/usr/include/math.h" 2 3 4 # 88 "/usr/include/math.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 1 3 4 # 52 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4 extern float acosf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __acosf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float asinf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __asinf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float atanf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __atanf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float atan2f (float __y, float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __atan2f (float __y, float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float cosf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __cosf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float sinf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __sinf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float tanf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __tanf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float coshf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __coshf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float sinhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __sinhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float tanhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __tanhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern void sincosf (float __x, float *__sinx, float *__cosx) __attribute__ ((__nothrow__ , __leaf__)); extern void __sincosf (float __x, float *__sinx, float *__cosx) __attribute__ ((__nothrow__ , __leaf__)) ; extern float acoshf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __acoshf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float asinhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __asinhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float atanhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __atanhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float expf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __expf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern float __frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern float ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern float __ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern float logf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __logf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float log10f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __log10f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float modff (float __x, float *__iptr) __attribute__ ((__nothrow__ , __leaf__)); extern float __modff (float __x, float *__iptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern float exp10f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __exp10f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float pow10f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __pow10f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float expm1f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __expm1f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float log1pf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __log1pf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float logbf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __logbf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float exp2f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __exp2f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float log2f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __log2f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float powf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __powf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float sqrtf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __sqrtf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float hypotf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __hypotf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float cbrtf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __cbrtf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float ceilf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __ceilf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float fabsf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __fabsf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float floorf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __floorf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float fmodf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __fmodf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern int __isinff (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __finitef (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int isinff (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int finitef (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float dremf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __dremf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float significandf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __significandf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float copysignf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float nanf (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __nanf (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __isnanf (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int isnanf (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float j0f (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __j0f (float) __attribute__ ((__nothrow__ , __leaf__)); extern float j1f (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __j1f (float) __attribute__ ((__nothrow__ , __leaf__)); extern float jnf (int, float) __attribute__ ((__nothrow__ , __leaf__)); extern float __jnf (int, float) __attribute__ ((__nothrow__ , __leaf__)); extern float y0f (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __y0f (float) __attribute__ ((__nothrow__ , __leaf__)); extern float y1f (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __y1f (float) __attribute__ ((__nothrow__ , __leaf__)); extern float ynf (int, float) __attribute__ ((__nothrow__ , __leaf__)); extern float __ynf (int, float) __attribute__ ((__nothrow__ , __leaf__)); extern float erff (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __erff (float) __attribute__ ((__nothrow__ , __leaf__)); extern float erfcf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __erfcf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float lgammaf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __lgammaf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float tgammaf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __tgammaf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float gammaf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __gammaf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern float __lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern float rintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __rintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float nextafterf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __nextafterf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float nexttowardf (float __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __nexttowardf (float __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float remainderf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __remainderf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float scalbnf (float __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern float __scalbnf (float __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern int ilogbf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern int __ilogbf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float scalblnf (float __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern float __scalblnf (float __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern float nearbyintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __nearbyintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float roundf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __roundf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float truncf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __truncf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float remquof (float __x, float __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern float __remquof (float __x, float __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern long int lrintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lrintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llrintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llrintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int lroundf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lroundf (float __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llroundf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llroundf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float fdimf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __fdimf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float fmaxf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __fmaxf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float fminf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __fminf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __fpclassifyf (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __signbitf (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float fmaf (float __x, float __y, float __z) __attribute__ ((__nothrow__ , __leaf__)); extern float __fmaf (float __x, float __y, float __z) __attribute__ ((__nothrow__ , __leaf__)); extern int __issignalingf (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float scalbf (float __x, float __n) __attribute__ ((__nothrow__ , __leaf__)); extern float __scalbf (float __x, float __n) __attribute__ ((__nothrow__ , __leaf__)); # 89 "/usr/include/math.h" 2 3 4 # 132 "/usr/include/math.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 1 3 4 # 52 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4 extern long double acosl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __acosl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double asinl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __asinl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double atanl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __atanl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double atan2l (long double __y, long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __atan2l (long double __y, long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double cosl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __cosl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double sinl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __sinl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double tanl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __tanl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double coshl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __coshl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double sinhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __sinhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double tanhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __tanhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern void sincosl (long double __x, long double *__sinx, long double *__cosx) __attribute__ ((__nothrow__ , __leaf__)); extern void __sincosl (long double __x, long double *__sinx, long double *__cosx) __attribute__ ((__nothrow__ , __leaf__)) ; extern long double acoshl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __acoshl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double asinhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __asinhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double atanhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __atanhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double expl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __expl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double frexpl (long double __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern long double __frexpl (long double __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern long double ldexpl (long double __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern long double __ldexpl (long double __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern long double logl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __logl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double log10l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __log10l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double modfl (long double __x, long double *__iptr) __attribute__ ((__nothrow__ , __leaf__)); extern long double __modfl (long double __x, long double *__iptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern long double exp10l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __exp10l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double pow10l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __pow10l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double expm1l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __expm1l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double log1pl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __log1pl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double logbl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __logbl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double exp2l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __exp2l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double log2l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __log2l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double powl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __powl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double sqrtl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __sqrtl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double hypotl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __hypotl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double cbrtl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __cbrtl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double ceill (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __ceill (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double fabsl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __fabsl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double floorl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __floorl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double fmodl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __fmodl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern int __isinfl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __finitel (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int isinfl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int finitel (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double dreml (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __dreml (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double significandl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __significandl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double copysignl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double nanl (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __nanl (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __isnanl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int isnanl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double j0l (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __j0l (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double j1l (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __j1l (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double jnl (int, long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __jnl (int, long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double y0l (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __y0l (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double y1l (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __y1l (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double ynl (int, long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __ynl (int, long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double erfl (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __erfl (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double erfcl (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __erfcl (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double lgammal (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __lgammal (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double tgammal (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __tgammal (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double gammal (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __gammal (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double lgammal_r (long double, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern long double __lgammal_r (long double, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern long double rintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __rintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double nextafterl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __nextafterl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double nexttowardl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __nexttowardl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double remainderl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __remainderl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double scalbnl (long double __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern long double __scalbnl (long double __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern int ilogbl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern int __ilogbl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double scalblnl (long double __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern long double __scalblnl (long double __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern long double nearbyintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __nearbyintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double roundl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __roundl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double truncl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __truncl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double remquol (long double __x, long double __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern long double __remquol (long double __x, long double __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern long int lrintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lrintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llrintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llrintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int lroundl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lroundl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llroundl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llroundl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double fdiml (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __fdiml (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double fmaxl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __fmaxl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double fminl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __fminl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __fpclassifyl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __signbitl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double fmal (long double __x, long double __y, long double __z) __attribute__ ((__nothrow__ , __leaf__)); extern long double __fmal (long double __x, long double __y, long double __z) __attribute__ ((__nothrow__ , __leaf__)); extern int __issignalingl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double scalbl (long double __x, long double __n) __attribute__ ((__nothrow__ , __leaf__)); extern long double __scalbl (long double __x, long double __n) __attribute__ ((__nothrow__ , __leaf__)); # 133 "/usr/include/math.h" 2 3 4 # 148 "/usr/include/math.h" 3 4 extern int signgam; # 189 "/usr/include/math.h" 3 4 enum { FP_NAN = 0, FP_INFINITE = 1, FP_ZERO = 2, FP_SUBNORMAL = 3, FP_NORMAL = 4 }; # 301 "/usr/include/math.h" 3 4 typedef enum { _IEEE_ = -1, _SVID_, _XOPEN_, _POSIX_, _ISOC_ } _LIB_VERSION_TYPE; extern _LIB_VERSION_TYPE _LIB_VERSION; # 326 "/usr/include/math.h" 3 4 struct exception { int type; char *name; double arg1; double arg2; double retval; }; extern int matherr (struct exception *__exc); # 426 "/usr/include/math.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/mathinline.h" 1 3 4 # 123 "/usr/include/x86_64-linux-gnu/bits/mathinline.h" 3 4 extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) __signbitf (float __x) { int __m; __asm ("pmovmskb %1, %0" : "=r" (__m) : "x" (__x)); return (__m & 0x8) != 0; } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) __signbit (double __x) { int __m; __asm ("pmovmskb %1, %0" : "=r" (__m) : "x" (__x)); return (__m & 0x80) != 0; } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) __signbitl (long double __x) { __extension__ union { long double __l; int __i[3]; } __u = { __l: __x }; return (__u.__i[2] & 0x8000) != 0; } # 427 "/usr/include/math.h" 2 3 4 # 488 "/usr/include/math.h" 3 4 # 195 "./Include/pyport.h" 2 # 1 "/usr/include/x86_64-linux-gnu/sys/time.h" 1 3 4 # 25 "/usr/include/x86_64-linux-gnu/sys/time.h" 3 4 # 1 "/usr/include/time.h" 1 3 4 # 26 "/usr/include/x86_64-linux-gnu/sys/time.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/time.h" 1 3 4 # 28 "/usr/include/x86_64-linux-gnu/sys/time.h" 2 3 4 # 37 "/usr/include/x86_64-linux-gnu/sys/time.h" 3 4 # 55 "/usr/include/x86_64-linux-gnu/sys/time.h" 3 4 struct timezone { int tz_minuteswest; int tz_dsttime; }; typedef struct timezone *__restrict __timezone_ptr_t; # 71 "/usr/include/x86_64-linux-gnu/sys/time.h" 3 4 extern int gettimeofday (struct timeval *__restrict __tv, __timezone_ptr_t __tz) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int settimeofday (const struct timeval *__tv, const struct timezone *__tz) __attribute__ ((__nothrow__ , __leaf__)); extern int adjtime (const struct timeval *__delta, struct timeval *__olddelta) __attribute__ ((__nothrow__ , __leaf__)); enum __itimer_which { ITIMER_REAL = 0, ITIMER_VIRTUAL = 1, ITIMER_PROF = 2 }; struct itimerval { struct timeval it_interval; struct timeval it_value; }; typedef enum __itimer_which __itimer_which_t; extern int getitimer (__itimer_which_t __which, struct itimerval *__value) __attribute__ ((__nothrow__ , __leaf__)); extern int setitimer (__itimer_which_t __which, const struct itimerval *__restrict __new, struct itimerval *__restrict __old) __attribute__ ((__nothrow__ , __leaf__)); extern int utimes (const char *__file, const struct timeval __tvp[2]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int lutimes (const char *__file, const struct timeval __tvp[2]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int futimes (int __fd, const struct timeval __tvp[2]) __attribute__ ((__nothrow__ , __leaf__)); extern int futimesat (int __fd, const char *__file, const struct timeval __tvp[2]) __attribute__ ((__nothrow__ , __leaf__)); # 189 "/usr/include/x86_64-linux-gnu/sys/time.h" 3 4 # 202 "./Include/pyport.h" 2 # 1 "/usr/include/time.h" 1 3 4 # 29 "/usr/include/time.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h" 1 3 4 # 38 "/usr/include/time.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/time.h" 1 3 4 # 86 "/usr/include/x86_64-linux-gnu/bits/time.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/timex.h" 1 3 4 # 25 "/usr/include/x86_64-linux-gnu/bits/timex.h" 3 4 struct timex { unsigned int modes; __syscall_slong_t offset; __syscall_slong_t freq; __syscall_slong_t maxerror; __syscall_slong_t esterror; int status; __syscall_slong_t constant; __syscall_slong_t precision; __syscall_slong_t tolerance; struct timeval time; __syscall_slong_t tick; __syscall_slong_t ppsfreq; __syscall_slong_t jitter; int shift; __syscall_slong_t stabil; __syscall_slong_t jitcnt; __syscall_slong_t calcnt; __syscall_slong_t errcnt; __syscall_slong_t stbcnt; int tai; int :32; int :32; int :32; int :32; int :32; int :32; int :32; int :32; int :32; int :32; int :32; }; # 87 "/usr/include/x86_64-linux-gnu/bits/time.h" 2 3 4 extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) __attribute__ ((__nothrow__ , __leaf__)); # 42 "/usr/include/time.h" 2 3 4 # 131 "/usr/include/time.h" 3 4 struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; long int tm_gmtoff; const char *tm_zone; }; struct itimerspec { struct timespec it_interval; struct timespec it_value; }; struct sigevent; # 186 "/usr/include/time.h" 3 4 extern clock_t clock (void) __attribute__ ((__nothrow__ , __leaf__)); extern time_t time (time_t *__timer) __attribute__ ((__nothrow__ , __leaf__)); extern double difftime (time_t __time1, time_t __time0) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__)); extern size_t strftime (char *__restrict __s, size_t __maxsize, const char *__restrict __format, const struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__)); extern char *strptime (const char *__restrict __s, const char *__restrict __fmt, struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__)); extern size_t strftime_l (char *__restrict __s, size_t __maxsize, const char *__restrict __format, const struct tm *__restrict __tp, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)); extern char *strptime_l (const char *__restrict __s, const char *__restrict __fmt, struct tm *__tp, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)); extern struct tm *gmtime (const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__)); extern struct tm *localtime (const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__)); extern struct tm *gmtime_r (const time_t *__restrict __timer, struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__)); extern struct tm *localtime_r (const time_t *__restrict __timer, struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__)); extern char *asctime (const struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__)); extern char *ctime (const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__)); extern char *asctime_r (const struct tm *__restrict __tp, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); extern char *ctime_r (const time_t *__restrict __timer, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); extern char *__tzname[2]; extern int __daylight; extern long int __timezone; extern char *tzname[2]; extern void tzset (void) __attribute__ ((__nothrow__ , __leaf__)); extern int daylight; extern long int timezone; extern int stime (const time_t *__when) __attribute__ ((__nothrow__ , __leaf__)); # 319 "/usr/include/time.h" 3 4 extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__)); extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__)); extern int dysize (int __year) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); # 334 "/usr/include/time.h" 3 4 extern int nanosleep (const struct timespec *__requested_time, struct timespec *__remaining); extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__ , __leaf__)); extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__ , __leaf__)); extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp) __attribute__ ((__nothrow__ , __leaf__)); extern int clock_nanosleep (clockid_t __clock_id, int __flags, const struct timespec *__req, struct timespec *__rem); extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __attribute__ ((__nothrow__ , __leaf__)); extern int timer_create (clockid_t __clock_id, struct sigevent *__restrict __evp, timer_t *__restrict __timerid) __attribute__ ((__nothrow__ , __leaf__)); extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__ , __leaf__)); extern int timer_settime (timer_t __timerid, int __flags, const struct itimerspec *__restrict __value, struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__ , __leaf__)); extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) __attribute__ ((__nothrow__ , __leaf__)); extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__ , __leaf__)); extern int timespec_get (struct timespec *__ts, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 403 "/usr/include/time.h" 3 4 extern int getdate_err; # 412 "/usr/include/time.h" 3 4 extern struct tm *getdate (const char *__string); # 426 "/usr/include/time.h" 3 4 extern int getdate_r (const char *__restrict __string, struct tm *__restrict __resbufp); # 203 "./Include/pyport.h" 2 # 227 "./Include/pyport.h" # 1 "/usr/include/x86_64-linux-gnu/sys/stat.h" 1 3 4 # 103 "/usr/include/x86_64-linux-gnu/sys/stat.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/stat.h" 1 3 4 # 46 "/usr/include/x86_64-linux-gnu/bits/stat.h" 3 4 struct stat { __dev_t st_dev; __ino_t st_ino; __nlink_t st_nlink; __mode_t st_mode; __uid_t st_uid; __gid_t st_gid; int __pad0; __dev_t st_rdev; __off_t st_size; __blksize_t st_blksize; __blkcnt_t st_blocks; # 91 "/usr/include/x86_64-linux-gnu/bits/stat.h" 3 4 struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; # 106 "/usr/include/x86_64-linux-gnu/bits/stat.h" 3 4 __syscall_slong_t __glibc_reserved[3]; # 115 "/usr/include/x86_64-linux-gnu/bits/stat.h" 3 4 }; struct stat64 { __dev_t st_dev; __ino64_t st_ino; __nlink_t st_nlink; __mode_t st_mode; __uid_t st_uid; __gid_t st_gid; int __pad0; __dev_t st_rdev; __off_t st_size; __blksize_t st_blksize; __blkcnt64_t st_blocks; struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; # 164 "/usr/include/x86_64-linux-gnu/bits/stat.h" 3 4 __syscall_slong_t __glibc_reserved[3]; }; # 106 "/usr/include/x86_64-linux-gnu/sys/stat.h" 2 3 4 # 217 "/usr/include/x86_64-linux-gnu/sys/stat.h" 3 4 extern int stat (const char *__restrict __file, struct stat *__restrict __buf) __asm__ ("" "stat64") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int fstat (int __fd, struct stat *__buf) __asm__ ("" "fstat64") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int stat64 (const char *__restrict __file, struct stat64 *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int fstat64 (int __fd, struct stat64 *__buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); # 243 "/usr/include/x86_64-linux-gnu/sys/stat.h" 3 4 extern int fstatat (int __fd, const char *__restrict __file, struct stat *__restrict __buf, int __flag) __asm__ ("" "fstatat64") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); extern int fstatat64 (int __fd, const char *__restrict __file, struct stat64 *__restrict __buf, int __flag) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); # 267 "/usr/include/x86_64-linux-gnu/sys/stat.h" 3 4 extern int lstat (const char *__restrict __file, struct stat *__restrict __buf) __asm__ ("" "lstat64") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int lstat64 (const char *__restrict __file, struct stat64 *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int chmod (const char *__file, __mode_t __mode) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int lchmod (const char *__file, __mode_t __mode) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int fchmod (int __fd, __mode_t __mode) __attribute__ ((__nothrow__ , __leaf__)); extern int fchmodat (int __fd, const char *__file, __mode_t __mode, int __flag) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)); extern __mode_t umask (__mode_t __mask) __attribute__ ((__nothrow__ , __leaf__)); extern __mode_t getumask (void) __attribute__ ((__nothrow__ , __leaf__)); extern int mkdir (const char *__path, __mode_t __mode) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int mkdirat (int __fd, const char *__path, __mode_t __mode) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int mknod (const char *__path, __mode_t __mode, __dev_t __dev) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int mknodat (int __fd, const char *__path, __mode_t __mode, __dev_t __dev) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int mkfifo (const char *__path, __mode_t __mode) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int mkfifoat (int __fd, const char *__path, __mode_t __mode) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int utimensat (int __fd, const char *__path, const struct timespec __times[2], int __flags) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int futimens (int __fd, const struct timespec __times[2]) __attribute__ ((__nothrow__ , __leaf__)); # 410 "/usr/include/x86_64-linux-gnu/sys/stat.h" 3 4 extern int __fxstat (int __ver, int __fildes, struct stat *__stat_buf) __asm__ ("" "__fxstat64") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))); extern int __xstat (int __ver, const char *__filename, struct stat *__stat_buf) __asm__ ("" "__xstat64") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); extern int __lxstat (int __ver, const char *__filename, struct stat *__stat_buf) __asm__ ("" "__lxstat64") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); extern int __fxstatat (int __ver, int __fildes, const char *__filename, struct stat *__stat_buf, int __flag) __asm__ ("" "__fxstatat64") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))); # 432 "/usr/include/x86_64-linux-gnu/sys/stat.h" 3 4 extern int __fxstat64 (int __ver, int __fildes, struct stat64 *__stat_buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))); extern int __xstat64 (int __ver, const char *__filename, struct stat64 *__stat_buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); extern int __lxstat64 (int __ver, const char *__filename, struct stat64 *__stat_buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); extern int __fxstatat64 (int __ver, int __fildes, const char *__filename, struct stat64 *__stat_buf, int __flag) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))); extern int __xmknod (int __ver, const char *__path, __mode_t __mode, __dev_t *__dev) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); extern int __xmknodat (int __ver, int __fd, const char *__path, __mode_t __mode, __dev_t *__dev) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 5))); extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) stat (const char *__path, struct stat *__statbuf) { return __xstat (1, __path, __statbuf); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) lstat (const char *__path, struct stat *__statbuf) { return __lxstat (1, __path, __statbuf); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) fstat (int __fd, struct stat *__statbuf) { return __fxstat (1, __fd, __statbuf); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) fstatat (int __fd, const char *__filename, struct stat *__statbuf, int __flag) { return __fxstatat (1, __fd, __filename, __statbuf, __flag); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) mknod (const char *__path, __mode_t __mode, __dev_t __dev) { return __xmknod (0, __path, __mode, &__dev); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) mknodat (int __fd, const char *__path, __mode_t __mode, __dev_t __dev) { return __xmknodat (0, __fd, __path, __mode, &__dev); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) stat64 (const char *__path, struct stat64 *__statbuf) { return __xstat64 (1, __path, __statbuf); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) lstat64 (const char *__path, struct stat64 *__statbuf) { return __lxstat64 (1, __path, __statbuf); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) fstat64 (int __fd, struct stat64 *__statbuf) { return __fxstat64 (1, __fd, __statbuf); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) fstatat64 (int __fd, const char *__filename, struct stat64 *__statbuf, int __flag) { return __fxstatat64 (1, __fd, __filename, __statbuf, __flag); } # 228 "./Include/pyport.h" 2 # 51 "./Include/Python.h" 2 # 1 "./Include/pymacro.h" 1 # 52 "./Include/Python.h" 2 # 1 "./Include/pyatomic.h" 1 # 54 "./Include/Python.h" 2 # 64 "./Include/Python.h" # 1 "./Include/pymath.h" 1 # 83 "./Include/pymath.h" unsigned short _Py_get_387controlword(void); void _Py_set_387controlword(unsigned short); # 65 "./Include/Python.h" 2 # 1 "./Include/pytime.h" 1 # 1 "./Include/object.h" 1 # 106 "./Include/object.h" typedef struct _object { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; } PyObject; typedef struct { PyObject ob_base; Py_ssize_t ob_size; } PyVarObject; # 142 "./Include/object.h" typedef struct _Py_Identifier { struct _Py_Identifier *next; const char* string; PyObject *object; } _Py_Identifier; # 169 "./Include/object.h" typedef PyObject * (*unaryfunc)(PyObject *); typedef PyObject * (*binaryfunc)(PyObject *, PyObject *); typedef PyObject * (*ternaryfunc)(PyObject *, PyObject *, PyObject *); typedef int (*inquiry)(PyObject *); typedef Py_ssize_t (*lenfunc)(PyObject *); typedef PyObject *(*ssizeargfunc)(PyObject *, Py_ssize_t); typedef PyObject *(*ssizessizeargfunc)(PyObject *, Py_ssize_t, Py_ssize_t); typedef int(*ssizeobjargproc)(PyObject *, Py_ssize_t, PyObject *); typedef int(*ssizessizeobjargproc)(PyObject *, Py_ssize_t, Py_ssize_t, PyObject *); typedef int(*objobjargproc)(PyObject *, PyObject *, PyObject *); typedef struct bufferinfo { void *buf; PyObject *obj; Py_ssize_t len; Py_ssize_t itemsize; int readonly; int ndim; char *format; Py_ssize_t *shape; Py_ssize_t *strides; Py_ssize_t *suboffsets; void *internal; } Py_buffer; typedef int (*getbufferproc)(PyObject *, Py_buffer *, int); typedef void (*releasebufferproc)(PyObject *, Py_buffer *); # 235 "./Include/object.h" typedef int (*objobjproc)(PyObject *, PyObject *); typedef int (*visitproc)(PyObject *, void *); typedef int (*traverseproc)(PyObject *, visitproc, void *); typedef struct { binaryfunc nb_add; binaryfunc nb_subtract; binaryfunc nb_multiply; binaryfunc nb_remainder; binaryfunc nb_divmod; ternaryfunc nb_power; unaryfunc nb_negative; unaryfunc nb_positive; unaryfunc nb_absolute; inquiry nb_bool; unaryfunc nb_invert; binaryfunc nb_lshift; binaryfunc nb_rshift; binaryfunc nb_and; binaryfunc nb_xor; binaryfunc nb_or; unaryfunc nb_int; void *nb_reserved; unaryfunc nb_float; binaryfunc nb_inplace_add; binaryfunc nb_inplace_subtract; binaryfunc nb_inplace_multiply; binaryfunc nb_inplace_remainder; ternaryfunc nb_inplace_power; binaryfunc nb_inplace_lshift; binaryfunc nb_inplace_rshift; binaryfunc nb_inplace_and; binaryfunc nb_inplace_xor; binaryfunc nb_inplace_or; binaryfunc nb_floor_divide; binaryfunc nb_true_divide; binaryfunc nb_inplace_floor_divide; binaryfunc nb_inplace_true_divide; unaryfunc nb_index; binaryfunc nb_matrix_multiply; binaryfunc nb_inplace_matrix_multiply; } PyNumberMethods; typedef struct { lenfunc sq_length; binaryfunc sq_concat; ssizeargfunc sq_repeat; ssizeargfunc sq_item; void *was_sq_slice; ssizeobjargproc sq_ass_item; void *was_sq_ass_slice; objobjproc sq_contains; binaryfunc sq_inplace_concat; ssizeargfunc sq_inplace_repeat; } PySequenceMethods; typedef struct { lenfunc mp_length; binaryfunc mp_subscript; objobjargproc mp_ass_subscript; } PyMappingMethods; typedef struct { unaryfunc am_await; unaryfunc am_aiter; unaryfunc am_anext; } PyAsyncMethods; typedef struct { getbufferproc bf_getbuffer; releasebufferproc bf_releasebuffer; } PyBufferProcs; typedef void (*freefunc)(void *); typedef void (*destructor)(PyObject *); typedef int (*printfunc)(PyObject *, FILE *, int); typedef PyObject *(*getattrfunc)(PyObject *, char *); typedef PyObject *(*getattrofunc)(PyObject *, PyObject *); typedef int (*setattrfunc)(PyObject *, char *, PyObject *); typedef int (*setattrofunc)(PyObject *, PyObject *, PyObject *); typedef PyObject *(*reprfunc)(PyObject *); typedef Py_hash_t (*hashfunc)(PyObject *); typedef PyObject *(*richcmpfunc) (PyObject *, PyObject *, int); typedef PyObject *(*getiterfunc) (PyObject *); typedef PyObject *(*iternextfunc) (PyObject *); typedef PyObject *(*descrgetfunc) (PyObject *, PyObject *, PyObject *); typedef int (*descrsetfunc) (PyObject *, PyObject *, PyObject *); typedef int (*initproc)(PyObject *, PyObject *, PyObject *); typedef PyObject *(*newfunc)(struct _typeobject *, PyObject *, PyObject *); typedef PyObject *(*allocfunc)(struct _typeobject *, Py_ssize_t); typedef struct _typeobject { PyVarObject ob_base; const char *tp_name; Py_ssize_t tp_basicsize, tp_itemsize; destructor tp_dealloc; printfunc tp_print; getattrfunc tp_getattr; setattrfunc tp_setattr; PyAsyncMethods *tp_as_async; reprfunc tp_repr; PyNumberMethods *tp_as_number; PySequenceMethods *tp_as_sequence; PyMappingMethods *tp_as_mapping; hashfunc tp_hash; ternaryfunc tp_call; reprfunc tp_str; getattrofunc tp_getattro; setattrofunc tp_setattro; PyBufferProcs *tp_as_buffer; unsigned long tp_flags; const char *tp_doc; traverseproc tp_traverse; inquiry tp_clear; richcmpfunc tp_richcompare; Py_ssize_t tp_weaklistoffset; getiterfunc tp_iter; iternextfunc tp_iternext; struct PyMethodDef *tp_methods; struct PyMemberDef *tp_members; struct PyGetSetDef *tp_getset; struct _typeobject *tp_base; PyObject *tp_dict; descrgetfunc tp_descr_get; descrsetfunc tp_descr_set; Py_ssize_t tp_dictoffset; initproc tp_init; allocfunc tp_alloc; newfunc tp_new; freefunc tp_free; inquiry tp_is_gc; PyObject *tp_bases; PyObject *tp_mro; PyObject *tp_cache; PyObject *tp_subclasses; PyObject *tp_weaklist; destructor tp_del; unsigned int tp_version_tag; destructor tp_finalize; # 435 "./Include/object.h" } PyTypeObject; typedef struct{ int slot; void *pfunc; } PyType_Slot; typedef struct{ const char* name; int basicsize; int itemsize; unsigned int flags; PyType_Slot *slots; } PyType_Spec; PyObject* PyType_FromSpec(PyType_Spec*); PyObject* PyType_FromSpecWithBases(PyType_Spec*, PyObject*); void* PyType_GetSlot(PyTypeObject*, int); typedef struct _heaptypeobject { PyTypeObject ht_type; PyAsyncMethods as_async; PyNumberMethods as_number; PyMappingMethods as_mapping; PySequenceMethods as_sequence; PyBufferProcs as_buffer; PyObject *ht_name, *ht_slots, *ht_qualname; struct _dictkeysobject *ht_cached_keys; } PyHeapTypeObject; int PyType_IsSubtype(PyTypeObject *, PyTypeObject *); extern PyTypeObject PyType_Type; extern PyTypeObject PyBaseObject_Type; extern PyTypeObject PySuper_Type; unsigned long PyType_GetFlags(PyTypeObject*); int PyType_Ready(PyTypeObject *); PyObject * PyType_GenericAlloc(PyTypeObject *, Py_ssize_t); PyObject * PyType_GenericNew(PyTypeObject *, PyObject *, PyObject *); PyObject * _PyType_Lookup(PyTypeObject *, PyObject *); PyObject * _PyType_LookupId(PyTypeObject *, _Py_Identifier *); PyObject * _PyObject_LookupSpecial(PyObject *, _Py_Identifier *); PyTypeObject * _PyType_CalculateMetaclass(PyTypeObject *, PyObject *); unsigned int PyType_ClearCache(void); void PyType_Modified(PyTypeObject *); PyObject * _PyType_GetDocFromInternalDoc(const char *, const char *); PyObject * _PyType_GetTextSignatureFromInternalDoc(const char *, const char *); struct _Py_Identifier; int PyObject_Print(PyObject *, FILE *, int); void _Py_BreakPoint(void); void _PyObject_Dump(PyObject *); PyObject * PyObject_Repr(PyObject *); PyObject * PyObject_Str(PyObject *); PyObject * PyObject_ASCII(PyObject *); PyObject * PyObject_Bytes(PyObject *); PyObject * PyObject_RichCompare(PyObject *, PyObject *, int); int PyObject_RichCompareBool(PyObject *, PyObject *, int); PyObject * PyObject_GetAttrString(PyObject *, const char *); int PyObject_SetAttrString(PyObject *, const char *, PyObject *); int PyObject_HasAttrString(PyObject *, const char *); PyObject * PyObject_GetAttr(PyObject *, PyObject *); int PyObject_SetAttr(PyObject *, PyObject *, PyObject *); int PyObject_HasAttr(PyObject *, PyObject *); int _PyObject_IsAbstract(PyObject *); PyObject * _PyObject_GetAttrId(PyObject *, struct _Py_Identifier *); int _PyObject_SetAttrId(PyObject *, struct _Py_Identifier *, PyObject *); int _PyObject_HasAttrId(PyObject *, struct _Py_Identifier *); PyObject ** _PyObject_GetDictPtr(PyObject *); PyObject * PyObject_SelfIter(PyObject *); PyObject * _PyObject_NextNotImplemented(PyObject *); PyObject * PyObject_GenericGetAttr(PyObject *, PyObject *); int PyObject_GenericSetAttr(PyObject *, PyObject *, PyObject *); int PyObject_GenericSetDict(PyObject *, PyObject *, void *); Py_hash_t PyObject_Hash(PyObject *); Py_hash_t PyObject_HashNotImplemented(PyObject *); int PyObject_IsTrue(PyObject *); int PyObject_Not(PyObject *); int PyCallable_Check(PyObject *); void PyObject_ClearWeakRefs(PyObject *); void PyObject_CallFinalizer(PyObject *); int PyObject_CallFinalizerFromDealloc(PyObject *); PyObject * _PyObject_GenericGetAttrWithDict(PyObject *, PyObject *, PyObject *); int _PyObject_GenericSetAttrWithDict(PyObject *, PyObject *, PyObject *, PyObject *); PyObject * _PyObject_GetBuiltin(const char *name); PyObject * PyObject_Dir(PyObject *); int Py_ReprEnter(PyObject *); void Py_ReprLeave(PyObject *); # 895 "./Include/object.h" void Py_IncRef(PyObject *); void Py_DecRef(PyObject *); extern PyTypeObject _PyNone_Type; extern PyTypeObject _PyNotImplemented_Type; # 909 "./Include/object.h" extern PyObject _Py_NoneStruct; # 919 "./Include/object.h" extern PyObject _Py_NotImplementedStruct; # 938 "./Include/object.h" extern int _Py_SwappedOp[]; # 1039 "./Include/object.h" void _PyTrash_deposit_object(PyObject*); void _PyTrash_destroy_chain(void); extern int _PyTrash_delete_nesting; extern PyObject * _PyTrash_delete_later; void _PyTrash_thread_deposit_object(PyObject*); void _PyTrash_thread_destroy_chain(void); # 1067 "./Include/object.h" void _PyDebugAllocatorStats(FILE *out, const char *block_name, int num_blocks, size_t sizeof_block); void _PyObject_DebugTypeStats(FILE *out); # 7 "./Include/pytime.h" 2 # 19 "./Include/pytime.h" typedef int64_t _PyTime_t; typedef enum { _PyTime_ROUND_FLOOR=0, _PyTime_ROUND_CEILING=1, _PyTime_ROUND_HALF_EVEN } _PyTime_round_t; PyObject * _PyLong_FromTime_t( time_t sec); time_t _PyLong_AsTime_t( PyObject *obj); int _PyTime_ObjectToTime_t( PyObject *obj, time_t *sec, _PyTime_round_t); int _PyTime_ObjectToTimeval( PyObject *obj, time_t *sec, long *usec, _PyTime_round_t); int _PyTime_ObjectToTimespec( PyObject *obj, time_t *sec, long *nsec, _PyTime_round_t); _PyTime_t _PyTime_FromSeconds(int seconds); _PyTime_t _PyTime_FromNanoseconds(long long ns); int _PyTime_FromSecondsObject(_PyTime_t *t, PyObject *obj, _PyTime_round_t round); int _PyTime_FromMillisecondsObject(_PyTime_t *t, PyObject *obj, _PyTime_round_t round); double _PyTime_AsSecondsDouble(_PyTime_t t); _PyTime_t _PyTime_AsMilliseconds(_PyTime_t t, _PyTime_round_t round); _PyTime_t _PyTime_AsMicroseconds(_PyTime_t t, _PyTime_round_t round); PyObject * _PyTime_AsNanosecondsObject(_PyTime_t t); int _PyTime_AsTimeval(_PyTime_t t, struct timeval *tv, _PyTime_round_t round); int _PyTime_AsTimeval_noraise(_PyTime_t t, struct timeval *tv, _PyTime_round_t round); int _PyTime_AsTimevalTime_t( _PyTime_t t, time_t *secs, int *us, _PyTime_round_t round); int _PyTime_AsTimespec(_PyTime_t t, struct timespec *ts); _PyTime_t _PyTime_GetSystemClock(void); # 151 "./Include/pytime.h" _PyTime_t _PyTime_GetMonotonicClock(void); typedef struct { const char *implementation; int monotonic; int adjustable; double resolution; } _Py_clock_info_t; int _PyTime_GetSystemClockWithInfo( _PyTime_t *t, _Py_clock_info_t *info); # 178 "./Include/pytime.h" int _PyTime_GetMonotonicClockWithInfo( _PyTime_t *t, _Py_clock_info_t *info); int _PyTime_Init(void); int _PyTime_localtime(time_t t, struct tm *tm); int _PyTime_gmtime(time_t t, struct tm *tm); # 66 "./Include/Python.h" 2 # 1 "./Include/pymem.h" 1 # 15 "./Include/pymem.h" void * PyMem_RawMalloc(size_t size); void * PyMem_RawCalloc(size_t nelem, size_t elsize); void * PyMem_RawRealloc(void *ptr, size_t new_size); void PyMem_RawFree(void *ptr); int _PyMem_SetupAllocators(const char *opt); int _PyMem_PymallocEnabled(void); typedef unsigned int _PyTraceMalloc_domain_t; # 38 "./Include/pymem.h" int _PyTraceMalloc_Track( _PyTraceMalloc_domain_t domain, uintptr_t ptr, size_t size); int _PyTraceMalloc_Untrack( _PyTraceMalloc_domain_t domain, uintptr_t ptr); # 59 "./Include/pymem.h" PyObject* _PyTraceMalloc_GetTraceback( _PyTraceMalloc_domain_t domain, uintptr_t ptr); # 103 "./Include/pymem.h" void * PyMem_Malloc(size_t size); void * PyMem_Calloc(size_t nelem, size_t elsize); void * PyMem_Realloc(void *ptr, size_t new_size); void PyMem_Free(void *ptr); char * _PyMem_RawStrdup(const char *str); char * _PyMem_Strdup(const char *str); # 164 "./Include/pymem.h" typedef enum { PYMEM_DOMAIN_RAW, PYMEM_DOMAIN_MEM, PYMEM_DOMAIN_OBJ } PyMemAllocatorDomain; typedef struct { void *ctx; void* (*malloc) (void *ctx, size_t size); void* (*calloc) (void *ctx, size_t nelem, size_t elsize); void* (*realloc) (void *ctx, void *ptr, size_t new_size); void (*free) (void *ctx, void *ptr); } PyMemAllocatorEx; void PyMem_GetAllocator(PyMemAllocatorDomain domain, PyMemAllocatorEx *allocator); # 207 "./Include/pymem.h" void PyMem_SetAllocator(PyMemAllocatorDomain domain, PyMemAllocatorEx *allocator); # 226 "./Include/pymem.h" void PyMem_SetupDebugHooks(void); # 67 "./Include/Python.h" 2 # 1 "./Include/objimpl.h" 1 # 97 "./Include/objimpl.h" void * PyObject_Malloc(size_t size); void * PyObject_Calloc(size_t nelem, size_t elsize); void * PyObject_Realloc(void *ptr, size_t new_size); void PyObject_Free(void *ptr); Py_ssize_t _Py_GetAllocatedBlocks(void); void _PyObject_DebugMallocStats(FILE *out); # 130 "./Include/objimpl.h" PyObject * PyObject_Init(PyObject *, PyTypeObject *); PyVarObject * PyObject_InitVar(PyVarObject *, PyTypeObject *, Py_ssize_t); PyObject * _PyObject_New(PyTypeObject *); PyVarObject * _PyObject_NewVar(PyTypeObject *, Py_ssize_t); # 207 "./Include/objimpl.h" typedef struct { void *ctx; void* (*alloc) (void *ctx, size_t size); void (*free) (void *ctx, void *ptr, size_t size); } PyObjectArenaAllocator; void PyObject_GetArenaAllocator(PyObjectArenaAllocator *allocator); void PyObject_SetArenaAllocator(PyObjectArenaAllocator *allocator); # 232 "./Include/objimpl.h" Py_ssize_t PyGC_Collect(void); Py_ssize_t _PyGC_CollectNoFail(void); Py_ssize_t _PyGC_CollectIfEnabled(void); # 246 "./Include/objimpl.h" PyVarObject * _PyObject_GC_Resize(PyVarObject *, Py_ssize_t); typedef union _gc_head { struct { union _gc_head *gc_next; union _gc_head *gc_prev; Py_ssize_t gc_refs; } gc; double dummy; } PyGC_Head; extern PyGC_Head *_PyGC_generation0; # 331 "./Include/objimpl.h" PyObject * _PyObject_GC_Malloc(size_t size); PyObject * _PyObject_GC_Calloc(size_t size); PyObject * _PyObject_GC_New(PyTypeObject *); PyVarObject * _PyObject_GC_NewVar(PyTypeObject *, Py_ssize_t); void PyObject_GC_Track(void *); void PyObject_GC_UnTrack(void *); void PyObject_GC_Del(void *); # 70 "./Include/Python.h" 2 # 1 "./Include/typeslots.h" 1 # 71 "./Include/Python.h" 2 # 1 "./Include/pyhash.h" 1 # 10 "./Include/pyhash.h" Py_hash_t _Py_HashDouble(double); Py_hash_t _Py_HashPointer(void*); Py_hash_t _Py_HashBytes(const void*, Py_ssize_t); # 54 "./Include/pyhash.h" typedef union { unsigned char uc[24]; struct { Py_hash_t prefix; Py_hash_t suffix; } fnv; struct { uint64_t k0; uint64_t k1; } siphash; struct { unsigned char padding[16]; Py_hash_t suffix; } djbx33a; struct { unsigned char padding[16]; Py_hash_t hashsalt; } expat; } _Py_HashSecret_t; extern _Py_HashSecret_t _Py_HashSecret; # 87 "./Include/pyhash.h" typedef struct { Py_hash_t (*const hash)(const void *, Py_ssize_t); const char *name; const int hash_bits; const int seed_bits; } PyHash_FuncDef; PyHash_FuncDef* PyHash_GetFuncDef(void); # 72 "./Include/Python.h" 2 # 1 "./Include/pydebug.h" 1 # 10 "./Include/pydebug.h" extern int Py_DebugFlag; extern int Py_VerboseFlag; extern int Py_QuietFlag; extern int Py_InteractiveFlag; extern int Py_InspectFlag; extern int Py_OptimizeFlag; extern int Py_NoSiteFlag; extern int Py_BytesWarningFlag; extern int Py_UseClassExceptionsFlag; extern int Py_FrozenFlag; extern int Py_IgnoreEnvironmentFlag; extern int Py_DontWriteBytecodeFlag; extern int Py_NoUserSiteDirectory; extern int Py_UnbufferedStdioFlag; extern int Py_HashRandomizationFlag; extern int Py_IsolatedFlag; # 74 "./Include/Python.h" 2 # 1 "./Include/bytearrayobject.h" 1 # 9 "./Include/bytearrayobject.h" # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h" 1 3 4 # 10 "./Include/bytearrayobject.h" 2 # 23 "./Include/bytearrayobject.h" typedef struct { PyVarObject ob_base; Py_ssize_t ob_alloc; char *ob_bytes; char *ob_start; int ob_exports; } PyByteArrayObject; extern PyTypeObject PyByteArray_Type; extern PyTypeObject PyByteArrayIter_Type; PyObject * PyByteArray_FromObject(PyObject *); PyObject * PyByteArray_Concat(PyObject *, PyObject *); PyObject * PyByteArray_FromStringAndSize(const char *, Py_ssize_t); Py_ssize_t PyByteArray_Size(PyObject *); char * PyByteArray_AsString(PyObject *); int PyByteArray_Resize(PyObject *, Py_ssize_t); # 56 "./Include/bytearrayobject.h" extern char _PyByteArray_empty_string[]; # 76 "./Include/Python.h" 2 # 1 "./Include/bytesobject.h" 1 # 31 "./Include/bytesobject.h" typedef struct { PyVarObject ob_base; Py_hash_t ob_shash; char ob_sval[1]; } PyBytesObject; extern PyTypeObject PyBytes_Type; extern PyTypeObject PyBytesIter_Type; PyObject * PyBytes_FromStringAndSize(const char *, Py_ssize_t); PyObject * PyBytes_FromString(const char *); PyObject * PyBytes_FromObject(PyObject *); PyObject * PyBytes_FromFormatV(const char*, va_list) __attribute__((format(printf, 1, 0))); PyObject * PyBytes_FromFormat(const char*, ...) __attribute__((format(printf, 1, 2))); Py_ssize_t PyBytes_Size(PyObject *); char * PyBytes_AsString(PyObject *); PyObject * PyBytes_Repr(PyObject *, int); void PyBytes_Concat(PyObject **, PyObject *); void PyBytes_ConcatAndDel(PyObject **, PyObject *); int _PyBytes_Resize(PyObject **, Py_ssize_t); PyObject* _PyBytes_FormatEx( const char *format, Py_ssize_t format_len, PyObject *args, int use_bytearray); PyObject* _PyBytes_FromHex( PyObject *string, int use_bytearray); PyObject * PyBytes_DecodeEscape(const char *, Py_ssize_t, const char *, Py_ssize_t, const char *); PyObject * _PyBytes_DecodeEscape(const char *, Py_ssize_t, const char *, Py_ssize_t, const char *, const char **); # 95 "./Include/bytesobject.h" PyObject * _PyBytes_Join(PyObject *sep, PyObject *x); int PyBytes_AsStringAndSize( PyObject *obj, char **s, Py_ssize_t *len ); Py_ssize_t _PyBytes_InsertThousandsGroupingLocale(char *buffer, Py_ssize_t n_buffer, char *digits, Py_ssize_t n_digits, Py_ssize_t min_width); Py_ssize_t _PyBytes_InsertThousandsGrouping(char *buffer, Py_ssize_t n_buffer, char *digits, Py_ssize_t n_digits, Py_ssize_t min_width, const char *grouping, const char *thousands_sep); # 144 "./Include/bytesobject.h" typedef struct { PyObject *buffer; Py_ssize_t allocated; Py_ssize_t min_size; int use_bytearray; int overallocate; int use_small_buffer; char small_buffer[512]; } _PyBytesWriter; void _PyBytesWriter_Init(_PyBytesWriter *writer); PyObject * _PyBytesWriter_Finish(_PyBytesWriter *writer, void *str); void _PyBytesWriter_Dealloc(_PyBytesWriter *writer); void* _PyBytesWriter_Alloc(_PyBytesWriter *writer, Py_ssize_t size); void* _PyBytesWriter_Prepare(_PyBytesWriter *writer, void *str, Py_ssize_t size); # 209 "./Include/bytesobject.h" void* _PyBytesWriter_Resize(_PyBytesWriter *writer, void *str, Py_ssize_t size); void* _PyBytesWriter_WriteBytes(_PyBytesWriter *writer, void *str, const void *bytes, Py_ssize_t size); # 77 "./Include/Python.h" 2 # 1 "./Include/unicodeobject.h" 1 # 58 "./Include/unicodeobject.h" # 1 "/usr/include/ctype.h" 1 3 4 # 28 "/usr/include/ctype.h" 3 4 # 46 "/usr/include/ctype.h" 3 4 enum { _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) }; # 79 "/usr/include/ctype.h" 3 4 extern const unsigned short int **__ctype_b_loc (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern const __int32_t **__ctype_tolower_loc (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern const __int32_t **__ctype_toupper_loc (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); # 104 "/usr/include/ctype.h" 3 4 extern int isalnum (int) __attribute__ ((__nothrow__ , __leaf__)); extern int isalpha (int) __attribute__ ((__nothrow__ , __leaf__)); extern int iscntrl (int) __attribute__ ((__nothrow__ , __leaf__)); extern int isdigit (int) __attribute__ ((__nothrow__ , __leaf__)); extern int islower (int) __attribute__ ((__nothrow__ , __leaf__)); extern int isgraph (int) __attribute__ ((__nothrow__ , __leaf__)); extern int isprint (int) __attribute__ ((__nothrow__ , __leaf__)); extern int ispunct (int) __attribute__ ((__nothrow__ , __leaf__)); extern int isspace (int) __attribute__ ((__nothrow__ , __leaf__)); extern int isupper (int) __attribute__ ((__nothrow__ , __leaf__)); extern int isxdigit (int) __attribute__ ((__nothrow__ , __leaf__)); extern int tolower (int __c) __attribute__ ((__nothrow__ , __leaf__)); extern int toupper (int __c) __attribute__ ((__nothrow__ , __leaf__)); extern int isblank (int) __attribute__ ((__nothrow__ , __leaf__)); extern int isctype (int __c, int __mask) __attribute__ ((__nothrow__ , __leaf__)); extern int isascii (int __c) __attribute__ ((__nothrow__ , __leaf__)); extern int toascii (int __c) __attribute__ ((__nothrow__ , __leaf__)); extern int _toupper (int) __attribute__ ((__nothrow__ , __leaf__)); extern int _tolower (int) __attribute__ ((__nothrow__ , __leaf__)); # 214 "/usr/include/ctype.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) tolower (int __c) { return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c; } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) toupper (int __c) { return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c; } # 271 "/usr/include/ctype.h" 3 4 extern int isalnum_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int isalpha_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int iscntrl_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int isdigit_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int islower_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int isgraph_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int isprint_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int ispunct_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int isspace_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int isupper_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int isxdigit_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int isblank_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int __tolower_l (int __c, __locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); extern int tolower_l (int __c, __locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); extern int __toupper_l (int __c, __locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); extern int toupper_l (int __c, __locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); # 347 "/usr/include/ctype.h" 3 4 # 59 "./Include/unicodeobject.h" 2 # 93 "./Include/unicodeobject.h" typedef wchar_t Py_UNICODE; # 111 "./Include/unicodeobject.h" # 1 "/usr/include/wchar.h" 1 3 4 # 51 "/usr/include/wchar.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h" 1 3 4 # 353 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h" 3 4 typedef unsigned int wint_t; # 52 "/usr/include/wchar.h" 2 3 4 # 104 "/usr/include/wchar.h" 3 4 typedef __mbstate_t mbstate_t; # 132 "/usr/include/wchar.h" 3 4 struct tm; extern wchar_t *wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) __attribute__ ((__nothrow__ , __leaf__)); extern wchar_t *wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern wchar_t *wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src) __attribute__ ((__nothrow__ , __leaf__)); extern wchar_t *wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) __attribute__ ((__nothrow__ , __leaf__)); extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)); extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2, size_t __n, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)); extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) __attribute__ ((__nothrow__ , __leaf__)); extern size_t wcsxfrm (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)); extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2, size_t __n, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)); extern wchar_t *wcsdup (const wchar_t *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)); extern wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); # 237 "/usr/include/wchar.h" 3 4 extern wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); # 266 "/usr/include/wchar.h" 3 4 extern wchar_t *wcspbrk (const wchar_t *__wcs, const wchar_t *__accept) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); # 277 "/usr/include/wchar.h" 3 4 extern wchar_t *wcsstr (const wchar_t *__haystack, const wchar_t *__needle) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern wchar_t *wcstok (wchar_t *__restrict __s, const wchar_t *__restrict __delim, wchar_t **__restrict __ptr) __attribute__ ((__nothrow__ , __leaf__)); extern size_t wcslen (const wchar_t *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); # 299 "/usr/include/wchar.h" 3 4 extern wchar_t *wcswcs (const wchar_t *__haystack, const wchar_t *__needle) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); # 320 "/usr/include/wchar.h" 3 4 extern wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern wchar_t *wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern wchar_t *wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern wint_t btowc (int __c) __attribute__ ((__nothrow__ , __leaf__)); extern int wctob (wint_t __c) __attribute__ ((__nothrow__ , __leaf__)); extern int mbsinit (const mbstate_t *__ps) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern size_t mbrtowc (wchar_t *__restrict __pwc, const char *__restrict __s, size_t __n, mbstate_t *__restrict __p) __attribute__ ((__nothrow__ , __leaf__)); extern size_t wcrtomb (char *__restrict __s, wchar_t __wc, mbstate_t *__restrict __ps) __attribute__ ((__nothrow__ , __leaf__)); extern size_t __mbrlen (const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) __attribute__ ((__nothrow__ , __leaf__)); extern size_t mbrlen (const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) __attribute__ ((__nothrow__ , __leaf__)); extern wint_t __btowc_alias (int __c) __asm ("btowc"); extern __inline __attribute__ ((__gnu_inline__)) wint_t __attribute__ ((__nothrow__ , __leaf__)) btowc (int __c) { return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f' ? (wint_t) __c : __btowc_alias (__c)); } extern int __wctob_alias (wint_t __c) __asm ("wctob"); extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) wctob (wint_t __wc) { return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f' ? (int) __wc : __wctob_alias (__wc)); } extern __inline __attribute__ ((__gnu_inline__)) size_t __attribute__ ((__nothrow__ , __leaf__)) mbrlen (const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) { return (__ps != ((void *)0) ? mbrtowc (((void *)0), __s, __n, __ps) : __mbrlen (__s, __n, ((void *)0))); } extern size_t mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) __attribute__ ((__nothrow__ , __leaf__)); extern size_t wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) __attribute__ ((__nothrow__ , __leaf__)); extern size_t mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) __attribute__ ((__nothrow__ , __leaf__)); extern size_t wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) __attribute__ ((__nothrow__ , __leaf__)); extern int wcwidth (wchar_t __c) __attribute__ ((__nothrow__ , __leaf__)); extern int wcswidth (const wchar_t *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern double wcstod (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)); extern float wcstof (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)); extern long double wcstold (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)); extern long int wcstol (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); extern unsigned long int wcstoul (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int wcstoll (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int wcstoq (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); # 530 "/usr/include/wchar.h" 3 4 extern long int wcstol_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)); extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int wcstoll_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)); extern double wcstod_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)); extern float wcstof_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)); extern long double wcstold_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)); extern wchar_t *wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) __attribute__ ((__nothrow__ , __leaf__)); extern wchar_t *wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)); extern int fwide (__FILE *__fp, int __mode) __attribute__ ((__nothrow__ , __leaf__)); extern int fwprintf (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...) ; extern int wprintf (const wchar_t *__restrict __format, ...) ; extern int swprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)) ; extern int vfwprintf (__FILE *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vwprintf (const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vswprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__ , __leaf__)) ; extern int fwscanf (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...) ; extern int wscanf (const wchar_t *__restrict __format, ...) ; extern int swscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)) ; # 680 "/usr/include/wchar.h" 3 4 extern int vfwscanf (__FILE *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vwscanf (const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vswscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__ , __leaf__)) ; # 736 "/usr/include/wchar.h" 3 4 extern wint_t fgetwc (__FILE *__stream); extern wint_t getwc (__FILE *__stream); extern wint_t getwchar (void); extern wint_t fputwc (wchar_t __wc, __FILE *__stream); extern wint_t putwc (wchar_t __wc, __FILE *__stream); extern wint_t putwchar (wchar_t __wc); extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n, __FILE *__restrict __stream); extern int fputws (const wchar_t *__restrict __ws, __FILE *__restrict __stream); extern wint_t ungetwc (wint_t __wc, __FILE *__stream); # 801 "/usr/include/wchar.h" 3 4 extern wint_t getwc_unlocked (__FILE *__stream); extern wint_t getwchar_unlocked (void); extern wint_t fgetwc_unlocked (__FILE *__stream); extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream); # 827 "/usr/include/wchar.h" 3 4 extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); extern wint_t putwchar_unlocked (wchar_t __wc); # 837 "/usr/include/wchar.h" 3 4 extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n, __FILE *__restrict __stream); extern int fputws_unlocked (const wchar_t *__restrict __ws, __FILE *__restrict __stream); extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize, const wchar_t *__restrict __format, const struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__)); extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, const wchar_t *__restrict __format, const struct tm *__restrict __tp, __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)); # 884 "/usr/include/wchar.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/wchar2.h" 1 3 4 # 24 "/usr/include/x86_64-linux-gnu/bits/wchar2.h" 3 4 extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) __attribute__ ((__nothrow__ , __leaf__)); extern wchar_t *__wmemcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) __asm__ ("" "wmemcpy") __attribute__ ((__nothrow__ , __leaf__)) ; extern wchar_t *__wmemcpy_chk_warn (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) __asm__ ("" "__wmemcpy_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__((__warning__ ("wmemcpy called with length bigger than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * __attribute__ ((__nothrow__ , __leaf__)) wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) { if (__builtin_object_size (__s1, 0) != (size_t) -1) { if (!__builtin_constant_p (__n)) return __wmemcpy_chk (__s1, __s2, __n, __builtin_object_size (__s1, 0) / sizeof (wchar_t)); if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t)) return __wmemcpy_chk_warn (__s1, __s2, __n, __builtin_object_size (__s1, 0) / sizeof (wchar_t)); } return __wmemcpy_alias (__s1, __s2, __n); } extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2, size_t __n, size_t __ns1) __attribute__ ((__nothrow__ , __leaf__)); extern wchar_t *__wmemmove_alias (wchar_t *__s1, const wchar_t *__s2, size_t __n) __asm__ ("" "wmemmove") __attribute__ ((__nothrow__ , __leaf__)) ; extern wchar_t *__wmemmove_chk_warn (wchar_t *__s1, const wchar_t *__s2, size_t __n, size_t __ns1) __asm__ ("" "__wmemmove_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__((__warning__ ("wmemmove called with length bigger than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * __attribute__ ((__nothrow__ , __leaf__)) wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) { if (__builtin_object_size (__s1, 0) != (size_t) -1) { if (!__builtin_constant_p (__n)) return __wmemmove_chk (__s1, __s2, __n, __builtin_object_size (__s1, 0) / sizeof (wchar_t)); if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t)) return __wmemmove_chk_warn (__s1, __s2, __n, __builtin_object_size (__s1, 0) / sizeof (wchar_t)); } return __wmemmove_alias (__s1, __s2, __n); } extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) __attribute__ ((__nothrow__ , __leaf__)); extern wchar_t *__wmempcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) __asm__ ("" "wmempcpy") __attribute__ ((__nothrow__ , __leaf__)) ; extern wchar_t *__wmempcpy_chk_warn (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) __asm__ ("" "__wmempcpy_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__((__warning__ ("wmempcpy called with length bigger than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * __attribute__ ((__nothrow__ , __leaf__)) wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) { if (__builtin_object_size (__s1, 0) != (size_t) -1) { if (!__builtin_constant_p (__n)) return __wmempcpy_chk (__s1, __s2, __n, __builtin_object_size (__s1, 0) / sizeof (wchar_t)); if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t)) return __wmempcpy_chk_warn (__s1, __s2, __n, __builtin_object_size (__s1, 0) / sizeof (wchar_t)); } return __wmempcpy_alias (__s1, __s2, __n); } extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n, size_t __ns) __attribute__ ((__nothrow__ , __leaf__)); extern wchar_t *__wmemset_alias (wchar_t *__s, wchar_t __c, size_t __n) __asm__ ("" "wmemset") __attribute__ ((__nothrow__ , __leaf__)) ; extern wchar_t *__wmemset_chk_warn (wchar_t *__s, wchar_t __c, size_t __n, size_t __ns) __asm__ ("" "__wmemset_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__((__warning__ ("wmemset called with length bigger than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * __attribute__ ((__nothrow__ , __leaf__)) wmemset (wchar_t *__s, wchar_t __c, size_t __n) { if (__builtin_object_size (__s, 0) != (size_t) -1) { if (!__builtin_constant_p (__n)) return __wmemset_chk (__s, __c, __n, __builtin_object_size (__s, 0) / sizeof (wchar_t)); if (__n > __builtin_object_size (__s, 0) / sizeof (wchar_t)) return __wmemset_chk_warn (__s, __c, __n, __builtin_object_size (__s, 0) / sizeof (wchar_t)); } return __wmemset_alias (__s, __c, __n); } extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern wchar_t *__wcscpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) __asm__ ("" "wcscpy") __attribute__ ((__nothrow__ , __leaf__)) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * __attribute__ ((__nothrow__ , __leaf__)) wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) { if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) return __wcscpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); return __wcscpy_alias (__dest, __src); } extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __destlen) __attribute__ ((__nothrow__ , __leaf__)); extern wchar_t *__wcpcpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) __asm__ ("" "wcpcpy") __attribute__ ((__nothrow__ , __leaf__)) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * __attribute__ ((__nothrow__ , __leaf__)) wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) { if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) return __wcpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); return __wcpcpy_alias (__dest, __src); } extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) __attribute__ ((__nothrow__ , __leaf__)); extern wchar_t *__wcsncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) __asm__ ("" "wcsncpy") __attribute__ ((__nothrow__ , __leaf__)) ; extern wchar_t *__wcsncpy_chk_warn (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) __asm__ ("" "__wcsncpy_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__((__warning__ ("wcsncpy called with length bigger than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * __attribute__ ((__nothrow__ , __leaf__)) wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) { if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__n)) return __wcsncpy_chk (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); if (__n > __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)) return __wcsncpy_chk_warn (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); } return __wcsncpy_alias (__dest, __src, __n); } extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) __attribute__ ((__nothrow__ , __leaf__)); extern wchar_t *__wcpncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) __asm__ ("" "wcpncpy") __attribute__ ((__nothrow__ , __leaf__)) ; extern wchar_t *__wcpncpy_chk_warn (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) __asm__ ("" "__wcpncpy_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__((__warning__ ("wcpncpy called with length bigger than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * __attribute__ ((__nothrow__ , __leaf__)) wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) { if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__n)) return __wcpncpy_chk (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); if (__n > __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)) return __wcpncpy_chk_warn (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); } return __wcpncpy_alias (__dest, __src, __n); } extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __destlen) __attribute__ ((__nothrow__ , __leaf__)); extern wchar_t *__wcscat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) __asm__ ("" "wcscat") __attribute__ ((__nothrow__ , __leaf__)) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * __attribute__ ((__nothrow__ , __leaf__)) wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src) { if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) return __wcscat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); return __wcscat_alias (__dest, __src); } extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) __attribute__ ((__nothrow__ , __leaf__)); extern wchar_t *__wcsncat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) __asm__ ("" "wcsncat") __attribute__ ((__nothrow__ , __leaf__)) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * __attribute__ ((__nothrow__ , __leaf__)) wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) { if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) return __wcsncat_chk (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); return __wcsncat_alias (__dest, __src, __n); } extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n, int __flag, size_t __s_len, const wchar_t *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)) ; extern int __swprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) __asm__ ("" "swprintf") __attribute__ ((__nothrow__ , __leaf__)) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) swprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 || 2 > 1) return __swprintf_chk (__s, __n, 2 - 1, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __fmt, __builtin_va_arg_pack ()); return __swprintf_alias (__s, __n, __fmt, __builtin_va_arg_pack ()); } # 303 "/usr/include/x86_64-linux-gnu/bits/wchar2.h" 3 4 extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n, int __flag, size_t __s_len, const wchar_t *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__ , __leaf__)) ; extern int __vswprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) __asm__ ("" "vswprintf") __attribute__ ((__nothrow__ , __leaf__)) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) vswprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 || 2 > 1) return __vswprintf_chk (__s, __n, 2 - 1, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __fmt, __ap); return __vswprintf_alias (__s, __n, __fmt, __ap); } extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag, const wchar_t *__restrict __format, ...); extern int __wprintf_chk (int __flag, const wchar_t *__restrict __format, ...); extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag, const wchar_t *__restrict __format, __gnuc_va_list __ap); extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format, __gnuc_va_list __ap); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int wprintf (const wchar_t *__restrict __fmt, ...) { return __wprintf_chk (2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int fwprintf (__FILE *__restrict __stream, const wchar_t *__restrict __fmt, ...) { return __fwprintf_chk (__stream, 2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int vwprintf (const wchar_t *__restrict __fmt, __gnuc_va_list __ap) { return __vwprintf_chk (2 - 1, __fmt, __ap); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int vfwprintf (__FILE *__restrict __stream, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) { return __vfwprintf_chk (__stream, 2 - 1, __fmt, __ap); } extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern wchar_t *__fgetws_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws") __attribute__ ((__warn_unused_result__)); extern wchar_t *__fgetws_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws called with bigger size than length " "of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t * fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__n) || __n <= 0) return __fgetws_chk (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __n, __stream); if ((size_t) __n > __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t)) return __fgetws_chk_warn (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __n, __stream); } return __fgetws_alias (__s, __n, __stream); } extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern wchar_t *__fgetws_unlocked_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws_unlocked") __attribute__ ((__warn_unused_result__)); extern wchar_t *__fgetws_unlocked_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_unlocked_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws_unlocked called with bigger size than length " "of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t * fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__n) || __n <= 0) return __fgetws_unlocked_chk (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __n, __stream); if ((size_t) __n > __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t)) return __fgetws_unlocked_chk_warn (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __n, __stream); } return __fgetws_unlocked_alias (__s, __n, __stream); } extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __p, size_t __buflen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern size_t __wcrtomb_alias (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) __asm__ ("" "wcrtomb") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t __attribute__ ((__nothrow__ , __leaf__)) wcrtomb (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 && 16 > __builtin_object_size (__s, 2 > 1)) return __wcrtomb_chk (__s, __wchar, __ps, __builtin_object_size (__s, 2 > 1)); return __wcrtomb_alias (__s, __wchar, __ps); } extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)); extern size_t __mbsrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) __asm__ ("" "mbsrtowcs") __attribute__ ((__nothrow__ , __leaf__)) ; extern size_t __mbsrtowcs_chk_warn (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) __asm__ ("" "__mbsrtowcs_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__((__warning__ ("mbsrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t __attribute__ ((__nothrow__ , __leaf__)) mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) { if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __mbsrtowcs_chk (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) return __mbsrtowcs_chk_warn (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); } return __mbsrtowcs_alias (__dst, __src, __len, __ps); } extern size_t __wcsrtombs_chk (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)); extern size_t __wcsrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) __asm__ ("" "wcsrtombs") __attribute__ ((__nothrow__ , __leaf__)) ; extern size_t __wcsrtombs_chk_warn (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) __asm__ ("" "__wcsrtombs_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__((__warning__ ("wcsrtombs called with dst buffer smaller than len"))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t __attribute__ ((__nothrow__ , __leaf__)) wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) { if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __wcsrtombs_chk (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1)); if (__len > __builtin_object_size (__dst, 2 > 1)) return __wcsrtombs_chk_warn (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1)); } return __wcsrtombs_alias (__dst, __src, __len, __ps); } extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)); extern size_t __mbsnrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) __asm__ ("" "mbsnrtowcs") __attribute__ ((__nothrow__ , __leaf__)) ; extern size_t __mbsnrtowcs_chk_warn (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) __asm__ ("" "__mbsnrtowcs_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__((__warning__ ("mbsnrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t __attribute__ ((__nothrow__ , __leaf__)) mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) { if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __mbsnrtowcs_chk (__dst, __src, __nmc, __len, __ps, __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) return __mbsnrtowcs_chk_warn (__dst, __src, __nmc, __len, __ps, __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); } return __mbsnrtowcs_alias (__dst, __src, __nmc, __len, __ps); } extern size_t __wcsnrtombs_chk (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)); extern size_t __wcsnrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) __asm__ ("" "wcsnrtombs") __attribute__ ((__nothrow__ , __leaf__)) ; extern size_t __wcsnrtombs_chk_warn (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) __asm__ ("" "__wcsnrtombs_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__((__warning__ ("wcsnrtombs called with dst buffer smaller than len"))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t __attribute__ ((__nothrow__ , __leaf__)) wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) { if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __wcsnrtombs_chk (__dst, __src, __nwc, __len, __ps, __builtin_object_size (__dst, 2 > 1)); if (__len > __builtin_object_size (__dst, 2 > 1)) return __wcsnrtombs_chk_warn (__dst, __src, __nwc, __len, __ps, __builtin_object_size (__dst, 2 > 1)); } return __wcsnrtombs_alias (__dst, __src, __nwc, __len, __ps); } # 885 "/usr/include/wchar.h" 2 3 4 # 112 "./Include/unicodeobject.h" 2 typedef uint32_t Py_UCS4; typedef uint16_t Py_UCS2; typedef uint8_t Py_UCS1; # 201 "./Include/unicodeobject.h" typedef struct { # 275 "./Include/unicodeobject.h" PyObject ob_base; Py_ssize_t length; Py_hash_t hash; struct { # 287 "./Include/unicodeobject.h" unsigned int interned:2; # 315 "./Include/unicodeobject.h" unsigned int kind:3; unsigned int compact:1; unsigned int ascii:1; unsigned int ready:1; unsigned int :24; } state; wchar_t *wstr; } PyASCIIObject; typedef struct { PyASCIIObject _base; Py_ssize_t utf8_length; char *utf8; Py_ssize_t wstr_length; } PyCompactUnicodeObject; typedef struct { PyCompactUnicodeObject _base; union { void *any; Py_UCS1 *latin1; Py_UCS2 *ucs2; Py_UCS4 *ucs4; } data; } PyUnicodeObject; extern PyTypeObject PyUnicode_Type; extern PyTypeObject PyUnicodeIter_Type; # 435 "./Include/unicodeobject.h" enum PyUnicode_Kind { PyUnicode_WCHAR_KIND = 0, PyUnicode_1BYTE_KIND = 1, PyUnicode_2BYTE_KIND = 2, PyUnicode_4BYTE_KIND = 4 }; # 586 "./Include/unicodeobject.h" PyObject* PyUnicode_New( Py_ssize_t size, Py_UCS4 maxchar ); # 600 "./Include/unicodeobject.h" int _PyUnicode_Ready( PyObject *unicode ); PyObject* _PyUnicode_Copy( PyObject *unicode ); # 631 "./Include/unicodeobject.h" Py_ssize_t PyUnicode_CopyCharacters( PyObject *to, Py_ssize_t to_start, PyObject *from, Py_ssize_t from_start, Py_ssize_t how_many ); void _PyUnicode_FastCopyCharacters( PyObject *to, Py_ssize_t to_start, PyObject *from, Py_ssize_t from_start, Py_ssize_t how_many ); # 660 "./Include/unicodeobject.h" Py_ssize_t PyUnicode_Fill( PyObject *unicode, Py_ssize_t start, Py_ssize_t length, Py_UCS4 fill_char ); void _PyUnicode_FastFill( PyObject *unicode, Py_ssize_t start, Py_ssize_t length, Py_UCS4 fill_char ); # 688 "./Include/unicodeobject.h" PyObject* PyUnicode_FromUnicode( const Py_UNICODE *u, Py_ssize_t size ); PyObject* PyUnicode_FromStringAndSize( const char *u, Py_ssize_t size ); PyObject* PyUnicode_FromString( const char *u ); PyObject* PyUnicode_FromKindAndData( int kind, const void *buffer, Py_ssize_t size); PyObject* _PyUnicode_FromASCII( const char *buffer, Py_ssize_t size); PyObject* PyUnicode_Substring( PyObject *str, Py_ssize_t start, Py_ssize_t end); Py_UCS4 _PyUnicode_FindMaxChar ( PyObject *unicode, Py_ssize_t start, Py_ssize_t end); # 743 "./Include/unicodeobject.h" Py_UCS4* PyUnicode_AsUCS4( PyObject *unicode, Py_UCS4* buffer, Py_ssize_t buflen, int copy_null); Py_UCS4* PyUnicode_AsUCS4Copy(PyObject *unicode); # 761 "./Include/unicodeobject.h" Py_UNICODE * PyUnicode_AsUnicode( PyObject *unicode ); # 772 "./Include/unicodeobject.h" Py_UNICODE * PyUnicode_AsUnicodeAndSize( PyObject *unicode, Py_ssize_t *size ); Py_ssize_t PyUnicode_GetLength( PyObject *unicode ); Py_ssize_t PyUnicode_GetSize( PyObject *unicode ); Py_UCS4 PyUnicode_ReadChar( PyObject *unicode, Py_ssize_t index ); int PyUnicode_WriteChar( PyObject *unicode, Py_ssize_t index, Py_UCS4 character ); Py_UNICODE PyUnicode_GetMax(void); # 834 "./Include/unicodeobject.h" int PyUnicode_Resize( PyObject **unicode, Py_ssize_t length ); # 852 "./Include/unicodeobject.h" PyObject* PyUnicode_FromEncodedObject( PyObject *obj, const char *encoding, const char *errors ); # 867 "./Include/unicodeobject.h" PyObject* PyUnicode_FromObject( PyObject *obj ); PyObject * PyUnicode_FromFormatV( const char *format, va_list vargs ); PyObject * PyUnicode_FromFormat( const char *format, ... ); typedef struct { PyObject *buffer; void *data; enum PyUnicode_Kind kind; Py_UCS4 maxchar; Py_ssize_t size; Py_ssize_t pos; Py_ssize_t min_length; Py_UCS4 min_char; unsigned char overallocate; unsigned char readonly; } _PyUnicodeWriter ; void _PyUnicodeWriter_Init(_PyUnicodeWriter *writer); # 925 "./Include/unicodeobject.h" int _PyUnicodeWriter_PrepareInternal(_PyUnicodeWriter *writer, Py_ssize_t length, Py_UCS4 maxchar); # 942 "./Include/unicodeobject.h" int _PyUnicodeWriter_PrepareKindInternal(_PyUnicodeWriter *writer, enum PyUnicode_Kind kind); int _PyUnicodeWriter_WriteChar(_PyUnicodeWriter *writer, Py_UCS4 ch ); int _PyUnicodeWriter_WriteStr(_PyUnicodeWriter *writer, PyObject *str ); int _PyUnicodeWriter_WriteSubstring(_PyUnicodeWriter *writer, PyObject *str, Py_ssize_t start, Py_ssize_t end ); int _PyUnicodeWriter_WriteASCIIString(_PyUnicodeWriter *writer, const char *str, Py_ssize_t len ); int _PyUnicodeWriter_WriteLatin1String(_PyUnicodeWriter *writer, const char *str, Py_ssize_t len ); PyObject * _PyUnicodeWriter_Finish(_PyUnicodeWriter *writer); void _PyUnicodeWriter_Dealloc(_PyUnicodeWriter *writer); int _PyUnicode_FormatAdvancedWriter( _PyUnicodeWriter *writer, PyObject *obj, PyObject *format_spec, Py_ssize_t start, Py_ssize_t end); void PyUnicode_InternInPlace(PyObject **); void PyUnicode_InternImmortal(PyObject **); PyObject * PyUnicode_InternFromString( const char *u ); void _Py_ReleaseInternedUnicodeStrings(void); # 1029 "./Include/unicodeobject.h" PyObject* PyUnicode_FromWideChar( const wchar_t *w, Py_ssize_t size ); # 1046 "./Include/unicodeobject.h" Py_ssize_t PyUnicode_AsWideChar( PyObject *unicode, wchar_t *w, Py_ssize_t size ); # 1060 "./Include/unicodeobject.h" wchar_t* PyUnicode_AsWideCharString( PyObject *unicode, Py_ssize_t *size ); void* _PyUnicode_AsKind(PyObject *s, unsigned int kind); # 1080 "./Include/unicodeobject.h" PyObject* PyUnicode_FromOrdinal(int ordinal); # 1091 "./Include/unicodeobject.h" int PyUnicode_ClearFreeList(void); # 1134 "./Include/unicodeobject.h" char * PyUnicode_AsUTF8AndSize( PyObject *unicode, Py_ssize_t *size); # 1161 "./Include/unicodeobject.h" char * PyUnicode_AsUTF8(PyObject *unicode); const char* PyUnicode_GetDefaultEncoding(void); PyObject* PyUnicode_Decode( const char *s, Py_ssize_t size, const char *encoding, const char *errors ); # 1188 "./Include/unicodeobject.h" PyObject* PyUnicode_AsDecodedObject( PyObject *unicode, const char *encoding, const char *errors ) __attribute__((__deprecated__)); # 1201 "./Include/unicodeobject.h" PyObject* PyUnicode_AsDecodedUnicode( PyObject *unicode, const char *encoding, const char *errors ) __attribute__((__deprecated__)); PyObject* PyUnicode_Encode( const Py_UNICODE *s, Py_ssize_t size, const char *encoding, const char *errors ); # 1227 "./Include/unicodeobject.h" PyObject* PyUnicode_AsEncodedObject( PyObject *unicode, const char *encoding, const char *errors ) __attribute__((__deprecated__)); PyObject* PyUnicode_AsEncodedString( PyObject *unicode, const char *encoding, const char *errors ); # 1249 "./Include/unicodeobject.h" PyObject* PyUnicode_AsEncodedUnicode( PyObject *unicode, const char *encoding, const char *errors ) __attribute__((__deprecated__)); PyObject* PyUnicode_BuildEncodingMap( PyObject* string ); PyObject* PyUnicode_DecodeUTF7( const char *string, Py_ssize_t length, const char *errors ); PyObject* PyUnicode_DecodeUTF7Stateful( const char *string, Py_ssize_t length, const char *errors, Py_ssize_t *consumed ); PyObject* PyUnicode_EncodeUTF7( const Py_UNICODE *data, Py_ssize_t length, int base64SetO, int base64WhiteSpace, const char *errors ); PyObject* _PyUnicode_EncodeUTF7( PyObject *unicode, int base64SetO, int base64WhiteSpace, const char *errors ); PyObject* PyUnicode_DecodeUTF8( const char *string, Py_ssize_t length, const char *errors ); PyObject* PyUnicode_DecodeUTF8Stateful( const char *string, Py_ssize_t length, const char *errors, Py_ssize_t *consumed ); PyObject* PyUnicode_AsUTF8String( PyObject *unicode ); PyObject* _PyUnicode_AsUTF8String( PyObject *unicode, const char *errors); PyObject* PyUnicode_EncodeUTF8( const Py_UNICODE *data, Py_ssize_t length, const char *errors ); # 1348 "./Include/unicodeobject.h" PyObject* PyUnicode_DecodeUTF32( const char *string, Py_ssize_t length, const char *errors, int *byteorder ); PyObject* PyUnicode_DecodeUTF32Stateful( const char *string, Py_ssize_t length, const char *errors, int *byteorder, Py_ssize_t *consumed ); PyObject* PyUnicode_AsUTF32String( PyObject *unicode ); # 1391 "./Include/unicodeobject.h" PyObject* PyUnicode_EncodeUTF32( const Py_UNICODE *data, Py_ssize_t length, const char *errors, int byteorder ); PyObject* _PyUnicode_EncodeUTF32( PyObject *object, const char *errors, int byteorder ); # 1429 "./Include/unicodeobject.h" PyObject* PyUnicode_DecodeUTF16( const char *string, Py_ssize_t length, const char *errors, int *byteorder ); PyObject* PyUnicode_DecodeUTF16Stateful( const char *string, Py_ssize_t length, const char *errors, int *byteorder, Py_ssize_t *consumed ); PyObject* PyUnicode_AsUTF16String( PyObject *unicode ); # 1476 "./Include/unicodeobject.h" PyObject* PyUnicode_EncodeUTF16( const Py_UNICODE *data, Py_ssize_t length, const char *errors, int byteorder ); PyObject* _PyUnicode_EncodeUTF16( PyObject* unicode, const char *errors, int byteorder ); PyObject* PyUnicode_DecodeUnicodeEscape( const char *string, Py_ssize_t length, const char *errors ); PyObject* _PyUnicode_DecodeUnicodeEscape( const char *string, Py_ssize_t length, const char *errors, const char **first_invalid_escape ); PyObject* PyUnicode_AsUnicodeEscapeString( PyObject *unicode ); PyObject* PyUnicode_EncodeUnicodeEscape( const Py_UNICODE *data, Py_ssize_t length ); PyObject* PyUnicode_DecodeRawUnicodeEscape( const char *string, Py_ssize_t length, const char *errors ); PyObject* PyUnicode_AsRawUnicodeEscapeString( PyObject *unicode ); PyObject* PyUnicode_EncodeRawUnicodeEscape( const Py_UNICODE *data, Py_ssize_t length ); PyObject *_PyUnicode_DecodeUnicodeInternal( const char *string, Py_ssize_t length, const char *errors ); # 1558 "./Include/unicodeobject.h" PyObject* PyUnicode_DecodeLatin1( const char *string, Py_ssize_t length, const char *errors ); PyObject* PyUnicode_AsLatin1String( PyObject *unicode ); PyObject* _PyUnicode_AsLatin1String( PyObject* unicode, const char* errors); PyObject* PyUnicode_EncodeLatin1( const Py_UNICODE *data, Py_ssize_t length, const char *errors ); # 1586 "./Include/unicodeobject.h" PyObject* PyUnicode_DecodeASCII( const char *string, Py_ssize_t length, const char *errors ); PyObject* PyUnicode_AsASCIIString( PyObject *unicode ); PyObject* _PyUnicode_AsASCIIString( PyObject* unicode, const char* errors); PyObject* PyUnicode_EncodeASCII( const Py_UNICODE *data, Py_ssize_t length, const char *errors ); # 1625 "./Include/unicodeobject.h" PyObject* PyUnicode_DecodeCharmap( const char *string, Py_ssize_t length, PyObject *mapping, const char *errors ); PyObject* PyUnicode_AsCharmapString( PyObject *unicode, PyObject *mapping ); PyObject* PyUnicode_EncodeCharmap( const Py_UNICODE *data, Py_ssize_t length, PyObject *mapping, const char *errors ); PyObject* _PyUnicode_EncodeCharmap( PyObject *unicode, PyObject *mapping, const char *errors ); # 1665 "./Include/unicodeobject.h" PyObject * PyUnicode_TranslateCharmap( const Py_UNICODE *data, Py_ssize_t length, PyObject *table, const char *errors ); # 1747 "./Include/unicodeobject.h" int PyUnicode_EncodeDecimal( Py_UNICODE *s, Py_ssize_t length, char *output, const char *errors ); # 1762 "./Include/unicodeobject.h" PyObject* PyUnicode_TransformDecimalToASCII( Py_UNICODE *s, Py_ssize_t length ); # 1774 "./Include/unicodeobject.h" PyObject* _PyUnicode_TransformDecimalAndSpaceToASCII( PyObject *unicode ); # 1790 "./Include/unicodeobject.h" PyObject* PyUnicode_DecodeLocaleAndSize( const char *str, Py_ssize_t len, const char *errors); PyObject* PyUnicode_DecodeLocale( const char *str, const char *errors); PyObject* PyUnicode_EncodeLocale( PyObject *unicode, const char *errors ); int PyUnicode_FSConverter(PyObject*, void*); int PyUnicode_FSDecoder(PyObject*, void*); # 1834 "./Include/unicodeobject.h" PyObject* PyUnicode_DecodeFSDefault( const char *s ); # 1845 "./Include/unicodeobject.h" PyObject* PyUnicode_DecodeFSDefaultAndSize( const char *s, Py_ssize_t size ); # 1857 "./Include/unicodeobject.h" PyObject* PyUnicode_EncodeFSDefault( PyObject *unicode ); # 1869 "./Include/unicodeobject.h" PyObject* PyUnicode_Concat( PyObject *left, PyObject *right ); void PyUnicode_Append( PyObject **pleft, PyObject *right ); void PyUnicode_AppendAndDel( PyObject **pleft, PyObject *right ); # 1901 "./Include/unicodeobject.h" PyObject* PyUnicode_Split( PyObject *s, PyObject *sep, Py_ssize_t maxsplit ); PyObject* PyUnicode_Splitlines( PyObject *s, int keepends ); PyObject* PyUnicode_Partition( PyObject *s, PyObject *sep ); PyObject* PyUnicode_RPartition( PyObject *s, PyObject *sep ); # 1945 "./Include/unicodeobject.h" PyObject* PyUnicode_RSplit( PyObject *s, PyObject *sep, Py_ssize_t maxsplit ); # 1963 "./Include/unicodeobject.h" PyObject * PyUnicode_Translate( PyObject *str, PyObject *table, const char *errors ); PyObject* PyUnicode_Join( PyObject *separator, PyObject *seq ); PyObject * _PyUnicode_JoinArray( PyObject *separator, PyObject **items, Py_ssize_t seqlen ); Py_ssize_t PyUnicode_Tailmatch( PyObject *str, PyObject *substr, Py_ssize_t start, Py_ssize_t end, int direction ); Py_ssize_t PyUnicode_Find( PyObject *str, PyObject *substr, Py_ssize_t start, Py_ssize_t end, int direction ); Py_ssize_t PyUnicode_FindChar( PyObject *str, Py_UCS4 ch, Py_ssize_t start, Py_ssize_t end, int direction ); Py_ssize_t PyUnicode_Count( PyObject *str, PyObject *substr, Py_ssize_t start, Py_ssize_t end ); PyObject * PyUnicode_Replace( PyObject *str, PyObject *substr, PyObject *replstr, Py_ssize_t maxcount ); int PyUnicode_Compare( PyObject *left, PyObject *right ); int _PyUnicode_EqualToASCIIId( PyObject *left, _Py_Identifier *right ); # 2065 "./Include/unicodeobject.h" int PyUnicode_CompareWithASCIIString( PyObject *left, const char *right ); int _PyUnicode_EqualToASCIIString( PyObject *left, const char *right ); # 2093 "./Include/unicodeobject.h" PyObject * PyUnicode_RichCompare( PyObject *left, PyObject *right, int op ); PyObject * PyUnicode_Format( PyObject *format, PyObject *args ); int PyUnicode_Contains( PyObject *container, PyObject *element ); int PyUnicode_IsIdentifier(PyObject *s); PyObject * _PyUnicode_XStrip( PyObject *self, int striptype, PyObject *sepobj ); Py_ssize_t _PyUnicode_InsertThousandsGrouping( PyObject *unicode, Py_ssize_t index, Py_ssize_t n_buffer, void *digits, Py_ssize_t n_digits, Py_ssize_t min_width, const char *grouping, PyObject *thousands_sep, Py_UCS4 *maxchar); extern const unsigned char _Py_ascii_whitespace[]; # 2160 "./Include/unicodeobject.h" int _PyUnicode_IsLowercase( Py_UCS4 ch ); int _PyUnicode_IsUppercase( Py_UCS4 ch ); int _PyUnicode_IsTitlecase( Py_UCS4 ch ); int _PyUnicode_IsXidStart( Py_UCS4 ch ); int _PyUnicode_IsXidContinue( Py_UCS4 ch ); int _PyUnicode_IsWhitespace( const Py_UCS4 ch ); int _PyUnicode_IsLinebreak( const Py_UCS4 ch ); Py_UCS4 _PyUnicode_ToLowercase( Py_UCS4 ch ); Py_UCS4 _PyUnicode_ToUppercase( Py_UCS4 ch ); Py_UCS4 _PyUnicode_ToTitlecase( Py_UCS4 ch ); int _PyUnicode_ToLowerFull( Py_UCS4 ch, Py_UCS4 *res ); int _PyUnicode_ToTitleFull( Py_UCS4 ch, Py_UCS4 *res ); int _PyUnicode_ToUpperFull( Py_UCS4 ch, Py_UCS4 *res ); int _PyUnicode_ToFoldedFull( Py_UCS4 ch, Py_UCS4 *res ); int _PyUnicode_IsCaseIgnorable( Py_UCS4 ch ); int _PyUnicode_IsCased( Py_UCS4 ch ); int _PyUnicode_ToDecimalDigit( Py_UCS4 ch ); int _PyUnicode_ToDigit( Py_UCS4 ch ); double _PyUnicode_ToNumeric( Py_UCS4 ch ); int _PyUnicode_IsDecimalDigit( Py_UCS4 ch ); int _PyUnicode_IsDigit( Py_UCS4 ch ); int _PyUnicode_IsNumeric( Py_UCS4 ch ); int _PyUnicode_IsPrintable( Py_UCS4 ch ); int _PyUnicode_IsAlpha( Py_UCS4 ch ); size_t Py_UNICODE_strlen( const Py_UNICODE *u ); Py_UNICODE* Py_UNICODE_strcpy( Py_UNICODE *s1, const Py_UNICODE *s2); Py_UNICODE* Py_UNICODE_strcat( Py_UNICODE *s1, const Py_UNICODE *s2); Py_UNICODE* Py_UNICODE_strncpy( Py_UNICODE *s1, const Py_UNICODE *s2, size_t n); int Py_UNICODE_strcmp( const Py_UNICODE *s1, const Py_UNICODE *s2 ); int Py_UNICODE_strncmp( const Py_UNICODE *s1, const Py_UNICODE *s2, size_t n ); Py_UNICODE* Py_UNICODE_strchr( const Py_UNICODE *s, Py_UNICODE c ); Py_UNICODE* Py_UNICODE_strrchr( const Py_UNICODE *s, Py_UNICODE c ); PyObject* _PyUnicode_FormatLong(PyObject *, int, int, int); Py_UNICODE* PyUnicode_AsUnicodeCopy( PyObject *unicode ); # 2320 "./Include/unicodeobject.h" PyObject* _PyUnicode_FromId(_Py_Identifier*); void _PyUnicode_ClearStaticStrings(void); int _PyUnicode_EQ(PyObject *, PyObject *); # 78 "./Include/Python.h" 2 # 1 "./Include/longobject.h" 1 # 10 "./Include/longobject.h" typedef struct _longobject PyLongObject; extern PyTypeObject PyLong_Type; PyObject * PyLong_FromLong(long); PyObject * PyLong_FromUnsignedLong(unsigned long); PyObject * PyLong_FromSize_t(size_t); PyObject * PyLong_FromSsize_t(Py_ssize_t); PyObject * PyLong_FromDouble(double); long PyLong_AsLong(PyObject *); long PyLong_AsLongAndOverflow(PyObject *, int *); Py_ssize_t PyLong_AsSsize_t(PyObject *); size_t PyLong_AsSize_t(PyObject *); unsigned long PyLong_AsUnsignedLong(PyObject *); unsigned long PyLong_AsUnsignedLongMask(PyObject *); int _PyLong_AsInt(PyObject *); PyObject * PyLong_GetInfo(void); # 71 "./Include/longobject.h" extern unsigned char _PyLong_DigitValue[256]; # 81 "./Include/longobject.h" double _PyLong_Frexp(PyLongObject *a, Py_ssize_t *e); double PyLong_AsDouble(PyObject *); PyObject * PyLong_FromVoidPtr(void *); void * PyLong_AsVoidPtr(PyObject *); PyObject * PyLong_FromLongLong(long long); PyObject * PyLong_FromUnsignedLongLong(unsigned long long); long long PyLong_AsLongLong(PyObject *); unsigned long long PyLong_AsUnsignedLongLong(PyObject *); unsigned long long PyLong_AsUnsignedLongLongMask(PyObject *); long long PyLong_AsLongLongAndOverflow(PyObject *, int *); PyObject * PyLong_FromString(const char *, char **, int); PyObject * PyLong_FromUnicode(Py_UNICODE*, Py_ssize_t, int); PyObject * PyLong_FromUnicodeObject(PyObject *u, int base); PyObject * _PyLong_FromBytes(const char *, Py_ssize_t, int); int _PyLong_Sign(PyObject *v); # 117 "./Include/longobject.h" size_t _PyLong_NumBits(PyObject *v); PyObject * _PyLong_DivmodNear(PyObject *, PyObject *); # 140 "./Include/longobject.h" PyObject * _PyLong_FromByteArray( const unsigned char* bytes, size_t n, int little_endian, int is_signed); # 163 "./Include/longobject.h" int _PyLong_AsByteArray(PyLongObject* v, unsigned char* bytes, size_t n, int little_endian, int is_signed); PyLongObject *_PyLong_FromNbInt(PyObject *); PyObject * _PyLong_Format(PyObject *obj, int base); int _PyLong_FormatWriter( _PyUnicodeWriter *writer, PyObject *obj, int base, int alternate); char* _PyLong_FormatBytesWriter( _PyBytesWriter *writer, char *str, PyObject *obj, int base, int alternate); int _PyLong_FormatAdvancedWriter( _PyUnicodeWriter *writer, PyObject *obj, PyObject *format_spec, Py_ssize_t start, Py_ssize_t end); unsigned long PyOS_strtoul(const char *, char **, int); long PyOS_strtol(const char *, char **, int); PyObject * _PyLong_GCD(PyObject *, PyObject *); # 79 "./Include/Python.h" 2 # 1 "./Include/longintrepr.h" 1 # 45 "./Include/longintrepr.h" typedef uint32_t digit; typedef int32_t sdigit; typedef uint64_t twodigits; typedef int64_t stwodigits; # 85 "./Include/longintrepr.h" struct _longobject { PyVarObject ob_base; digit ob_digit[1]; }; PyLongObject * _PyLong_New(Py_ssize_t); PyObject * _PyLong_Copy(PyLongObject *src); # 80 "./Include/Python.h" 2 # 1 "./Include/boolobject.h" 1 # 10 "./Include/boolobject.h" extern PyTypeObject PyBool_Type; extern struct _longobject _Py_FalseStruct, _Py_TrueStruct; # 29 "./Include/boolobject.h" PyObject * PyBool_FromLong(long); # 81 "./Include/Python.h" 2 # 1 "./Include/floatobject.h" 1 # 15 "./Include/floatobject.h" typedef struct { PyObject ob_base; double ob_fval; } PyFloatObject; extern PyTypeObject PyFloat_Type; # 37 "./Include/floatobject.h" double PyFloat_GetMax(void); double PyFloat_GetMin(void); PyObject * PyFloat_GetInfo(void); PyObject * PyFloat_FromString(PyObject*); PyObject * PyFloat_FromDouble(double); double PyFloat_AsDouble(PyObject *); # 87 "./Include/floatobject.h" int _PyFloat_Pack2(double x, unsigned char *p, int le); int _PyFloat_Pack4(double x, unsigned char *p, int le); int _PyFloat_Pack8(double x, unsigned char *p, int le); int _PyFloat_Repr(double x, char *p, size_t len); int _PyFloat_Digits(char *buf, double v, int *signum); void _PyFloat_DigitsInit(void); # 108 "./Include/floatobject.h" double _PyFloat_Unpack2(const unsigned char *p, int le); double _PyFloat_Unpack4(const unsigned char *p, int le); double _PyFloat_Unpack8(const unsigned char *p, int le); int PyFloat_ClearFreeList(void); void _PyFloat_DebugMallocStats(FILE* out); int _PyFloat_FormatAdvancedWriter( _PyUnicodeWriter *writer, PyObject *obj, PyObject *format_spec, Py_ssize_t start, Py_ssize_t end); # 82 "./Include/Python.h" 2 # 1 "./Include/complexobject.h" 1 # 10 "./Include/complexobject.h" typedef struct { double real; double imag; } Py_complex; Py_complex _Py_c_sum(Py_complex, Py_complex); Py_complex _Py_c_diff(Py_complex, Py_complex); Py_complex _Py_c_neg(Py_complex); Py_complex _Py_c_prod(Py_complex, Py_complex); Py_complex _Py_c_quot(Py_complex, Py_complex); Py_complex _Py_c_pow(Py_complex, Py_complex); double _Py_c_abs(Py_complex); # 33 "./Include/complexobject.h" typedef struct { PyObject ob_base; Py_complex cval; } PyComplexObject; extern PyTypeObject PyComplex_Type; PyObject * PyComplex_FromCComplex(Py_complex); PyObject * PyComplex_FromDoubles(double real, double imag); double PyComplex_RealAsDouble(PyObject *op); double PyComplex_ImagAsDouble(PyObject *op); Py_complex PyComplex_AsCComplex(PyObject *op); int _PyComplex_FormatAdvancedWriter( _PyUnicodeWriter *writer, PyObject *obj, PyObject *format_spec, Py_ssize_t start, Py_ssize_t end); # 83 "./Include/Python.h" 2 # 1 "./Include/rangeobject.h" 1 # 18 "./Include/rangeobject.h" extern PyTypeObject PyRange_Type; extern PyTypeObject PyRangeIter_Type; extern PyTypeObject PyLongRangeIter_Type; # 84 "./Include/Python.h" 2 # 1 "./Include/memoryobject.h" 1 # 10 "./Include/memoryobject.h" extern PyTypeObject _PyManagedBuffer_Type; extern PyTypeObject PyMemoryView_Type; # 23 "./Include/memoryobject.h" PyObject * PyMemoryView_FromObject(PyObject *base); PyObject * PyMemoryView_FromMemory(char *mem, Py_ssize_t size, int flags); PyObject * PyMemoryView_FromBuffer(Py_buffer *info); PyObject * PyMemoryView_GetContiguous(PyObject *base, int buffertype, char order); # 42 "./Include/memoryobject.h" typedef struct { PyObject ob_base; int flags; Py_ssize_t exports; Py_buffer master; } _PyManagedBufferObject; # 57 "./Include/memoryobject.h" typedef struct { PyVarObject ob_base; _PyManagedBufferObject *mbuf; Py_hash_t hash; int flags; Py_ssize_t exports; Py_buffer view; PyObject *weakreflist; Py_ssize_t ob_array[1]; } PyMemoryViewObject; # 85 "./Include/Python.h" 2 # 1 "./Include/tupleobject.h" 1 # 25 "./Include/tupleobject.h" typedef struct { PyVarObject ob_base; PyObject *ob_item[1]; } PyTupleObject; extern PyTypeObject PyTuple_Type; extern PyTypeObject PyTupleIter_Type; PyObject * PyTuple_New(Py_ssize_t size); Py_ssize_t PyTuple_Size(PyObject *); PyObject * PyTuple_GetItem(PyObject *, Py_ssize_t); int PyTuple_SetItem(PyObject *, Py_ssize_t, PyObject *); PyObject * PyTuple_GetSlice(PyObject *, Py_ssize_t, Py_ssize_t); int _PyTuple_Resize(PyObject **, Py_ssize_t); PyObject * PyTuple_Pack(Py_ssize_t, ...); void _PyTuple_MaybeUntrack(PyObject *); # 65 "./Include/tupleobject.h" int PyTuple_ClearFreeList(void); void _PyTuple_DebugMallocStats(FILE *out); # 86 "./Include/Python.h" 2 # 1 "./Include/listobject.h" 1 # 23 "./Include/listobject.h" typedef struct { PyVarObject ob_base; PyObject **ob_item; # 39 "./Include/listobject.h" Py_ssize_t allocated; } PyListObject; extern PyTypeObject PyList_Type; extern PyTypeObject PyListIter_Type; extern PyTypeObject PyListRevIter_Type; extern PyTypeObject PySortWrapper_Type; PyObject * PyList_New(Py_ssize_t size); Py_ssize_t PyList_Size(PyObject *); PyObject * PyList_GetItem(PyObject *, Py_ssize_t); int PyList_SetItem(PyObject *, Py_ssize_t, PyObject *); int PyList_Insert(PyObject *, Py_ssize_t, PyObject *); int PyList_Append(PyObject *, PyObject *); PyObject * PyList_GetSlice(PyObject *, Py_ssize_t, Py_ssize_t); int PyList_SetSlice(PyObject *, Py_ssize_t, Py_ssize_t, PyObject *); int PyList_Sort(PyObject *); int PyList_Reverse(PyObject *); PyObject * PyList_AsTuple(PyObject *); PyObject * _PyList_Extend(PyListObject *, PyObject *); int PyList_ClearFreeList(void); void _PyList_DebugMallocStats(FILE *out); # 87 "./Include/Python.h" 2 # 1 "./Include/dictobject.h" 1 # 18 "./Include/dictobject.h" typedef struct _dictkeysobject PyDictKeysObject; typedef struct { PyObject ob_base; Py_ssize_t ma_used; uint64_t ma_version_tag; PyDictKeysObject *ma_keys; PyObject **ma_values; } PyDictObject; typedef struct { PyObject ob_base; PyDictObject *dv_dict; } _PyDictViewObject; extern PyTypeObject PyDict_Type; extern PyTypeObject PyDictIterKey_Type; extern PyTypeObject PyDictIterValue_Type; extern PyTypeObject PyDictIterItem_Type; extern PyTypeObject PyDictKeys_Type; extern PyTypeObject PyDictItems_Type; extern PyTypeObject PyDictValues_Type; # 69 "./Include/dictobject.h" PyObject * PyDict_New(void); PyObject * PyDict_GetItem(PyObject *mp, PyObject *key); PyObject * _PyDict_GetItem_KnownHash(PyObject *mp, PyObject *key, Py_hash_t hash); PyObject * PyDict_GetItemWithError(PyObject *mp, PyObject *key); PyObject * _PyDict_GetItemIdWithError(PyObject *dp, struct _Py_Identifier *key); PyObject * PyDict_SetDefault( PyObject *mp, PyObject *key, PyObject *defaultobj); int PyDict_SetItem(PyObject *mp, PyObject *key, PyObject *item); int _PyDict_SetItem_KnownHash(PyObject *mp, PyObject *key, PyObject *item, Py_hash_t hash); int PyDict_DelItem(PyObject *mp, PyObject *key); int _PyDict_DelItem_KnownHash(PyObject *mp, PyObject *key, Py_hash_t hash); int _PyDict_DelItemIf(PyObject *mp, PyObject *key, int (*predicate)(PyObject *value)); void PyDict_Clear(PyObject *mp); int PyDict_Next( PyObject *mp, Py_ssize_t *pos, PyObject **key, PyObject **value); PyDictKeysObject *_PyDict_NewKeysForClass(void); PyObject * PyObject_GenericGetDict(PyObject *, void *); int _PyDict_Next( PyObject *mp, Py_ssize_t *pos, PyObject **key, PyObject **value, Py_hash_t *hash); PyObject *_PyDictView_New(PyObject *, PyTypeObject *); PyObject * PyDict_Keys(PyObject *mp); PyObject * PyDict_Values(PyObject *mp); PyObject * PyDict_Items(PyObject *mp); Py_ssize_t PyDict_Size(PyObject *mp); PyObject * PyDict_Copy(PyObject *mp); int PyDict_Contains(PyObject *mp, PyObject *key); int _PyDict_Contains(PyObject *mp, PyObject *key, Py_hash_t hash); PyObject * _PyDict_NewPresized(Py_ssize_t minused); void _PyDict_MaybeUntrack(PyObject *mp); int _PyDict_HasOnlyStringKeys(PyObject *mp); Py_ssize_t _PyDict_KeysSize(PyDictKeysObject *keys); Py_ssize_t _PyDict_SizeOf(PyDictObject *); PyObject * _PyDict_Pop(PyObject *, PyObject *, PyObject *); PyObject *_PyDict_Pop_KnownHash(PyObject *, PyObject *, Py_hash_t, PyObject *); PyObject *_PyDict_FromKeys(PyObject *, PyObject *, PyObject *); int PyDict_ClearFreeList(void); int PyDict_Update(PyObject *mp, PyObject *other); int PyDict_Merge(PyObject *mp, PyObject *other, int override); int _PyDict_MergeEx(PyObject *mp, PyObject *other, int override); PyObject * _PyDictView_Intersect(PyObject* self, PyObject *other); int PyDict_MergeFromSeq2(PyObject *d, PyObject *seq2, int override); PyObject * PyDict_GetItemString(PyObject *dp, const char *key); PyObject * _PyDict_GetItemId(PyObject *dp, struct _Py_Identifier *key); int PyDict_SetItemString(PyObject *dp, const char *key, PyObject *item); int _PyDict_SetItemId(PyObject *dp, struct _Py_Identifier *key, PyObject *item); int PyDict_DelItemString(PyObject *dp, const char *key); int _PyDict_DelItemId(PyObject *mp, struct _Py_Identifier *key); void _PyDict_DebugMallocStats(FILE *out); int _PyObjectDict_SetItem(PyTypeObject *tp, PyObject **dictptr, PyObject *name, PyObject *value); PyObject *_PyDict_LoadGlobal(PyDictObject *, PyDictObject *, PyObject *); # 88 "./Include/Python.h" 2 # 1 "./Include/odictobject.h" 1 # 12 "./Include/odictobject.h" typedef struct _odictobject PyODictObject; extern PyTypeObject PyODict_Type; extern PyTypeObject PyODictIter_Type; extern PyTypeObject PyODictKeys_Type; extern PyTypeObject PyODictItems_Type; extern PyTypeObject PyODictValues_Type; # 28 "./Include/odictobject.h" PyObject * PyODict_New(void); int PyODict_SetItem(PyObject *od, PyObject *key, PyObject *item); int PyODict_DelItem(PyObject *od, PyObject *key); # 89 "./Include/Python.h" 2 # 1 "./Include/enumobject.h" 1 # 10 "./Include/enumobject.h" extern PyTypeObject PyEnum_Type; extern PyTypeObject PyReversed_Type; # 90 "./Include/Python.h" 2 # 1 "./Include/setobject.h" 1 # 26 "./Include/setobject.h" typedef struct { PyObject *key; Py_hash_t hash; } setentry; # 42 "./Include/setobject.h" typedef struct { PyObject ob_base; Py_ssize_t fill; Py_ssize_t used; Py_ssize_t mask; setentry *table; Py_hash_t hash; Py_ssize_t finger; setentry smalltable[8]; PyObject *weakreflist; } PySetObject; extern PyObject * _PySet_Dummy; int _PySet_NextEntry(PyObject *set, Py_ssize_t *pos, PyObject **key, Py_hash_t *hash); int _PySet_Update(PyObject *set, PyObject *iterable); int PySet_ClearFreeList(void); extern PyTypeObject PySet_Type; extern PyTypeObject PyFrozenSet_Type; extern PyTypeObject PySetIter_Type; PyObject * PySet_New(PyObject *); PyObject * PyFrozenSet_New(PyObject *); int PySet_Add(PyObject *set, PyObject *key); int PySet_Clear(PyObject *set); int PySet_Contains(PyObject *anyset, PyObject *key); int PySet_Discard(PyObject *set, PyObject *key); PyObject * PySet_Pop(PyObject *set); Py_ssize_t PySet_Size(PyObject *anyset); # 91 "./Include/Python.h" 2 # 1 "./Include/methodobject.h" 1 # 14 "./Include/methodobject.h" extern PyTypeObject PyCFunction_Type; typedef PyObject *(*PyCFunction)(PyObject *, PyObject *); typedef PyObject *(*_PyCFunctionFast) (PyObject *self, PyObject **args, Py_ssize_t nargs, PyObject *kwnames); typedef PyObject *(*PyCFunctionWithKeywords)(PyObject *, PyObject *, PyObject *); typedef PyObject *(*PyNoArgsFunction)(PyObject *); PyCFunction PyCFunction_GetFunction(PyObject *); PyObject * PyCFunction_GetSelf(PyObject *); int PyCFunction_GetFlags(PyObject *); # 40 "./Include/methodobject.h" PyObject * PyCFunction_Call(PyObject *, PyObject *, PyObject *); PyObject * _PyCFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); PyObject * _PyCFunction_FastCallKeywords(PyObject *func, PyObject **stack, Py_ssize_t nargs, PyObject *kwnames); struct PyMethodDef { const char *ml_name; PyCFunction ml_meth; int ml_flags; const char *ml_doc; }; typedef struct PyMethodDef PyMethodDef; PyObject * PyCFunction_NewEx(PyMethodDef *, PyObject *, PyObject *); # 91 "./Include/methodobject.h" typedef struct { PyObject ob_base; PyMethodDef *m_ml; PyObject *m_self; PyObject *m_module; PyObject *m_weakreflist; } PyCFunctionObject; int PyCFunction_ClearFreeList(void); void _PyCFunction_DebugMallocStats(FILE *out); void _PyMethod_DebugMallocStats(FILE *out); # 92 "./Include/Python.h" 2 # 1 "./Include/moduleobject.h" 1 # 10 "./Include/moduleobject.h" extern PyTypeObject PyModule_Type; PyObject * PyModule_NewObject( PyObject *name ); PyObject * PyModule_New( const char *name ); PyObject * PyModule_GetDict(PyObject *); PyObject * PyModule_GetNameObject(PyObject *); const char * PyModule_GetName(PyObject *); const char * PyModule_GetFilename(PyObject *); PyObject * PyModule_GetFilenameObject(PyObject *); void _PyModule_Clear(PyObject *); void _PyModule_ClearDict(PyObject *); struct PyModuleDef* PyModule_GetDef(PyObject*); void* PyModule_GetState(PyObject*); PyObject * PyModuleDef_Init(struct PyModuleDef*); extern PyTypeObject PyModuleDef_Type; typedef struct PyModuleDef_Base { PyObject ob_base; PyObject* (*m_init)(void); Py_ssize_t m_index; PyObject* m_copy; } PyModuleDef_Base; # 57 "./Include/moduleobject.h" struct PyModuleDef_Slot; typedef struct PyModuleDef_Slot{ int slot; void *value; } PyModuleDef_Slot; # 74 "./Include/moduleobject.h" typedef struct PyModuleDef{ PyModuleDef_Base m_base; const char* m_name; const char* m_doc; Py_ssize_t m_size; PyMethodDef *m_methods; struct PyModuleDef_Slot* m_slots; traverseproc m_traverse; inquiry m_clear; freefunc m_free; } PyModuleDef; # 93 "./Include/Python.h" 2 # 1 "./Include/funcobject.h" 1 # 21 "./Include/funcobject.h" typedef struct { PyObject ob_base; PyObject *func_code; PyObject *func_globals; PyObject *func_defaults; PyObject *func_kwdefaults; PyObject *func_closure; PyObject *func_doc; PyObject *func_name; PyObject *func_dict; PyObject *func_weakreflist; PyObject *func_module; PyObject *func_annotations; PyObject *func_qualname; } PyFunctionObject; extern PyTypeObject PyFunction_Type; PyObject * PyFunction_New(PyObject *, PyObject *); PyObject * PyFunction_NewWithQualName(PyObject *, PyObject *, PyObject *); PyObject * PyFunction_GetCode(PyObject *); PyObject * PyFunction_GetGlobals(PyObject *); PyObject * PyFunction_GetModule(PyObject *); PyObject * PyFunction_GetDefaults(PyObject *); int PyFunction_SetDefaults(PyObject *, PyObject *); PyObject * PyFunction_GetKwDefaults(PyObject *); int PyFunction_SetKwDefaults(PyObject *, PyObject *); PyObject * PyFunction_GetClosure(PyObject *); int PyFunction_SetClosure(PyObject *, PyObject *); PyObject * PyFunction_GetAnnotations(PyObject *); int PyFunction_SetAnnotations(PyObject *, PyObject *); PyObject * _PyFunction_FastCallDict( PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); PyObject * _PyFunction_FastCallKeywords( PyObject *func, PyObject **stack, Py_ssize_t nargs, PyObject *kwnames); # 93 "./Include/funcobject.h" extern PyTypeObject PyClassMethod_Type; extern PyTypeObject PyStaticMethod_Type; PyObject * PyClassMethod_New(PyObject *); PyObject * PyStaticMethod_New(PyObject *); # 94 "./Include/Python.h" 2 # 1 "./Include/classobject.h" 1 # 12 "./Include/classobject.h" typedef struct { PyObject ob_base; PyObject *im_func; PyObject *im_self; PyObject *im_weakreflist; } PyMethodObject; extern PyTypeObject PyMethod_Type; PyObject * PyMethod_New(PyObject *, PyObject *); PyObject * PyMethod_Function(PyObject *); PyObject * PyMethod_Self(PyObject *); # 35 "./Include/classobject.h" int PyMethod_ClearFreeList(void); typedef struct { PyObject ob_base; PyObject *func; } PyInstanceMethodObject; extern PyTypeObject PyInstanceMethod_Type; PyObject * PyInstanceMethod_New(PyObject *); PyObject * PyInstanceMethod_Function(PyObject *); # 95 "./Include/Python.h" 2 # 1 "./Include/fileobject.h" 1 # 11 "./Include/fileobject.h" PyObject * PyFile_FromFd(int, const char *, const char *, int, const char *, const char *, const char *, int); PyObject * PyFile_GetLine(PyObject *, int); int PyFile_WriteObject(PyObject *, PyObject *, int); int PyFile_WriteString(const char *, PyObject *); int PyObject_AsFileDescriptor(PyObject *); char * Py_UniversalNewlineFgets(char *, int, FILE*, PyObject *); extern const char * Py_FileSystemDefaultEncoding; extern const char * Py_FileSystemDefaultEncodeErrors; extern int Py_HasFileSystemDefaultEncoding; PyObject * PyFile_NewStdPrinter(int); extern PyTypeObject PyStdPrinter_Type; # 96 "./Include/Python.h" 2 # 1 "./Include/pycapsule.h" 1 # 21 "./Include/pycapsule.h" extern PyTypeObject PyCapsule_Type; typedef void (*PyCapsule_Destructor)(PyObject *); PyObject * PyCapsule_New( void *pointer, const char *name, PyCapsule_Destructor destructor); void * PyCapsule_GetPointer(PyObject *capsule, const char *name); PyCapsule_Destructor PyCapsule_GetDestructor(PyObject *capsule); const char * PyCapsule_GetName(PyObject *capsule); void * PyCapsule_GetContext(PyObject *capsule); int PyCapsule_IsValid(PyObject *capsule, const char *name); int PyCapsule_SetPointer(PyObject *capsule, void *pointer); int PyCapsule_SetDestructor(PyObject *capsule, PyCapsule_Destructor destructor); int PyCapsule_SetName(PyObject *capsule, const char *name); int PyCapsule_SetContext(PyObject *capsule, void *context); void * PyCapsule_Import( const char *name, int no_block); # 97 "./Include/Python.h" 2 # 1 "./Include/traceback.h" 1 # 1 "./Include/pystate.h" 1 # 17 "./Include/pystate.h" struct _ts; struct _is; struct _frame; typedef PyObject* (*_PyFrameEvalFunction)(struct _frame *, int); typedef struct _is { struct _is *next; struct _ts *tstate_head; PyObject *modules; PyObject *modules_by_index; PyObject *sysdict; PyObject *builtins; PyObject *importlib; PyObject *codec_search_path; PyObject *codec_search_cache; PyObject *codec_error_registry; int codecs_initialized; int fscodec_initialized; int dlopenflags; PyObject *builtins_copy; PyObject *import_func; _PyFrameEvalFunction eval_frame; } PyInterpreterState; typedef struct _co_extra_state { struct _co_extra_state *next; PyInterpreterState* interp; Py_ssize_t co_extra_user_count; freefunc co_extra_freefuncs[255]; } __PyCodeExtraState; __PyCodeExtraState* __PyCodeExtraState_Get(void); typedef int (*Py_tracefunc)(PyObject *, struct _frame *, int, PyObject *); # 84 "./Include/pystate.h" typedef struct _ts { struct _ts *prev; struct _ts *next; PyInterpreterState *interp; struct _frame *frame; int recursion_depth; char overflowed; char recursion_critical; int tracing; int use_tracing; Py_tracefunc c_profilefunc; Py_tracefunc c_tracefunc; PyObject *c_profileobj; PyObject *c_traceobj; PyObject *curexc_type; PyObject *curexc_value; PyObject *curexc_traceback; PyObject *exc_type; PyObject *exc_value; PyObject *exc_traceback; PyObject *dict; int gilstate_counter; PyObject *async_exc; long thread_id; int trash_delete_nesting; PyObject *trash_delete_later; # 149 "./Include/pystate.h" void (*on_delete)(void *); void *on_delete_data; PyObject *coroutine_wrapper; int in_coroutine_wrapper; Py_ssize_t _preserve_36_ABI_1; freefunc _preserve_36_ABI_2[255]; PyObject *async_gen_firstiter; PyObject *async_gen_finalizer; } PyThreadState; PyInterpreterState * PyInterpreterState_New(void); void PyInterpreterState_Clear(PyInterpreterState *); void PyInterpreterState_Delete(PyInterpreterState *); int _PyState_AddModule(PyObject*, struct PyModuleDef*); int PyState_AddModule(PyObject*, struct PyModuleDef*); int PyState_RemoveModule(struct PyModuleDef*); PyObject* PyState_FindModule(struct PyModuleDef*); void _PyState_ClearModules(void); PyThreadState * PyThreadState_New(PyInterpreterState *); PyThreadState * _PyThreadState_Prealloc(PyInterpreterState *); void _PyThreadState_Init(PyThreadState *); void PyThreadState_Clear(PyThreadState *); void PyThreadState_Delete(PyThreadState *); void _PyThreadState_DeleteExcept(PyThreadState *tstate); void PyThreadState_DeleteCurrent(void); void _PyGILState_Reinit(void); PyThreadState * PyThreadState_Get(void); PyThreadState * _PyThreadState_UncheckedGet(void); PyThreadState * PyThreadState_Swap(PyThreadState *); PyObject * PyThreadState_GetDict(void); int PyThreadState_SetAsyncExc(long, PyObject *); # 230 "./Include/pystate.h" typedef enum {PyGILState_LOCKED, PyGILState_UNLOCKED} PyGILState_STATE; # 257 "./Include/pystate.h" PyGILState_STATE PyGILState_Ensure(void); # 267 "./Include/pystate.h" void PyGILState_Release(PyGILState_STATE); PyThreadState * PyGILState_GetThisThreadState(void); extern int _PyGILState_check_enabled; int PyGILState_Check(void); PyInterpreterState * _PyGILState_GetInterpreterStateUnsafe(void); # 302 "./Include/pystate.h" PyObject * _PyThread_CurrentFrames(void); PyInterpreterState * PyInterpreterState_Head(void); PyInterpreterState * PyInterpreterState_Next(PyInterpreterState *); PyThreadState * PyInterpreterState_ThreadHead(PyInterpreterState *); PyThreadState * PyThreadState_Next(PyThreadState *); typedef struct _frame *(*PyThreadFrameGetter)(PyThreadState *self_); extern PyThreadFrameGetter _PyThreadState_GetFrame; # 9 "./Include/traceback.h" 2 struct _frame; typedef struct _traceback { PyObject ob_base; struct _traceback *tb_next; struct _frame *tb_frame; int tb_lasti; int tb_lineno; } PyTracebackObject; int PyTraceBack_Here(struct _frame *); int PyTraceBack_Print(PyObject *, PyObject *); int _Py_DisplaySourceLine(PyObject *, PyObject *, int, int); void _PyTraceback_Add(const char *, const char *, int); extern PyTypeObject PyTraceBack_Type; # 52 "./Include/traceback.h" void _Py_DumpTraceback( int fd, PyThreadState *tstate); # 79 "./Include/traceback.h" const char* _Py_DumpTracebackThreads( int fd, PyInterpreterState *interp, PyThreadState *current_tstate); # 94 "./Include/traceback.h" void _Py_DumpASCII(int fd, PyObject *text); void _Py_DumpDecimal( int fd, unsigned long value); void _Py_DumpHexadecimal( int fd, unsigned long value, Py_ssize_t width); # 98 "./Include/Python.h" 2 # 1 "./Include/sliceobject.h" 1 # 9 "./Include/sliceobject.h" extern PyObject _Py_EllipsisObject; # 22 "./Include/sliceobject.h" typedef struct { PyObject ob_base; PyObject *start, *stop, *step; } PySliceObject; extern PyTypeObject PySlice_Type; extern PyTypeObject PyEllipsis_Type; PyObject * PySlice_New(PyObject* start, PyObject* stop, PyObject* step); PyObject * _PySlice_FromIndices(Py_ssize_t start, Py_ssize_t stop); int _PySlice_GetLongIndices(PySliceObject *self, PyObject *length, PyObject **start_ptr, PyObject **stop_ptr, PyObject **step_ptr); int PySlice_GetIndices(PyObject *r, Py_ssize_t length, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step); int PySlice_GetIndicesEx(PyObject *r, Py_ssize_t length, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step, Py_ssize_t *slicelength); # 55 "./Include/sliceobject.h" int PySlice_Unpack(PyObject *slice, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step); Py_ssize_t PySlice_AdjustIndices(Py_ssize_t length, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t step); # 99 "./Include/Python.h" 2 # 1 "./Include/cellobject.h" 1 # 9 "./Include/cellobject.h" typedef struct { PyObject ob_base; PyObject *ob_ref; } PyCellObject; extern PyTypeObject PyCell_Type; PyObject * PyCell_New(PyObject *); PyObject * PyCell_Get(PyObject *); int PyCell_Set(PyObject *, PyObject *); # 100 "./Include/Python.h" 2 # 1 "./Include/iterobject.h" 1 extern PyTypeObject PySeqIter_Type; extern PyTypeObject PyCallIter_Type; extern PyTypeObject PyCmpWrapper_Type; PyObject * PySeqIter_New(PyObject *); PyObject * PyCallIter_New(PyObject *, PyObject *); # 101 "./Include/Python.h" 2 # 1 "./Include/genobject.h" 1 # 11 "./Include/genobject.h" struct _frame; # 30 "./Include/genobject.h" typedef struct { PyObject ob_base; struct _frame *gi_frame; char gi_running; PyObject *gi_code; PyObject *gi_weakreflist; PyObject *gi_name; PyObject *gi_qualname; } PyGenObject; extern PyTypeObject PyGen_Type; PyObject * PyGen_New(struct _frame *); PyObject * PyGen_NewWithQualName(struct _frame *, PyObject *name, PyObject *qualname); int PyGen_NeedsFinalizing(PyGenObject *); int _PyGen_SetStopIterationValue(PyObject *); int _PyGen_FetchStopIterationValue(PyObject **); PyObject * _PyGen_Send(PyGenObject *, PyObject *); PyObject *_PyGen_yf(PyGenObject *); void _PyGen_Finalize(PyObject *self); typedef struct { PyObject ob_base; struct _frame *cr_frame; char cr_running; PyObject *cr_code; PyObject *cr_weakreflist; PyObject *cr_name; PyObject *cr_qualname; } PyCoroObject; extern PyTypeObject PyCoro_Type; extern PyTypeObject _PyCoroWrapper_Type; extern PyTypeObject _PyAIterWrapper_Type; PyObject *_PyAIterWrapper_New(PyObject *aiter); PyObject *_PyCoro_GetAwaitableIter(PyObject *o); PyObject * PyCoro_New(struct _frame *, PyObject *name, PyObject *qualname); typedef struct { PyObject ob_base; struct _frame *ag_frame; char ag_running; PyObject *ag_code; PyObject *ag_weakreflist; PyObject *ag_name; PyObject *ag_qualname; PyObject *ag_finalizer; int ag_hooks_inited; int ag_closed; } PyAsyncGenObject; extern PyTypeObject PyAsyncGen_Type; extern PyTypeObject _PyAsyncGenASend_Type; extern PyTypeObject _PyAsyncGenWrappedValue_Type; extern PyTypeObject _PyAsyncGenAThrow_Type; PyObject * PyAsyncGen_New(struct _frame *, PyObject *name, PyObject *qualname); PyObject *_PyAsyncGenValueWrapperNew(PyObject *); int PyAsyncGen_ClearFreeLists(void); # 102 "./Include/Python.h" 2 # 1 "./Include/descrobject.h" 1 typedef PyObject *(*getter)(PyObject *, void *); typedef int (*setter)(PyObject *, PyObject *, void *); typedef struct PyGetSetDef { char *name; getter get; setter set; char *doc; void *closure; } PyGetSetDef; typedef PyObject *(*wrapperfunc)(PyObject *self, PyObject *args, void *wrapped); typedef PyObject *(*wrapperfunc_kwds)(PyObject *self, PyObject *args, void *wrapped, PyObject *kwds); struct wrapperbase { char *name; int offset; void *function; wrapperfunc wrapper; char *doc; int flags; PyObject *name_strobj; }; typedef struct { PyObject ob_base; PyTypeObject *d_type; PyObject *d_name; PyObject *d_qualname; } PyDescrObject; typedef struct { PyDescrObject d_common; PyMethodDef *d_method; } PyMethodDescrObject; typedef struct { PyDescrObject d_common; struct PyMemberDef *d_member; } PyMemberDescrObject; typedef struct { PyDescrObject d_common; PyGetSetDef *d_getset; } PyGetSetDescrObject; typedef struct { PyDescrObject d_common; struct wrapperbase *d_base; void *d_wrapped; } PyWrapperDescrObject; extern PyTypeObject PyClassMethodDescr_Type; extern PyTypeObject PyGetSetDescr_Type; extern PyTypeObject PyMemberDescr_Type; extern PyTypeObject PyMethodDescr_Type; extern PyTypeObject PyWrapperDescr_Type; extern PyTypeObject PyDictProxy_Type; extern PyTypeObject _PyMethodWrapper_Type; PyObject * PyDescr_NewMethod(PyTypeObject *, PyMethodDef *); PyObject * PyDescr_NewClassMethod(PyTypeObject *, PyMethodDef *); struct PyMemberDef; PyObject * PyDescr_NewMember(PyTypeObject *, struct PyMemberDef *); PyObject * PyDescr_NewGetSet(PyTypeObject *, struct PyGetSetDef *); PyObject * PyDescr_NewWrapper(PyTypeObject *, struct wrapperbase *, void *); PyObject * PyDictProxy_New(PyObject *); PyObject * PyWrapper_New(PyObject *, PyObject *); extern PyTypeObject PyProperty_Type; # 103 "./Include/Python.h" 2 # 1 "./Include/warnings.h" 1 PyObject* _PyWarnings_Init(void); int PyErr_WarnEx( PyObject *category, const char *message, Py_ssize_t stack_level); int PyErr_WarnFormat( PyObject *category, Py_ssize_t stack_level, const char *format, ...); int PyErr_ResourceWarning( PyObject *source, Py_ssize_t stack_level, const char *format, ...); int PyErr_WarnExplicitObject( PyObject *category, PyObject *message, PyObject *filename, int lineno, PyObject *module, PyObject *registry); int PyErr_WarnExplicit( PyObject *category, const char *message, const char *filename, int lineno, const char *module, PyObject *registry); int PyErr_WarnExplicitFormat(PyObject *category, const char *filename, int lineno, const char *module, PyObject *registry, const char *format, ...); # 104 "./Include/Python.h" 2 # 1 "./Include/weakrefobject.h" 1 # 10 "./Include/weakrefobject.h" typedef struct _PyWeakReference PyWeakReference; struct _PyWeakReference { PyObject ob_base; PyObject *wr_object; PyObject *wr_callback; Py_hash_t hash; PyWeakReference *wr_prev; PyWeakReference *wr_next; }; extern PyTypeObject _PyWeakref_RefType; extern PyTypeObject _PyWeakref_ProxyType; extern PyTypeObject _PyWeakref_CallableProxyType; # 58 "./Include/weakrefobject.h" PyObject * PyWeakref_NewRef(PyObject *ob, PyObject *callback); PyObject * PyWeakref_NewProxy(PyObject *ob, PyObject *callback); PyObject * PyWeakref_GetObject(PyObject *ref); Py_ssize_t _PyWeakref_GetWeakrefCount(PyWeakReference *head); void _PyWeakref_ClearRef(PyWeakReference *self); # 105 "./Include/Python.h" 2 # 1 "./Include/structseq.h" 1 # 10 "./Include/structseq.h" typedef struct PyStructSequence_Field { char *name; char *doc; } PyStructSequence_Field; typedef struct PyStructSequence_Desc { char *name; char *doc; struct PyStructSequence_Field *fields; int n_in_sequence; } PyStructSequence_Desc; extern char* PyStructSequence_UnnamedField; void PyStructSequence_InitType(PyTypeObject *type, PyStructSequence_Desc *desc); int PyStructSequence_InitType2(PyTypeObject *type, PyStructSequence_Desc *desc); PyTypeObject* PyStructSequence_NewType(PyStructSequence_Desc *desc); PyObject * PyStructSequence_New(PyTypeObject* type); typedef PyTupleObject PyStructSequence; void PyStructSequence_SetItem(PyObject*, Py_ssize_t, PyObject*); PyObject* PyStructSequence_GetItem(PyObject*, Py_ssize_t); # 106 "./Include/Python.h" 2 # 1 "./Include/namespaceobject.h" 1 # 11 "./Include/namespaceobject.h" extern PyTypeObject _PyNamespace_Type; PyObject * _PyNamespace_New(PyObject *kwds); # 107 "./Include/Python.h" 2 # 1 "./Include/codecs.h" 1 # 26 "./Include/codecs.h" int PyCodec_Register( PyObject *search_function ); # 49 "./Include/codecs.h" PyObject * _PyCodec_Lookup( const char *encoding ); int _PyCodec_Forget( const char *encoding ); # 65 "./Include/codecs.h" int PyCodec_KnownEncoding( const char *encoding ); # 79 "./Include/codecs.h" PyObject * PyCodec_Encode( PyObject *object, const char *encoding, const char *errors ); # 95 "./Include/codecs.h" PyObject * PyCodec_Decode( PyObject *object, const char *encoding, const char *errors ); # 115 "./Include/codecs.h" PyObject * _PyCodec_LookupTextEncoding( const char *encoding, const char *alternate_command ); PyObject * _PyCodec_EncodeText( PyObject *object, const char *encoding, const char *errors ); PyObject * _PyCodec_DecodeText( PyObject *object, const char *encoding, const char *errors ); PyObject * _PyCodecInfo_GetIncrementalDecoder( PyObject *codec_info, const char *errors ); PyObject * _PyCodecInfo_GetIncrementalEncoder( PyObject *codec_info, const char *errors ); # 158 "./Include/codecs.h" PyObject * PyCodec_Encoder( const char *encoding ); PyObject * PyCodec_Decoder( const char *encoding ); PyObject * PyCodec_IncrementalEncoder( const char *encoding, const char *errors ); PyObject * PyCodec_IncrementalDecoder( const char *encoding, const char *errors ); PyObject * PyCodec_StreamReader( const char *encoding, PyObject *stream, const char *errors ); PyObject * PyCodec_StreamWriter( const char *encoding, PyObject *stream, const char *errors ); # 206 "./Include/codecs.h" int PyCodec_RegisterError(const char *name, PyObject *error); PyObject * PyCodec_LookupError(const char *name); PyObject * PyCodec_StrictErrors(PyObject *exc); PyObject * PyCodec_IgnoreErrors(PyObject *exc); PyObject * PyCodec_ReplaceErrors(PyObject *exc); PyObject * PyCodec_XMLCharRefReplaceErrors(PyObject *exc); PyObject * PyCodec_BackslashReplaceErrors(PyObject *exc); PyObject * PyCodec_NameReplaceErrors(PyObject *exc); extern const char * Py_hexdigits; # 109 "./Include/Python.h" 2 # 1 "./Include/pyerrors.h" 1 # 16 "./Include/pyerrors.h" typedef struct { PyObject ob_base; PyObject *dict; PyObject *args; PyObject *traceback; PyObject *context; PyObject *cause; char suppress_context; } PyBaseExceptionObject; typedef struct { PyObject ob_base; PyObject *dict; PyObject *args; PyObject *traceback; PyObject *context; PyObject *cause; char suppress_context; PyObject *msg; PyObject *filename; PyObject *lineno; PyObject *offset; PyObject *text; PyObject *print_file_and_line; } PySyntaxErrorObject; typedef struct { PyObject ob_base; PyObject *dict; PyObject *args; PyObject *traceback; PyObject *context; PyObject *cause; char suppress_context; PyObject *msg; PyObject *name; PyObject *path; } PyImportErrorObject; typedef struct { PyObject ob_base; PyObject *dict; PyObject *args; PyObject *traceback; PyObject *context; PyObject *cause; char suppress_context; PyObject *encoding; PyObject *object; Py_ssize_t start; Py_ssize_t end; PyObject *reason; } PyUnicodeErrorObject; typedef struct { PyObject ob_base; PyObject *dict; PyObject *args; PyObject *traceback; PyObject *context; PyObject *cause; char suppress_context; PyObject *code; } PySystemExitObject; typedef struct { PyObject ob_base; PyObject *dict; PyObject *args; PyObject *traceback; PyObject *context; PyObject *cause; char suppress_context; PyObject *myerrno; PyObject *strerror; PyObject *filename; PyObject *filename2; Py_ssize_t written; } PyOSErrorObject; typedef struct { PyObject ob_base; PyObject *dict; PyObject *args; PyObject *traceback; PyObject *context; PyObject *cause; char suppress_context; PyObject *value; } PyStopIterationObject; typedef PyOSErrorObject PyEnvironmentErrorObject; void PyErr_SetNone(PyObject *); void PyErr_SetObject(PyObject *, PyObject *); void _PyErr_SetKeyError(PyObject *); void PyErr_SetString( PyObject *exception, const char *string ); PyObject * PyErr_Occurred(void); void PyErr_Clear(void); void PyErr_Fetch(PyObject **, PyObject **, PyObject **); void PyErr_Restore(PyObject *, PyObject *, PyObject *); void PyErr_GetExcInfo(PyObject **, PyObject **, PyObject **); void PyErr_SetExcInfo(PyObject *, PyObject *, PyObject *); # 105 "./Include/pyerrors.h" void Py_FatalError(const char *message) ; # 114 "./Include/pyerrors.h" int PyErr_GivenExceptionMatches(PyObject *, PyObject *); int PyErr_ExceptionMatches(PyObject *); void PyErr_NormalizeException(PyObject**, PyObject**, PyObject**); int PyException_SetTraceback(PyObject *, PyObject *); PyObject * PyException_GetTraceback(PyObject *); PyObject * PyException_GetCause(PyObject *); void PyException_SetCause(PyObject *, PyObject *); PyObject * PyException_GetContext(PyObject *); void PyException_SetContext(PyObject *, PyObject *); void _PyErr_ChainExceptions(PyObject *, PyObject *, PyObject *); # 150 "./Include/pyerrors.h" extern PyObject * PyExc_BaseException; extern PyObject * PyExc_Exception; extern PyObject * PyExc_StopAsyncIteration; extern PyObject * PyExc_StopIteration; extern PyObject * PyExc_GeneratorExit; extern PyObject * PyExc_ArithmeticError; extern PyObject * PyExc_LookupError; extern PyObject * PyExc_AssertionError; extern PyObject * PyExc_AttributeError; extern PyObject * PyExc_BufferError; extern PyObject * PyExc_EOFError; extern PyObject * PyExc_FloatingPointError; extern PyObject * PyExc_OSError; extern PyObject * PyExc_ImportError; extern PyObject * PyExc_ModuleNotFoundError; extern PyObject * PyExc_IndexError; extern PyObject * PyExc_KeyError; extern PyObject * PyExc_KeyboardInterrupt; extern PyObject * PyExc_MemoryError; extern PyObject * PyExc_NameError; extern PyObject * PyExc_OverflowError; extern PyObject * PyExc_RuntimeError; extern PyObject * PyExc_RecursionError; extern PyObject * PyExc_NotImplementedError; extern PyObject * PyExc_SyntaxError; extern PyObject * PyExc_IndentationError; extern PyObject * PyExc_TabError; extern PyObject * PyExc_ReferenceError; extern PyObject * PyExc_SystemError; extern PyObject * PyExc_SystemExit; extern PyObject * PyExc_TypeError; extern PyObject * PyExc_UnboundLocalError; extern PyObject * PyExc_UnicodeError; extern PyObject * PyExc_UnicodeEncodeError; extern PyObject * PyExc_UnicodeDecodeError; extern PyObject * PyExc_UnicodeTranslateError; extern PyObject * PyExc_ValueError; extern PyObject * PyExc_ZeroDivisionError; extern PyObject * PyExc_BlockingIOError; extern PyObject * PyExc_BrokenPipeError; extern PyObject * PyExc_ChildProcessError; extern PyObject * PyExc_ConnectionError; extern PyObject * PyExc_ConnectionAbortedError; extern PyObject * PyExc_ConnectionRefusedError; extern PyObject * PyExc_ConnectionResetError; extern PyObject * PyExc_FileExistsError; extern PyObject * PyExc_FileNotFoundError; extern PyObject * PyExc_InterruptedError; extern PyObject * PyExc_IsADirectoryError; extern PyObject * PyExc_NotADirectoryError; extern PyObject * PyExc_PermissionError; extern PyObject * PyExc_ProcessLookupError; extern PyObject * PyExc_TimeoutError; extern PyObject * PyExc_EnvironmentError; extern PyObject * PyExc_IOError; extern PyObject * PyExc_RecursionErrorInst; extern PyObject * PyExc_Warning; extern PyObject * PyExc_UserWarning; extern PyObject * PyExc_DeprecationWarning; extern PyObject * PyExc_PendingDeprecationWarning; extern PyObject * PyExc_SyntaxWarning; extern PyObject * PyExc_RuntimeWarning; extern PyObject * PyExc_FutureWarning; extern PyObject * PyExc_ImportWarning; extern PyObject * PyExc_UnicodeWarning; extern PyObject * PyExc_BytesWarning; extern PyObject * PyExc_ResourceWarning; int PyErr_BadArgument(void); PyObject * PyErr_NoMemory(void); PyObject * PyErr_SetFromErrno(PyObject *); PyObject * PyErr_SetFromErrnoWithFilenameObject( PyObject *, PyObject *); PyObject * PyErr_SetFromErrnoWithFilenameObjects( PyObject *, PyObject *, PyObject *); PyObject * PyErr_SetFromErrnoWithFilename( PyObject *exc, const char *filename ); PyObject * PyErr_Format( PyObject *exception, const char *format, ... ); PyObject * PyErr_FormatV( PyObject *exception, const char *format, va_list vargs); PyObject * _PyErr_FormatFromCause( PyObject *exception, const char *format, ... ); # 311 "./Include/pyerrors.h" PyObject * PyErr_SetImportErrorSubclass(PyObject *, PyObject *, PyObject *, PyObject *); PyObject * PyErr_SetImportError(PyObject *, PyObject *, PyObject *); void PyErr_BadInternalCall(void); void _PyErr_BadInternalCall(const char *filename, int lineno); PyObject * PyErr_NewException( const char *name, PyObject *base, PyObject *dict); PyObject * PyErr_NewExceptionWithDoc( const char *name, const char *doc, PyObject *base, PyObject *dict); void PyErr_WriteUnraisable(PyObject *); # 348 "./Include/pyerrors.h" PyObject * _PyErr_TrySetFromCause( const char *prefix_format, ... ); int PyErr_CheckSignals(void); void PyErr_SetInterrupt(void); int PySignal_SetWakeupFd(int fd); void PyErr_SyntaxLocation( const char *filename, int lineno); void PyErr_SyntaxLocationEx( const char *filename, int lineno, int col_offset); void PyErr_SyntaxLocationObject( PyObject *filename, int lineno, int col_offset); PyObject * PyErr_ProgramText( const char *filename, int lineno); PyObject * PyErr_ProgramTextObject( PyObject *filename, int lineno); PyObject * PyUnicodeDecodeError_Create( const char *encoding, const char *object, Py_ssize_t length, Py_ssize_t start, Py_ssize_t end, const char *reason ); PyObject * PyUnicodeEncodeError_Create( const char *encoding, const Py_UNICODE *object, Py_ssize_t length, Py_ssize_t start, Py_ssize_t end, const char *reason ); PyObject * PyUnicodeTranslateError_Create( const Py_UNICODE *object, Py_ssize_t length, Py_ssize_t start, Py_ssize_t end, const char *reason ); PyObject * _PyUnicodeTranslateError_Create( PyObject *object, Py_ssize_t start, Py_ssize_t end, const char *reason ); PyObject * PyUnicodeEncodeError_GetEncoding(PyObject *); PyObject * PyUnicodeDecodeError_GetEncoding(PyObject *); PyObject * PyUnicodeEncodeError_GetObject(PyObject *); PyObject * PyUnicodeDecodeError_GetObject(PyObject *); PyObject * PyUnicodeTranslateError_GetObject(PyObject *); int PyUnicodeEncodeError_GetStart(PyObject *, Py_ssize_t *); int PyUnicodeDecodeError_GetStart(PyObject *, Py_ssize_t *); int PyUnicodeTranslateError_GetStart(PyObject *, Py_ssize_t *); int PyUnicodeEncodeError_SetStart(PyObject *, Py_ssize_t); int PyUnicodeDecodeError_SetStart(PyObject *, Py_ssize_t); int PyUnicodeTranslateError_SetStart(PyObject *, Py_ssize_t); int PyUnicodeEncodeError_GetEnd(PyObject *, Py_ssize_t *); int PyUnicodeDecodeError_GetEnd(PyObject *, Py_ssize_t *); int PyUnicodeTranslateError_GetEnd(PyObject *, Py_ssize_t *); int PyUnicodeEncodeError_SetEnd(PyObject *, Py_ssize_t); int PyUnicodeDecodeError_SetEnd(PyObject *, Py_ssize_t); int PyUnicodeTranslateError_SetEnd(PyObject *, Py_ssize_t); PyObject * PyUnicodeEncodeError_GetReason(PyObject *); PyObject * PyUnicodeDecodeError_GetReason(PyObject *); PyObject * PyUnicodeTranslateError_GetReason(PyObject *); int PyUnicodeEncodeError_SetReason( PyObject *exc, const char *reason ); int PyUnicodeDecodeError_SetReason( PyObject *exc, const char *reason ); int PyUnicodeTranslateError_SetReason( PyObject *exc, const char *reason ); # 497 "./Include/pyerrors.h" int PyOS_snprintf(char *str, size_t size, const char *format, ...) __attribute__((format(printf, 3, 4))); int PyOS_vsnprintf(char *str, size_t size, const char *format, va_list va) __attribute__((format(printf, 3, 0))); # 110 "./Include/Python.h" 2 # 1 "./Include/pyarena.h" 1 # 12 "./Include/pyarena.h" typedef struct _arena PyArena; # 36 "./Include/pyarena.h" PyArena * PyArena_New(void); void PyArena_Free(PyArena *); # 51 "./Include/pyarena.h" void * PyArena_Malloc(PyArena *, size_t size); int PyArena_AddPyObject(PyArena *, PyObject *); # 114 "./Include/Python.h" 2 # 1 "./Include/modsupport.h" 1 # 24 "./Include/modsupport.h" PyObject * _Py_VaBuildValue_SizeT(const char *, va_list); int PyArg_Parse(PyObject *, const char *, ...); int PyArg_ParseTuple(PyObject *, const char *, ...); int PyArg_ParseTupleAndKeywords(PyObject *, PyObject *, const char *, char **, ...); int PyArg_VaParse(PyObject *, const char *, va_list); int PyArg_VaParseTupleAndKeywords(PyObject *, PyObject *, const char *, char **, va_list); int PyArg_ValidateKeywordArguments(PyObject *); int PyArg_UnpackTuple(PyObject *, const char *, Py_ssize_t, Py_ssize_t, ...); PyObject * Py_BuildValue(const char *, ...); PyObject * _Py_BuildValue_SizeT(const char *, ...); int _PyArg_NoKeywords(const char *funcname, PyObject *kw); int _PyArg_NoPositional(const char *funcname, PyObject *args); PyObject * Py_VaBuildValue(const char *, va_list); typedef struct _PyArg_Parser { const char *format; const char * const *keywords; const char *fname; const char *custom_msg; int pos; int min; int max; PyObject *kwtuple; struct _PyArg_Parser *next; } _PyArg_Parser; int _PyArg_ParseTupleAndKeywordsFast(PyObject *, PyObject *, struct _PyArg_Parser *, ...); int _PyArg_ParseStack(PyObject **args, Py_ssize_t nargs, PyObject *kwnames, struct _PyArg_Parser *, ...); int _PyArg_VaParseTupleAndKeywordsFast(PyObject *, PyObject *, struct _PyArg_Parser *, va_list); void _PyArg_Fini(void); int PyModule_AddObject(PyObject *, const char *, PyObject *); int PyModule_AddIntConstant(PyObject *, const char *, long); int PyModule_AddStringConstant(PyObject *, const char *, const char *); int PyModule_SetDocString(PyObject *, const char *); int PyModule_AddFunctions(PyObject *, PyMethodDef *); int PyModule_ExecDef(PyObject *module, PyModuleDef *def); # 150 "./Include/modsupport.h" PyObject * PyModule_Create2(struct PyModuleDef*, int apiver); # 163 "./Include/modsupport.h" PyObject * PyModule_FromDefAndSpec2(PyModuleDef *def, PyObject *spec, int module_api_version); # 177 "./Include/modsupport.h" extern char * _Py_PackageContext; # 115 "./Include/Python.h" 2 # 1 "./Include/pythonrun.h" 1 # 21 "./Include/pythonrun.h" typedef struct { int cf_flags; } PyCompilerFlags; int PyRun_SimpleStringFlags(const char *, PyCompilerFlags *); int PyRun_AnyFileFlags(FILE *, const char *, PyCompilerFlags *); int PyRun_AnyFileExFlags( FILE *fp, const char *filename, int closeit, PyCompilerFlags *flags); int PyRun_SimpleFileExFlags( FILE *fp, const char *filename, int closeit, PyCompilerFlags *flags); int PyRun_InteractiveOneFlags( FILE *fp, const char *filename, PyCompilerFlags *flags); int PyRun_InteractiveOneObject( FILE *fp, PyObject *filename, PyCompilerFlags *flags); int PyRun_InteractiveLoopFlags( FILE *fp, const char *filename, PyCompilerFlags *flags); struct _mod * PyParser_ASTFromString( const char *s, const char *filename, int start, PyCompilerFlags *flags, PyArena *arena); struct _mod * PyParser_ASTFromStringObject( const char *s, PyObject *filename, int start, PyCompilerFlags *flags, PyArena *arena); struct _mod * PyParser_ASTFromFile( FILE *fp, const char *filename, const char* enc, int start, const char *ps1, const char *ps2, PyCompilerFlags *flags, int *errcode, PyArena *arena); struct _mod * PyParser_ASTFromFileObject( FILE *fp, PyObject *filename, const char* enc, int start, const char *ps1, const char *ps2, PyCompilerFlags *flags, int *errcode, PyArena *arena); # 92 "./Include/pythonrun.h" struct _node * PyParser_SimpleParseStringFlags(const char *, int, int); struct _node * PyParser_SimpleParseStringFlagsFilename(const char *, const char *, int, int); struct _node * PyParser_SimpleParseFileFlags(FILE *, const char *, int, int); PyObject * PyRun_StringFlags(const char *, int, PyObject *, PyObject *, PyCompilerFlags *); PyObject * PyRun_FileExFlags( FILE *fp, const char *filename, int start, PyObject *globals, PyObject *locals, int closeit, PyCompilerFlags *flags); PyObject * Py_CompileStringExFlags( const char *str, const char *filename, int start, PyCompilerFlags *flags, int optimize); PyObject * Py_CompileStringObject( const char *str, PyObject *filename, int start, PyCompilerFlags *flags, int optimize); struct symtable * Py_SymtableString( const char *str, const char *filename, int start); struct symtable * Py_SymtableStringObject( const char *str, PyObject *filename, int start); void PyErr_Print(void); void PyErr_PrintEx(int); void PyErr_Display(PyObject *, PyObject *, PyObject *); # 171 "./Include/pythonrun.h" char * PyOS_Readline(FILE *, FILE *, const char *); extern int (*PyOS_InputHook)(void); extern char *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, const char *); extern PyThreadState* _PyOS_ReadlineTState; # 116 "./Include/Python.h" 2 # 1 "./Include/pylifecycle.h" 1 # 10 "./Include/pylifecycle.h" void Py_SetProgramName(wchar_t *); wchar_t * Py_GetProgramName(void); void Py_SetPythonHome(wchar_t *); wchar_t * Py_GetPythonHome(void); int Py_SetStandardStreamEncoding(const char *encoding, const char *errors); void Py_Initialize(void); void Py_InitializeEx(int); void _Py_InitializeEx_Private(int, int); void Py_Finalize(void); int Py_FinalizeEx(void); int Py_IsInitialized(void); PyThreadState * Py_NewInterpreter(void); void Py_EndInterpreter(PyThreadState *); void _Py_PyAtExit(void (*func)(void)); int Py_AtExit(void (*func)(void)); void Py_Exit(int); void _Py_RestoreSignals(void); int Py_FdIsInteractive(FILE *, const char *); int Py_Main(int argc, wchar_t **argv); wchar_t * Py_GetProgramFullPath(void); wchar_t * Py_GetPrefix(void); wchar_t * Py_GetExecPrefix(void); wchar_t * Py_GetPath(void); void Py_SetPath(const wchar_t *); const char * Py_GetVersion(void); const char * Py_GetPlatform(void); const char * Py_GetCopyright(void); const char * Py_GetCompiler(void); const char * Py_GetBuildInfo(void); const char * _Py_gitidentifier(void); const char * _Py_gitversion(void); PyObject * _PyBuiltin_Init(void); PyObject * _PySys_Init(void); void _PyImport_Init(void); void _PyExc_Init(PyObject * bltinmod); void _PyImportHooks_Init(void); int _PyFrame_Init(void); int _PyFloat_Init(void); int PyByteArray_Init(void); void _PyRandom_Init(void); void _PyExc_Fini(void); void _PyImport_Fini(void); void PyMethod_Fini(void); void PyFrame_Fini(void); void PyCFunction_Fini(void); void PyDict_Fini(void); void PyTuple_Fini(void); void PyList_Fini(void); void PySet_Fini(void); void PyBytes_Fini(void); void PyByteArray_Fini(void); void PyFloat_Fini(void); void PyOS_FiniInterrupts(void); void _PyGC_DumpShutdownStats(void); void _PyGC_Fini(void); void PySlice_Fini(void); void _PyType_Fini(void); void _PyRandom_Fini(void); void PyAsyncGen_Fini(void); extern PyThreadState * _Py_Finalizing; typedef void (*PyOS_sighandler_t)(int); PyOS_sighandler_t PyOS_getsig(int); PyOS_sighandler_t PyOS_setsig(int, PyOS_sighandler_t); int _PyOS_URandom(void *buffer, Py_ssize_t size); int _PyOS_URandomNonblock(void *buffer, Py_ssize_t size); # 117 "./Include/Python.h" 2 # 1 "./Include/ceval.h" 1 # 10 "./Include/ceval.h" PyObject * PyEval_CallObjectWithKeywords( PyObject *func, PyObject *args, PyObject *kwargs); PyObject * PyEval_CallFunction(PyObject *obj, const char *format, ...); PyObject * PyEval_CallMethod(PyObject *obj, const char *methodname, const char *format, ...); void PyEval_SetProfile(Py_tracefunc, PyObject *); void PyEval_SetTrace(Py_tracefunc, PyObject *); void _PyEval_SetCoroutineWrapper(PyObject *); PyObject * _PyEval_GetCoroutineWrapper(void); void _PyEval_SetAsyncGenFirstiter(PyObject *); PyObject * _PyEval_GetAsyncGenFirstiter(void); void _PyEval_SetAsyncGenFinalizer(PyObject *); PyObject * _PyEval_GetAsyncGenFinalizer(void); struct _frame; PyObject * PyEval_GetBuiltins(void); PyObject * PyEval_GetGlobals(void); PyObject * PyEval_GetLocals(void); struct _frame * PyEval_GetFrame(void); int PyEval_MergeCompilerFlags(PyCompilerFlags *cf); int Py_AddPendingCall(int (*func)(void *), void *arg); int Py_MakePendingCalls(void); # 76 "./Include/ceval.h" void Py_SetRecursionLimit(int); int Py_GetRecursionLimit(void); # 86 "./Include/ceval.h" int _Py_CheckRecursiveCall(const char *where); extern int _Py_CheckRecursionLimit; # 120 "./Include/ceval.h" const char * PyEval_GetFuncName(PyObject *); const char * PyEval_GetFuncDesc(PyObject *); PyObject * PyEval_GetCallStats(PyObject *); PyObject * PyEval_EvalFrame(struct _frame *); PyObject * PyEval_EvalFrameEx(struct _frame *f, int exc); PyObject * _PyEval_EvalFrameDefault(struct _frame *f, int exc); # 175 "./Include/ceval.h" PyThreadState * PyEval_SaveThread(void); void PyEval_RestoreThread(PyThreadState *); int PyEval_ThreadsInitialized(void); void PyEval_InitThreads(void); void _PyEval_FiniThreads(void); void PyEval_AcquireLock(void); void PyEval_ReleaseLock(void); void PyEval_AcquireThread(PyThreadState *tstate); void PyEval_ReleaseThread(PyThreadState *tstate); void PyEval_ReInitThreads(void); void _PyEval_SetSwitchInterval(unsigned long microseconds); unsigned long _PyEval_GetSwitchInterval(void); Py_ssize_t _PyEval_RequestCodeExtraIndex(freefunc); # 218 "./Include/ceval.h" int _PyEval_SliceIndex(PyObject *, Py_ssize_t *); int _PyEval_SliceIndexNotNone(PyObject *, Py_ssize_t *); void _PyEval_SignalAsyncExc(void); # 118 "./Include/Python.h" 2 # 1 "./Include/sysmodule.h" 1 # 10 "./Include/sysmodule.h" PyObject * PySys_GetObject(const char *); int PySys_SetObject(const char *, PyObject *); PyObject * _PySys_GetObjectId(_Py_Identifier *key); int _PySys_SetObjectId(_Py_Identifier *key, PyObject *); void PySys_SetArgv(int, wchar_t **); void PySys_SetArgvEx(int, wchar_t **, int); void PySys_SetPath(const wchar_t *); void PySys_WriteStdout(const char *format, ...) __attribute__((format(printf, 1, 2))); void PySys_WriteStderr(const char *format, ...) __attribute__((format(printf, 1, 2))); void PySys_FormatStdout(const char *format, ...); void PySys_FormatStderr(const char *format, ...); void PySys_ResetWarnOptions(void); void PySys_AddWarnOption(const wchar_t *); void PySys_AddWarnOptionUnicode(PyObject *); int PySys_HasWarnOptions(void); void PySys_AddXOption(const wchar_t *); PyObject * PySys_GetXOptions(void); size_t _PySys_GetSizeOf(PyObject *); # 119 "./Include/Python.h" 2 # 1 "./Include/osmodule.h" 1 # 11 "./Include/osmodule.h" PyObject * PyOS_FSPath(PyObject *path); # 120 "./Include/Python.h" 2 # 1 "./Include/intrcheck.h" 1 int PyOS_InterruptOccurred(void); void PyOS_InitInterrupts(void); void PyOS_AfterFork(void); int _PyOS_IsMainThread(void); # 121 "./Include/Python.h" 2 # 1 "./Include/import.h" 1 # 11 "./Include/import.h" void _PyImportZip_Init(void); PyObject* PyInit_imp(void); long PyImport_GetMagicNumber(void); const char * PyImport_GetMagicTag(void); PyObject * PyImport_ExecCodeModule( const char *name, PyObject *co ); PyObject * PyImport_ExecCodeModuleEx( const char *name, PyObject *co, const char *pathname ); PyObject * PyImport_ExecCodeModuleWithPathnames( const char *name, PyObject *co, const char *pathname, const char *cpathname ); PyObject * PyImport_ExecCodeModuleObject( PyObject *name, PyObject *co, PyObject *pathname, PyObject *cpathname ); PyObject * PyImport_GetModuleDict(void); PyObject * PyImport_AddModuleObject( PyObject *name ); PyObject * PyImport_AddModule( const char *name ); PyObject * PyImport_ImportModule( const char *name ); PyObject * PyImport_ImportModuleNoBlock( const char *name ); PyObject * PyImport_ImportModuleLevel( const char *name, PyObject *globals, PyObject *locals, PyObject *fromlist, int level ); PyObject * PyImport_ImportModuleLevelObject( PyObject *name, PyObject *globals, PyObject *locals, PyObject *fromlist, int level ); PyObject * PyImport_GetImporter(PyObject *path); PyObject * PyImport_Import(PyObject *name); PyObject * PyImport_ReloadModule(PyObject *m); void PyImport_Cleanup(void); int PyImport_ImportFrozenModuleObject( PyObject *name ); int PyImport_ImportFrozenModule( const char *name ); void _PyImport_AcquireLock(void); int _PyImport_ReleaseLock(void); void _PyImport_ReInitLock(void); PyObject * _PyImport_FindBuiltin( const char *name ); PyObject * _PyImport_FindExtensionObject(PyObject *, PyObject *); int _PyImport_FixupBuiltin( PyObject *mod, const char *name ); int _PyImport_FixupExtensionObject(PyObject*, PyObject *, PyObject *); struct _inittab { const char *name; PyObject* (*initfunc)(void); }; extern struct _inittab * PyImport_Inittab; int PyImport_ExtendInittab(struct _inittab *newtab); extern PyTypeObject PyNullImporter_Type; int PyImport_AppendInittab( const char *name, PyObject* (*initfunc)(void) ); struct _frozen { const char *name; const unsigned char *code; int size; }; extern const struct _frozen * PyImport_FrozenModules; # 122 "./Include/Python.h" 2 # 1 "./Include/abstract.h" 1 # 268 "./Include/abstract.h" PyObject * PyObject_Call(PyObject *callable_object, PyObject *args, PyObject *kwargs); # 278 "./Include/abstract.h" PyObject* _PyStack_AsTuple( PyObject **stack, Py_ssize_t nargs); # 289 "./Include/abstract.h" PyObject * _PyStack_AsDict( PyObject **values, PyObject *kwnames); # 304 "./Include/abstract.h" int _PyStack_UnpackDict( PyObject **args, Py_ssize_t nargs, PyObject *kwargs, PyObject ***p_stack, PyObject **p_kwnames); # 320 "./Include/abstract.h" PyObject * _PyObject_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); # 339 "./Include/abstract.h" PyObject * _PyObject_FastCallKeywords (PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwnames); # 354 "./Include/abstract.h" PyObject * _PyObject_Call_Prepend(PyObject *func, PyObject *obj, PyObject *args, PyObject *kwargs); PyObject * _Py_CheckFunctionResult(PyObject *func, PyObject *result, const char *where); PyObject * PyObject_CallObject(PyObject *callable_object, PyObject *args); # 374 "./Include/abstract.h" PyObject * PyObject_CallFunction(PyObject *callable_object, const char *format, ...); # 387 "./Include/abstract.h" PyObject * PyObject_CallMethod(PyObject *o, const char *method, const char *format, ...); # 401 "./Include/abstract.h" PyObject * _PyObject_CallMethodId(PyObject *o, _Py_Identifier *method, const char *format, ...); PyObject * _PyObject_CallFunction_SizeT(PyObject *callable, const char *format, ...); PyObject * _PyObject_CallMethod_SizeT(PyObject *o, const char *name, const char *format, ...); PyObject * _PyObject_CallMethodId_SizeT(PyObject *o, _Py_Identifier *name, const char *format, ...); PyObject * PyObject_CallFunctionObjArgs(PyObject *callable, ...); # 437 "./Include/abstract.h" PyObject * PyObject_CallMethodObjArgs(PyObject *o, PyObject *method, ...); PyObject * _PyObject_CallMethodIdObjArgs(PyObject *o, struct _Py_Identifier *method, ...); # 482 "./Include/abstract.h" PyObject * PyObject_Type(PyObject *o); Py_ssize_t PyObject_Size(PyObject *o); # 501 "./Include/abstract.h" Py_ssize_t PyObject_Length(PyObject *o); int _PyObject_HasLen(PyObject *o); Py_ssize_t PyObject_LengthHint(PyObject *o, Py_ssize_t); # 515 "./Include/abstract.h" PyObject * PyObject_GetItem(PyObject *o, PyObject *key); int PyObject_SetItem(PyObject *o, PyObject *key, PyObject *v); int PyObject_DelItemString(PyObject *o, const char *key); int PyObject_DelItem(PyObject *o, PyObject *key); # 552 "./Include/abstract.h" int PyObject_AsCharBuffer(PyObject *obj, const char **buffer, Py_ssize_t *buffer_len); # 567 "./Include/abstract.h" int PyObject_CheckReadBuffer(PyObject *obj); int PyObject_AsReadBuffer(PyObject *obj, const void **buffer, Py_ssize_t *buffer_len); # 590 "./Include/abstract.h" int PyObject_AsWriteBuffer(PyObject *obj, void **buffer, Py_ssize_t *buffer_len); # 614 "./Include/abstract.h" int PyObject_GetBuffer(PyObject *obj, Py_buffer *view, int flags); # 624 "./Include/abstract.h" void * PyBuffer_GetPointer(Py_buffer *view, Py_ssize_t *indices); int PyBuffer_SizeFromFormat(const char *); int PyBuffer_ToContiguous(void *buf, Py_buffer *view, Py_ssize_t len, char order); int PyBuffer_FromContiguous(Py_buffer *view, void *buf, Py_ssize_t len, char order); # 661 "./Include/abstract.h" int PyObject_CopyData(PyObject *dest, PyObject *src); int PyBuffer_IsContiguous(const Py_buffer *view, char fort); void PyBuffer_FillContiguousStrides(int ndims, Py_ssize_t *shape, Py_ssize_t *strides, int itemsize, char fort); int PyBuffer_FillInfo(Py_buffer *view, PyObject *o, void *buf, Py_ssize_t len, int readonly, int flags); void PyBuffer_Release(Py_buffer *view); PyObject * PyObject_Format(PyObject* obj, PyObject *format_spec); PyObject * PyObject_GetIter(PyObject *); # 715 "./Include/abstract.h" PyObject * PyIter_Next(PyObject *); int PyNumber_Check(PyObject *o); # 732 "./Include/abstract.h" PyObject * PyNumber_Add(PyObject *o1, PyObject *o2); PyObject * PyNumber_Subtract(PyObject *o1, PyObject *o2); PyObject * PyNumber_Multiply(PyObject *o1, PyObject *o2); # 756 "./Include/abstract.h" PyObject * PyNumber_MatrixMultiply(PyObject *o1, PyObject *o2); PyObject * PyNumber_FloorDivide(PyObject *o1, PyObject *o2); PyObject * PyNumber_TrueDivide(PyObject *o1, PyObject *o2); PyObject * PyNumber_Remainder(PyObject *o1, PyObject *o2); PyObject * PyNumber_Divmod(PyObject *o1, PyObject *o2); PyObject * PyNumber_Power(PyObject *o1, PyObject *o2, PyObject *o3); PyObject * PyNumber_Negative(PyObject *o); PyObject * PyNumber_Positive(PyObject *o); PyObject * PyNumber_Absolute(PyObject *o); PyObject * PyNumber_Invert(PyObject *o); PyObject * PyNumber_Lshift(PyObject *o1, PyObject *o2); PyObject * PyNumber_Rshift(PyObject *o1, PyObject *o2); PyObject * PyNumber_And(PyObject *o1, PyObject *o2); # 858 "./Include/abstract.h" PyObject * PyNumber_Xor(PyObject *o1, PyObject *o2); PyObject * PyNumber_Or(PyObject *o1, PyObject *o2); # 878 "./Include/abstract.h" PyObject * PyNumber_Index(PyObject *o); Py_ssize_t PyNumber_AsSsize_t(PyObject *o, PyObject *exc); # 895 "./Include/abstract.h" PyObject * PyNumber_Long(PyObject *o); PyObject * PyNumber_Float(PyObject *o); # 913 "./Include/abstract.h" PyObject * PyNumber_InPlaceAdd(PyObject *o1, PyObject *o2); PyObject * PyNumber_InPlaceSubtract(PyObject *o1, PyObject *o2); PyObject * PyNumber_InPlaceMultiply(PyObject *o1, PyObject *o2); # 938 "./Include/abstract.h" PyObject * PyNumber_InPlaceMatrixMultiply(PyObject *o1, PyObject *o2); PyObject * PyNumber_InPlaceFloorDivide(PyObject *o1, PyObject *o2); # 955 "./Include/abstract.h" PyObject * PyNumber_InPlaceTrueDivide(PyObject *o1, PyObject *o2); # 965 "./Include/abstract.h" PyObject * PyNumber_InPlaceRemainder(PyObject *o1, PyObject *o2); PyObject * PyNumber_InPlacePower(PyObject *o1, PyObject *o2, PyObject *o3); PyObject * PyNumber_InPlaceLshift(PyObject *o1, PyObject *o2); PyObject * PyNumber_InPlaceRshift(PyObject *o1, PyObject *o2); PyObject * PyNumber_InPlaceAnd(PyObject *o1, PyObject *o2); PyObject * PyNumber_InPlaceXor(PyObject *o1, PyObject *o2); PyObject * PyNumber_InPlaceOr(PyObject *o1, PyObject *o2); PyObject * PyNumber_ToBase(PyObject *n, int base); # 1033 "./Include/abstract.h" int PySequence_Check(PyObject *o); # 1042 "./Include/abstract.h" Py_ssize_t PySequence_Size(PyObject *o); Py_ssize_t PySequence_Length(PyObject *o); PyObject * PySequence_Concat(PyObject *o1, PyObject *o2); PyObject * PySequence_Repeat(PyObject *o, Py_ssize_t count); PyObject * PySequence_GetItem(PyObject *o, Py_ssize_t i); PyObject * PySequence_GetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2); int PySequence_SetItem(PyObject *o, Py_ssize_t i, PyObject *v); int PySequence_DelItem(PyObject *o, Py_ssize_t i); int PySequence_SetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2, PyObject *v); int PySequence_DelSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2); PyObject * PySequence_Tuple(PyObject *o); PyObject * PySequence_List(PyObject *o); PyObject * PySequence_Fast(PyObject *o, const char* m); # 1168 "./Include/abstract.h" Py_ssize_t PySequence_Count(PyObject *o, PyObject *value); # 1177 "./Include/abstract.h" int PySequence_Contains(PyObject *seq, PyObject *ob); # 1187 "./Include/abstract.h" Py_ssize_t _PySequence_IterSearch(PyObject *seq, PyObject *obj, int operation); # 1203 "./Include/abstract.h" int PySequence_In(PyObject *o, PyObject *value); # 1214 "./Include/abstract.h" Py_ssize_t PySequence_Index(PyObject *o, PyObject *value); # 1224 "./Include/abstract.h" PyObject * PySequence_InPlaceConcat(PyObject *o1, PyObject *o2); # 1233 "./Include/abstract.h" PyObject * PySequence_InPlaceRepeat(PyObject *o, Py_ssize_t count); # 1244 "./Include/abstract.h" int PyMapping_Check(PyObject *o); # 1253 "./Include/abstract.h" Py_ssize_t PyMapping_Size(PyObject *o); # 1263 "./Include/abstract.h" Py_ssize_t PyMapping_Length(PyObject *o); # 1287 "./Include/abstract.h" int PyMapping_HasKeyString(PyObject *o, const char *key); # 1297 "./Include/abstract.h" int PyMapping_HasKey(PyObject *o, PyObject *key); # 1308 "./Include/abstract.h" PyObject * PyMapping_Keys(PyObject *o); PyObject * PyMapping_Values(PyObject *o); PyObject * PyMapping_Items(PyObject *o); # 1331 "./Include/abstract.h" PyObject * PyMapping_GetItemString(PyObject *o, const char *key); int PyMapping_SetItemString(PyObject *o, const char *key, PyObject *value); # 1350 "./Include/abstract.h" int PyObject_IsInstance(PyObject *object, PyObject *typeorclass); int PyObject_IsSubclass(PyObject *object, PyObject *typeorclass); int _PyObject_RealIsInstance(PyObject *inst, PyObject *cls); int _PyObject_RealIsSubclass(PyObject *derived, PyObject *cls); char *const * _PySequence_BytesToCharpArray(PyObject* self); void _Py_FreeCharPArray(char *const array[]); void _Py_add_one_to_index_F(int nd, Py_ssize_t *index, const Py_ssize_t *shape); void _Py_add_one_to_index_C(int nd, Py_ssize_t *index, const Py_ssize_t *shape); # 124 "./Include/Python.h" 2 # 1 "./Include/bltinmodule.h" 1 extern PyTypeObject PyFilter_Type; extern PyTypeObject PyMap_Type; extern PyTypeObject PyZip_Type; # 125 "./Include/Python.h" 2 # 1 "./Include/compile.h" 1 # 1 "./Include/code.h" 1 # 10 "./Include/code.h" typedef uint16_t _Py_CODEUNIT; # 21 "./Include/code.h" typedef struct { PyObject ob_base; int co_argcount; int co_kwonlyargcount; int co_nlocals; int co_stacksize; int co_flags; int co_firstlineno; PyObject *co_code; PyObject *co_consts; PyObject *co_names; PyObject *co_varnames; PyObject *co_freevars; PyObject *co_cellvars; unsigned char *co_cell2arg; PyObject *co_filename; PyObject *co_name; PyObject *co_lnotab; void *co_zombieframe; PyObject *co_weakreflist; void *co_extra; } PyCodeObject; # 98 "./Include/code.h" extern PyTypeObject PyCode_Type; PyCodeObject * PyCode_New( int, int, int, int, int, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, int, PyObject *); PyCodeObject * PyCode_NewEmpty(const char *filename, const char *funcname, int firstlineno); int PyCode_Addr2Line(PyCodeObject *, int); typedef struct _addr_pair { int ap_lower; int ap_upper; } PyAddrPair; int _PyCode_CheckLineNumber(PyCodeObject* co, int lasti, PyAddrPair *bounds); # 139 "./Include/code.h" PyObject* _PyCode_ConstantKey(PyObject *obj); PyObject* PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names, PyObject *lnotab); int _PyCode_GetExtra(PyObject *code, Py_ssize_t index, void **extra); int _PyCode_SetExtra(PyObject *code, Py_ssize_t index, void *extra); # 6 "./Include/compile.h" 2 struct _node; PyCodeObject * PyNode_Compile(struct _node *, const char *); typedef struct { int ff_features; int ff_lineno; } PyFutureFeatures; # 32 "./Include/compile.h" struct _mod; PyCodeObject * PyAST_CompileEx( struct _mod *mod, const char *filename, PyCompilerFlags *flags, int optimize, PyArena *arena); PyCodeObject * PyAST_CompileObject( struct _mod *mod, PyObject *filename, PyCompilerFlags *flags, int optimize, PyArena *arena); PyFutureFeatures * PyFuture_FromAST( struct _mod * mod, const char *filename ); PyFutureFeatures * PyFuture_FromASTObject( struct _mod * mod, PyObject *filename ); PyObject* _Py_Mangle(PyObject *p, PyObject *name); int PyCompile_OpcodeStackEffect(int opcode, int oparg); # 127 "./Include/Python.h" 2 # 1 "./Include/eval.h" 1 # 10 "./Include/eval.h" PyObject * PyEval_EvalCode(PyObject *, PyObject *, PyObject *); PyObject * PyEval_EvalCodeEx(PyObject *co, PyObject *globals, PyObject *locals, PyObject **args, int argc, PyObject **kwds, int kwdc, PyObject **defs, int defc, PyObject *kwdefs, PyObject *closure); PyObject * _PyEval_CallTracing(PyObject *func, PyObject *args); # 128 "./Include/Python.h" 2 # 1 "./Include/pyctype.h" 1 # 13 "./Include/pyctype.h" extern const unsigned int _Py_ctype_table[256]; # 26 "./Include/pyctype.h" extern const unsigned char _Py_ctype_tolower[256]; extern const unsigned char _Py_ctype_toupper[256]; # 130 "./Include/Python.h" 2 # 1 "./Include/pystrtod.h" 1 # 9 "./Include/pystrtod.h" double PyOS_string_to_double(const char *str, char **endptr, PyObject *overflow_exception); char * PyOS_double_to_string(double val, char format_code, int precision, int flags, int *type); PyObject * _Py_string_to_number_with_underscores( const char *str, Py_ssize_t len, const char *what, PyObject *obj, void *arg, PyObject *(*innerfunc)(const char *, Py_ssize_t, void *)); double _Py_parse_inf_or_nan(const char *p, char **endptr); # 131 "./Include/Python.h" 2 # 1 "./Include/pystrcmp.h" 1 int PyOS_mystrnicmp(const char *, const char *, Py_ssize_t); int PyOS_mystricmp(const char *, const char *); # 132 "./Include/Python.h" 2 # 1 "./Include/dtoa.h" 1 double _Py_dg_strtod(const char *str, char **ptr); char * _Py_dg_dtoa(double d, int mode, int ndigits, int *decpt, int *sign, char **rve); void _Py_dg_freedtoa(char *s); double _Py_dg_stdnan(int sign); double _Py_dg_infinity(int sign); # 133 "./Include/Python.h" 2 # 1 "./Include/fileutils.h" 1 # 9 "./Include/fileutils.h" wchar_t * Py_DecodeLocale( const char *arg, size_t *size); char* Py_EncodeLocale( const wchar_t *text, size_t *error_pos); PyObject * _Py_device_encoding(int); # 44 "./Include/fileutils.h" int _Py_fstat( int fd, struct stat *status); int _Py_fstat_noraise( int fd, struct stat *status); int _Py_stat( PyObject *path, struct stat *status); int _Py_open( const char *pathname, int flags); int _Py_open_noraise( const char *pathname, int flags); FILE * _Py_wfopen( const wchar_t *path, const wchar_t *mode); FILE* _Py_fopen( const char *pathname, const char *mode); FILE* _Py_fopen_obj( PyObject *path, const char *mode); Py_ssize_t _Py_read( int fd, void *buf, size_t count); Py_ssize_t _Py_write( int fd, const void *buf, size_t count); Py_ssize_t _Py_write_noraise( int fd, const void *buf, size_t count); int _Py_wreadlink( const wchar_t *path, wchar_t *buf, size_t bufsiz); wchar_t* _Py_wrealpath( const wchar_t *path, wchar_t *resolved_path, size_t resolved_path_size); wchar_t* _Py_wgetcwd( wchar_t *buf, size_t size); int _Py_get_inheritable(int fd); int _Py_set_inheritable(int fd, int inheritable, int *atomic_flag_works); int _Py_dup(int fd); int _Py_get_blocking(int fd); int _Py_set_blocking(int fd, int blocking); # 134 "./Include/Python.h" 2 # 1 "./Include/pyfpe.h" 1 # 135 "./Include/Python.h" 2 # 101 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" 2 # 1 "./Include/structmember.h" 1 # 10 "./Include/structmember.h" # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h" 1 3 4 # 147 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h" 3 4 typedef long int ptrdiff_t; # 11 "./Include/structmember.h" 2 typedef struct PyMemberDef { char *name; int type; Py_ssize_t offset; int flags; char *doc; } PyMemberDef; # 67 "./Include/structmember.h" PyObject * PyMember_GetOne(const char *, struct PyMemberDef *); int PyMember_SetOne(char *, struct PyMemberDef *, PyObject *); # 102 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" 2 static char sock_doc[] = "socket(family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None) -> socket object\n\nOpen a socket of the given type. The family argument specifies the\naddress family; it defaults to AF_INET. The type argument specifies\nwhether this is a stream (SOCK_STREAM, this is the default)\nor datagram (SOCK_DGRAM) socket. The protocol argument defaults to 0,\nspecifying the default protocol. Keyword arguments are accepted.\nThe socket is created as non-inheritable.\n\nA socket object represents one endpoint of a network connection.\n\nMethods of socket objects (keyword arguments not allowed):\n\n_accept() -- accept connection, returning new socket fd and client address\nbind(addr) -- bind the socket to a local address\nclose() -- close the socket\nconnect(addr) -- connect the socket to a remote address\nconnect_ex(addr) -- connect, return an error code instead of an exception\ndup() -- return a new socket fd duplicated from fileno()\nfileno() -- return underlying file descriptor\ngetpeername() -- return remote address [*]\ngetsockname() -- return local address\ngetsockopt(level, optname[, buflen]) -- get socket options\ngettimeout() -- return timeout or None\nlisten([n]) -- start listening for incoming connections\nrecv(buflen[, flags]) -- receive data\nrecv_into(buffer[, nbytes[, flags]]) -- receive data (into a buffer)\nrecvfrom(buflen[, flags]) -- receive data and sender\'s address\nrecvfrom_into(buffer[, nbytes, [, flags])\n -- receive data and sender\'s address (into a buffer)\nsendall(data[, flags]) -- send all data\nsend(data[, flags]) -- send data, may not send all of it\nsendto(data[, flags], addr) -- send data to a given address\nsetblocking(0 | 1) -- set or clear the blocking I/O flag\nsetsockopt(level, optname, value[, optlen]) -- set socket options\nsettimeout(None | float) -- set or clear the timeout\nshutdown(how) -- shut down traffic in one or both directions\nif_nameindex() -- return all network interface indices and names\nif_nametoindex(name) -- return the corresponding interface index\nif_indextoname(index) -- return the corresponding interface name\n\n [*] not available on all platforms!" # 146 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" ; # 195 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" # 1 "/usr/include/x86_64-linux-gnu/sys/param.h" 1 3 4 # 23 "/usr/include/x86_64-linux-gnu/sys/param.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h" 1 3 4 # 24 "/usr/include/x86_64-linux-gnu/sys/param.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h" 1 3 4 # 27 "/usr/include/x86_64-linux-gnu/sys/param.h" 2 3 4 # 1 "/usr/include/signal.h" 1 3 4 # 30 "/usr/include/signal.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/sigset.h" 1 3 4 # 102 "/usr/include/x86_64-linux-gnu/bits/sigset.h" 3 4 extern int __sigismember (const __sigset_t *, int); extern int __sigaddset (__sigset_t *, int); extern int __sigdelset (__sigset_t *, int); # 116 "/usr/include/x86_64-linux-gnu/bits/sigset.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) int __sigismember (const __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return (__set->__val[__word] & __mask) ? 1 : 0; } extern __inline __attribute__ ((__gnu_inline__)) int __sigaddset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] |= __mask), 0); } extern __inline __attribute__ ((__gnu_inline__)) int __sigdelset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] &= ~__mask), 0); } # 33 "/usr/include/signal.h" 2 3 4 typedef __sig_atomic_t sig_atomic_t; # 57 "/usr/include/signal.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/signum.h" 1 3 4 # 58 "/usr/include/signal.h" 2 3 4 # 80 "/usr/include/signal.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/siginfo.h" 1 3 4 # 24 "/usr/include/x86_64-linux-gnu/bits/siginfo.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 # 25 "/usr/include/x86_64-linux-gnu/bits/siginfo.h" 2 3 4 typedef union sigval { int sival_int; void *sival_ptr; } sigval_t; # 58 "/usr/include/x86_64-linux-gnu/bits/siginfo.h" 3 4 typedef __clock_t __sigchld_clock_t; typedef struct { int si_signo; int si_errno; int si_code; union { int _pad[((128 / sizeof (int)) - 4)]; struct { __pid_t si_pid; __uid_t si_uid; } _kill; struct { int si_tid; int si_overrun; sigval_t si_sigval; } _timer; struct { __pid_t si_pid; __uid_t si_uid; sigval_t si_sigval; } _rt; struct { __pid_t si_pid; __uid_t si_uid; int si_status; __sigchld_clock_t si_utime; __sigchld_clock_t si_stime; } _sigchld; struct { void *si_addr; short int si_addr_lsb; } _sigfault; struct { long int si_band; int si_fd; } _sigpoll; struct { void *_call_addr; int _syscall; unsigned int _arch; } _sigsys; } _sifields; } siginfo_t ; # 153 "/usr/include/x86_64-linux-gnu/bits/siginfo.h" 3 4 enum { SI_ASYNCNL = -60, SI_TKILL = -6, SI_SIGIO, SI_ASYNCIO, SI_MESGQ, SI_TIMER, SI_QUEUE, SI_USER, SI_KERNEL = 0x80 }; enum { ILL_ILLOPC = 1, ILL_ILLOPN, ILL_ILLADR, ILL_ILLTRP, ILL_PRVOPC, ILL_PRVREG, ILL_COPROC, ILL_BADSTK }; enum { FPE_INTDIV = 1, FPE_INTOVF, FPE_FLTDIV, FPE_FLTOVF, FPE_FLTUND, FPE_FLTRES, FPE_FLTINV, FPE_FLTSUB }; enum { SEGV_MAPERR = 1, SEGV_ACCERR }; enum { BUS_ADRALN = 1, BUS_ADRERR, BUS_OBJERR, BUS_MCEERR_AR, BUS_MCEERR_AO }; enum { TRAP_BRKPT = 1, TRAP_TRACE }; enum { CLD_EXITED = 1, CLD_KILLED, CLD_DUMPED, CLD_TRAPPED, CLD_STOPPED, CLD_CONTINUED }; enum { POLL_IN = 1, POLL_OUT, POLL_MSG, POLL_ERR, POLL_PRI, POLL_HUP }; # 307 "/usr/include/x86_64-linux-gnu/bits/siginfo.h" 3 4 typedef struct sigevent { sigval_t sigev_value; int sigev_signo; int sigev_notify; union { int _pad[((64 / sizeof (int)) - 4)]; __pid_t _tid; struct { void (*_function) (sigval_t); pthread_attr_t *_attribute; } _sigev_thread; } _sigev_un; } sigevent_t; enum { SIGEV_SIGNAL = 0, SIGEV_NONE, SIGEV_THREAD, SIGEV_THREAD_ID = 4 }; # 81 "/usr/include/signal.h" 2 3 4 typedef void (*__sighandler_t) (int); extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler) __attribute__ ((__nothrow__ , __leaf__)); extern __sighandler_t sysv_signal (int __sig, __sighandler_t __handler) __attribute__ ((__nothrow__ , __leaf__)); extern __sighandler_t signal (int __sig, __sighandler_t __handler) __attribute__ ((__nothrow__ , __leaf__)); # 114 "/usr/include/signal.h" 3 4 extern __sighandler_t bsd_signal (int __sig, __sighandler_t __handler) __attribute__ ((__nothrow__ , __leaf__)); extern int kill (__pid_t __pid, int __sig) __attribute__ ((__nothrow__ , __leaf__)); extern int killpg (__pid_t __pgrp, int __sig) __attribute__ ((__nothrow__ , __leaf__)); extern int raise (int __sig) __attribute__ ((__nothrow__ , __leaf__)); extern __sighandler_t ssignal (int __sig, __sighandler_t __handler) __attribute__ ((__nothrow__ , __leaf__)); extern int gsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__)); extern void psignal (int __sig, const char *__s); extern void psiginfo (const siginfo_t *__pinfo, const char *__s); # 167 "/usr/include/signal.h" 3 4 extern int __sigpause (int __sig_or_mask, int __is_sig); extern int sigpause (int __sig) __asm__ ("__xpg_sigpause"); # 189 "/usr/include/signal.h" 3 4 extern int sigblock (int __mask) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); extern int sigsetmask (int __mask) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); extern int siggetmask (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); # 204 "/usr/include/signal.h" 3 4 typedef __sighandler_t sighandler_t; typedef __sighandler_t sig_t; extern int sigemptyset (sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int sigfillset (sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int sigaddset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int sigdelset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int sigismember (const sigset_t *__set, int __signo) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int sigisemptyset (const sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int sigandset (sigset_t *__set, const sigset_t *__left, const sigset_t *__right) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))); extern int sigorset (sigset_t *__set, const sigset_t *__left, const sigset_t *__right) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))); # 1 "/usr/include/x86_64-linux-gnu/bits/sigaction.h" 1 3 4 # 24 "/usr/include/x86_64-linux-gnu/bits/sigaction.h" 3 4 struct sigaction { union { __sighandler_t sa_handler; void (*sa_sigaction) (int, siginfo_t *, void *); } __sigaction_handler; __sigset_t sa_mask; int sa_flags; void (*sa_restorer) (void); }; # 246 "/usr/include/signal.h" 2 3 4 extern int sigprocmask (int __how, const sigset_t *__restrict __set, sigset_t *__restrict __oset) __attribute__ ((__nothrow__ , __leaf__)); extern int sigsuspend (const sigset_t *__set) __attribute__ ((__nonnull__ (1))); extern int sigaction (int __sig, const struct sigaction *__restrict __act, struct sigaction *__restrict __oact) __attribute__ ((__nothrow__ , __leaf__)); extern int sigpending (sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int sigwait (const sigset_t *__restrict __set, int *__restrict __sig) __attribute__ ((__nonnull__ (1, 2))); extern int sigwaitinfo (const sigset_t *__restrict __set, siginfo_t *__restrict __info) __attribute__ ((__nonnull__ (1))); extern int sigtimedwait (const sigset_t *__restrict __set, siginfo_t *__restrict __info, const struct timespec *__restrict __timeout) __attribute__ ((__nonnull__ (1))); extern int sigqueue (__pid_t __pid, int __sig, const union sigval __val) __attribute__ ((__nothrow__ , __leaf__)); # 303 "/usr/include/signal.h" 3 4 extern const char *const _sys_siglist[65]; extern const char *const sys_siglist[65]; struct sigvec { __sighandler_t sv_handler; int sv_mask; int sv_flags; }; # 327 "/usr/include/signal.h" 3 4 extern int sigvec (int __sig, const struct sigvec *__vec, struct sigvec *__ovec) __attribute__ ((__nothrow__ , __leaf__)); # 1 "/usr/include/x86_64-linux-gnu/bits/sigcontext.h" 1 3 4 # 29 "/usr/include/x86_64-linux-gnu/bits/sigcontext.h" 3 4 struct _fpx_sw_bytes { __uint32_t magic1; __uint32_t extended_size; __uint64_t xstate_bv; __uint32_t xstate_size; __uint32_t padding[7]; }; struct _fpreg { unsigned short significand[4]; unsigned short exponent; }; struct _fpxreg { unsigned short significand[4]; unsigned short exponent; unsigned short padding[3]; }; struct _xmmreg { __uint32_t element[4]; }; # 121 "/usr/include/x86_64-linux-gnu/bits/sigcontext.h" 3 4 struct _fpstate { __uint16_t cwd; __uint16_t swd; __uint16_t ftw; __uint16_t fop; __uint64_t rip; __uint64_t rdp; __uint32_t mxcsr; __uint32_t mxcr_mask; struct _fpxreg _st[8]; struct _xmmreg _xmm[16]; __uint32_t padding[24]; }; struct sigcontext { __uint64_t r8; __uint64_t r9; __uint64_t r10; __uint64_t r11; __uint64_t r12; __uint64_t r13; __uint64_t r14; __uint64_t r15; __uint64_t rdi; __uint64_t rsi; __uint64_t rbp; __uint64_t rbx; __uint64_t rdx; __uint64_t rax; __uint64_t rcx; __uint64_t rsp; __uint64_t rip; __uint64_t eflags; unsigned short cs; unsigned short gs; unsigned short fs; unsigned short __pad0; __uint64_t err; __uint64_t trapno; __uint64_t oldmask; __uint64_t cr2; __extension__ union { struct _fpstate * fpstate; __uint64_t __fpstate_word; }; __uint64_t __reserved1 [8]; }; struct _xsave_hdr { __uint64_t xstate_bv; __uint64_t reserved1[2]; __uint64_t reserved2[5]; }; struct _ymmh_state { __uint32_t ymmh_space[64]; }; struct _xstate { struct _fpstate fpstate; struct _xsave_hdr xstate_hdr; struct _ymmh_state ymmh; }; # 333 "/usr/include/signal.h" 2 3 4 extern int sigreturn (struct sigcontext *__scp) __attribute__ ((__nothrow__ , __leaf__)); # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h" 1 3 4 # 343 "/usr/include/signal.h" 2 3 4 extern int siginterrupt (int __sig, int __interrupt) __attribute__ ((__nothrow__ , __leaf__)); # 1 "/usr/include/x86_64-linux-gnu/bits/sigstack.h" 1 3 4 # 25 "/usr/include/x86_64-linux-gnu/bits/sigstack.h" 3 4 struct sigstack { void *ss_sp; int ss_onstack; }; enum { SS_ONSTACK = 1, SS_DISABLE }; # 49 "/usr/include/x86_64-linux-gnu/bits/sigstack.h" 3 4 typedef struct sigaltstack { void *ss_sp; int ss_flags; size_t ss_size; } stack_t; # 350 "/usr/include/signal.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/sys/ucontext.h" 1 3 4 # 22 "/usr/include/x86_64-linux-gnu/sys/ucontext.h" 3 4 # 1 "/usr/include/signal.h" 1 3 4 # 23 "/usr/include/x86_64-linux-gnu/sys/ucontext.h" 2 3 4 # 31 "/usr/include/x86_64-linux-gnu/sys/ucontext.h" 3 4 __extension__ typedef long long int greg_t; typedef greg_t gregset_t[23]; enum { REG_R8 = 0, REG_R9, REG_R10, REG_R11, REG_R12, REG_R13, REG_R14, REG_R15, REG_RDI, REG_RSI, REG_RBP, REG_RBX, REG_RDX, REG_RAX, REG_RCX, REG_RSP, REG_RIP, REG_EFL, REG_CSGSFS, REG_ERR, REG_TRAPNO, REG_OLDMASK, REG_CR2 }; struct _libc_fpxreg { unsigned short int significand[4]; unsigned short int exponent; unsigned short int padding[3]; }; struct _libc_xmmreg { __uint32_t element[4]; }; struct _libc_fpstate { __uint16_t cwd; __uint16_t swd; __uint16_t ftw; __uint16_t fop; __uint64_t rip; __uint64_t rdp; __uint32_t mxcsr; __uint32_t mxcr_mask; struct _libc_fpxreg _st[8]; struct _libc_xmmreg _xmm[16]; __uint32_t padding[24]; }; typedef struct _libc_fpstate *fpregset_t; typedef struct { gregset_t gregs; fpregset_t fpregs; __extension__ unsigned long long __reserved1 [8]; } mcontext_t; typedef struct ucontext { unsigned long int uc_flags; struct ucontext *uc_link; stack_t uc_stack; mcontext_t uc_mcontext; __sigset_t uc_sigmask; struct _libc_fpstate __fpregs_mem; } ucontext_t; # 353 "/usr/include/signal.h" 2 3 4 extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); extern int sigaltstack (const struct sigaltstack *__restrict __ss, struct sigaltstack *__restrict __oss) __attribute__ ((__nothrow__ , __leaf__)); extern int sighold (int __sig) __attribute__ ((__nothrow__ , __leaf__)); extern int sigrelse (int __sig) __attribute__ ((__nothrow__ , __leaf__)); extern int sigignore (int __sig) __attribute__ ((__nothrow__ , __leaf__)); extern __sighandler_t sigset (int __sig, __sighandler_t __disp) __attribute__ ((__nothrow__ , __leaf__)); # 1 "/usr/include/x86_64-linux-gnu/bits/sigthread.h" 1 3 4 # 30 "/usr/include/x86_64-linux-gnu/bits/sigthread.h" 3 4 extern int pthread_sigmask (int __how, const __sigset_t *__restrict __newmask, __sigset_t *__restrict __oldmask)__attribute__ ((__nothrow__ , __leaf__)); extern int pthread_kill (pthread_t __threadid, int __signo) __attribute__ ((__nothrow__ , __leaf__)); extern int pthread_sigqueue (pthread_t __threadid, int __signo, const union sigval __value) __attribute__ ((__nothrow__ , __leaf__)); # 389 "/usr/include/signal.h" 2 3 4 extern int __libc_current_sigrtmin (void) __attribute__ ((__nothrow__ , __leaf__)); extern int __libc_current_sigrtmax (void) __attribute__ ((__nothrow__ , __leaf__)); # 29 "/usr/include/x86_64-linux-gnu/sys/param.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/param.h" 1 3 4 # 28 "/usr/include/x86_64-linux-gnu/bits/param.h" 3 4 # 1 "/usr/include/linux/param.h" 1 3 4 # 1 "/usr/include/x86_64-linux-gnu/asm/param.h" 1 3 4 # 1 "/usr/include/asm-generic/param.h" 1 3 4 # 1 "/usr/include/x86_64-linux-gnu/asm/param.h" 2 3 4 # 5 "/usr/include/linux/param.h" 2 3 4 # 29 "/usr/include/x86_64-linux-gnu/bits/param.h" 2 3 4 # 32 "/usr/include/x86_64-linux-gnu/sys/param.h" 2 3 4 # 196 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" 2 # 284 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" # 1 "/usr/include/x86_64-linux-gnu/sys/socket.h" 1 3 4 # 24 "/usr/include/x86_64-linux-gnu/sys/socket.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/sys/uio.h" 1 3 4 # 25 "/usr/include/x86_64-linux-gnu/sys/uio.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/uio.h" 1 3 4 # 43 "/usr/include/x86_64-linux-gnu/bits/uio.h" 3 4 struct iovec { void *iov_base; size_t iov_len; }; # 56 "/usr/include/x86_64-linux-gnu/bits/uio.h" 3 4 extern ssize_t process_vm_readv (pid_t __pid, const struct iovec *__lvec, unsigned long int __liovcnt, const struct iovec *__rvec, unsigned long int __riovcnt, unsigned long int __flags) __attribute__ ((__nothrow__ , __leaf__)); extern ssize_t process_vm_writev (pid_t __pid, const struct iovec *__lvec, unsigned long int __liovcnt, const struct iovec *__rvec, unsigned long int __riovcnt, unsigned long int __flags) __attribute__ ((__nothrow__ , __leaf__)); # 29 "/usr/include/x86_64-linux-gnu/sys/uio.h" 2 3 4 # 39 "/usr/include/x86_64-linux-gnu/sys/uio.h" 3 4 extern ssize_t readv (int __fd, const struct iovec *__iovec, int __count) __attribute__ ((__warn_unused_result__)); # 50 "/usr/include/x86_64-linux-gnu/sys/uio.h" 3 4 extern ssize_t writev (int __fd, const struct iovec *__iovec, int __count) __attribute__ ((__warn_unused_result__)); # 81 "/usr/include/x86_64-linux-gnu/sys/uio.h" 3 4 extern ssize_t preadv (int __fd, const struct iovec *__iovec, int __count, __off64_t __offset) __asm__ ("" "preadv64") __attribute__ ((__warn_unused_result__)); extern ssize_t pwritev (int __fd, const struct iovec *__iovec, int __count, __off64_t __offset) __asm__ ("" "pwritev64") __attribute__ ((__warn_unused_result__)); # 103 "/usr/include/x86_64-linux-gnu/sys/uio.h" 3 4 extern ssize_t preadv64 (int __fd, const struct iovec *__iovec, int __count, __off64_t __offset) __attribute__ ((__warn_unused_result__)); # 115 "/usr/include/x86_64-linux-gnu/sys/uio.h" 3 4 extern ssize_t pwritev64 (int __fd, const struct iovec *__iovec, int __count, __off64_t __offset) __attribute__ ((__warn_unused_result__)); # 27 "/usr/include/x86_64-linux-gnu/sys/socket.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h" 1 3 4 # 29 "/usr/include/x86_64-linux-gnu/sys/socket.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/sigset.h" 1 3 4 # 32 "/usr/include/x86_64-linux-gnu/sys/socket.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/socket.h" 1 3 4 # 27 "/usr/include/x86_64-linux-gnu/bits/socket.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h" 1 3 4 # 28 "/usr/include/x86_64-linux-gnu/bits/socket.h" 2 3 4 # 38 "/usr/include/x86_64-linux-gnu/bits/socket.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/socket_type.h" 1 3 4 # 24 "/usr/include/x86_64-linux-gnu/bits/socket_type.h" 3 4 enum __socket_type { SOCK_STREAM = 1, SOCK_DGRAM = 2, SOCK_RAW = 3, SOCK_RDM = 4, SOCK_SEQPACKET = 5, SOCK_DCCP = 6, SOCK_PACKET = 10, SOCK_CLOEXEC = 02000000, SOCK_NONBLOCK = 00004000 }; # 39 "/usr/include/x86_64-linux-gnu/bits/socket.h" 2 3 4 # 146 "/usr/include/x86_64-linux-gnu/bits/socket.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/sockaddr.h" 1 3 4 # 28 "/usr/include/x86_64-linux-gnu/bits/sockaddr.h" 3 4 typedef unsigned short int sa_family_t; # 147 "/usr/include/x86_64-linux-gnu/bits/socket.h" 2 3 4 struct sockaddr { sa_family_t sa_family; char sa_data[14]; }; # 162 "/usr/include/x86_64-linux-gnu/bits/socket.h" 3 4 struct sockaddr_storage { sa_family_t ss_family; unsigned long int __ss_align; char __ss_padding[(128 - (2 * sizeof (unsigned long int)))]; }; enum { MSG_OOB = 0x01, MSG_PEEK = 0x02, MSG_DONTROUTE = 0x04, MSG_TRYHARD = MSG_DONTROUTE, MSG_CTRUNC = 0x08, MSG_PROXY = 0x10, MSG_TRUNC = 0x20, MSG_DONTWAIT = 0x40, MSG_EOR = 0x80, MSG_WAITALL = 0x100, MSG_FIN = 0x200, MSG_SYN = 0x400, MSG_CONFIRM = 0x800, MSG_RST = 0x1000, MSG_ERRQUEUE = 0x2000, MSG_NOSIGNAL = 0x4000, MSG_MORE = 0x8000, MSG_WAITFORONE = 0x10000, MSG_FASTOPEN = 0x20000000, MSG_CMSG_CLOEXEC = 0x40000000 }; struct msghdr { void *msg_name; socklen_t msg_namelen; struct iovec *msg_iov; size_t msg_iovlen; void *msg_control; size_t msg_controllen; int msg_flags; }; struct cmsghdr { size_t cmsg_len; int cmsg_level; int cmsg_type; __extension__ unsigned char __cmsg_data []; }; # 272 "/usr/include/x86_64-linux-gnu/bits/socket.h" 3 4 extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg) __attribute__ ((__nothrow__ , __leaf__)); extern __inline __attribute__ ((__gnu_inline__)) struct cmsghdr * __attribute__ ((__nothrow__ , __leaf__)) __cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg) { if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr)) return (struct cmsghdr *) 0; __cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg + (((__cmsg->cmsg_len) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1))); if ((unsigned char *) (__cmsg + 1) > ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen) || ((unsigned char *) __cmsg + (((__cmsg->cmsg_len) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)) > ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen))) return (struct cmsghdr *) 0; return __cmsg; } enum { SCM_RIGHTS = 0x01 , SCM_CREDENTIALS = 0x02 }; struct ucred { pid_t pid; uid_t uid; gid_t gid; }; # 345 "/usr/include/x86_64-linux-gnu/bits/socket.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/asm/socket.h" 1 3 4 # 1 "/usr/include/asm-generic/socket.h" 1 3 4 # 1 "/usr/include/x86_64-linux-gnu/asm/sockios.h" 1 3 4 # 1 "/usr/include/asm-generic/sockios.h" 1 3 4 # 1 "/usr/include/x86_64-linux-gnu/asm/sockios.h" 2 3 4 # 5 "/usr/include/asm-generic/socket.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/asm/socket.h" 2 3 4 # 346 "/usr/include/x86_64-linux-gnu/bits/socket.h" 2 3 4 # 379 "/usr/include/x86_64-linux-gnu/bits/socket.h" 3 4 struct linger { int l_onoff; int l_linger; }; # 39 "/usr/include/x86_64-linux-gnu/sys/socket.h" 2 3 4 struct osockaddr { unsigned short int sa_family; unsigned char sa_data[14]; }; enum { SHUT_RD = 0, SHUT_WR, SHUT_RDWR }; # 90 "/usr/include/x86_64-linux-gnu/sys/socket.h" 3 4 typedef union { struct sockaddr *__restrict __sockaddr__; struct sockaddr_at *__restrict __sockaddr_at__; struct sockaddr_ax25 *__restrict __sockaddr_ax25__; struct sockaddr_dl *__restrict __sockaddr_dl__; struct sockaddr_eon *__restrict __sockaddr_eon__; struct sockaddr_in *__restrict __sockaddr_in__; struct sockaddr_in6 *__restrict __sockaddr_in6__; struct sockaddr_inarp *__restrict __sockaddr_inarp__; struct sockaddr_ipx *__restrict __sockaddr_ipx__; struct sockaddr_iso *__restrict __sockaddr_iso__; struct sockaddr_ns *__restrict __sockaddr_ns__; struct sockaddr_un *__restrict __sockaddr_un__; struct sockaddr_x25 *__restrict __sockaddr_x25__; } __SOCKADDR_ARG __attribute__ ((__transparent_union__)); typedef union { const struct sockaddr *__restrict __sockaddr__; const struct sockaddr_at *__restrict __sockaddr_at__; const struct sockaddr_ax25 *__restrict __sockaddr_ax25__; const struct sockaddr_dl *__restrict __sockaddr_dl__; const struct sockaddr_eon *__restrict __sockaddr_eon__; const struct sockaddr_in *__restrict __sockaddr_in__; const struct sockaddr_in6 *__restrict __sockaddr_in6__; const struct sockaddr_inarp *__restrict __sockaddr_inarp__; const struct sockaddr_ipx *__restrict __sockaddr_ipx__; const struct sockaddr_iso *__restrict __sockaddr_iso__; const struct sockaddr_ns *__restrict __sockaddr_ns__; const struct sockaddr_un *__restrict __sockaddr_un__; const struct sockaddr_x25 *__restrict __sockaddr_x25__; } __CONST_SOCKADDR_ARG __attribute__ ((__transparent_union__)); struct mmsghdr { struct msghdr msg_hdr; unsigned int msg_len; }; extern int socket (int __domain, int __type, int __protocol) __attribute__ ((__nothrow__ , __leaf__)); extern int socketpair (int __domain, int __type, int __protocol, int __fds[2]) __attribute__ ((__nothrow__ , __leaf__)); extern int bind (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len) __attribute__ ((__nothrow__ , __leaf__)); extern int getsockname (int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __len) __attribute__ ((__nothrow__ , __leaf__)); # 137 "/usr/include/x86_64-linux-gnu/sys/socket.h" 3 4 extern int connect (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len); extern int getpeername (int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __len) __attribute__ ((__nothrow__ , __leaf__)); extern ssize_t send (int __fd, const void *__buf, size_t __n, int __flags); extern ssize_t recv (int __fd, void *__buf, size_t __n, int __flags); extern ssize_t sendto (int __fd, const void *__buf, size_t __n, int __flags, __CONST_SOCKADDR_ARG __addr, socklen_t __addr_len); # 174 "/usr/include/x86_64-linux-gnu/sys/socket.h" 3 4 extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n, int __flags, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len); extern ssize_t sendmsg (int __fd, const struct msghdr *__message, int __flags); extern int sendmmsg (int __fd, struct mmsghdr *__vmessages, unsigned int __vlen, int __flags); extern ssize_t recvmsg (int __fd, struct msghdr *__message, int __flags); extern int recvmmsg (int __fd, struct mmsghdr *__vmessages, unsigned int __vlen, int __flags, const struct timespec *__tmo); extern int getsockopt (int __fd, int __level, int __optname, void *__restrict __optval, socklen_t *__restrict __optlen) __attribute__ ((__nothrow__ , __leaf__)); extern int setsockopt (int __fd, int __level, int __optname, const void *__optval, socklen_t __optlen) __attribute__ ((__nothrow__ , __leaf__)); extern int listen (int __fd, int __n) __attribute__ ((__nothrow__ , __leaf__)); # 243 "/usr/include/x86_64-linux-gnu/sys/socket.h" 3 4 extern int accept (int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len); extern int accept4 (int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len, int __flags); # 261 "/usr/include/x86_64-linux-gnu/sys/socket.h" 3 4 extern int shutdown (int __fd, int __how) __attribute__ ((__nothrow__ , __leaf__)); extern int sockatmark (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern int isfdtype (int __fd, int __fdtype) __attribute__ ((__nothrow__ , __leaf__)); # 1 "/usr/include/x86_64-linux-gnu/bits/socket2.h" 1 3 4 # 23 "/usr/include/x86_64-linux-gnu/bits/socket2.h" 3 4 extern ssize_t __recv_chk (int __fd, void *__buf, size_t __n, size_t __buflen, int __flags); extern ssize_t __recv_alias (int __fd, void *__buf, size_t __n, int __flags) __asm__ ("" "recv") ; extern ssize_t __recv_chk_warn (int __fd, void *__buf, size_t __n, size_t __buflen, int __flags) __asm__ ("" "__recv_chk") __attribute__((__warning__ ("recv called with bigger length than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) ssize_t recv (int __fd, void *__buf, size_t __n, int __flags) { if (__builtin_object_size (__buf, 0) != (size_t) -1) { if (!__builtin_constant_p (__n)) return __recv_chk (__fd, __buf, __n, __builtin_object_size (__buf, 0), __flags); if (__n > __builtin_object_size (__buf, 0)) return __recv_chk_warn (__fd, __buf, __n, __builtin_object_size (__buf, 0), __flags); } return __recv_alias (__fd, __buf, __n, __flags); } extern ssize_t __recvfrom_chk (int __fd, void *__restrict __buf, size_t __n, size_t __buflen, int __flags, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len); extern ssize_t __recvfrom_alias (int __fd, void *__restrict __buf, size_t __n, int __flags, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len) __asm__ ("" "recvfrom") ; extern ssize_t __recvfrom_chk_warn (int __fd, void *__restrict __buf, size_t __n, size_t __buflen, int __flags, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len) __asm__ ("" "__recvfrom_chk") __attribute__((__warning__ ("recvfrom called with bigger length than size of " "destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n, int __flags, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len) { if (__builtin_object_size (__buf, 0) != (size_t) -1) { if (!__builtin_constant_p (__n)) return __recvfrom_chk (__fd, __buf, __n, __builtin_object_size (__buf, 0), __flags, __addr, __addr_len); if (__n > __builtin_object_size (__buf, 0)) return __recvfrom_chk_warn (__fd, __buf, __n, __builtin_object_size (__buf, 0), __flags, __addr, __addr_len); } return __recvfrom_alias (__fd, __buf, __n, __flags, __addr, __addr_len); } # 281 "/usr/include/x86_64-linux-gnu/sys/socket.h" 2 3 4 # 285 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" 2 # 1 "/usr/include/net/if.h" 1 3 4 # 33 "/usr/include/net/if.h" 3 4 struct if_nameindex { unsigned int if_index; char *if_name; }; enum { IFF_UP = 0x1, IFF_BROADCAST = 0x2, IFF_DEBUG = 0x4, IFF_LOOPBACK = 0x8, IFF_POINTOPOINT = 0x10, IFF_NOTRAILERS = 0x20, IFF_RUNNING = 0x40, IFF_NOARP = 0x80, IFF_PROMISC = 0x100, IFF_ALLMULTI = 0x200, IFF_MASTER = 0x400, IFF_SLAVE = 0x800, IFF_MULTICAST = 0x1000, IFF_PORTSEL = 0x2000, IFF_AUTOMEDIA = 0x4000, IFF_DYNAMIC = 0x8000 }; struct ifaddr { struct sockaddr ifa_addr; union { struct sockaddr ifu_broadaddr; struct sockaddr ifu_dstaddr; } ifa_ifu; struct iface *ifa_ifp; struct ifaddr *ifa_next; }; # 111 "/usr/include/net/if.h" 3 4 struct ifmap { unsigned long int mem_start; unsigned long int mem_end; unsigned short int base_addr; unsigned char irq; unsigned char dma; unsigned char port; }; struct ifreq { union { char ifrn_name[16]; } ifr_ifrn; union { struct sockaddr ifru_addr; struct sockaddr ifru_dstaddr; struct sockaddr ifru_broadaddr; struct sockaddr ifru_netmask; struct sockaddr ifru_hwaddr; short int ifru_flags; int ifru_ivalue; int ifru_mtu; struct ifmap ifru_map; char ifru_slave[16]; char ifru_newname[16]; __caddr_t ifru_data; } ifr_ifru; }; # 176 "/usr/include/net/if.h" 3 4 struct ifconf { int ifc_len; union { __caddr_t ifcu_buf; struct ifreq *ifcu_req; } ifc_ifcu; }; extern unsigned int if_nametoindex (const char *__ifname) __attribute__ ((__nothrow__ , __leaf__)); extern char *if_indextoname (unsigned int __ifindex, char *__ifname) __attribute__ ((__nothrow__ , __leaf__)); extern struct if_nameindex *if_nameindex (void) __attribute__ ((__nothrow__ , __leaf__)); extern void if_freenameindex (struct if_nameindex *__ptr) __attribute__ ((__nothrow__ , __leaf__)); # 289 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" 2 # 1 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.h" 1 # 10 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.h" # 1 "/usr/include/netinet/in.h" 1 3 4 # 27 "/usr/include/netinet/in.h" 3 4 typedef uint32_t in_addr_t; struct in_addr { in_addr_t s_addr; }; # 1 "/usr/include/x86_64-linux-gnu/bits/in.h" 1 3 4 # 112 "/usr/include/x86_64-linux-gnu/bits/in.h" 3 4 struct ip_opts { struct in_addr ip_dst; char ip_opts[40]; }; struct ip_mreqn { struct in_addr imr_multiaddr; struct in_addr imr_address; int imr_ifindex; }; struct in_pktinfo { int ipi_ifindex; struct in_addr ipi_spec_dst; struct in_addr ipi_addr; }; # 38 "/usr/include/netinet/in.h" 2 3 4 enum { IPPROTO_IP = 0, IPPROTO_ICMP = 1, IPPROTO_IGMP = 2, IPPROTO_IPIP = 4, IPPROTO_TCP = 6, IPPROTO_EGP = 8, IPPROTO_PUP = 12, IPPROTO_UDP = 17, IPPROTO_IDP = 22, IPPROTO_TP = 29, IPPROTO_DCCP = 33, IPPROTO_IPV6 = 41, IPPROTO_RSVP = 46, IPPROTO_GRE = 47, IPPROTO_ESP = 50, IPPROTO_AH = 51, IPPROTO_MTP = 92, IPPROTO_BEETPH = 94, IPPROTO_ENCAP = 98, IPPROTO_PIM = 103, IPPROTO_COMP = 108, IPPROTO_SCTP = 132, IPPROTO_UDPLITE = 136, IPPROTO_RAW = 255, IPPROTO_MAX }; enum { IPPROTO_HOPOPTS = 0, IPPROTO_ROUTING = 43, IPPROTO_FRAGMENT = 44, IPPROTO_ICMPV6 = 58, IPPROTO_NONE = 59, IPPROTO_DSTOPTS = 60, IPPROTO_MH = 135 }; typedef uint16_t in_port_t; enum { IPPORT_ECHO = 7, IPPORT_DISCARD = 9, IPPORT_SYSTAT = 11, IPPORT_DAYTIME = 13, IPPORT_NETSTAT = 15, IPPORT_FTP = 21, IPPORT_TELNET = 23, IPPORT_SMTP = 25, IPPORT_TIMESERVER = 37, IPPORT_NAMESERVER = 42, IPPORT_WHOIS = 43, IPPORT_MTP = 57, IPPORT_TFTP = 69, IPPORT_RJE = 77, IPPORT_FINGER = 79, IPPORT_TTYLINK = 87, IPPORT_SUPDUP = 95, IPPORT_EXECSERVER = 512, IPPORT_LOGINSERVER = 513, IPPORT_CMDSERVER = 514, IPPORT_EFSSERVER = 520, IPPORT_BIFFUDP = 512, IPPORT_WHOSERVER = 513, IPPORT_ROUTESERVER = 520, IPPORT_RESERVED = 1024, IPPORT_USERRESERVED = 5000 }; # 209 "/usr/include/netinet/in.h" 3 4 struct in6_addr { union { uint8_t __u6_addr8[16]; uint16_t __u6_addr16[8]; uint32_t __u6_addr32[4]; } __in6_u; }; extern const struct in6_addr in6addr_any; extern const struct in6_addr in6addr_loopback; # 237 "/usr/include/netinet/in.h" 3 4 struct sockaddr_in { sa_family_t sin_family; in_port_t sin_port; struct in_addr sin_addr; unsigned char sin_zero[sizeof (struct sockaddr) - (sizeof (unsigned short int)) - sizeof (in_port_t) - sizeof (struct in_addr)]; }; struct sockaddr_in6 { sa_family_t sin6_family; in_port_t sin6_port; uint32_t sin6_flowinfo; struct in6_addr sin6_addr; uint32_t sin6_scope_id; }; struct ip_mreq { struct in_addr imr_multiaddr; struct in_addr imr_interface; }; struct ip_mreq_source { struct in_addr imr_multiaddr; struct in_addr imr_interface; struct in_addr imr_sourceaddr; }; struct ipv6_mreq { struct in6_addr ipv6mr_multiaddr; unsigned int ipv6mr_interface; }; struct group_req { uint32_t gr_interface; struct sockaddr_storage gr_group; }; struct group_source_req { uint32_t gsr_interface; struct sockaddr_storage gsr_group; struct sockaddr_storage gsr_source; }; struct ip_msfilter { struct in_addr imsf_multiaddr; struct in_addr imsf_interface; uint32_t imsf_fmode; uint32_t imsf_numsrc; struct in_addr imsf_slist[1]; }; struct group_filter { uint32_t gf_interface; struct sockaddr_storage gf_group; uint32_t gf_fmode; uint32_t gf_numsrc; struct sockaddr_storage gf_slist[1]; }; # 374 "/usr/include/netinet/in.h" 3 4 extern uint32_t ntohl (uint32_t __netlong) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern uint16_t ntohs (uint16_t __netshort) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern uint32_t htonl (uint32_t __hostlong) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern uint16_t htons (uint16_t __hostshort) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); # 1 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 1 3 4 # 386 "/usr/include/netinet/in.h" 2 3 4 # 501 "/usr/include/netinet/in.h" 3 4 extern int bindresvport (int __sockfd, struct sockaddr_in *__sock_in) __attribute__ ((__nothrow__ , __leaf__)); extern int bindresvport6 (int __sockfd, struct sockaddr_in6 *__sock_in) __attribute__ ((__nothrow__ , __leaf__)); # 531 "/usr/include/netinet/in.h" 3 4 struct cmsghdr; struct in6_pktinfo { struct in6_addr ipi6_addr; unsigned int ipi6_ifindex; }; struct ip6_mtuinfo { struct sockaddr_in6 ip6m_addr; uint32_t ip6m_mtu; }; extern int inet6_option_space (int __nbytes) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); extern int inet6_option_init (void *__bp, struct cmsghdr **__cmsgp, int __type) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); extern int inet6_option_append (struct cmsghdr *__cmsg, const uint8_t *__typep, int __multx, int __plusy) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); extern uint8_t *inet6_option_alloc (struct cmsghdr *__cmsg, int __datalen, int __multx, int __plusy) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); extern int inet6_option_next (const struct cmsghdr *__cmsg, uint8_t **__tptrp) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); extern int inet6_option_find (const struct cmsghdr *__cmsg, uint8_t **__tptrp, int __type) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); extern int inet6_opt_init (void *__extbuf, socklen_t __extlen) __attribute__ ((__nothrow__ , __leaf__)); extern int inet6_opt_append (void *__extbuf, socklen_t __extlen, int __offset, uint8_t __type, socklen_t __len, uint8_t __align, void **__databufp) __attribute__ ((__nothrow__ , __leaf__)); extern int inet6_opt_finish (void *__extbuf, socklen_t __extlen, int __offset) __attribute__ ((__nothrow__ , __leaf__)); extern int inet6_opt_set_val (void *__databuf, int __offset, void *__val, socklen_t __vallen) __attribute__ ((__nothrow__ , __leaf__)); extern int inet6_opt_next (void *__extbuf, socklen_t __extlen, int __offset, uint8_t *__typep, socklen_t *__lenp, void **__databufp) __attribute__ ((__nothrow__ , __leaf__)); extern int inet6_opt_find (void *__extbuf, socklen_t __extlen, int __offset, uint8_t __type, socklen_t *__lenp, void **__databufp) __attribute__ ((__nothrow__ , __leaf__)); extern int inet6_opt_get_val (void *__databuf, int __offset, void *__val, socklen_t __vallen) __attribute__ ((__nothrow__ , __leaf__)); extern socklen_t inet6_rth_space (int __type, int __segments) __attribute__ ((__nothrow__ , __leaf__)); extern void *inet6_rth_init (void *__bp, socklen_t __bp_len, int __type, int __segments) __attribute__ ((__nothrow__ , __leaf__)); extern int inet6_rth_add (void *__bp, const struct in6_addr *__addr) __attribute__ ((__nothrow__ , __leaf__)); extern int inet6_rth_reverse (const void *__in, void *__out) __attribute__ ((__nothrow__ , __leaf__)); extern int inet6_rth_segments (const void *__bp) __attribute__ ((__nothrow__ , __leaf__)); extern struct in6_addr *inet6_rth_getaddr (const void *__bp, int __index) __attribute__ ((__nothrow__ , __leaf__)); extern int getipv4sourcefilter (int __s, struct in_addr __interface_addr, struct in_addr __group, uint32_t *__fmode, uint32_t *__numsrc, struct in_addr *__slist) __attribute__ ((__nothrow__ , __leaf__)); extern int setipv4sourcefilter (int __s, struct in_addr __interface_addr, struct in_addr __group, uint32_t __fmode, uint32_t __numsrc, const struct in_addr *__slist) __attribute__ ((__nothrow__ , __leaf__)); extern int getsourcefilter (int __s, uint32_t __interface_addr, const struct sockaddr *__group, socklen_t __grouplen, uint32_t *__fmode, uint32_t *__numsrc, struct sockaddr_storage *__slist) __attribute__ ((__nothrow__ , __leaf__)); extern int setsourcefilter (int __s, uint32_t __interface_addr, const struct sockaddr *__group, socklen_t __grouplen, uint32_t __fmode, uint32_t __numsrc, const struct sockaddr_storage *__slist) __attribute__ ((__nothrow__ , __leaf__)); # 11 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.h" 2 # 1 "/usr/include/netinet/tcp.h" 1 3 4 # 69 "/usr/include/netinet/tcp.h" 3 4 typedef u_int32_t tcp_seq; struct tcphdr { __extension__ union { struct { u_int16_t th_sport; u_int16_t th_dport; tcp_seq th_seq; tcp_seq th_ack; u_int8_t th_x2:4; u_int8_t th_off:4; u_int8_t th_flags; u_int16_t th_win; u_int16_t th_sum; u_int16_t th_urp; }; struct { u_int16_t source; u_int16_t dest; u_int32_t seq; u_int32_t ack_seq; u_int16_t res1:4; u_int16_t doff:4; u_int16_t fin:1; u_int16_t syn:1; u_int16_t rst:1; u_int16_t psh:1; u_int16_t ack:1; u_int16_t urg:1; u_int16_t res2:2; # 132 "/usr/include/netinet/tcp.h" 3 4 u_int16_t window; u_int16_t check; u_int16_t urg_ptr; }; }; }; enum { TCP_ESTABLISHED = 1, TCP_SYN_SENT, TCP_SYN_RECV, TCP_FIN_WAIT1, TCP_FIN_WAIT2, TCP_TIME_WAIT, TCP_CLOSE, TCP_CLOSE_WAIT, TCP_LAST_ACK, TCP_LISTEN, TCP_CLOSING }; # 193 "/usr/include/netinet/tcp.h" 3 4 enum tcp_ca_state { TCP_CA_Open = 0, TCP_CA_Disorder = 1, TCP_CA_CWR = 2, TCP_CA_Recovery = 3, TCP_CA_Loss = 4 }; struct tcp_info { u_int8_t tcpi_state; u_int8_t tcpi_ca_state; u_int8_t tcpi_retransmits; u_int8_t tcpi_probes; u_int8_t tcpi_backoff; u_int8_t tcpi_options; u_int8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4; u_int32_t tcpi_rto; u_int32_t tcpi_ato; u_int32_t tcpi_snd_mss; u_int32_t tcpi_rcv_mss; u_int32_t tcpi_unacked; u_int32_t tcpi_sacked; u_int32_t tcpi_lost; u_int32_t tcpi_retrans; u_int32_t tcpi_fackets; u_int32_t tcpi_last_data_sent; u_int32_t tcpi_last_ack_sent; u_int32_t tcpi_last_data_recv; u_int32_t tcpi_last_ack_recv; u_int32_t tcpi_pmtu; u_int32_t tcpi_rcv_ssthresh; u_int32_t tcpi_rtt; u_int32_t tcpi_rttvar; u_int32_t tcpi_snd_ssthresh; u_int32_t tcpi_snd_cwnd; u_int32_t tcpi_advmss; u_int32_t tcpi_reordering; u_int32_t tcpi_rcv_rtt; u_int32_t tcpi_rcv_space; u_int32_t tcpi_total_retrans; }; struct tcp_md5sig { struct sockaddr_storage tcpm_addr; u_int16_t __tcpm_pad1; u_int16_t tcpm_keylen; u_int32_t __tcpm_pad2; u_int8_t tcpm_key[80]; }; struct tcp_repair_opt { u_int32_t opt_code; u_int32_t opt_val; }; enum { TCP_NO_QUEUE, TCP_RECV_QUEUE, TCP_SEND_QUEUE, TCP_QUEUES_NR, }; # 291 "/usr/include/netinet/tcp.h" 3 4 struct tcp_cookie_transactions { u_int16_t tcpct_flags; u_int8_t __tcpct_pad1; u_int8_t tcpct_cookie_desired; u_int16_t tcpct_s_data_desired; u_int16_t tcpct_used; u_int8_t tcpct_value[536U]; }; # 13 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.h" 2 # 43 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.h" # 1 "/usr/include/x86_64-linux-gnu/sys/un.h" 1 3 4 # 26 "/usr/include/x86_64-linux-gnu/sys/un.h" 3 4 struct sockaddr_un { sa_family_t sun_family; char sun_path[108]; }; # 44 "/usr/include/x86_64-linux-gnu/sys/un.h" 3 4 # 44 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.h" 2 # 1 "/usr/include/x86_64-linux-gnu/asm/types.h" 1 3 4 # 1 "/usr/include/asm-generic/types.h" 1 3 4 # 1 "/usr/include/asm-generic/int-ll64.h" 1 3 4 # 11 "/usr/include/asm-generic/int-ll64.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/asm/bitsperlong.h" 1 3 4 # 10 "/usr/include/x86_64-linux-gnu/asm/bitsperlong.h" 3 4 # 1 "/usr/include/asm-generic/bitsperlong.h" 1 3 4 # 11 "/usr/include/x86_64-linux-gnu/asm/bitsperlong.h" 2 3 4 # 12 "/usr/include/asm-generic/int-ll64.h" 2 3 4 typedef __signed__ char __s8; typedef unsigned char __u8; typedef __signed__ short __s16; typedef unsigned short __u16; typedef __signed__ int __s32; typedef unsigned int __u32; __extension__ typedef __signed__ long long __s64; __extension__ typedef unsigned long long __u64; # 8 "/usr/include/asm-generic/types.h" 2 3 4 # 5 "/usr/include/x86_64-linux-gnu/asm/types.h" 2 3 4 # 51 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.h" 2 # 1 "/usr/include/linux/netlink.h" 1 3 4 # 1 "/usr/include/linux/kernel.h" 1 3 4 # 1 "/usr/include/linux/sysinfo.h" 1 3 4 # 1 "/usr/include/linux/types.h" 1 3 4 # 1 "/usr/include/linux/posix_types.h" 1 3 4 # 1 "/usr/include/linux/stddef.h" 1 3 4 # 5 "/usr/include/linux/posix_types.h" 2 3 4 # 24 "/usr/include/linux/posix_types.h" 3 4 typedef struct { unsigned long fds_bits[1024 / (8 * sizeof(long))]; } __kernel_fd_set; typedef void (*__kernel_sighandler_t)(int); typedef int __kernel_key_t; typedef int __kernel_mqd_t; # 1 "/usr/include/x86_64-linux-gnu/asm/posix_types.h" 1 3 4 # 1 "/usr/include/x86_64-linux-gnu/asm/posix_types_64.h" 1 3 4 # 10 "/usr/include/x86_64-linux-gnu/asm/posix_types_64.h" 3 4 typedef unsigned short __kernel_old_uid_t; typedef unsigned short __kernel_old_gid_t; typedef unsigned long __kernel_old_dev_t; # 1 "/usr/include/asm-generic/posix_types.h" 1 3 4 # 14 "/usr/include/asm-generic/posix_types.h" 3 4 typedef long __kernel_long_t; typedef unsigned long __kernel_ulong_t; typedef __kernel_ulong_t __kernel_ino_t; typedef unsigned int __kernel_mode_t; typedef int __kernel_pid_t; typedef int __kernel_ipc_pid_t; typedef unsigned int __kernel_uid_t; typedef unsigned int __kernel_gid_t; typedef __kernel_long_t __kernel_suseconds_t; typedef int __kernel_daddr_t; typedef unsigned int __kernel_uid32_t; typedef unsigned int __kernel_gid32_t; # 71 "/usr/include/asm-generic/posix_types.h" 3 4 typedef __kernel_ulong_t __kernel_size_t; typedef __kernel_long_t __kernel_ssize_t; typedef __kernel_long_t __kernel_ptrdiff_t; typedef struct { int val[2]; } __kernel_fsid_t; typedef __kernel_long_t __kernel_off_t; typedef long long __kernel_loff_t; typedef __kernel_long_t __kernel_time_t; typedef __kernel_long_t __kernel_clock_t; typedef int __kernel_timer_t; typedef int __kernel_clockid_t; typedef char * __kernel_caddr_t; typedef unsigned short __kernel_uid16_t; typedef unsigned short __kernel_gid16_t; # 18 "/usr/include/x86_64-linux-gnu/asm/posix_types_64.h" 2 3 4 # 7 "/usr/include/x86_64-linux-gnu/asm/posix_types.h" 2 3 4 # 36 "/usr/include/linux/posix_types.h" 2 3 4 # 9 "/usr/include/linux/types.h" 2 3 4 # 27 "/usr/include/linux/types.h" 3 4 typedef __u16 __le16; typedef __u16 __be16; typedef __u32 __le32; typedef __u32 __be32; typedef __u64 __le64; typedef __u64 __be64; typedef __u16 __sum16; typedef __u32 __wsum; # 5 "/usr/include/linux/sysinfo.h" 2 3 4 struct sysinfo { __kernel_long_t uptime; __kernel_ulong_t loads[3]; __kernel_ulong_t totalram; __kernel_ulong_t freeram; __kernel_ulong_t sharedram; __kernel_ulong_t bufferram; __kernel_ulong_t totalswap; __kernel_ulong_t freeswap; __u16 procs; __u16 pad; __kernel_ulong_t totalhigh; __kernel_ulong_t freehigh; __u32 mem_unit; char _f[20-2*sizeof(__kernel_ulong_t)-sizeof(__u32)]; }; # 5 "/usr/include/linux/kernel.h" 2 3 4 # 5 "/usr/include/linux/netlink.h" 2 3 4 # 1 "/usr/include/linux/socket.h" 1 3 4 # 11 "/usr/include/linux/socket.h" 3 4 typedef unsigned short __kernel_sa_family_t; struct __kernel_sockaddr_storage { __kernel_sa_family_t ss_family; char __data[128 - sizeof(unsigned short)]; } __attribute__ ((aligned((__alignof__ (struct sockaddr *))))); # 6 "/usr/include/linux/netlink.h" 2 3 4 # 35 "/usr/include/linux/netlink.h" 3 4 struct sockaddr_nl { __kernel_sa_family_t nl_family; unsigned short nl_pad; __u32 nl_pid; __u32 nl_groups; }; struct nlmsghdr { __u32 nlmsg_len; __u16 nlmsg_type; __u16 nlmsg_flags; __u32 nlmsg_seq; __u32 nlmsg_pid; }; # 99 "/usr/include/linux/netlink.h" 3 4 struct nlmsgerr { int error; struct nlmsghdr msg; }; # 112 "/usr/include/linux/netlink.h" 3 4 struct nl_pktinfo { __u32 group; }; struct nl_mmap_req { unsigned int nm_block_size; unsigned int nm_block_nr; unsigned int nm_frame_size; unsigned int nm_frame_nr; }; struct nl_mmap_hdr { unsigned int nm_status; unsigned int nm_len; __u32 nm_group; __u32 nm_pid; __u32 nm_uid; __u32 nm_gid; }; enum nl_mmap_status { NL_MMAP_STATUS_UNUSED, NL_MMAP_STATUS_RESERVED, NL_MMAP_STATUS_VALID, NL_MMAP_STATUS_COPY, NL_MMAP_STATUS_SKIP, }; enum { NETLINK_UNCONNECTED = 0, NETLINK_CONNECTED, }; # 161 "/usr/include/linux/netlink.h" 3 4 struct nlattr { __u16 nla_len; __u16 nla_type; }; # 53 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.h" 2 # 74 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.h" # 1 "/usr/include/x86_64-linux-gnu/sys/ioctl.h" 1 3 4 # 23 "/usr/include/x86_64-linux-gnu/sys/ioctl.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/ioctls.h" 1 3 4 # 23 "/usr/include/x86_64-linux-gnu/bits/ioctls.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/asm/ioctls.h" 1 3 4 # 1 "/usr/include/asm-generic/ioctls.h" 1 3 4 # 1 "/usr/include/linux/ioctl.h" 1 3 4 # 1 "/usr/include/x86_64-linux-gnu/asm/ioctl.h" 1 3 4 # 1 "/usr/include/asm-generic/ioctl.h" 1 3 4 # 1 "/usr/include/x86_64-linux-gnu/asm/ioctl.h" 2 3 4 # 5 "/usr/include/linux/ioctl.h" 2 3 4 # 5 "/usr/include/asm-generic/ioctls.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/asm/ioctls.h" 2 3 4 # 24 "/usr/include/x86_64-linux-gnu/bits/ioctls.h" 2 3 4 # 27 "/usr/include/x86_64-linux-gnu/sys/ioctl.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/ioctl-types.h" 1 3 4 # 24 "/usr/include/x86_64-linux-gnu/bits/ioctl-types.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/asm/ioctls.h" 1 3 4 # 25 "/usr/include/x86_64-linux-gnu/bits/ioctl-types.h" 2 3 4 struct winsize { unsigned short int ws_row; unsigned short int ws_col; unsigned short int ws_xpixel; unsigned short int ws_ypixel; }; struct termio { unsigned short int c_iflag; unsigned short int c_oflag; unsigned short int c_cflag; unsigned short int c_lflag; unsigned char c_line; unsigned char c_cc[8]; }; # 30 "/usr/include/x86_64-linux-gnu/sys/ioctl.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/sys/ttydefaults.h" 1 3 4 # 37 "/usr/include/x86_64-linux-gnu/sys/ioctl.h" 2 3 4 extern int ioctl (int __fd, unsigned long int __request, ...) __attribute__ ((__nothrow__ , __leaf__)); # 75 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.h" 2 # 1 "/usr/include/netpacket/packet.h" 1 3 4 # 22 "/usr/include/netpacket/packet.h" 3 4 struct sockaddr_ll { unsigned short int sll_family; unsigned short int sll_protocol; int sll_ifindex; unsigned short int sll_hatype; unsigned char sll_pkttype; unsigned char sll_halen; unsigned char sll_addr[8]; }; # 51 "/usr/include/netpacket/packet.h" 3 4 struct packet_mreq { int mr_ifindex; unsigned short int mr_type; unsigned short int mr_alen; unsigned char mr_address[8]; }; # 76 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.h" 2 # 1 "/usr/include/linux/tipc.h" 1 3 4 # 46 "/usr/include/linux/tipc.h" 3 4 struct tipc_portid { __u32 ref; __u32 node; }; struct tipc_name { __u32 type; __u32 instance; }; struct tipc_name_seq { __u32 type; __u32 lower; __u32 upper; }; static __inline__ __u32 tipc_addr(unsigned int zone, unsigned int cluster, unsigned int node) { return (zone << 24) | (cluster << 12) | node; } static __inline__ unsigned int tipc_zone(__u32 addr) { return addr >> 24; } static __inline__ unsigned int tipc_cluster(__u32 addr) { return (addr >> 12) & 0xfff; } static __inline__ unsigned int tipc_node(__u32 addr) { return addr & 0xfff; } # 136 "/usr/include/linux/tipc.h" 3 4 struct tipc_subscr { struct tipc_name_seq seq; __u32 timeout; __u32 filter; char usr_handle[8]; }; struct tipc_event { __u32 event; __u32 found_lower; __u32 found_upper; struct tipc_portid port; struct tipc_subscr s; }; # 176 "/usr/include/linux/tipc.h" 3 4 struct sockaddr_tipc { unsigned short family; unsigned char addrtype; signed char scope; union { struct tipc_portid id; struct tipc_name_seq nameseq; struct { struct tipc_name name; __u32 domain; } name; } addr; }; # 80 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.h" 2 # 1 "/usr/include/linux/can.h" 1 3 4 # 39 "/usr/include/linux/can.h" 3 4 typedef __u32 canid_t; # 50 "/usr/include/linux/can.h" 3 4 typedef __u32 can_err_mask_t; # 68 "/usr/include/linux/can.h" 3 4 struct can_frame { canid_t can_id; __u8 can_dlc; __u8 data[8] __attribute__((aligned(8))); }; # 102 "/usr/include/linux/can.h" 3 4 struct canfd_frame { canid_t can_id; __u8 len; __u8 flags; __u8 __res0; __u8 __res1; __u8 data[64] __attribute__((aligned(8))); }; # 131 "/usr/include/linux/can.h" 3 4 struct sockaddr_can { __kernel_sa_family_t can_family; int can_ifindex; union { struct { canid_t rx_id, tx_id; } tp; } can_addr; }; # 155 "/usr/include/linux/can.h" 3 4 struct can_filter { canid_t can_id; canid_t can_mask; }; # 84 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.h" 2 # 1 "/usr/include/linux/can/raw.h" 1 3 4 # 54 "/usr/include/linux/can/raw.h" 3 4 enum { CAN_RAW_FILTER = 1, CAN_RAW_ERR_FILTER, CAN_RAW_LOOPBACK, CAN_RAW_RECV_OWN_MSGS, CAN_RAW_FD_FRAMES, }; # 88 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.h" 2 # 1 "/usr/include/linux/can/bcm.h" 1 3 4 # 61 "/usr/include/linux/can/bcm.h" 3 4 struct bcm_msg_head { __u32 opcode; __u32 flags; __u32 count; struct timeval ival1, ival2; canid_t can_id; __u32 nframes; struct can_frame frames[0]; }; enum { TX_SETUP = 1, TX_DELETE, TX_READ, TX_SEND, RX_SETUP, RX_DELETE, RX_READ, TX_STATUS, TX_EXPIRED, RX_STATUS, RX_TIMEOUT, RX_CHANGED }; # 92 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.h" 2 # 102 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.h" # 1 "/usr/include/linux/if_alg.h" 1 3 4 # 18 "/usr/include/linux/if_alg.h" 3 4 struct sockaddr_alg { __u16 salg_family; __u8 salg_type[14]; __u32 salg_feat; __u32 salg_mask; __u8 salg_name[64]; }; struct af_alg_iv { __u32 ivlen; __u8 iv[0]; }; # 103 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.h" 2 # 152 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.h" typedef int SOCKET_T; # 165 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.h" typedef union sock_addr { struct sockaddr_in in; struct sockaddr sa; struct sockaddr_un un; struct sockaddr_nl nl; struct sockaddr_in6 in6; struct sockaddr_storage storage; # 185 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.h" struct sockaddr_ll ll; struct sockaddr_can can; struct sockaddr_alg alg; } sock_addr_t; typedef struct { PyObject ob_base; SOCKET_T sock_fd; int sock_family; int sock_type; int sock_proto; PyObject *(*errorhandler)(void); _PyTime_t sock_timeout; } PySocketSockObject; # 266 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.h" typedef struct { PyTypeObject *Sock_Type; PyObject *error; PyObject *timeout_error; } PySocketModule_APIObject; # 294 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" 2 # 1 "/usr/include/netdb.h" 1 3 4 # 32 "/usr/include/netdb.h" 3 4 # 1 "/usr/include/rpc/netdb.h" 1 3 4 # 42 "/usr/include/rpc/netdb.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h" 1 3 4 # 43 "/usr/include/rpc/netdb.h" 2 3 4 struct rpcent { char *r_name; char **r_aliases; int r_number; }; extern void setrpcent (int __stayopen) __attribute__ ((__nothrow__ , __leaf__)); extern void endrpcent (void) __attribute__ ((__nothrow__ , __leaf__)); extern struct rpcent *getrpcbyname (const char *__name) __attribute__ ((__nothrow__ , __leaf__)); extern struct rpcent *getrpcbynumber (int __number) __attribute__ ((__nothrow__ , __leaf__)); extern struct rpcent *getrpcent (void) __attribute__ ((__nothrow__ , __leaf__)); extern int getrpcbyname_r (const char *__name, struct rpcent *__result_buf, char *__buffer, size_t __buflen, struct rpcent **__result) __attribute__ ((__nothrow__ , __leaf__)); extern int getrpcbynumber_r (int __number, struct rpcent *__result_buf, char *__buffer, size_t __buflen, struct rpcent **__result) __attribute__ ((__nothrow__ , __leaf__)); extern int getrpcent_r (struct rpcent *__result_buf, char *__buffer, size_t __buflen, struct rpcent **__result) __attribute__ ((__nothrow__ , __leaf__)); # 33 "/usr/include/netdb.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/siginfo.h" 1 3 4 # 24 "/usr/include/x86_64-linux-gnu/bits/siginfo.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 # 25 "/usr/include/x86_64-linux-gnu/bits/siginfo.h" 2 3 4 # 38 "/usr/include/netdb.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/netdb.h" 1 3 4 # 26 "/usr/include/x86_64-linux-gnu/bits/netdb.h" 3 4 struct netent { char *n_name; char **n_aliases; int n_addrtype; uint32_t n_net; }; # 43 "/usr/include/netdb.h" 2 3 4 # 53 "/usr/include/netdb.h" 3 4 extern int *__h_errno_location (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); # 92 "/usr/include/netdb.h" 3 4 extern void herror (const char *__str) __attribute__ ((__nothrow__ , __leaf__)); extern const char *hstrerror (int __err_num) __attribute__ ((__nothrow__ , __leaf__)); struct hostent { char *h_name; char **h_aliases; int h_addrtype; int h_length; char **h_addr_list; }; extern void sethostent (int __stay_open); extern void endhostent (void); extern struct hostent *gethostent (void); extern struct hostent *gethostbyaddr (const void *__addr, __socklen_t __len, int __type); extern struct hostent *gethostbyname (const char *__name); # 155 "/usr/include/netdb.h" 3 4 extern struct hostent *gethostbyname2 (const char *__name, int __af); # 167 "/usr/include/netdb.h" 3 4 extern int gethostent_r (struct hostent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct hostent **__restrict __result, int *__restrict __h_errnop); extern int gethostbyaddr_r (const void *__restrict __addr, __socklen_t __len, int __type, struct hostent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct hostent **__restrict __result, int *__restrict __h_errnop); extern int gethostbyname_r (const char *__restrict __name, struct hostent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct hostent **__restrict __result, int *__restrict __h_errnop); extern int gethostbyname2_r (const char *__restrict __name, int __af, struct hostent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct hostent **__restrict __result, int *__restrict __h_errnop); # 198 "/usr/include/netdb.h" 3 4 extern void setnetent (int __stay_open); extern void endnetent (void); extern struct netent *getnetent (void); extern struct netent *getnetbyaddr (uint32_t __net, int __type); extern struct netent *getnetbyname (const char *__name); # 237 "/usr/include/netdb.h" 3 4 extern int getnetent_r (struct netent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct netent **__restrict __result, int *__restrict __h_errnop); extern int getnetbyaddr_r (uint32_t __net, int __type, struct netent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct netent **__restrict __result, int *__restrict __h_errnop); extern int getnetbyname_r (const char *__restrict __name, struct netent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct netent **__restrict __result, int *__restrict __h_errnop); struct servent { char *s_name; char **s_aliases; int s_port; char *s_proto; }; extern void setservent (int __stay_open); extern void endservent (void); extern struct servent *getservent (void); extern struct servent *getservbyname (const char *__name, const char *__proto); extern struct servent *getservbyport (int __port, const char *__proto); # 308 "/usr/include/netdb.h" 3 4 extern int getservent_r (struct servent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct servent **__restrict __result); extern int getservbyname_r (const char *__restrict __name, const char *__restrict __proto, struct servent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct servent **__restrict __result); extern int getservbyport_r (int __port, const char *__restrict __proto, struct servent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct servent **__restrict __result); struct protoent { char *p_name; char **p_aliases; int p_proto; }; extern void setprotoent (int __stay_open); extern void endprotoent (void); extern struct protoent *getprotoent (void); extern struct protoent *getprotobyname (const char *__name); extern struct protoent *getprotobynumber (int __proto); # 374 "/usr/include/netdb.h" 3 4 extern int getprotoent_r (struct protoent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct protoent **__restrict __result); extern int getprotobyname_r (const char *__restrict __name, struct protoent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct protoent **__restrict __result); extern int getprotobynumber_r (int __proto, struct protoent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct protoent **__restrict __result); # 395 "/usr/include/netdb.h" 3 4 extern int setnetgrent (const char *__netgroup); extern void endnetgrent (void); # 412 "/usr/include/netdb.h" 3 4 extern int getnetgrent (char **__restrict __hostp, char **__restrict __userp, char **__restrict __domainp); # 423 "/usr/include/netdb.h" 3 4 extern int innetgr (const char *__netgroup, const char *__host, const char *__user, const char *__domain); extern int getnetgrent_r (char **__restrict __hostp, char **__restrict __userp, char **__restrict __domainp, char *__restrict __buffer, size_t __buflen); # 451 "/usr/include/netdb.h" 3 4 extern int rcmd (char **__restrict __ahost, unsigned short int __rport, const char *__restrict __locuser, const char *__restrict __remuser, const char *__restrict __cmd, int *__restrict __fd2p); # 463 "/usr/include/netdb.h" 3 4 extern int rcmd_af (char **__restrict __ahost, unsigned short int __rport, const char *__restrict __locuser, const char *__restrict __remuser, const char *__restrict __cmd, int *__restrict __fd2p, sa_family_t __af); # 479 "/usr/include/netdb.h" 3 4 extern int rexec (char **__restrict __ahost, int __rport, const char *__restrict __name, const char *__restrict __pass, const char *__restrict __cmd, int *__restrict __fd2p); # 491 "/usr/include/netdb.h" 3 4 extern int rexec_af (char **__restrict __ahost, int __rport, const char *__restrict __name, const char *__restrict __pass, const char *__restrict __cmd, int *__restrict __fd2p, sa_family_t __af); # 505 "/usr/include/netdb.h" 3 4 extern int ruserok (const char *__rhost, int __suser, const char *__remuser, const char *__locuser); # 515 "/usr/include/netdb.h" 3 4 extern int ruserok_af (const char *__rhost, int __suser, const char *__remuser, const char *__locuser, sa_family_t __af); # 528 "/usr/include/netdb.h" 3 4 extern int iruserok (uint32_t __raddr, int __suser, const char *__remuser, const char *__locuser); # 539 "/usr/include/netdb.h" 3 4 extern int iruserok_af (const void *__raddr, int __suser, const char *__remuser, const char *__locuser, sa_family_t __af); # 551 "/usr/include/netdb.h" 3 4 extern int rresvport (int *__alport); # 560 "/usr/include/netdb.h" 3 4 extern int rresvport_af (int *__alport, sa_family_t __af); struct addrinfo { int ai_flags; int ai_family; int ai_socktype; int ai_protocol; socklen_t ai_addrlen; struct sockaddr *ai_addr; char *ai_canonname; struct addrinfo *ai_next; }; struct gaicb { const char *ar_name; const char *ar_service; const struct addrinfo *ar_request; struct addrinfo *ar_result; int __return; int __glibc_reserved[5]; }; # 662 "/usr/include/netdb.h" 3 4 extern int getaddrinfo (const char *__restrict __name, const char *__restrict __service, const struct addrinfo *__restrict __req, struct addrinfo **__restrict __pai); extern void freeaddrinfo (struct addrinfo *__ai) __attribute__ ((__nothrow__ , __leaf__)); extern const char *gai_strerror (int __ecode) __attribute__ ((__nothrow__ , __leaf__)); extern int getnameinfo (const struct sockaddr *__restrict __sa, socklen_t __salen, char *__restrict __host, socklen_t __hostlen, char *__restrict __serv, socklen_t __servlen, int __flags); # 692 "/usr/include/netdb.h" 3 4 extern int getaddrinfo_a (int __mode, struct gaicb *__list[__restrict], int __ent, struct sigevent *__restrict __sig); # 703 "/usr/include/netdb.h" 3 4 extern int gai_suspend (const struct gaicb *const __list[], int __ent, const struct timespec *__timeout); extern int gai_error (struct gaicb *__req) __attribute__ ((__nothrow__ , __leaf__)); extern int gai_cancel (struct gaicb *__gaicbp) __attribute__ ((__nothrow__ , __leaf__)); # 301 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" 2 # 1 "/usr/include/arpa/inet.h" 1 3 4 # 30 "/usr/include/arpa/inet.h" 3 4 extern in_addr_t inet_addr (const char *__cp) __attribute__ ((__nothrow__ , __leaf__)); extern in_addr_t inet_lnaof (struct in_addr __in) __attribute__ ((__nothrow__ , __leaf__)); extern struct in_addr inet_makeaddr (in_addr_t __net, in_addr_t __host) __attribute__ ((__nothrow__ , __leaf__)); extern in_addr_t inet_netof (struct in_addr __in) __attribute__ ((__nothrow__ , __leaf__)); extern in_addr_t inet_network (const char *__cp) __attribute__ ((__nothrow__ , __leaf__)); extern char *inet_ntoa (struct in_addr __in) __attribute__ ((__nothrow__ , __leaf__)); extern int inet_pton (int __af, const char *__restrict __cp, void *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); extern const char *inet_ntop (int __af, const void *__restrict __cp, char *__restrict __buf, socklen_t __len) __attribute__ ((__nothrow__ , __leaf__)); extern int inet_aton (const char *__cp, struct in_addr *__inp) __attribute__ ((__nothrow__ , __leaf__)); extern char *inet_neta (in_addr_t __net, char *__buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)); extern char *inet_net_ntop (int __af, const void *__cp, int __bits, char *__buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)); extern int inet_net_pton (int __af, const char *__cp, void *__buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)); extern unsigned int inet_nsap_addr (const char *__cp, unsigned char *__buf, int __len) __attribute__ ((__nothrow__ , __leaf__)); extern char *inet_nsap_ntoa (int __len, const unsigned char *__cp, char *__buf) __attribute__ ((__nothrow__ , __leaf__)); # 305 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" 2 # 1 "/usr/include/fcntl.h" 1 3 4 # 28 "/usr/include/fcntl.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/fcntl.h" 1 3 4 # 35 "/usr/include/x86_64-linux-gnu/bits/fcntl.h" 3 4 struct flock { short int l_type; short int l_whence; __off64_t l_start; __off64_t l_len; __pid_t l_pid; }; struct flock64 { short int l_type; short int l_whence; __off64_t l_start; __off64_t l_len; __pid_t l_pid; }; # 1 "/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h" 1 3 4 # 38 "/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/uio.h" 1 3 4 # 39 "/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h" 2 3 4 # 241 "/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h" 3 4 enum __pid_type { F_OWNER_TID = 0, F_OWNER_PID, F_OWNER_PGRP, F_OWNER_GID = F_OWNER_PGRP }; struct f_owner_ex { enum __pid_type type; __pid_t pid; }; # 311 "/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h" 3 4 struct file_handle { unsigned int handle_bytes; int handle_type; unsigned char f_handle[0]; }; # 341 "/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h" 3 4 extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count) __attribute__ ((__nothrow__ , __leaf__)); extern int sync_file_range (int __fd, __off64_t __offset, __off64_t __count, unsigned int __flags); extern ssize_t vmsplice (int __fdout, const struct iovec *__iov, size_t __count, unsigned int __flags); extern ssize_t splice (int __fdin, __off64_t *__offin, int __fdout, __off64_t *__offout, size_t __len, unsigned int __flags); extern ssize_t tee (int __fdin, int __fdout, size_t __len, unsigned int __flags); # 388 "/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h" 3 4 extern int fallocate (int __fd, int __mode, __off64_t __offset, __off64_t __len) __asm__ ("" "fallocate64") ; extern int fallocate64 (int __fd, int __mode, __off64_t __offset, __off64_t __len); extern int name_to_handle_at (int __dfd, const char *__name, struct file_handle *__handle, int *__mnt_id, int __flags) __attribute__ ((__nothrow__ , __leaf__)); extern int open_by_handle_at (int __mountdirfd, struct file_handle *__handle, int __flags); # 61 "/usr/include/x86_64-linux-gnu/bits/fcntl.h" 2 3 4 # 36 "/usr/include/fcntl.h" 2 3 4 # 68 "/usr/include/fcntl.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/stat.h" 1 3 4 # 69 "/usr/include/fcntl.h" 2 3 4 # 137 "/usr/include/fcntl.h" 3 4 extern int fcntl (int __fd, int __cmd, ...); # 149 "/usr/include/fcntl.h" 3 4 extern int open (const char *__file, int __oflag, ...) __asm__ ("" "open64") __attribute__ ((__nonnull__ (1))); extern int open64 (const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (1))); # 174 "/usr/include/fcntl.h" 3 4 extern int openat (int __fd, const char *__file, int __oflag, ...) __asm__ ("" "openat64") __attribute__ ((__nonnull__ (2))); extern int openat64 (int __fd, const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (2))); # 195 "/usr/include/fcntl.h" 3 4 extern int creat (const char *__file, mode_t __mode) __asm__ ("" "creat64") __attribute__ ((__nonnull__ (1))); extern int creat64 (const char *__file, mode_t __mode) __attribute__ ((__nonnull__ (1))); # 242 "/usr/include/fcntl.h" 3 4 extern int posix_fadvise (int __fd, __off64_t __offset, __off64_t __len, int __advise) __asm__ ("" "posix_fadvise64") __attribute__ ((__nothrow__ , __leaf__)) ; extern int posix_fadvise64 (int __fd, off64_t __offset, off64_t __len, int __advise) __attribute__ ((__nothrow__ , __leaf__)); # 263 "/usr/include/fcntl.h" 3 4 extern int posix_fallocate (int __fd, __off64_t __offset, __off64_t __len) __asm__ ("" "posix_fallocate64") ; extern int posix_fallocate64 (int __fd, off64_t __offset, off64_t __len); # 1 "/usr/include/x86_64-linux-gnu/bits/fcntl2.h" 1 3 4 # 30 "/usr/include/x86_64-linux-gnu/bits/fcntl2.h" 3 4 extern int __open_2 (const char *__path, int __oflag) __asm__ ("" "__open64_2") __attribute__ ((__nonnull__ (1))); extern int __open_alias (const char *__path, int __oflag, ...) __asm__ ("" "open64") __attribute__ ((__nonnull__ (1))); extern void __open_too_many_args (void) __attribute__((__error__ ("open can be called either with 2 or 3 arguments, not more"))) ; extern void __open_missing_mode (void) __attribute__((__error__ ("open with O_CREAT in second argument needs 3 arguments"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int open (const char *__path, int __oflag, ...) { if (__builtin_va_arg_pack_len () > 1) __open_too_many_args (); if (__builtin_constant_p (__oflag)) { if ((__oflag & 0100) != 0 && __builtin_va_arg_pack_len () < 1) { __open_missing_mode (); return __open_2 (__path, __oflag); } return __open_alias (__path, __oflag, __builtin_va_arg_pack ()); } if (__builtin_va_arg_pack_len () < 1) return __open_2 (__path, __oflag); return __open_alias (__path, __oflag, __builtin_va_arg_pack ()); } extern int __open64_2 (const char *__path, int __oflag) __attribute__ ((__nonnull__ (1))); extern int __open64_alias (const char *__path, int __oflag, ...) __asm__ ("" "open64") __attribute__ ((__nonnull__ (1))); extern void __open64_too_many_args (void) __attribute__((__error__ ("open64 can be called either with 2 or 3 arguments, not more"))) ; extern void __open64_missing_mode (void) __attribute__((__error__ ("open64 with O_CREAT in second argument needs 3 arguments"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int open64 (const char *__path, int __oflag, ...) { if (__builtin_va_arg_pack_len () > 1) __open64_too_many_args (); if (__builtin_constant_p (__oflag)) { if ((__oflag & 0100) != 0 && __builtin_va_arg_pack_len () < 1) { __open64_missing_mode (); return __open64_2 (__path, __oflag); } return __open64_alias (__path, __oflag, __builtin_va_arg_pack ()); } if (__builtin_va_arg_pack_len () < 1) return __open64_2 (__path, __oflag); return __open64_alias (__path, __oflag, __builtin_va_arg_pack ()); } # 104 "/usr/include/x86_64-linux-gnu/bits/fcntl2.h" 3 4 extern int __openat_2 (int __fd, const char *__path, int __oflag) __asm__ ("" "__openat64_2") __attribute__ ((__nonnull__ (2))); extern int __openat_alias (int __fd, const char *__path, int __oflag, ...) __asm__ ("" "openat64") __attribute__ ((__nonnull__ (2))); extern void __openat_too_many_args (void) __attribute__((__error__ ("openat can be called either with 3 or 4 arguments, not more"))) ; extern void __openat_missing_mode (void) __attribute__((__error__ ("openat with O_CREAT in third argument needs 4 arguments"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int openat (int __fd, const char *__path, int __oflag, ...) { if (__builtin_va_arg_pack_len () > 1) __openat_too_many_args (); if (__builtin_constant_p (__oflag)) { if ((__oflag & 0100) != 0 && __builtin_va_arg_pack_len () < 1) { __openat_missing_mode (); return __openat_2 (__fd, __path, __oflag); } return __openat_alias (__fd, __path, __oflag, __builtin_va_arg_pack ()); } if (__builtin_va_arg_pack_len () < 1) return __openat_2 (__fd, __path, __oflag); return __openat_alias (__fd, __path, __oflag, __builtin_va_arg_pack ()); } extern int __openat64_2 (int __fd, const char *__path, int __oflag) __attribute__ ((__nonnull__ (2))); extern int __openat64_alias (int __fd, const char *__path, int __oflag, ...) __asm__ ("" "openat64") __attribute__ ((__nonnull__ (2))); extern void __openat64_too_many_args (void) __attribute__((__error__ ("openat64 can be called either with 3 or 4 arguments, not more"))) ; extern void __openat64_missing_mode (void) __attribute__((__error__ ("openat64 with O_CREAT in third argument needs 4 arguments"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int openat64 (int __fd, const char *__path, int __oflag, ...) { if (__builtin_va_arg_pack_len () > 1) __openat64_too_many_args (); if (__builtin_constant_p (__oflag)) { if ((__oflag & 0100) != 0 && __builtin_va_arg_pack_len () < 1) { __openat64_missing_mode (); return __openat64_2 (__fd, __path, __oflag); } return __openat64_alias (__fd, __path, __oflag, __builtin_va_arg_pack ()); } if (__builtin_va_arg_pack_len () < 1) return __openat64_2 (__fd, __path, __oflag); return __openat64_alias (__fd, __path, __oflag, __builtin_va_arg_pack ()); } # 280 "/usr/include/fcntl.h" 2 3 4 # 307 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" 2 # 322 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h" 1 3 4 # 323 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" 2 # 339 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" # 1 "/usr/local/src/python/Python-3.6.2/Modules/addrinfo.h" 1 # 165 "/usr/local/src/python/Python-3.6.2/Modules/addrinfo.h" extern void freehostent(struct hostent *); # 340 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" 2 # 457 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" static PyObject *socket_herror; static PyObject *socket_gaierror; static PyObject *socket_timeout; static PyTypeObject sock_type; # 1 "/usr/include/poll.h" 1 3 4 # 1 "/usr/include/x86_64-linux-gnu/sys/poll.h" 1 3 4 # 25 "/usr/include/x86_64-linux-gnu/sys/poll.h" 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/poll.h" 1 3 4 # 26 "/usr/include/x86_64-linux-gnu/sys/poll.h" 2 3 4 # 1 "/usr/include/x86_64-linux-gnu/bits/sigset.h" 1 3 4 # 29 "/usr/include/x86_64-linux-gnu/sys/poll.h" 2 3 4 typedef unsigned long int nfds_t; struct pollfd { int fd; short int events; short int revents; }; # 57 "/usr/include/x86_64-linux-gnu/sys/poll.h" 3 4 extern int poll (struct pollfd *__fds, nfds_t __nfds, int __timeout); # 66 "/usr/include/x86_64-linux-gnu/sys/poll.h" 3 4 extern int ppoll (struct pollfd *__fds, nfds_t __nfds, const struct timespec *__timeout, const __sigset_t *__ss); # 1 "/usr/include/x86_64-linux-gnu/bits/poll2.h" 1 3 4 # 24 "/usr/include/x86_64-linux-gnu/bits/poll2.h" 3 4 extern int __poll_alias (struct pollfd *__fds, nfds_t __nfds, int __timeout) __asm__ ("" "poll") ; extern int __poll_chk (struct pollfd *__fds, nfds_t __nfds, int __timeout, long unsigned int __fdslen); extern int __poll_chk_warn (struct pollfd *__fds, nfds_t __nfds, int __timeout, long unsigned int __fdslen) __asm__ ("" "__poll_chk") __attribute__((__warning__ ("poll called with fds buffer too small file nfds entries"))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int poll (struct pollfd *__fds, nfds_t __nfds, int __timeout) { if (__builtin_object_size (__fds, 2 > 1) != (long unsigned int) -1) { if (! __builtin_constant_p (__nfds)) return __poll_chk (__fds, __nfds, __timeout, __builtin_object_size (__fds, 2 > 1)); else if (__builtin_object_size (__fds, 2 > 1) / sizeof (*__fds) < __nfds) return __poll_chk_warn (__fds, __nfds, __timeout, __builtin_object_size (__fds, 2 > 1)); } return __poll_alias (__fds, __nfds, __timeout); } extern int __ppoll_alias (struct pollfd *__fds, nfds_t __nfds, const struct timespec *__timeout, const __sigset_t *__ss) __asm__ ("" "ppoll") ; extern int __ppoll_chk (struct pollfd *__fds, nfds_t __nfds, const struct timespec *__timeout, const __sigset_t *__ss, long unsigned int __fdslen); extern int __ppoll_chk_warn (struct pollfd *__fds, nfds_t __nfds, const struct timespec *__timeout, const __sigset_t *__ss, long unsigned int __fdslen) __asm__ ("" "__ppoll_chk") __attribute__((__warning__ ("ppoll called with fds buffer too small file nfds entries"))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int ppoll (struct pollfd *__fds, nfds_t __nfds, const struct timespec *__timeout, const __sigset_t *__ss) { if (__builtin_object_size (__fds, 2 > 1) != (long unsigned int) -1) { if (! __builtin_constant_p (__nfds)) return __ppoll_chk (__fds, __nfds, __timeout, __ss, __builtin_object_size (__fds, 2 > 1)); else if (__builtin_object_size (__fds, 2 > 1) / sizeof (*__fds) < __nfds) return __ppoll_chk_warn (__fds, __nfds, __timeout, __ss, __builtin_object_size (__fds, 2 > 1)); } return __ppoll_alias (__fds, __nfds, __timeout, __ss); } # 77 "/usr/include/x86_64-linux-gnu/sys/poll.h" 2 3 4 # 1 "/usr/include/poll.h" 2 3 4 # 469 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" 2 # 494 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" static PyObject* select_error(void) { PyErr_SetString(PyExc_OSError, "unable to select on socket"); return ((void *)0); } # 533 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" static PyObject * set_error(void) { # 545 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" return PyErr_SetFromErrno(PyExc_OSError); } static PyObject * set_herror(int h_error) { PyObject *v; v = Py_BuildValue("(is)", h_error, (char *)hstrerror(h_error)); if (v != ((void *)0)) { PyErr_SetObject(socket_herror, v); do { PyObject *_py_decref_tmp = (PyObject *)(v); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } return ((void *)0); } static PyObject * set_gaierror(int error) { PyObject *v; if (error == -11) return set_error(); v = Py_BuildValue("(is)", error, gai_strerror(error)); if (v != ((void *)0)) { PyErr_SetObject(socket_gaierror, v); do { PyObject *_py_decref_tmp = (PyObject *)(v); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } return ((void *)0); } static int internal_setblocking(PySocketSockObject *s, int block) { int result = -1; # 606 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" if (block) s->sock_type &= (~SOCK_NONBLOCK); else s->sock_type |= SOCK_NONBLOCK; { PyThreadState *_save; _save = PyEval_SaveThread(); block = !block; if (ioctl(s->sock_fd, 0x5421, (unsigned int *)&block) == -1) goto done; # 636 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" result = 0; done: ; PyEval_RestoreThread(_save); } if (result) { PyErr_SetFromErrno(PyExc_OSError); } return result; } static int internal_select(PySocketSockObject *s, int writing, _PyTime_t interval, int connect) { int n; struct pollfd pollfd; _PyTime_t ms; ((void) (0)); ((void) (0)); if (s->sock_fd == (-1)) return 0; pollfd.fd = s->sock_fd; pollfd.events = writing ? 0x004 : 0x001; if (connect) { pollfd.events |= 0x008; } ms = _PyTime_AsMilliseconds(interval, _PyTime_ROUND_CEILING); ((void) (0)); { PyThreadState *_save; _save = PyEval_SaveThread();; n = poll(&pollfd, 1, (int)ms); PyEval_RestoreThread(_save); }; # 728 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" if (n < 0) return -1; if (n == 0) return 1; return 0; } # 754 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" static int sock_call_ex(PySocketSockObject *s, int writing, int (*sock_func) (PySocketSockObject *s, void *data), void *data, int connect, int *err, _PyTime_t timeout) { int has_timeout = (timeout > 0); _PyTime_t deadline = 0; int deadline_initialized = 0; int res; ((void) (0)); while (1) { if (has_timeout || connect) { if (has_timeout) { _PyTime_t interval; if (deadline_initialized) { interval = deadline - _PyTime_GetMonotonicClock(); } else { deadline_initialized = 1; deadline = _PyTime_GetMonotonicClock() + timeout; interval = timeout; } if (interval >= 0) res = internal_select(s, writing, interval, connect); else res = 1; } else { res = internal_select(s, writing, timeout, connect); } if (res == -1) { if (err) *err = (*__errno_location ()); if (((*__errno_location ()) == 4)) { if (PyErr_CheckSignals()) { if (err) *err = -1; return -1; } continue; } s->errorhandler(); return -1; } if (res == 1) { if (err) *err = 11; else PyErr_SetString(socket_timeout, "timed out"); return -1; } } while (1) { { PyThreadState *_save; _save = PyEval_SaveThread(); res = sock_func(s, data); PyEval_RestoreThread(_save); } if (res) { if (err) *err = 0; return 0; } if (err) *err = (*__errno_location ()); if (!((*__errno_location ()) == 4)) break; if (PyErr_CheckSignals()) { if (err) *err = -1; return -1; } } if (s->sock_timeout > 0 && (((*__errno_location ()) == 11) || ((*__errno_location ()) == 11))) { continue; } if (!err) s->errorhandler(); return -1; } } static int sock_call(PySocketSockObject *s, int writing, int (*func) (PySocketSockObject *s, void *data), void *data) { return sock_call_ex(s, writing, func, data, 0, ((void *)0), s->sock_timeout); } static _PyTime_t defaulttimeout = ((_PyTime_t)(-1) * (1000 * 1000 * 1000)); static int init_sockobject(PySocketSockObject *s, SOCKET_T fd, int family, int type, int proto) { s->sock_fd = fd; s->sock_family = family; s->sock_type = type; s->sock_proto = proto; s->errorhandler = &set_error; if (type & SOCK_NONBLOCK) s->sock_timeout = 0; else { s->sock_timeout = defaulttimeout; if (defaulttimeout >= 0) { if (internal_setblocking(s, 0) == -1) { return -1; } } } return 0; } static PySocketSockObject * new_sockobject(SOCKET_T fd, int family, int type, int proto) { PySocketSockObject *s; s = (PySocketSockObject *) PyType_GenericNew(&sock_type, ((void *)0), ((void *)0)); if (s == ((void *)0)) return ((void *)0); if (init_sockobject(s, fd, family, type, proto) == -1) { do { PyObject *_py_decref_tmp = (PyObject *)(s); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); return ((void *)0); } return s; } # 959 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" static int setipaddr(const char *name, struct sockaddr *addr_ret, size_t addr_ret_size, int af) { struct addrinfo hints, *res; int error; memset((void *) addr_ret, '\0', sizeof(*addr_ret)); if (name[0] == '\0') { int siz; memset(&hints, 0, sizeof(hints)); hints.ai_family = af; hints.ai_socktype = SOCK_DGRAM; hints.ai_flags = 0x0001; { PyThreadState *_save; _save = PyEval_SaveThread(); error = getaddrinfo(((void *)0), "0", &hints, &res); PyEval_RestoreThread(_save); } if (error) { set_gaierror(error); return -1; } switch (res->ai_family) { case 2: siz = 4; break; case 10: siz = 16; break; default: freeaddrinfo(res); PyErr_SetString(PyExc_OSError, "unsupported address family"); return -1; } if (res->ai_next) { freeaddrinfo(res); PyErr_SetString(PyExc_OSError, "wildcard resolved to multiple address"); return -1; } if (res->ai_addrlen < addr_ret_size) addr_ret_size = res->ai_addrlen; memcpy(addr_ret, res->ai_addr, addr_ret_size); freeaddrinfo(res); return siz; } if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (name) && __builtin_constant_p ("255.255.255.255") && (__s1_len = __builtin_strlen (name), __s2_len = __builtin_strlen ("255.255.255.255"), (!((size_t)(const void *)((name) + 1) - (size_t)(const void *)(name) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("255.255.255.255") + 1) - (size_t)(const void *)("255.255.255.255") == 1) || __s2_len >= 4)) ? __builtin_strcmp (name, "255.255.255.255") : (__builtin_constant_p (name) && ((size_t)(const void *)((name) + 1) - (size_t)(const void *)(name) == 1) && (__s1_len = __builtin_strlen (name), __s1_len < 4) ? (__builtin_constant_p ("255.255.255.255") && ((size_t)(const void *)(("255.255.255.255") + 1) - (size_t)(const void *)("255.255.255.255") == 1) ? __builtin_strcmp (name, "255.255.255.255") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("255.255.255.255"); int __result = (((const unsigned char *) (const char *) (name))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (name))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (name))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (name))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("255.255.255.255") && ((size_t)(const void *)(("255.255.255.255") + 1) - (size_t)(const void *)("255.255.255.255") == 1) && (__s2_len = __builtin_strlen ("255.255.255.255"), __s2_len < 4) ? (__builtin_constant_p (name) && ((size_t)(const void *)((name) + 1) - (size_t)(const void *)(name) == 1) ? __builtin_strcmp (name, "255.255.255.255") : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (name); int __result = (((const unsigned char *) (const char *) ("255.255.255.255"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("255.255.255.255"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("255.255.255.255"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("255.255.255.255"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (name, "255.255.255.255")))); }) == 0 || __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (name) && __builtin_constant_p ("") && (__s1_len = __builtin_strlen (name), __s2_len = __builtin_strlen (""), (!((size_t)(const void *)((name) + 1) - (size_t)(const void *)(name) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("") + 1) - (size_t)(const void *)("") == 1) || __s2_len >= 4)) ? __builtin_strcmp (name, "") : (__builtin_constant_p (name) && ((size_t)(const void *)((name) + 1) - (size_t)(const void *)(name) == 1) && (__s1_len = __builtin_strlen (name), __s1_len < 4) ? (__builtin_constant_p ("") && ((size_t)(const void *)(("") + 1) - (size_t)(const void *)("") == 1) ? __builtin_strcmp (name, "") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (""); int __result = (((const unsigned char *) (const char *) (name))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (name))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (name))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (name))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("") && ((size_t)(const void *)(("") + 1) - (size_t)(const void *)("") == 1) && (__s2_len = __builtin_strlen (""), __s2_len < 4) ? (__builtin_constant_p (name) && ((size_t)(const void *)((name) + 1) - (size_t)(const void *)(name) == 1) ? __builtin_strcmp (name, "") : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (name); int __result = (((const unsigned char *) (const char *) (""))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (""))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (""))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (""))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (name, "")))); }) == 0) { struct sockaddr_in *sin; if (af != 2 && af != 0) { PyErr_SetString(PyExc_OSError, "address family mismatched"); return -1; } sin = (struct sockaddr_in *)addr_ret; memset((void *) sin, '\0', sizeof(*sin)); sin->sin_family = 2; sin->sin_addr.s_addr = ((in_addr_t) 0xffffffff); return sizeof(sin->sin_addr); } if (af == 0 || af == 2) { struct sockaddr_in *sin = (struct sockaddr_in *)addr_ret; memset(sin, 0, sizeof(*sin)); if (inet_pton(2, name, &sin->sin_addr) > 0) { sin->sin_family = 2; return 4; } } if ((af == 0 || af == 10) && !(__extension__ (__builtin_constant_p ('%') && !__builtin_constant_p (name) && ('%') == '\0' ? (char *) __rawmemchr (name, '%') : __builtin_strchr (name, '%')))) { struct sockaddr_in6 *sin = (struct sockaddr_in6 *)addr_ret; memset(sin, 0, sizeof(*sin)); if (inet_pton(10, name, &sin->sin6_addr) > 0) { sin->sin6_family = 10; return 16; } } # 1078 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" memset(&hints, 0, sizeof(hints)); hints.ai_family = af; { PyThreadState *_save; _save = PyEval_SaveThread(); error = getaddrinfo(name, ((void *)0), &hints, &res); # 1091 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" PyEval_RestoreThread(_save); } if (error) { set_gaierror(error); return -1; } if (res->ai_addrlen < addr_ret_size) addr_ret_size = res->ai_addrlen; memcpy((char *) addr_ret, res->ai_addr, addr_ret_size); freeaddrinfo(res); switch (addr_ret->sa_family) { case 2: return 4; case 10: return 16; default: PyErr_SetString(PyExc_OSError, "unknown address family"); return -1; } } static PyObject * makeipaddr(struct sockaddr *addr, int addrlen) { char buf[1025]; int error; error = getnameinfo(addr, addrlen, buf, sizeof(buf), ((void *)0), 0, 1); if (error) { set_gaierror(error); return ((void *)0); } return PyUnicode_FromString(buf); } # 1186 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" static PyObject * makesockaddr(SOCKET_T sockfd, struct sockaddr *addr, size_t addrlen, int proto) { if (addrlen == 0) { ( ((PyObject *)((&_Py_NoneStruct)))->ob_refcnt++); return (&_Py_NoneStruct); } switch (addr->sa_family) { case 2: { struct sockaddr_in *a; PyObject *addrobj = makeipaddr(addr, sizeof(*a)); PyObject *ret = ((void *)0); if (addrobj) { a = (struct sockaddr_in *)addr; ret = Py_BuildValue("Oi", addrobj, (__extension__ ({ unsigned short int __v, __x = (unsigned short int) (a->sin_port); if (__builtin_constant_p (__x)) __v = ((unsigned short int) ((((__x) >> 8) & 0xff) | (((__x) & 0xff) << 8))); else __asm__ ("rorw $8, %w0" : "=r" (__v) : "0" (__x) : "cc"); __v; }))); do { PyObject *_py_decref_tmp = (PyObject *)(addrobj); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } return ret; } case 1: { struct sockaddr_un *a = (struct sockaddr_un *) addr; size_t linuxaddrlen = addrlen - __builtin_offsetof (struct sockaddr_un, sun_path); if (linuxaddrlen > 0 && a->sun_path[0] == 0) { return PyBytes_FromStringAndSize(a->sun_path, linuxaddrlen); } else { return PyUnicode_DecodeFSDefault(a->sun_path); } } case 16: { struct sockaddr_nl *a = (struct sockaddr_nl *) addr; return Py_BuildValue("II", a->nl_pid, a->nl_groups); } case 10: { struct sockaddr_in6 *a; PyObject *addrobj = makeipaddr(addr, sizeof(*a)); PyObject *ret = ((void *)0); if (addrobj) { a = (struct sockaddr_in6 *)addr; ret = Py_BuildValue("OiII", addrobj, (__extension__ ({ unsigned short int __v, __x = (unsigned short int) (a->sin6_port); if (__builtin_constant_p (__x)) __v = ((unsigned short int) ((((__x) >> 8) & 0xff) | (((__x) & 0xff) << 8))); else __asm__ ("rorw $8, %w0" : "=r" (__v) : "0" (__x) : "cc"); __v; })), __bswap_32 (a->sin6_flowinfo), a->sin6_scope_id); do { PyObject *_py_decref_tmp = (PyObject *)(addrobj); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } return ret; } # 1315 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" case 17: { struct sockaddr_ll *a = (struct sockaddr_ll *)addr; char *ifname = ""; struct ifreq ifr; if (a->sll_ifindex) { ifr.ifr_ifru.ifru_ivalue = a->sll_ifindex; if (ioctl(sockfd, 0x8910, &ifr) == 0) ifname = ifr.ifr_ifrn.ifrn_name; } return Py_BuildValue("shbhy#", ifname, (__extension__ ({ unsigned short int __v, __x = (unsigned short int) (a->sll_protocol); if (__builtin_constant_p (__x)) __v = ((unsigned short int) ((((__x) >> 8) & 0xff) | (((__x) & 0xff) << 8))); else __asm__ ("rorw $8, %w0" : "=r" (__v) : "0" (__x) : "cc"); __v; })), a->sll_pkttype, a->sll_hatype, a->sll_addr, a->sll_halen); } case 30: { struct sockaddr_tipc *a = (struct sockaddr_tipc *) addr; if (a->addrtype == 1) { return Py_BuildValue("IIIII", a->addrtype, a->addr.nameseq.type, a->addr.nameseq.lower, a->addr.nameseq.upper, a->scope); } else if (a->addrtype == 2) { return Py_BuildValue("IIIII", a->addrtype, a->addr.name.name.type, a->addr.name.name.instance, a->addr.name.name.instance, a->scope); } else if (a->addrtype == 3) { return Py_BuildValue("IIIII", a->addrtype, a->addr.id.node, a->addr.id.ref, 0, a->scope); } else { PyErr_SetString(PyExc_ValueError, "Invalid address type"); return ((void *)0); } } case 29: { struct sockaddr_can *a = (struct sockaddr_can *)addr; char *ifname = ""; struct ifreq ifr; if (a->can_ifindex) { ifr.ifr_ifru.ifru_ivalue = a->can_ifindex; if (ioctl(sockfd, 0x8910, &ifr) == 0) ifname = ifr.ifr_ifrn.ifrn_name; } return Py_BuildValue("O&h", PyUnicode_DecodeFSDefault, ifname, a->can_family); } # 1406 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" case 38: { struct sockaddr_alg *a = (struct sockaddr_alg *)addr; return Py_BuildValue("s#s#HH", a->salg_type, strnlen((const char*)a->salg_type, sizeof(a->salg_type)), a->salg_name, strnlen((const char*)a->salg_name, sizeof(a->salg_name)), a->salg_feat, a->salg_mask); } default: return Py_BuildValue("iy#", addr->sa_family, addr->sa_data, sizeof(addr->sa_data)); } } struct maybe_idna { PyObject *obj; char *buf; }; static void idna_cleanup(struct maybe_idna *data) { do { PyObject *_py_tmp = (PyObject *)(data->obj); if (_py_tmp != ((void *)0)) { (data->obj) = ((void *)0); do { PyObject *_py_decref_tmp = (PyObject *)(_py_tmp); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } } while (0); } static int idna_converter(PyObject *obj, struct maybe_idna *data) { size_t len; PyObject *obj2; if (obj == ((void *)0)) { idna_cleanup(data); return 1; } data->obj = ((void *)0); len = -1; if (((((((PyObject*)(obj))->ob_type))->tp_flags & ((1UL << 27))) != 0)) { data->buf = PyBytes_AsString(obj); len = PyBytes_Size(obj); } else if (((((PyObject*)(obj))->ob_type) == (&PyByteArray_Type) || PyType_IsSubtype((((PyObject*)(obj))->ob_type), (&PyByteArray_Type)))) { data->buf = PyByteArray_AsString(obj); len = PyByteArray_Size(obj); } else if (((((((PyObject*)(obj))->ob_type))->tp_flags & ((1UL << 28))) != 0)) { if ((((void) (0)), ((((PyASCIIObject*)obj)->state.ready) ? 0 : _PyUnicode_Ready((PyObject *)(obj)))) == 0 && (((PyASCIIObject*)obj)->state.ascii && (((PyASCIIObject*)(obj))->state.compact))) { data->buf = (((void) (0)), (((PyASCIIObject*)(obj))->state.compact) ? ((((void) (0)), ((void) (0)), ((PyASCIIObject*)obj)->state.ascii) ? ((void*)((PyASCIIObject*)(obj) + 1)) : ((void*)((PyCompactUnicodeObject*)(obj) + 1))) : (((void) (0)), ((((PyUnicodeObject *)(obj))->data.any)))); len = (((void) (0)), ((void) (0)), ((PyASCIIObject *)(obj))->length); } else { obj2 = PyUnicode_AsEncodedString(obj, "idna", ((void *)0)); if (!obj2) { PyErr_SetString(PyExc_TypeError, "encoding of hostname failed"); return 0; } ((void) (0)); data->obj = obj2; data->buf = (((void) (0)), (((PyBytesObject *)(obj2))->ob_sval)); len = (((void) (0)),(((PyVarObject*)(obj2))->ob_size)); } } else { PyErr_Format(PyExc_TypeError, "str, bytes or bytearray expected, not %s", obj->ob_type->tp_name); return 0; } if (strlen(data->buf) != len) { do { PyObject *_py_tmp = (PyObject *)(data->obj); if (_py_tmp != ((void *)0)) { (data->obj) = ((void *)0); do { PyObject *_py_decref_tmp = (PyObject *)(_py_tmp); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } } while (0); PyErr_SetString(PyExc_TypeError, "host name must not contain null character"); return 0; } return 0x20000; } static int getsockaddrarg(PySocketSockObject *s, PyObject *args, struct sockaddr *addr_ret, int *len_ret) { switch (s->sock_family) { case 1: { struct sockaddr_un* addr; Py_buffer path; int retval = 0; if (((((((PyObject*)(args))->ob_type))->tp_flags & ((1UL << 28))) != 0)) { if ((args = PyUnicode_EncodeFSDefault(args)) == ((void *)0)) return 0; } else ( ((PyObject *)(args))->ob_refcnt++); if (!PyArg_Parse(args, "y*", &path)) { do { PyObject *_py_decref_tmp = (PyObject *)(args); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); return retval; } ((void) (0)); addr = (struct sockaddr_un*)addr_ret; if (path.len > 0 && *(const char *)path.buf == 0) { if ((size_t)path.len > sizeof addr->sun_path) { PyErr_SetString(PyExc_OSError, "AF_UNIX path too long"); goto unix_out; } } else { if ((size_t)path.len >= sizeof addr->sun_path) { PyErr_SetString(PyExc_OSError, "AF_UNIX path too long"); goto unix_out; } addr->sun_path[path.len] = 0; } addr->sun_family = s->sock_family; memcpy(addr->sun_path, path.buf, path.len); *len_ret = path.len + __builtin_offsetof (struct sockaddr_un, sun_path); retval = 1; unix_out: PyBuffer_Release(&path); do { PyObject *_py_decref_tmp = (PyObject *)(args); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); return retval; } case 16: { struct sockaddr_nl* addr; int pid, groups; addr = (struct sockaddr_nl *)addr_ret; if (!((((((PyObject*)(args))->ob_type))->tp_flags & ((1UL << 26))) != 0)) { PyErr_Format( PyExc_TypeError, "getsockaddrarg: " "AF_NETLINK address must be tuple, not %.500s", (((PyObject*)(args))->ob_type)->tp_name); return 0; } if (!PyArg_ParseTuple(args, "II:getsockaddrarg", &pid, &groups)) return 0; addr->nl_family = 16; addr->nl_pid = pid; addr->nl_groups = groups; *len_ret = sizeof(*addr); return 1; } case 21: case 2: { struct sockaddr_in* addr; struct maybe_idna host = {((void *)0), ((void *)0)}; int port, result; if (!((((((PyObject*)(args))->ob_type))->tp_flags & ((1UL << 26))) != 0)) { PyErr_Format( PyExc_TypeError, "getsockaddrarg: " "AF_INET address must be tuple, not %.500s", (((PyObject*)(args))->ob_type)->tp_name); return 0; } if (!PyArg_ParseTuple(args, "O&i:getsockaddrarg", idna_converter, &host, &port)) return 0; addr=(struct sockaddr_in*)addr_ret; result = setipaddr(host.buf, (struct sockaddr *)addr, sizeof(*addr), 2); idna_cleanup(&host); if (result < 0) return 0; if (port < 0 || port > 0xffff) { PyErr_SetString( PyExc_OverflowError, "getsockaddrarg: port must be 0-65535."); return 0; } addr->sin_family = 2; addr->sin_port = (__extension__ ({ unsigned short int __v, __x = (unsigned short int) ((short)port); if (__builtin_constant_p (__x)) __v = ((unsigned short int) ((((__x) >> 8) & 0xff) | (((__x) & 0xff) << 8))); else __asm__ ("rorw $8, %w0" : "=r" (__v) : "0" (__x) : "cc"); __v; })); *len_ret = sizeof *addr; return 1; } case 10: { struct sockaddr_in6* addr; struct maybe_idna host = {((void *)0), ((void *)0)}; int port, result; unsigned int flowinfo, scope_id; flowinfo = scope_id = 0; if (!((((((PyObject*)(args))->ob_type))->tp_flags & ((1UL << 26))) != 0)) { PyErr_Format( PyExc_TypeError, "getsockaddrarg: " "AF_INET6 address must be tuple, not %.500s", (((PyObject*)(args))->ob_type)->tp_name); return 0; } if (!PyArg_ParseTuple(args, "O&i|II", idna_converter, &host, &port, &flowinfo, &scope_id)) { return 0; } addr = (struct sockaddr_in6*)addr_ret; result = setipaddr(host.buf, (struct sockaddr *)addr, sizeof(*addr), 10); idna_cleanup(&host); if (result < 0) return 0; if (port < 0 || port > 0xffff) { PyErr_SetString( PyExc_OverflowError, "getsockaddrarg: port must be 0-65535."); return 0; } if (flowinfo > 0xfffff) { PyErr_SetString( PyExc_OverflowError, "getsockaddrarg: flowinfo must be 0-1048575."); return 0; } addr->sin6_family = s->sock_family; addr->sin6_port = (__extension__ ({ unsigned short int __v, __x = (unsigned short int) ((short)port); if (__builtin_constant_p (__x)) __v = ((unsigned short int) ((((__x) >> 8) & 0xff) | (((__x) & 0xff) << 8))); else __asm__ ("rorw $8, %w0" : "=r" (__v) : "0" (__x) : "cc"); __v; })); addr->sin6_flowinfo = __bswap_32 (flowinfo); addr->sin6_scope_id = scope_id; *len_ret = sizeof *addr; return 1; } # 1768 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" case 17: { struct sockaddr_ll* addr; struct ifreq ifr; char *interfaceName; int protoNumber; int hatype = 0; int pkttype = 0; Py_buffer haddr = {((void *)0), ((void *)0)}; if (!((((((PyObject*)(args))->ob_type))->tp_flags & ((1UL << 26))) != 0)) { PyErr_Format( PyExc_TypeError, "getsockaddrarg: " "AF_PACKET address must be tuple, not %.500s", (((PyObject*)(args))->ob_type)->tp_name); return 0; } if (!PyArg_ParseTuple(args, "si|iiy*", &interfaceName, &protoNumber, &pkttype, &hatype, &haddr)) return 0; strncpy(ifr.ifr_ifrn.ifrn_name, interfaceName, sizeof(ifr.ifr_ifrn.ifrn_name)); ifr.ifr_ifrn.ifrn_name[(sizeof(ifr.ifr_ifrn.ifrn_name))-1] = '\0'; if (ioctl(s->sock_fd, 0x8933, &ifr) < 0) { s->errorhandler(); PyBuffer_Release(&haddr); return 0; } if (haddr.buf && haddr.len > 8) { PyErr_SetString(PyExc_ValueError, "Hardware address must be 8 bytes or less"); PyBuffer_Release(&haddr); return 0; } if (protoNumber < 0 || protoNumber > 0xffff) { PyErr_SetString( PyExc_OverflowError, "getsockaddrarg: protoNumber must be 0-65535."); PyBuffer_Release(&haddr); return 0; } addr = (struct sockaddr_ll*)addr_ret; addr->sll_family = 17; addr->sll_protocol = (__extension__ ({ unsigned short int __v, __x = (unsigned short int) ((short)protoNumber); if (__builtin_constant_p (__x)) __v = ((unsigned short int) ((((__x) >> 8) & 0xff) | (((__x) & 0xff) << 8))); else __asm__ ("rorw $8, %w0" : "=r" (__v) : "0" (__x) : "cc"); __v; })); addr->sll_ifindex = ifr.ifr_ifru.ifru_ivalue; addr->sll_pkttype = pkttype; addr->sll_hatype = hatype; if (haddr.buf) { memcpy(&addr->sll_addr, haddr.buf, haddr.len); addr->sll_halen = haddr.len; } else addr->sll_halen = 0; *len_ret = sizeof *addr; PyBuffer_Release(&haddr); return 1; } case 30: { unsigned int atype, v1, v2, v3; unsigned int scope = 2; struct sockaddr_tipc *addr; if (!((((((PyObject*)(args))->ob_type))->tp_flags & ((1UL << 26))) != 0)) { PyErr_Format( PyExc_TypeError, "getsockaddrarg: " "AF_TIPC address must be tuple, not %.500s", (((PyObject*)(args))->ob_type)->tp_name); return 0; } if (!PyArg_ParseTuple(args, "IIII|I;Invalid TIPC address format", &atype, &v1, &v2, &v3, &scope)) return 0; addr = (struct sockaddr_tipc *) addr_ret; memset(addr, 0, sizeof(struct sockaddr_tipc)); addr->family = 30; addr->scope = scope; addr->addrtype = atype; if (atype == 1) { addr->addr.nameseq.type = v1; addr->addr.nameseq.lower = v2; addr->addr.nameseq.upper = v3; } else if (atype == 2) { addr->addr.name.name.type = v1; addr->addr.name.name.instance = v2; } else if (atype == 3) { addr->addr.id.node = v1; addr->addr.id.ref = v2; } else { PyErr_SetString(PyExc_TypeError, "Invalid address type"); return 0; } *len_ret = sizeof(*addr); return 1; } case 29: switch (s->sock_proto) { case 1: case 2: { struct sockaddr_can *addr; PyObject *interfaceName; struct ifreq ifr; Py_ssize_t len; addr = (struct sockaddr_can *)addr_ret; if (!PyArg_ParseTuple(args, "O&", PyUnicode_FSConverter, &interfaceName)) return 0; len = (((void) (0)),(((PyVarObject*)(interfaceName))->ob_size)); if (len == 0) { ifr.ifr_ifru.ifru_ivalue = 0; } else if ((size_t)len < sizeof(ifr.ifr_ifrn.ifrn_name)) { strncpy(ifr.ifr_ifrn.ifrn_name, (((void) (0)), (((PyBytesObject *)(interfaceName))->ob_sval)), sizeof(ifr.ifr_ifrn.ifrn_name)); ifr.ifr_ifrn.ifrn_name[(sizeof(ifr.ifr_ifrn.ifrn_name))-1] = '\0'; if (ioctl(s->sock_fd, 0x8933, &ifr) < 0) { s->errorhandler(); do { PyObject *_py_decref_tmp = (PyObject *)(interfaceName); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); return 0; } } else { PyErr_SetString(PyExc_OSError, "AF_CAN interface name too long"); do { PyObject *_py_decref_tmp = (PyObject *)(interfaceName); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); return 0; } addr->can_family = 29; addr->can_ifindex = ifr.ifr_ifru.ifru_ivalue; *len_ret = sizeof(*addr); do { PyObject *_py_decref_tmp = (PyObject *)(interfaceName); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); return 1; } default: PyErr_SetString(PyExc_OSError, "getsockaddrarg: unsupported CAN protocol"); return 0; } # 1987 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" case 38: { struct sockaddr_alg *sa; char *type; char *name; sa = (struct sockaddr_alg *)addr_ret; memset(sa, 0, sizeof(*sa)); sa->salg_family = 38; if (!PyArg_ParseTuple(args, "ss|HH:getsockaddrarg", &type, &name, &sa->salg_feat, &sa->salg_mask)) return 0; if (strlen(type) > sizeof(sa->salg_type)) { PyErr_SetString(PyExc_ValueError, "AF_ALG type too long."); return 0; } strncpy((char *)sa->salg_type, type, sizeof(sa->salg_type)); if (strlen(name) > sizeof(sa->salg_name)) { PyErr_SetString(PyExc_ValueError, "AF_ALG name too long."); return 0; } strncpy((char *)sa->salg_name, name, sizeof(sa->salg_name)); *len_ret = sizeof(*sa); return 1; } default: PyErr_SetString(PyExc_OSError, "getsockaddrarg: bad family"); return 0; } } static int getsockaddrlen(PySocketSockObject *s, socklen_t *len_ret) { switch (s->sock_family) { case 1: { *len_ret = sizeof (struct sockaddr_un); return 1; } case 16: { *len_ret = sizeof (struct sockaddr_nl); return 1; } case 21: case 2: { *len_ret = sizeof (struct sockaddr_in); return 1; } case 10: { *len_ret = sizeof (struct sockaddr_in6); return 1; } # 2101 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" case 17: { *len_ret = sizeof (struct sockaddr_ll); return 1; } case 30: { *len_ret = sizeof (struct sockaddr_tipc); return 1; } case 29: { *len_ret = sizeof (struct sockaddr_can); return 1; } # 2139 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" case 38: { *len_ret = sizeof (struct sockaddr_alg); return 1; } default: PyErr_SetString(PyExc_OSError, "getsockaddrlen: bad family"); return 0; } } # 2167 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" static int get_CMSG_LEN(size_t length, size_t *result) { size_t tmp; if (length > (2147483647 - ((((sizeof (struct cmsghdr)) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)) + (0)))) return 0; tmp = ((((sizeof (struct cmsghdr)) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)) + (length)); if (tmp > 2147483647 || tmp < length) return 0; *result = tmp; return 1; } static int get_CMSG_SPACE(size_t length, size_t *result) { size_t tmp; if (length > (2147483647 - ((((1) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)) + (((sizeof (struct cmsghdr)) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1))))) return 0; tmp = ((((length) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)) + (((sizeof (struct cmsghdr)) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1))); if (tmp > 2147483647 || tmp < length) return 0; *result = tmp; return 1; } static int cmsg_min_space(struct msghdr *msg, struct cmsghdr *cmsgh, size_t space) { size_t cmsg_offset; static const size_t cmsg_len_end = (__builtin_offsetof (struct cmsghdr, cmsg_len) + sizeof(cmsgh->cmsg_len)); if (cmsgh == ((void *)0) || msg->msg_control == ((void *)0)) return 0; # 2224 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wtype-limits" if (msg->msg_controllen < 0) return 0; #pragma GCC diagnostic pop if (space < cmsg_len_end) space = cmsg_len_end; cmsg_offset = (char *)cmsgh - (char *)msg->msg_control; return (cmsg_offset <= (size_t)-1 - space && cmsg_offset + space <= msg->msg_controllen); } static int get_cmsg_data_space(struct msghdr *msg, struct cmsghdr *cmsgh, size_t *space) { size_t data_offset; char *data_ptr; if ((data_ptr = (char *)((cmsgh)->__cmsg_data)) == ((void *)0)) return 0; data_offset = data_ptr - (char *)msg->msg_control; if (data_offset > msg->msg_controllen) return 0; *space = msg->msg_controllen - data_offset; return 1; } # 2268 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" static int get_cmsg_data_len(struct msghdr *msg, struct cmsghdr *cmsgh, size_t *data_len) { size_t space, cmsg_data_len; if (!cmsg_min_space(msg, cmsgh, ((((sizeof (struct cmsghdr)) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)) + (0))) || cmsgh->cmsg_len < ((((sizeof (struct cmsghdr)) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)) + (0))) return -1; cmsg_data_len = cmsgh->cmsg_len - ((((sizeof (struct cmsghdr)) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)) + (0)); if (!get_cmsg_data_space(msg, cmsgh, &space)) return -1; if (space >= cmsg_data_len) { *data_len = cmsg_data_len; return 0; } *data_len = space; return 1; } struct sock_accept { socklen_t *addrlen; sock_addr_t *addrbuf; SOCKET_T result; }; static int accept4_works = -1; static int sock_accept_impl(PySocketSockObject *s, void *data) { struct sock_accept *ctx = data; struct sockaddr *addr = (&((ctx->addrbuf)->sa)); socklen_t *paddrlen = ctx->addrlen; if (s->sock_family == 38) { addr = ((void *)0); paddrlen = ((void *)0); *ctx->addrlen = 0; } if (accept4_works != 0) { ctx->result = accept4(s->sock_fd, addr, paddrlen, SOCK_CLOEXEC); if (ctx->result == (-1) && accept4_works == -1) { accept4_works = ((*__errno_location ()) != 38); } } if (accept4_works == 0) ctx->result = accept(s->sock_fd, addr, paddrlen); return (ctx->result >= 0); } static PyObject * sock_accept(PySocketSockObject *s) { sock_addr_t addrbuf; SOCKET_T newfd; socklen_t addrlen; PyObject *sock = ((void *)0); PyObject *addr = ((void *)0); PyObject *res = ((void *)0); struct sock_accept ctx; if (!getsockaddrlen(s, &addrlen)) return ((void *)0); memset(&addrbuf, 0, addrlen); if (!1) return select_error(); ctx.addrlen = &addrlen; ctx.addrbuf = &addrbuf; if (sock_call(s, 0, sock_accept_impl, &ctx) < 0) return ((void *)0); newfd = ctx.result; # 2373 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" if (!accept4_works) { if (_Py_set_inheritable(newfd, 0, ((void *)0)) < 0) { close(newfd); goto finally; } } sock = PyLong_FromLong((SOCKET_T)(newfd)); if (sock == ((void *)0)) { close(newfd); goto finally; } addr = makesockaddr(s->sock_fd, (&((&addrbuf)->sa)), addrlen, s->sock_proto); if (addr == ((void *)0)) goto finally; res = PyTuple_Pack(2, sock, addr); finally: do { PyObject *_py_xdecref_tmp = (PyObject *)(sock); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp = (PyObject *)(_py_xdecref_tmp); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } while (0); do { PyObject *_py_xdecref_tmp = (PyObject *)(addr); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp = (PyObject *)(_py_xdecref_tmp); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } while (0); return res; } static char accept_doc[] = "_accept() -> (integer, address info)\n\nWait for an incoming connection. Return a new socket file descriptor\nrepresenting the connection, and the address of the client.\nFor IP sockets, the address info is a pair (hostaddr, port)." ; static PyObject * sock_setblocking(PySocketSockObject *s, PyObject *arg) { long block; block = PyLong_AsLong(arg); if (block == -1 && PyErr_Occurred()) return ((void *)0); s->sock_timeout = _PyTime_FromSeconds(block ? -1 : 0); if (internal_setblocking(s, block) == -1) { return ((void *)0); } return ( ((PyObject *)((&_Py_NoneStruct)))->ob_refcnt++), (&_Py_NoneStruct); } static char setblocking_doc[] = "setblocking(flag)\n\nSet the socket to blocking (flag is true) or non-blocking (false).\nsetblocking(True) is equivalent to settimeout(None);\nsetblocking(False) is equivalent to settimeout(0.0)." ; static int socket_parse_timeout(_PyTime_t *timeout, PyObject *timeout_obj) { int overflow = 0; if (timeout_obj == (&_Py_NoneStruct)) { *timeout = _PyTime_FromSeconds(-1); return 0; } if (_PyTime_FromSecondsObject(timeout, timeout_obj, _PyTime_ROUND_CEILING) < 0) return -1; if (*timeout < 0) { PyErr_SetString(PyExc_ValueError, "Timeout value out of range"); return -1; } # 2469 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" if (overflow) { PyErr_SetString(PyExc_OverflowError, "timeout doesn't fit into C timeval"); return -1; } return 0; } static PyObject * sock_settimeout(PySocketSockObject *s, PyObject *arg) { _PyTime_t timeout; if (socket_parse_timeout(&timeout, arg) < 0) return ((void *)0); s->sock_timeout = timeout; if (internal_setblocking(s, timeout < 0) == -1) { return ((void *)0); } return ( ((PyObject *)((&_Py_NoneStruct)))->ob_refcnt++), (&_Py_NoneStruct); } static char settimeout_doc[] = "settimeout(timeout)\n\nSet a timeout on socket operations. 'timeout' can be a float,\ngiving in seconds, or None. Setting a timeout of None disables\nthe timeout feature and is equivalent to setblocking(1).\nSetting a timeout of zero is the same as setblocking(0)." ; static PyObject * sock_gettimeout(PySocketSockObject *s) { if (s->sock_timeout < 0) { ( ((PyObject *)((&_Py_NoneStruct)))->ob_refcnt++); return (&_Py_NoneStruct); } else { double seconds = _PyTime_AsSecondsDouble(s->sock_timeout); return PyFloat_FromDouble(seconds); } } static char gettimeout_doc[] = "gettimeout() -> timeout\n\nReturns the timeout in seconds (float) associated with socket \noperations. A timeout of None indicates that timeouts on socket \noperations are disabled." ; # 2537 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" static PyObject * sock_setsockopt(PySocketSockObject *s, PyObject *args) { int level; int optname; int res; Py_buffer optval; int flag; unsigned int optlen; PyObject *none; if (PyArg_ParseTuple(args, "iii:setsockopt", &level, &optname, &flag)) { res = setsockopt(s->sock_fd, level, optname, (char*)&flag, sizeof flag); goto done; } PyErr_Clear(); if (PyArg_ParseTuple(args, "iiO!I:setsockopt", &level, &optname, (((PyObject*)((&_Py_NoneStruct)))->ob_type), &none, &optlen)) { ((void) (0)); res = setsockopt(s->sock_fd, level, optname, ((void *)0), (socklen_t)optlen); goto done; } PyErr_Clear(); if (!PyArg_ParseTuple(args, "iiy*:setsockopt", &level, &optname, &optval)) return ((void *)0); # 2583 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" res = setsockopt(s->sock_fd, level, optname, optval.buf, optval.len); PyBuffer_Release(&optval); done: if (res < 0) { return s->errorhandler(); } return ( ((PyObject *)((&_Py_NoneStruct)))->ob_refcnt++), (&_Py_NoneStruct); } static char setsockopt_doc[] = "setsockopt(level, option, value: int)\nsetsockopt(level, option, value: buffer)\nsetsockopt(level, option, None, optlen: int)\n\nSet a socket option. See the Unix manual for level and option.\nThe value argument can either be an integer, a string buffer, or \nNone, optlen." ; static PyObject * sock_getsockopt(PySocketSockObject *s, PyObject *args) { int level; int optname; int res; PyObject *buf; socklen_t buflen = 0; if (!PyArg_ParseTuple(args, "ii|i:getsockopt", &level, &optname, &buflen)) return ((void *)0); if (buflen == 0) { int flag = 0; socklen_t flagsize = sizeof flag; res = getsockopt(s->sock_fd, level, optname, (void *)&flag, &flagsize); if (res < 0) return s->errorhandler(); return PyLong_FromLong(flag); } if (buflen <= 0 || buflen > 1024) { PyErr_SetString(PyExc_OSError, "getsockopt buflen out of range"); return ((void *)0); } buf = PyBytes_FromStringAndSize((char *)((void *)0), buflen); if (buf == ((void *)0)) return ((void *)0); res = getsockopt(s->sock_fd, level, optname, (void *)(((void) (0)), (((PyBytesObject *)(buf))->ob_sval)), &buflen); if (res < 0) { do { PyObject *_py_decref_tmp = (PyObject *)(buf); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); return s->errorhandler(); } _PyBytes_Resize(&buf, buflen); return buf; } static char getsockopt_doc[] = "getsockopt(level, option[, buffersize]) -> value\n\nGet a socket option. See the Unix manual for level and option.\nIf a nonzero buffersize argument is given, the return value is a\nstring of that length; otherwise it is an integer." ; static PyObject * sock_bind(PySocketSockObject *s, PyObject *addro) { sock_addr_t addrbuf; int addrlen; int res; if (!getsockaddrarg(s, addro, (&((&addrbuf)->sa)), &addrlen)) return ((void *)0); { PyThreadState *_save; _save = PyEval_SaveThread(); res = bind(s->sock_fd, (&((&addrbuf)->sa)), addrlen); PyEval_RestoreThread(_save); } if (res < 0) return s->errorhandler(); ( ((PyObject *)((&_Py_NoneStruct)))->ob_refcnt++); return (&_Py_NoneStruct); } static char bind_doc[] = "bind(address)\n\nBind the socket to a local address. For IP sockets, the address is a\npair (host, port); the host must refer to the local host. For raw packet\nsockets the address is a tuple (ifname, proto [,pkttype [,hatype]])" ; static PyObject * sock_close(PySocketSockObject *s) { SOCKET_T fd; int res; fd = s->sock_fd; if (fd != (-1)) { s->sock_fd = (-1); { PyThreadState *_save; _save = PyEval_SaveThread(); res = close(fd); PyEval_RestoreThread(_save); } if (res < 0) { return s->errorhandler(); } } ( ((PyObject *)((&_Py_NoneStruct)))->ob_refcnt++); return (&_Py_NoneStruct); } static char close_doc[] = "close()\n\nClose the socket. It cannot be used after this call." ; static PyObject * sock_detach(PySocketSockObject *s) { SOCKET_T fd = s->sock_fd; s->sock_fd = (-1); return PyLong_FromLong((SOCKET_T)(fd)); } static char detach_doc[] = "detach()\n\nClose the socket object without closing the underlying file descriptor.\nThe object cannot be used after this call, but the file descriptor\ncan be reused for other purposes. The file descriptor is returned." ; static int sock_connect_impl(PySocketSockObject *s, void* _unused_data __attribute__((unused))) { int err; socklen_t size = sizeof err; if (getsockopt(s->sock_fd, 1, 4, (void *)&err, &size)) { return 0; } if (err == 106) return 1; if (err != 0) { do { (*__errno_location ()) = err; } while (0); return 0; } return 1; } static int internal_connect(PySocketSockObject *s, struct sockaddr *addr, int addrlen, int raise) { int res, err, wait_connect; { PyThreadState *_save; _save = PyEval_SaveThread(); res = connect(s->sock_fd, addr, addrlen); PyEval_RestoreThread(_save); } if (!res) { return 0; } err = (*__errno_location ()); if (((*__errno_location ()) == 4)) { if (PyErr_CheckSignals()) return -1; # 2789 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" wait_connect = (s->sock_timeout != 0 && 1); } else { wait_connect = (s->sock_timeout > 0 && err == 115 && 1); } if (!wait_connect) { if (raise) { do { (*__errno_location ()) = err; } while (0); s->errorhandler(); return -1; } else return err; } if (raise) { if (sock_call_ex(s, 1, sock_connect_impl, ((void *)0), 1, ((void *)0), s->sock_timeout) < 0) return -1; } else { if (sock_call_ex(s, 1, sock_connect_impl, ((void *)0), 1, &err, s->sock_timeout) < 0) return err; } return 0; } static PyObject * sock_connect(PySocketSockObject *s, PyObject *addro) { sock_addr_t addrbuf; int addrlen; int res; if (!getsockaddrarg(s, addro, (&((&addrbuf)->sa)), &addrlen)) return ((void *)0); res = internal_connect(s, (&((&addrbuf)->sa)), addrlen, 1); if (res < 0) return ((void *)0); return ( ((PyObject *)((&_Py_NoneStruct)))->ob_refcnt++), (&_Py_NoneStruct); } static char connect_doc[] = "connect(address)\n\nConnect the socket to a remote address. For IP sockets, the address\nis a pair (host, port)." ; static PyObject * sock_connect_ex(PySocketSockObject *s, PyObject *addro) { sock_addr_t addrbuf; int addrlen; int res; if (!getsockaddrarg(s, addro, (&((&addrbuf)->sa)), &addrlen)) return ((void *)0); res = internal_connect(s, (&((&addrbuf)->sa)), addrlen, 0); if (res < 0) return ((void *)0); return PyLong_FromLong((long) res); } static char connect_ex_doc[] = "connect_ex(address) -> errno\n\nThis is like connect(address), but returns an error code (the errno value)\ninstead of raising an exception when an error occurs." ; static PyObject * sock_fileno(PySocketSockObject *s) { return PyLong_FromLong((SOCKET_T)(s->sock_fd)); } static char fileno_doc[] = "fileno() -> integer\n\nReturn the integer file descriptor of the socket." ; static PyObject * sock_getsockname(PySocketSockObject *s) { sock_addr_t addrbuf; int res; socklen_t addrlen; if (!getsockaddrlen(s, &addrlen)) return ((void *)0); memset(&addrbuf, 0, addrlen); { PyThreadState *_save; _save = PyEval_SaveThread(); res = getsockname(s->sock_fd, (&((&addrbuf)->sa)), &addrlen); PyEval_RestoreThread(_save); } if (res < 0) return s->errorhandler(); return makesockaddr(s->sock_fd, (&((&addrbuf)->sa)), addrlen, s->sock_proto); } static char getsockname_doc[] = "getsockname() -> address info\n\nReturn the address of the local endpoint. For IP sockets, the address\ninfo is a pair (hostaddr, port)." ; static PyObject * sock_getpeername(PySocketSockObject *s) { sock_addr_t addrbuf; int res; socklen_t addrlen; if (!getsockaddrlen(s, &addrlen)) return ((void *)0); memset(&addrbuf, 0, addrlen); { PyThreadState *_save; _save = PyEval_SaveThread(); res = getpeername(s->sock_fd, (&((&addrbuf)->sa)), &addrlen); PyEval_RestoreThread(_save); } if (res < 0) return s->errorhandler(); return makesockaddr(s->sock_fd, (&((&addrbuf)->sa)), addrlen, s->sock_proto); } static char getpeername_doc[] = "getpeername() -> address info\n\nReturn the address of the remote endpoint. For IP sockets, the address\ninfo is a pair (hostaddr, port)." ; static PyObject * sock_listen(PySocketSockObject *s, PyObject *args) { int backlog = (((128) > (128)) ? (128) : (128)); int res; if (!PyArg_ParseTuple(args, "|i:listen", &backlog)) return ((void *)0); { PyThreadState *_save; _save = PyEval_SaveThread(); if (backlog < 0) backlog = 0; res = listen(s->sock_fd, backlog); PyEval_RestoreThread(_save); } if (res < 0) return s->errorhandler(); ( ((PyObject *)((&_Py_NoneStruct)))->ob_refcnt++); return (&_Py_NoneStruct); } static char listen_doc[] = "listen([backlog])\n\nEnable a server to accept connections. If backlog is specified, it must be\nat least 0 (if it is lower, it is set to 0); it specifies the number of\nunaccepted connections that the system will allow before refusing new\nconnections. If not specified, a default reasonable value is chosen." ; struct sock_recv { char *cbuf; Py_ssize_t len; int flags; Py_ssize_t result; }; static int sock_recv_impl(PySocketSockObject *s, void *data) { struct sock_recv *ctx = data; ctx->result = recv(s->sock_fd, ctx->cbuf, ctx->len, ctx->flags); return (ctx->result >= 0); } # 3013 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" static Py_ssize_t sock_recv_guts(PySocketSockObject *s, char* cbuf, Py_ssize_t len, int flags) { struct sock_recv ctx; if (!1) { select_error(); return -1; } if (len == 0) { return 0; } ctx.cbuf = cbuf; ctx.len = len; ctx.flags = flags; if (sock_call(s, 0, sock_recv_impl, &ctx) < 0) return -1; return ctx.result; } static PyObject * sock_recv(PySocketSockObject *s, PyObject *args) { Py_ssize_t recvlen, outlen; int flags = 0; PyObject *buf; if (!PyArg_ParseTuple(args, "n|i:recv", &recvlen, &flags)) return ((void *)0); if (recvlen < 0) { PyErr_SetString(PyExc_ValueError, "negative buffersize in recv"); return ((void *)0); } buf = PyBytes_FromStringAndSize((char *) 0, recvlen); if (buf == ((void *)0)) return ((void *)0); outlen = sock_recv_guts(s, (((void) (0)), (((PyBytesObject *)(buf))->ob_sval)), recvlen, flags); if (outlen < 0) { do { PyObject *_py_decref_tmp = (PyObject *)(buf); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); return ((void *)0); } if (outlen != recvlen) { _PyBytes_Resize(&buf, outlen); } return buf; } static char recv_doc[] = "recv(buffersize[, flags]) -> data\n\nReceive up to buffersize bytes from the socket. For the optional flags\nargument, see the Unix manual. When no data is available, block until\nat least one byte is available or until the remote end is closed. When\nthe remote end is closed and all data is read, return the empty string." ; static PyObject* sock_recv_into(PySocketSockObject *s, PyObject *args, PyObject *kwds) { static char *kwlist[] = {"buffer", "nbytes", "flags", 0}; int flags = 0; Py_buffer pbuf; char *buf; Py_ssize_t buflen, readlen, recvlen = 0; if (!PyArg_ParseTupleAndKeywords(args, kwds, "w*|ni:recv_into", kwlist, &pbuf, &recvlen, &flags)) return ((void *)0); buf = pbuf.buf; buflen = pbuf.len; if (recvlen < 0) { PyBuffer_Release(&pbuf); PyErr_SetString(PyExc_ValueError, "negative buffersize in recv_into"); return ((void *)0); } if (recvlen == 0) { recvlen = buflen; } if (buflen < recvlen) { PyBuffer_Release(&pbuf); PyErr_SetString(PyExc_ValueError, "buffer too small for requested bytes"); return ((void *)0); } readlen = sock_recv_guts(s, buf, recvlen, flags); if (readlen < 0) { PyBuffer_Release(&pbuf); return ((void *)0); } PyBuffer_Release(&pbuf); return PyLong_FromSsize_t(readlen); } static char recv_into_doc[] = "recv_into(buffer, [nbytes[, flags]]) -> nbytes_read\n\nA version of recv() that stores its data into a buffer rather than creating \na new string. Receive up to buffersize bytes from the socket. If buffersize \nis not specified (or 0), receive up to the size available in the given buffer.\n\nSee recv() for documentation about the flags." ; struct sock_recvfrom { char* cbuf; Py_ssize_t len; int flags; socklen_t *addrlen; sock_addr_t *addrbuf; Py_ssize_t result; }; static int sock_recvfrom_impl(PySocketSockObject *s, void *data) { struct sock_recvfrom *ctx = data; memset(ctx->addrbuf, 0, *ctx->addrlen); ctx->result = recvfrom(s->sock_fd, ctx->cbuf, ctx->len, ctx->flags, (&((ctx->addrbuf)->sa)), ctx->addrlen); return (ctx->result >= 0); } # 3187 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" static Py_ssize_t sock_recvfrom_guts(PySocketSockObject *s, char* cbuf, Py_ssize_t len, int flags, PyObject** addr) { sock_addr_t addrbuf; socklen_t addrlen; struct sock_recvfrom ctx; *addr = ((void *)0); if (!getsockaddrlen(s, &addrlen)) return -1; if (!1) { select_error(); return -1; } ctx.cbuf = cbuf; ctx.len = len; ctx.flags = flags; ctx.addrbuf = &addrbuf; ctx.addrlen = &addrlen; if (sock_call(s, 0, sock_recvfrom_impl, &ctx) < 0) return -1; *addr = makesockaddr(s->sock_fd, (&((&addrbuf)->sa)), addrlen, s->sock_proto); if (*addr == ((void *)0)) return -1; return ctx.result; } static PyObject * sock_recvfrom(PySocketSockObject *s, PyObject *args) { PyObject *buf = ((void *)0); PyObject *addr = ((void *)0); PyObject *ret = ((void *)0); int flags = 0; Py_ssize_t recvlen, outlen; if (!PyArg_ParseTuple(args, "n|i:recvfrom", &recvlen, &flags)) return ((void *)0); if (recvlen < 0) { PyErr_SetString(PyExc_ValueError, "negative buffersize in recvfrom"); return ((void *)0); } buf = PyBytes_FromStringAndSize((char *) 0, recvlen); if (buf == ((void *)0)) return ((void *)0); outlen = sock_recvfrom_guts(s, (((void) (0)), (((PyBytesObject *)(buf))->ob_sval)), recvlen, flags, &addr); if (outlen < 0) { goto finally; } if (outlen != recvlen) { if (_PyBytes_Resize(&buf, outlen) < 0) goto finally; } ret = PyTuple_Pack(2, buf, addr); finally: do { PyObject *_py_xdecref_tmp = (PyObject *)(buf); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp = (PyObject *)(_py_xdecref_tmp); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } while (0); do { PyObject *_py_xdecref_tmp = (PyObject *)(addr); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp = (PyObject *)(_py_xdecref_tmp); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } while (0); return ret; } static char recvfrom_doc[] = "recvfrom(buffersize[, flags]) -> (data, address info)\n\nLike recv(buffersize, flags) but also return the sender's address info." ; static PyObject * sock_recvfrom_into(PySocketSockObject *s, PyObject *args, PyObject* kwds) { static char *kwlist[] = {"buffer", "nbytes", "flags", 0}; int flags = 0; Py_buffer pbuf; char *buf; Py_ssize_t readlen, buflen, recvlen = 0; PyObject *addr = ((void *)0); if (!PyArg_ParseTupleAndKeywords(args, kwds, "w*|ni:recvfrom_into", kwlist, &pbuf, &recvlen, &flags)) return ((void *)0); buf = pbuf.buf; buflen = pbuf.len; if (recvlen < 0) { PyBuffer_Release(&pbuf); PyErr_SetString(PyExc_ValueError, "negative buffersize in recvfrom_into"); return ((void *)0); } if (recvlen == 0) { recvlen = buflen; } else if (recvlen > buflen) { PyBuffer_Release(&pbuf); PyErr_SetString(PyExc_ValueError, "nbytes is greater than the length of the buffer"); return ((void *)0); } readlen = sock_recvfrom_guts(s, buf, recvlen, flags, &addr); if (readlen < 0) { PyBuffer_Release(&pbuf); do { PyObject *_py_xdecref_tmp = (PyObject *)(addr); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp = (PyObject *)(_py_xdecref_tmp); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } while (0); return ((void *)0); } PyBuffer_Release(&pbuf); return Py_BuildValue("nN", readlen, addr); } static char recvfrom_into_doc[] = "recvfrom_into(buffer[, nbytes[, flags]]) -> (nbytes, address info)\n\nLike recv_into(buffer[, nbytes[, flags]]) but also return the sender's address info." ; struct sock_recvmsg { struct msghdr *msg; int flags; ssize_t result; }; static int sock_recvmsg_impl(PySocketSockObject *s, void *data) { struct sock_recvmsg *ctx = data; ctx->result = recvmsg(s->sock_fd, ctx->msg, ctx->flags); return (ctx->result >= 0); } # 3357 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" static PyObject * sock_recvmsg_guts(PySocketSockObject *s, struct iovec *iov, int iovlen, int flags, Py_ssize_t controllen, PyObject *(*makeval)(ssize_t, void *), void *makeval_data) { sock_addr_t addrbuf; socklen_t addrbuflen; struct msghdr msg = {0}; PyObject *cmsg_list = ((void *)0), *retval = ((void *)0); void *controlbuf = ((void *)0); struct cmsghdr *cmsgh; size_t cmsgdatalen = 0; int cmsg_status; struct sock_recvmsg ctx; if (!getsockaddrlen(s, &addrbuflen)) return ((void *)0); memset(&addrbuf, 0, addrbuflen); (&((&addrbuf)->sa))->sa_family = 0; if (controllen < 0 || controllen > 2147483647) { PyErr_SetString(PyExc_ValueError, "invalid ancillary data buffer length"); return ((void *)0); } if (controllen > 0 && (controlbuf = PyMem_Malloc(controllen)) == ((void *)0)) return PyErr_NoMemory(); if (!1) { select_error(); goto finally; } msg.msg_name = (&((&addrbuf)->sa)); msg.msg_namelen = addrbuflen; msg.msg_iov = iov; msg.msg_iovlen = iovlen; msg.msg_control = controlbuf; msg.msg_controllen = controllen; ctx.msg = &msg; ctx.flags = flags; if (sock_call(s, 0, sock_recvmsg_impl, &ctx) < 0) goto finally; if ((cmsg_list = PyList_New(0)) == ((void *)0)) goto err_closefds; for (cmsgh = ((msg.msg_controllen > 0) ? ((size_t) (&msg)->msg_controllen >= sizeof (struct cmsghdr) ? (struct cmsghdr *) (&msg)->msg_control : (struct cmsghdr *) 0) : ((void *)0)); cmsgh != ((void *)0); cmsgh = __cmsg_nxthdr (&msg, cmsgh)) { PyObject *bytes, *tuple; int tmp; cmsg_status = get_cmsg_data_len(&msg, cmsgh, &cmsgdatalen); if (cmsg_status != 0) { if (PyErr_WarnEx(PyExc_RuntimeWarning, "received malformed or improperly-truncated " "ancillary data", 1) == -1) goto err_closefds; } if (cmsg_status < 0) break; if (cmsgdatalen > ((Py_ssize_t)(((size_t)-1)>>1))) { PyErr_SetString(PyExc_OSError, "control message too long"); goto err_closefds; } bytes = PyBytes_FromStringAndSize((char *)((cmsgh)->__cmsg_data), cmsgdatalen); tuple = Py_BuildValue("iiN", (int)cmsgh->cmsg_level, (int)cmsgh->cmsg_type, bytes); if (tuple == ((void *)0)) goto err_closefds; tmp = PyList_Append(cmsg_list, tuple); do { PyObject *_py_decref_tmp = (PyObject *)(tuple); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); if (tmp != 0) goto err_closefds; if (cmsg_status != 0) break; } retval = Py_BuildValue("NOiN", (*makeval)(ctx.result, makeval_data), cmsg_list, (int)msg.msg_flags, makesockaddr(s->sock_fd, (&((&addrbuf)->sa)), ((msg.msg_namelen > addrbuflen) ? addrbuflen : msg.msg_namelen), s->sock_proto)); if (retval == ((void *)0)) goto err_closefds; finally: do { PyObject *_py_xdecref_tmp = (PyObject *)(cmsg_list); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp = (PyObject *)(_py_xdecref_tmp); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } while (0); PyMem_Free(controlbuf); return retval; err_closefds: for (cmsgh = ((msg.msg_controllen > 0) ? ((size_t) (&msg)->msg_controllen >= sizeof (struct cmsghdr) ? (struct cmsghdr *) (&msg)->msg_control : (struct cmsghdr *) 0) : ((void *)0)); cmsgh != ((void *)0); cmsgh = __cmsg_nxthdr (&msg, cmsgh)) { cmsg_status = get_cmsg_data_len(&msg, cmsgh, &cmsgdatalen); if (cmsg_status < 0) break; if (cmsgh->cmsg_level == 1 && cmsgh->cmsg_type == SCM_RIGHTS) { size_t numfds; int *fdp; numfds = cmsgdatalen / sizeof(int); fdp = (int *)((cmsgh)->__cmsg_data); while (numfds-- > 0) close(*fdp++); } if (cmsg_status != 0) break; } goto finally; } static PyObject * makeval_recvmsg(ssize_t received, void *data) { PyObject **buf = data; if (received < (((void) (0)),(((PyVarObject*)(*buf))->ob_size))) _PyBytes_Resize(buf, received); do { PyObject *_py_xincref_tmp = (PyObject *)(*buf); if (_py_xincref_tmp != ((void *)0)) ( ((PyObject *)(_py_xincref_tmp))->ob_refcnt++); } while (0); return *buf; } static PyObject * sock_recvmsg(PySocketSockObject *s, PyObject *args) { Py_ssize_t bufsize, ancbufsize = 0; int flags = 0; struct iovec iov; PyObject *buf = ((void *)0), *retval = ((void *)0); if (!PyArg_ParseTuple(args, "n|ni:recvmsg", &bufsize, &ancbufsize, &flags)) return ((void *)0); if (bufsize < 0) { PyErr_SetString(PyExc_ValueError, "negative buffer size in recvmsg()"); return ((void *)0); } if ((buf = PyBytes_FromStringAndSize(((void *)0), bufsize)) == ((void *)0)) return ((void *)0); iov.iov_base = (((void) (0)), (((PyBytesObject *)(buf))->ob_sval)); iov.iov_len = bufsize; retval = sock_recvmsg_guts(s, &iov, 1, flags, ancbufsize, &makeval_recvmsg, &buf); do { PyObject *_py_xdecref_tmp = (PyObject *)(buf); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp = (PyObject *)(_py_xdecref_tmp); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } while (0); return retval; } static char recvmsg_doc[] = "recvmsg(bufsize[, ancbufsize[, flags]]) -> (data, ancdata, msg_flags, address)\n\nReceive normal data (up to bufsize bytes) and ancillary data from the\nsocket. The ancbufsize argument sets the size in bytes of the\ninternal buffer used to receive the ancillary data; it defaults to 0,\nmeaning that no ancillary data will be received. Appropriate buffer\nsizes for ancillary data can be calculated using CMSG_SPACE() or\nCMSG_LEN(), and items which do not fit into the buffer might be\ntruncated or discarded. The flags argument defaults to 0 and has the\nsame meaning as for recv().\n\nThe return value is a 4-tuple: (data, ancdata, msg_flags, address).\nThe data item is a bytes object holding the non-ancillary data\nreceived. The ancdata item is a list of zero or more tuples\n(cmsg_level, cmsg_type, cmsg_data) representing the ancillary data\n(control messages) received: cmsg_level and cmsg_type are integers\nspecifying the protocol level and protocol-specific type respectively,\nand cmsg_data is a bytes object holding the associated data. The\nmsg_flags item is the bitwise OR of various flags indicating\nconditions on the received message; see your system documentation for\ndetails. If the receiving socket is unconnected, address is the\naddress of the sending socket, if available; otherwise, its value is\nunspecified.\n\nIf recvmsg() raises an exception after the system call returns, it\nwill first attempt to close any file descriptors received via the\nSCM_RIGHTS mechanism." # 3559 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" ; static PyObject * makeval_recvmsg_into(ssize_t received, void *data) { return PyLong_FromSsize_t(received); } static PyObject * sock_recvmsg_into(PySocketSockObject *s, PyObject *args) { Py_ssize_t ancbufsize = 0; int flags = 0; struct iovec *iovs = ((void *)0); Py_ssize_t i, nitems, nbufs = 0; Py_buffer *bufs = ((void *)0); PyObject *buffers_arg, *fast, *retval = ((void *)0); if (!PyArg_ParseTuple(args, "O|ni:recvmsg_into", &buffers_arg, &ancbufsize, &flags)) return ((void *)0); if ((fast = PySequence_Fast(buffers_arg, "recvmsg_into() argument 1 must be an " "iterable")) == ((void *)0)) return ((void *)0); nitems = (((((((PyObject*)(fast))->ob_type))->tp_flags & ((1UL << 25))) != 0) ? (((PyVarObject*)(fast))->ob_size) : (((PyVarObject*)(fast))->ob_size)); if (nitems > 2147483647) { PyErr_SetString(PyExc_OSError, "recvmsg_into() argument 1 is too long"); goto finally; } if (nitems > 0 && ((iovs = ( ((size_t)(nitems) > ((Py_ssize_t)(((size_t)-1)>>1)) / sizeof(struct iovec)) ? ((void *)0) : ( (struct iovec *) PyMem_Malloc((nitems) * sizeof(struct iovec)) ) )) == ((void *)0) || (bufs = ( ((size_t)(nitems) > ((Py_ssize_t)(((size_t)-1)>>1)) / sizeof(Py_buffer)) ? ((void *)0) : ( (Py_buffer *) PyMem_Malloc((nitems) * sizeof(Py_buffer)) ) )) == ((void *)0))) { PyErr_NoMemory(); goto finally; } for (; nbufs < nitems; nbufs++) { if (!PyArg_Parse((((((((PyObject*)(fast))->ob_type))->tp_flags & ((1UL << 25))) != 0) ? (((PyListObject *)(fast))->ob_item[nbufs]) : (((PyTupleObject *)(fast))->ob_item[nbufs])), "w*;recvmsg_into() argument 1 must be an iterable " "of single-segment read-write buffers", &bufs[nbufs])) goto finally; iovs[nbufs].iov_base = bufs[nbufs].buf; iovs[nbufs].iov_len = bufs[nbufs].len; } retval = sock_recvmsg_guts(s, iovs, nitems, flags, ancbufsize, &makeval_recvmsg_into, ((void *)0)); finally: for (i = 0; i < nbufs; i++) PyBuffer_Release(&bufs[i]); PyMem_Free(bufs); PyMem_Free(iovs); do { PyObject *_py_decref_tmp = (PyObject *)(fast); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); return retval; } static char recvmsg_into_doc[] = "recvmsg_into(buffers[, ancbufsize[, flags]]) -> (nbytes, ancdata, msg_flags, address)\n\nReceive normal data and ancillary data from the socket, scattering the\nnon-ancillary data into a series of buffers. The buffers argument\nmust be an iterable of objects that export writable buffers\n(e.g. bytearray objects); these will be filled with successive chunks\nof the non-ancillary data until it has all been written or there are\nno more buffers. The ancbufsize argument sets the size in bytes of\nthe internal buffer used to receive the ancillary data; it defaults to\n0, meaning that no ancillary data will be received. Appropriate\nbuffer sizes for ancillary data can be calculated using CMSG_SPACE()\nor CMSG_LEN(), and items which do not fit into the buffer might be\ntruncated or discarded. The flags argument defaults to 0 and has the\nsame meaning as for recv().\n\nThe return value is a 4-tuple: (nbytes, ancdata, msg_flags, address).\nThe nbytes item is the total number of bytes of non-ancillary data\nwritten into the buffers. The ancdata item is a list of zero or more\ntuples (cmsg_level, cmsg_type, cmsg_data) representing the ancillary\ndata (control messages) received: cmsg_level and cmsg_type are\nintegers specifying the protocol level and protocol-specific type\nrespectively, and cmsg_data is a bytes object holding the associated\ndata. The msg_flags item is the bitwise OR of various flags\nindicating conditions on the received message; see your system\ndocumentation for details. If the receiving socket is unconnected,\naddress is the address of the sending socket, if available; otherwise,\nits value is unspecified.\n\nIf recvmsg_into() raises an exception after the system call returns,\nit will first attempt to close any file descriptors received via the\nSCM_RIGHTS mechanism." # 3653 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" ; struct sock_send { char *buf; Py_ssize_t len; int flags; Py_ssize_t result; }; static int sock_send_impl(PySocketSockObject *s, void *data) { struct sock_send *ctx = data; ctx->result = send(s->sock_fd, ctx->buf, ctx->len, ctx->flags); return (ctx->result >= 0); } static PyObject * sock_send(PySocketSockObject *s, PyObject *args) { int flags = 0; Py_buffer pbuf; struct sock_send ctx; if (!PyArg_ParseTuple(args, "y*|i:send", &pbuf, &flags)) return ((void *)0); if (!1) { PyBuffer_Release(&pbuf); return select_error(); } ctx.buf = pbuf.buf; ctx.len = pbuf.len; ctx.flags = flags; if (sock_call(s, 1, sock_send_impl, &ctx) < 0) { PyBuffer_Release(&pbuf); return ((void *)0); } PyBuffer_Release(&pbuf); return PyLong_FromSsize_t(ctx.result); } static char send_doc[] = "send(data[, flags]) -> count\n\nSend a data string to the socket. For the optional flags\nargument, see the Unix manual. Return the number of bytes\nsent; this may be less than len(data) if the network is busy." ; static PyObject * sock_sendall(PySocketSockObject *s, PyObject *args) { char *buf; Py_ssize_t len, n; int flags = 0; Py_buffer pbuf; struct sock_send ctx; int has_timeout = (s->sock_timeout > 0); _PyTime_t interval = s->sock_timeout; _PyTime_t deadline = 0; int deadline_initialized = 0; PyObject *res = ((void *)0); if (!PyArg_ParseTuple(args, "y*|i:sendall", &pbuf, &flags)) return ((void *)0); buf = pbuf.buf; len = pbuf.len; if (!1) { PyBuffer_Release(&pbuf); return select_error(); } do { if (has_timeout) { if (deadline_initialized) { interval = deadline - _PyTime_GetMonotonicClock(); } else { deadline_initialized = 1; deadline = _PyTime_GetMonotonicClock() + s->sock_timeout; } if (interval <= 0) { PyErr_SetString(socket_timeout, "timed out"); goto done; } } ctx.buf = buf; ctx.len = len; ctx.flags = flags; if (sock_call_ex(s, 1, sock_send_impl, &ctx, 0, ((void *)0), interval) < 0) goto done; n = ctx.result; ((void) (0)); buf += n; len -= n; if (PyErr_CheckSignals()) goto done; } while (len > 0); PyBuffer_Release(&pbuf); ( ((PyObject *)((&_Py_NoneStruct)))->ob_refcnt++); res = (&_Py_NoneStruct); done: PyBuffer_Release(&pbuf); return res; } static char sendall_doc[] = "sendall(data[, flags])\n\nSend a data string to the socket. For the optional flags\nargument, see the Unix manual. This calls send() repeatedly\nuntil all data is sent. If an error occurs, it's impossible\nto tell how much data has been sent." ; struct sock_sendto { char *buf; Py_ssize_t len; int flags; int addrlen; sock_addr_t *addrbuf; Py_ssize_t result; }; static int sock_sendto_impl(PySocketSockObject *s, void *data) { struct sock_sendto *ctx = data; ctx->result = sendto(s->sock_fd, ctx->buf, ctx->len, ctx->flags, (&((ctx->addrbuf)->sa)), ctx->addrlen); return (ctx->result >= 0); } static PyObject * sock_sendto(PySocketSockObject *s, PyObject *args) { Py_buffer pbuf; PyObject *addro; Py_ssize_t arglen; sock_addr_t addrbuf; int addrlen, flags; struct sock_sendto ctx; flags = 0; arglen = PyTuple_Size(args); switch (arglen) { case 2: PyArg_ParseTuple(args, "y*O:sendto", &pbuf, &addro); break; case 3: PyArg_ParseTuple(args, "y*iO:sendto", &pbuf, &flags, &addro); break; default: PyErr_Format(PyExc_TypeError, "sendto() takes 2 or 3 arguments (%d given)", arglen); return ((void *)0); } if (PyErr_Occurred()) return ((void *)0); if (!1) { PyBuffer_Release(&pbuf); return select_error(); } if (!getsockaddrarg(s, addro, (&((&addrbuf)->sa)), &addrlen)) { PyBuffer_Release(&pbuf); return ((void *)0); } ctx.buf = pbuf.buf; ctx.len = pbuf.len; ctx.flags = flags; ctx.addrlen = addrlen; ctx.addrbuf = &addrbuf; if (sock_call(s, 1, sock_sendto_impl, &ctx) < 0) { PyBuffer_Release(&pbuf); return ((void *)0); } PyBuffer_Release(&pbuf); return PyLong_FromSsize_t(ctx.result); } static char sendto_doc[] = "sendto(data[, flags], address) -> count\n\nLike send(data, flags) but allows specifying the destination address.\nFor IP sockets, the address is a pair (hostaddr, port)." ; struct sock_sendmsg { struct msghdr *msg; int flags; ssize_t result; }; static int sock_sendmsg_iovec(PySocketSockObject *s, PyObject *data_arg, struct msghdr *msg, Py_buffer **databufsout, Py_ssize_t *ndatabufsout) { Py_ssize_t ndataparts, ndatabufs = 0; int result = -1; struct iovec *iovs = ((void *)0); PyObject *data_fast = ((void *)0); Py_buffer *databufs = ((void *)0); data_fast = PySequence_Fast(data_arg, "sendmsg() argument 1 must be an " "iterable"); if (data_fast == ((void *)0)) { goto finally; } ndataparts = (((((((PyObject*)(data_fast))->ob_type))->tp_flags & ((1UL << 25))) != 0) ? (((PyVarObject*)(data_fast))->ob_size) : (((PyVarObject*)(data_fast))->ob_size)); if (ndataparts > 2147483647) { PyErr_SetString(PyExc_OSError, "sendmsg() argument 1 is too long"); goto finally; } msg->msg_iovlen = ndataparts; if (ndataparts > 0) { iovs = ( ((size_t)(ndataparts) > ((Py_ssize_t)(((size_t)-1)>>1)) / sizeof(struct iovec)) ? ((void *)0) : ( (struct iovec *) PyMem_Malloc((ndataparts) * sizeof(struct iovec)) ) ); if (iovs == ((void *)0)) { PyErr_NoMemory(); goto finally; } msg->msg_iov = iovs; databufs = ( ((size_t)(ndataparts) > ((Py_ssize_t)(((size_t)-1)>>1)) / sizeof(Py_buffer)) ? ((void *)0) : ( (Py_buffer *) PyMem_Malloc((ndataparts) * sizeof(Py_buffer)) ) ); if (databufs == ((void *)0)) { PyErr_NoMemory(); goto finally; } } for (; ndatabufs < ndataparts; ndatabufs++) { if (!PyArg_Parse((((((((PyObject*)(data_fast))->ob_type))->tp_flags & ((1UL << 25))) != 0) ? (((PyListObject *)(data_fast))->ob_item[ndatabufs]) : (((PyTupleObject *)(data_fast))->ob_item[ndatabufs])), "y*;sendmsg() argument 1 must be an iterable of " "bytes-like objects", &databufs[ndatabufs])) goto finally; iovs[ndatabufs].iov_base = databufs[ndatabufs].buf; iovs[ndatabufs].iov_len = databufs[ndatabufs].len; } result = 0; finally: *databufsout = databufs; *ndatabufsout = ndatabufs; do { PyObject *_py_xdecref_tmp = (PyObject *)(data_fast); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp = (PyObject *)(_py_xdecref_tmp); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } while (0); return result; } static int sock_sendmsg_impl(PySocketSockObject *s, void *data) { struct sock_sendmsg *ctx = data; ctx->result = sendmsg(s->sock_fd, ctx->msg, ctx->flags); return (ctx->result >= 0); } static PyObject * sock_sendmsg(PySocketSockObject *s, PyObject *args) { Py_ssize_t i, ndatabufs = 0, ncmsgs, ncmsgbufs = 0; Py_buffer *databufs = ((void *)0); sock_addr_t addrbuf; struct msghdr msg; struct cmsginfo { int level; int type; Py_buffer data; } *cmsgs = ((void *)0); void *controlbuf = ((void *)0); size_t controllen, controllen_last; int addrlen, flags = 0; PyObject *data_arg, *cmsg_arg = ((void *)0), *addr_arg = ((void *)0), *cmsg_fast = ((void *)0), *retval = ((void *)0); struct sock_sendmsg ctx; if (!PyArg_ParseTuple(args, "O|OiO:sendmsg", &data_arg, &cmsg_arg, &flags, &addr_arg)) { return ((void *)0); } memset(&msg, 0, sizeof(msg)); if (addr_arg != ((void *)0) && addr_arg != (&_Py_NoneStruct)) { if (!getsockaddrarg(s, addr_arg, (&((&addrbuf)->sa)), &addrlen)) goto finally; msg.msg_name = &addrbuf; msg.msg_namelen = addrlen; } if (sock_sendmsg_iovec(s, data_arg, &msg, &databufs, &ndatabufs) == -1) { goto finally; } if (cmsg_arg == ((void *)0)) ncmsgs = 0; else { if ((cmsg_fast = PySequence_Fast(cmsg_arg, "sendmsg() argument 2 must be an " "iterable")) == ((void *)0)) goto finally; ncmsgs = (((((((PyObject*)(cmsg_fast))->ob_type))->tp_flags & ((1UL << 25))) != 0) ? (((PyVarObject*)(cmsg_fast))->ob_size) : (((PyVarObject*)(cmsg_fast))->ob_size)); } # 4019 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" if (ncmsgs > 0 && (cmsgs = ( ((size_t)(ncmsgs) > ((Py_ssize_t)(((size_t)-1)>>1)) / sizeof(struct cmsginfo)) ? ((void *)0) : ( (struct cmsginfo *) PyMem_Malloc((ncmsgs) * sizeof(struct cmsginfo)) ) )) == ((void *)0)) { PyErr_NoMemory(); goto finally; } controllen = controllen_last = 0; while (ncmsgbufs < ncmsgs) { size_t bufsize, space; if (!PyArg_Parse((((((((PyObject*)(cmsg_fast))->ob_type))->tp_flags & ((1UL << 25))) != 0) ? (((PyListObject *)(cmsg_fast))->ob_item[ncmsgbufs]) : (((PyTupleObject *)(cmsg_fast))->ob_item[ncmsgbufs])), "(iiy*):[sendmsg() ancillary data items]", &cmsgs[ncmsgbufs].level, &cmsgs[ncmsgbufs].type, &cmsgs[ncmsgbufs].data)) goto finally; bufsize = cmsgs[ncmsgbufs++].data.len; if (!get_CMSG_SPACE(bufsize, &space)) { PyErr_SetString(PyExc_OSError, "ancillary data item too large"); goto finally; } controllen += space; if (controllen > 2147483647 || controllen < controllen_last) { PyErr_SetString(PyExc_OSError, "too much ancillary data"); goto finally; } controllen_last = controllen; } if (ncmsgbufs > 0) { struct cmsghdr *cmsgh = ((void *)0); controlbuf = PyMem_Malloc(controllen); if (controlbuf == ((void *)0)) { PyErr_NoMemory(); goto finally; } msg.msg_control = controlbuf; msg.msg_controllen = controllen; memset(controlbuf, 0, controllen); for (i = 0; i < ncmsgbufs; i++) { size_t msg_len, data_len = cmsgs[i].data.len; int enough_space = 0; cmsgh = (i == 0) ? ((size_t) (&msg)->msg_controllen >= sizeof (struct cmsghdr) ? (struct cmsghdr *) (&msg)->msg_control : (struct cmsghdr *) 0) : __cmsg_nxthdr (&msg, cmsgh); if (cmsgh == ((void *)0)) { PyErr_Format(PyExc_RuntimeError, "unexpected NULL result from %s()", (i == 0) ? "CMSG_FIRSTHDR" : "CMSG_NXTHDR"); goto finally; } if (!get_CMSG_LEN(data_len, &msg_len)) { PyErr_SetString(PyExc_RuntimeError, "item size out of range for CMSG_LEN()"); goto finally; } if (cmsg_min_space(&msg, cmsgh, msg_len)) { size_t space; cmsgh->cmsg_len = msg_len; if (get_cmsg_data_space(&msg, cmsgh, &space)) enough_space = (space >= data_len); } if (!enough_space) { PyErr_SetString(PyExc_RuntimeError, "ancillary data does not fit in calculated " "space"); goto finally; } cmsgh->cmsg_level = cmsgs[i].level; cmsgh->cmsg_type = cmsgs[i].type; memcpy(((cmsgh)->__cmsg_data), cmsgs[i].data.buf, data_len); } } if (!1) { select_error(); goto finally; } ctx.msg = &msg; ctx.flags = flags; if (sock_call(s, 1, sock_sendmsg_impl, &ctx) < 0) goto finally; retval = PyLong_FromSsize_t(ctx.result); finally: PyMem_Free(controlbuf); for (i = 0; i < ncmsgbufs; i++) PyBuffer_Release(&cmsgs[i].data); PyMem_Free(cmsgs); do { PyObject *_py_xdecref_tmp = (PyObject *)(cmsg_fast); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp = (PyObject *)(_py_xdecref_tmp); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } while (0); PyMem_Free(msg.msg_iov); for (i = 0; i < ndatabufs; i++) { PyBuffer_Release(&databufs[i]); } PyMem_Free(databufs); return retval; } static char sendmsg_doc[] = "sendmsg(buffers[, ancdata[, flags[, address]]]) -> count\n\nSend normal and ancillary data to the socket, gathering the\nnon-ancillary data from a series of buffers and concatenating it into\na single message. The buffers argument specifies the non-ancillary\ndata as an iterable of bytes-like objects (e.g. bytes objects).\nThe ancdata argument specifies the ancillary data (control messages)\nas an iterable of zero or more tuples (cmsg_level, cmsg_type,\ncmsg_data), where cmsg_level and cmsg_type are integers specifying the\nprotocol level and protocol-specific type respectively, and cmsg_data\nis a bytes-like object holding the associated data. The flags\nargument defaults to 0 and has the same meaning as for send(). If\naddress is supplied and not None, it sets a destination address for\nthe message. The return value is the number of bytes of non-ancillary\ndata sent." # 4149 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" ; static PyObject* sock_sendmsg_afalg(PySocketSockObject *self, PyObject *args, PyObject *kwds) { PyObject *retval = ((void *)0); Py_ssize_t i, ndatabufs = 0; Py_buffer *databufs = ((void *)0); PyObject *data_arg = ((void *)0); Py_buffer iv = {((void *)0), ((void *)0)}; PyObject *opobj = ((void *)0); int op = -1; PyObject *assoclenobj = ((void *)0); int assoclen = -1; unsigned int *uiptr; int flags = 0; struct msghdr msg; struct cmsghdr *header = ((void *)0); struct af_alg_iv *alg_iv = ((void *)0); struct sock_sendmsg ctx; Py_ssize_t controllen; void *controlbuf = ((void *)0); static char *keywords[] = {"msg", "op", "iv", "assoclen", "flags", 0}; if (self->sock_family != 38) { PyErr_SetString(PyExc_OSError, "algset is only supported for AF_ALG"); return ((void *)0); } if (!PyArg_ParseTupleAndKeywords(args, kwds, "|O$O!y*O!i:sendmsg_afalg", keywords, &data_arg, &PyLong_Type, &opobj, &iv, &PyLong_Type, &assoclenobj, &flags)) { return ((void *)0); } memset(&msg, 0, sizeof(msg)); if (opobj != ((void *)0)) { op = _PyLong_AsInt(opobj); } if (op < 0) { PyErr_SetString(PyExc_TypeError, "Invalid or missing argument 'op'"); goto finally; } if (assoclenobj != ((void *)0)) { assoclen = _PyLong_AsInt(assoclenobj); if (assoclen == -1 && PyErr_Occurred()) { goto finally; } if (assoclen < 0) { PyErr_SetString(PyExc_TypeError, "assoclen must be positive"); goto finally; } } controllen = ((((4) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)) + (((sizeof (struct cmsghdr)) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1))); if (iv.buf != ((void *)0)) { controllen += ((((sizeof(*alg_iv) + iv.len) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)) + (((sizeof (struct cmsghdr)) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1))); } if (assoclen >= 0) { controllen += ((((4) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)) + (((sizeof (struct cmsghdr)) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1))); } controlbuf = PyMem_Malloc(controllen); if (controlbuf == ((void *)0)) { PyErr_NoMemory(); goto finally; } memset(controlbuf, 0, controllen); msg.msg_controllen = controllen; msg.msg_control = controlbuf; if (data_arg != ((void *)0)) { if (sock_sendmsg_iovec(self, data_arg, &msg, &databufs, &ndatabufs) == -1) { goto finally; } } header = ((size_t) (&msg)->msg_controllen >= sizeof (struct cmsghdr) ? (struct cmsghdr *) (&msg)->msg_control : (struct cmsghdr *) 0); if (header == ((void *)0)) { PyErr_SetString(PyExc_RuntimeError, "unexpected NULL result from CMSG_FIRSTHDR"); goto finally; } header->cmsg_level = 279; header->cmsg_type = 3; header->cmsg_len = ((((sizeof (struct cmsghdr)) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)) + (4)); uiptr = (void*)((header)->__cmsg_data); *uiptr = (unsigned int)op; if (iv.buf != ((void *)0)) { header = __cmsg_nxthdr (&msg, header); if (header == ((void *)0)) { PyErr_SetString(PyExc_RuntimeError, "unexpected NULL result from CMSG_NXTHDR(iv)"); goto finally; } header->cmsg_level = 279; header->cmsg_type = 2; header->cmsg_len = ((((sizeof(*alg_iv) + iv.len) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)) + (((sizeof (struct cmsghdr)) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1))); alg_iv = (void*)((header)->__cmsg_data); alg_iv->ivlen = iv.len; memcpy(alg_iv->iv, iv.buf, iv.len); } if (assoclen >= 0) { header = __cmsg_nxthdr (&msg, header); if (header == ((void *)0)) { PyErr_SetString(PyExc_RuntimeError, "unexpected NULL result from CMSG_NXTHDR(assoc)"); goto finally; } header->cmsg_level = 279; header->cmsg_type = 4; header->cmsg_len = ((((sizeof (struct cmsghdr)) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)) + (4)); uiptr = (void*)((header)->__cmsg_data); *uiptr = (unsigned int)assoclen; } ctx.msg = &msg; ctx.flags = flags; if (sock_call(self, 1, sock_sendmsg_impl, &ctx) < 0) { goto finally; } retval = PyLong_FromSsize_t(ctx.result); finally: PyMem_Free(controlbuf); if (iv.buf != ((void *)0)) { PyBuffer_Release(&iv); } PyMem_Free(msg.msg_iov); for (i = 0; i < ndatabufs; i++) { PyBuffer_Release(&databufs[i]); } PyMem_Free(databufs); return retval; } static char sendmsg_afalg_doc[] = "sendmsg_afalg([msg], *, op[, iv[, assoclen[, flags=MSG_MORE]]])\n\nSet operation mode, IV and length of associated data for an AF_ALG\noperation socket." ; static PyObject * sock_shutdown(PySocketSockObject *s, PyObject *arg) { int how; int res; how = _PyLong_AsInt(arg); if (how == -1 && PyErr_Occurred()) return ((void *)0); { PyThreadState *_save; _save = PyEval_SaveThread(); res = shutdown(s->sock_fd, how); PyEval_RestoreThread(_save); } if (res < 0) return s->errorhandler(); ( ((PyObject *)((&_Py_NoneStruct)))->ob_refcnt++); return (&_Py_NoneStruct); } static char shutdown_doc[] = "shutdown(flag)\n\nShut down the reading side of the socket (flag == SHUT_RD), the writing side\nof the socket (flag == SHUT_WR), or both ends (flag == SHUT_RDWR)." ; # 4431 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" static PyMethodDef sock_methods[] = { {"_accept", (PyCFunction)sock_accept, 0x0004, accept_doc}, {"bind", (PyCFunction)sock_bind, 0x0008, bind_doc}, {"close", (PyCFunction)sock_close, 0x0004, close_doc}, {"connect", (PyCFunction)sock_connect, 0x0008, connect_doc}, {"connect_ex", (PyCFunction)sock_connect_ex, 0x0008, connect_ex_doc}, {"detach", (PyCFunction)sock_detach, 0x0004, detach_doc}, {"fileno", (PyCFunction)sock_fileno, 0x0004, fileno_doc}, {"getpeername", (PyCFunction)sock_getpeername, 0x0004, getpeername_doc}, {"getsockname", (PyCFunction)sock_getsockname, 0x0004, getsockname_doc}, {"getsockopt", (PyCFunction)sock_getsockopt, 0x0001, getsockopt_doc}, # 4462 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" {"listen", (PyCFunction)sock_listen, 0x0001, listen_doc}, {"recv", (PyCFunction)sock_recv, 0x0001, recv_doc}, {"recv_into", (PyCFunction)sock_recv_into, 0x0001 | 0x0002, recv_into_doc}, {"recvfrom", (PyCFunction)sock_recvfrom, 0x0001, recvfrom_doc}, {"recvfrom_into", (PyCFunction)sock_recvfrom_into, 0x0001 | 0x0002, recvfrom_into_doc}, {"send", (PyCFunction)sock_send, 0x0001, send_doc}, {"sendall", (PyCFunction)sock_sendall, 0x0001, sendall_doc}, {"sendto", (PyCFunction)sock_sendto, 0x0001, sendto_doc}, {"setblocking", (PyCFunction)sock_setblocking, 0x0008, setblocking_doc}, {"settimeout", (PyCFunction)sock_settimeout, 0x0008, settimeout_doc}, {"gettimeout", (PyCFunction)sock_gettimeout, 0x0004, gettimeout_doc}, {"setsockopt", (PyCFunction)sock_setsockopt, 0x0001, setsockopt_doc}, {"shutdown", (PyCFunction)sock_shutdown, 0x0008, shutdown_doc}, {"recvmsg", (PyCFunction)sock_recvmsg, 0x0001, recvmsg_doc}, {"recvmsg_into", (PyCFunction)sock_recvmsg_into, 0x0001, recvmsg_into_doc,}, {"sendmsg", (PyCFunction)sock_sendmsg, 0x0001, sendmsg_doc}, {"sendmsg_afalg", (PyCFunction)sock_sendmsg_afalg, 0x0001 | 0x0002, sendmsg_afalg_doc}, {((void *)0), ((void *)0)} }; static PyMemberDef sock_memberlist[] = { {"family", 1, __builtin_offsetof (PySocketSockObject, sock_family), 1, "the socket family"}, {"type", 1, __builtin_offsetof (PySocketSockObject, sock_type), 1, "the socket type"}, {"proto", 1, __builtin_offsetof (PySocketSockObject, sock_proto), 1, "the socket protocol"}, {0}, }; static PyGetSetDef sock_getsetlist[] = { {"timeout", (getter)sock_gettimeout, ((void *)0), "the socket timeout"}, {((void *)0)} }; static void sock_finalize(PySocketSockObject *s) { SOCKET_T fd; PyObject *error_type, *error_value, *error_traceback; PyErr_Fetch(&error_type, &error_value, &error_traceback); if (s->sock_fd != (-1)) { if (PyErr_ResourceWarning((PyObject *)s, 1, "unclosed %R", s)) { if (PyErr_ExceptionMatches(PyExc_Warning)) { PyErr_WriteUnraisable((PyObject *)s); } } fd = s->sock_fd; s->sock_fd = (-1); { PyThreadState *_save; _save = PyEval_SaveThread(); (void) close(fd); PyEval_RestoreThread(_save); } } PyErr_Restore(error_type, error_value, error_traceback); } static void sock_dealloc(PySocketSockObject *s) { if (PyObject_CallFinalizerFromDealloc((PyObject *)s) < 0) return; (((PyObject*)(s))->ob_type)->tp_free((PyObject *)s); } static PyObject * sock_repr(PySocketSockObject *s) { long sock_fd; if (s->sock_fd == (-1)) { sock_fd = -1; } # 4582 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" else sock_fd = (long)s->sock_fd; return PyUnicode_FromFormat( "", sock_fd, s->sock_family, s->sock_type, s->sock_proto); } static PyObject * sock_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { PyObject *new; new = type->tp_alloc(type, 0); if (new != ((void *)0)) { ((PySocketSockObject *)new)->sock_fd = (-1); ((PySocketSockObject *)new)->sock_timeout = _PyTime_FromSeconds(-1); ((PySocketSockObject *)new)->errorhandler = &set_error; } return new; } static int sock_cloexec_works = -1; static int sock_initobj(PyObject *self, PyObject *args, PyObject *kwds) { PySocketSockObject *s = (PySocketSockObject *)self; PyObject *fdobj = ((void *)0); SOCKET_T fd = (-1); int family = 2, type = SOCK_STREAM, proto = 0; static char *keywords[] = {"family", "type", "proto", "fileno", 0}; int *atomic_flag_works = &sock_cloexec_works; if (!PyArg_ParseTupleAndKeywords(args, kwds, "|iiiO:socket", keywords, &family, &type, &proto, &fdobj)) return -1; if (fdobj != ((void *)0) && fdobj != (&_Py_NoneStruct)) { # 4665 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" { fd = (SOCKET_T)PyLong_AsLong(fdobj); if (fd == (SOCKET_T)(-1) && PyErr_Occurred()) return -1; if (fd == (-1)) { PyErr_SetString(PyExc_ValueError, "can't use invalid socket value"); return -1; } } } else { # 4713 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" { PyThreadState *_save; _save = PyEval_SaveThread(); if (sock_cloexec_works != 0) { fd = socket(family, type | SOCK_CLOEXEC, proto); if (sock_cloexec_works == -1) { if (fd >= 0) { sock_cloexec_works = 1; } else if ((*__errno_location ()) == 22) { sock_cloexec_works = 0; fd = socket(family, type, proto); } } } else { fd = socket(family, type, proto); } PyEval_RestoreThread(_save); } if (fd == (-1)) { set_error(); return -1; } if (_Py_set_inheritable(fd, 0, atomic_flag_works) < 0) { close(fd); return -1; } } if (init_sockobject(s, fd, family, type, proto) == -1) { close(fd); return -1; } return 0; } static PyTypeObject sock_type = { { { 1, 0 }, 0 }, "_socket.socket", sizeof(PySocketSockObject), 0, (destructor)sock_dealloc, 0, 0, 0, 0, (reprfunc)sock_repr, 0, 0, 0, 0, 0, 0, PyObject_GenericGetAttr, 0, 0, ( 0 | (1UL << 18) | 0) | (1UL << 10) | (1UL << 0), sock_doc, 0, 0, 0, 0, 0, 0, sock_methods, sock_memberlist, sock_getsetlist, 0, 0, 0, 0, 0, sock_initobj, PyType_GenericAlloc, sock_new, PyObject_Free, 0, 0, 0, 0, 0, 0, 0, 0, (destructor)sock_finalize, }; static PyObject * socket_gethostname(PyObject *self, PyObject *unused) { # 4854 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" char buf[1024]; int res; { PyThreadState *_save; _save = PyEval_SaveThread(); res = gethostname(buf, (int) sizeof buf - 1); PyEval_RestoreThread(_save); } if (res < 0) return set_error(); buf[sizeof buf - 1] = '\0'; return PyUnicode_DecodeFSDefault(buf); } static char gethostname_doc[] = "gethostname() -> string\n\nReturn the current host name." ; static char sethostname_doc[] = "sethostname(name)\n\nSets the hostname to name." ; static PyObject * socket_sethostname(PyObject *self, PyObject *args) { PyObject *hnobj; Py_buffer buf; int res, flag = 0; if (!PyArg_ParseTuple(args, "S:sethostname", &hnobj)) { PyErr_Clear(); if (!PyArg_ParseTuple(args, "O&:sethostname", PyUnicode_FSConverter, &hnobj)) return ((void *)0); flag = 1; } res = PyObject_GetBuffer(hnobj, &buf, 0); if (!res) { res = sethostname(buf.buf, buf.len); PyBuffer_Release(&buf); } if (flag) do { PyObject *_py_decref_tmp = (PyObject *)(hnobj); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); if (res) return set_error(); return ( ((PyObject *)((&_Py_NoneStruct)))->ob_refcnt++), (&_Py_NoneStruct); } static PyObject * socket_gethostbyname(PyObject *self, PyObject *args) { char *name; sock_addr_t addrbuf; PyObject *ret = ((void *)0); if (!PyArg_ParseTuple(args, "et:gethostbyname", "idna", &name)) return ((void *)0); if (setipaddr(name, (&((&addrbuf)->sa)), sizeof(addrbuf), 2) < 0) goto finally; ret = makeipaddr((&((&addrbuf)->sa)), sizeof(struct sockaddr_in)); finally: PyMem_Free(name); return ret; } static char gethostbyname_doc[] = "gethostbyname(host) -> address\n\nReturn the IP address (a string of the form '255.255.255.255') for a host." ; static PyObject* sock_decode_hostname(const char *name) { return PyUnicode_FromString(name); } static PyObject * gethost_common(struct hostent *h, struct sockaddr *addr, size_t alen, int af) { char **pch; PyObject *rtn_tuple = (PyObject *)((void *)0); PyObject *name_list = (PyObject *)((void *)0); PyObject *addr_list = (PyObject *)((void *)0); PyObject *tmp; PyObject *name; if (h == ((void *)0)) { set_herror((*__h_errno_location ())); return ((void *)0); } if (h->h_addrtype != af) { (*__errno_location ()) = 97; PyErr_SetFromErrno(PyExc_OSError); return ((void *)0); } switch (af) { case 2: if (alen < sizeof(struct sockaddr_in)) return ((void *)0); break; case 10: if (alen < sizeof(struct sockaddr_in6)) return ((void *)0); break; } if ((name_list = PyList_New(0)) == ((void *)0)) goto err; if ((addr_list = PyList_New(0)) == ((void *)0)) goto err; if (h->h_aliases) { for (pch = h->h_aliases; *pch != ((void *)0); pch++) { int status; tmp = PyUnicode_FromString(*pch); if (tmp == ((void *)0)) goto err; status = PyList_Append(name_list, tmp); do { PyObject *_py_decref_tmp = (PyObject *)(tmp); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); if (status) goto err; } } for (pch = h->h_addr_list; *pch != ((void *)0); pch++) { int status; switch (af) { case 2: { struct sockaddr_in sin; memset(&sin, 0, sizeof(sin)); sin.sin_family = af; memcpy(&sin.sin_addr, *pch, sizeof(sin.sin_addr)); tmp = makeipaddr((struct sockaddr *)&sin, sizeof(sin)); if (pch == h->h_addr_list && alen >= sizeof(sin)) memcpy((char *) addr, &sin, sizeof(sin)); break; } case 10: { struct sockaddr_in6 sin6; memset(&sin6, 0, sizeof(sin6)); sin6.sin6_family = af; memcpy(&sin6.sin6_addr, *pch, sizeof(sin6.sin6_addr)); tmp = makeipaddr((struct sockaddr *)&sin6, sizeof(sin6)); if (pch == h->h_addr_list && alen >= sizeof(sin6)) memcpy((char *) addr, &sin6, sizeof(sin6)); break; } default: PyErr_SetString(PyExc_OSError, "unsupported address family"); return ((void *)0); } if (tmp == ((void *)0)) goto err; status = PyList_Append(addr_list, tmp); do { PyObject *_py_decref_tmp = (PyObject *)(tmp); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); if (status) goto err; } name = sock_decode_hostname(h->h_name); if (name == ((void *)0)) goto err; rtn_tuple = Py_BuildValue("NOO", name, name_list, addr_list); err: do { PyObject *_py_xdecref_tmp = (PyObject *)(name_list); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp = (PyObject *)(_py_xdecref_tmp); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } while (0); do { PyObject *_py_xdecref_tmp = (PyObject *)(addr_list); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp = (PyObject *)(_py_xdecref_tmp); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } while (0); return rtn_tuple; } static PyObject * socket_gethostbyname_ex(PyObject *self, PyObject *args) { char *name; struct hostent *h; sock_addr_t addr; struct sockaddr *sa; PyObject *ret = ((void *)0); struct hostent hp_allocated; char buf[16384]; int buf_len = (sizeof buf) - 1; int errnop; if (!PyArg_ParseTuple(args, "et:gethostbyname_ex", "idna", &name)) return ((void *)0); if (setipaddr(name, (&((&addr)->sa)), sizeof(addr), 2) < 0) goto finally; { PyThreadState *_save; _save = PyEval_SaveThread(); gethostbyname_r(name, &hp_allocated, buf, buf_len, &h, &errnop); # 5125 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" PyEval_RestoreThread(_save); } sa = (&((&addr)->sa)); ret = gethost_common(h, (&((&addr)->sa)), sizeof(addr), sa->sa_family); finally: PyMem_Free(name); return ret; } static char ghbn_ex_doc[] = "gethostbyname_ex(host) -> (name, aliaslist, addresslist)\n\nReturn the true host name, a list of aliases, and a list of IP addresses,\nfor a host. The host argument is a string giving a host name or IP number." ; static PyObject * socket_gethostbyaddr(PyObject *self, PyObject *args) { sock_addr_t addr; struct sockaddr *sa = (&((&addr)->sa)); char *ip_num; struct hostent *h; PyObject *ret = ((void *)0); struct hostent hp_allocated; char buf[16384] __attribute__((aligned(8))); int buf_len = (sizeof buf) - 1; int errnop; char *ap; int al; int af; if (!PyArg_ParseTuple(args, "et:gethostbyaddr", "idna", &ip_num)) return ((void *)0); af = 0; if (setipaddr(ip_num, sa, sizeof(addr), af) < 0) goto finally; af = sa->sa_family; ap = ((void *)0); switch (af) { case 2: ap = (char *)&((struct sockaddr_in *)sa)->sin_addr; al = sizeof(((struct sockaddr_in *)sa)->sin_addr); break; case 10: ap = (char *)&((struct sockaddr_in6 *)sa)->sin6_addr; al = sizeof(((struct sockaddr_in6 *)sa)->sin6_addr); break; default: PyErr_SetString(PyExc_OSError, "unsupported address family"); goto finally; } { PyThreadState *_save; _save = PyEval_SaveThread(); gethostbyaddr_r(ap, al, af, &hp_allocated, buf, buf_len, &h, &errnop); # 5223 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" PyEval_RestoreThread(_save); } ret = gethost_common(h, (&((&addr)->sa)), sizeof(addr), af); finally: PyMem_Free(ip_num); return ret; } static char gethostbyaddr_doc[] = "gethostbyaddr(host) -> (name, aliaslist, addresslist)\n\nReturn the true host name, a list of aliases, and a list of IP addresses,\nfor a host. The host argument is a string giving a host name or IP number." ; static PyObject * socket_getservbyname(PyObject *self, PyObject *args) { char *name, *proto=((void *)0); struct servent *sp; if (!PyArg_ParseTuple(args, "s|s:getservbyname", &name, &proto)) return ((void *)0); { PyThreadState *_save; _save = PyEval_SaveThread(); sp = getservbyname(name, proto); PyEval_RestoreThread(_save); } if (sp == ((void *)0)) { PyErr_SetString(PyExc_OSError, "service/proto not found"); return ((void *)0); } return PyLong_FromLong((long) (__extension__ ({ unsigned short int __v, __x = (unsigned short int) (sp->s_port); if (__builtin_constant_p (__x)) __v = ((unsigned short int) ((((__x) >> 8) & 0xff) | (((__x) & 0xff) << 8))); else __asm__ ("rorw $8, %w0" : "=r" (__v) : "0" (__x) : "cc"); __v; }))); } static char getservbyname_doc[] = "getservbyname(servicename[, protocolname]) -> integer\n\nReturn a port number from a service name and protocol name.\nThe optional protocol name, if given, should be 'tcp' or 'udp',\notherwise any protocol will match." ; static PyObject * socket_getservbyport(PyObject *self, PyObject *args) { int port; char *proto=((void *)0); struct servent *sp; if (!PyArg_ParseTuple(args, "i|s:getservbyport", &port, &proto)) return ((void *)0); if (port < 0 || port > 0xffff) { PyErr_SetString( PyExc_OverflowError, "getservbyport: port must be 0-65535."); return ((void *)0); } { PyThreadState *_save; _save = PyEval_SaveThread(); sp = getservbyport((__extension__ ({ unsigned short int __v, __x = (unsigned short int) ((short)port); if (__builtin_constant_p (__x)) __v = ((unsigned short int) ((((__x) >> 8) & 0xff) | (((__x) & 0xff) << 8))); else __asm__ ("rorw $8, %w0" : "=r" (__v) : "0" (__x) : "cc"); __v; })), proto); PyEval_RestoreThread(_save); } if (sp == ((void *)0)) { PyErr_SetString(PyExc_OSError, "port/proto not found"); return ((void *)0); } return PyUnicode_FromString(sp->s_name); } static char getservbyport_doc[] = "getservbyport(port[, protocolname]) -> string\n\nReturn the service name from a port number and protocol name.\nThe optional protocol name, if given, should be 'tcp' or 'udp',\notherwise any protocol will match." ; static PyObject * socket_getprotobyname(PyObject *self, PyObject *args) { char *name; struct protoent *sp; if (!PyArg_ParseTuple(args, "s:getprotobyname", &name)) return ((void *)0); { PyThreadState *_save; _save = PyEval_SaveThread(); sp = getprotobyname(name); PyEval_RestoreThread(_save); } if (sp == ((void *)0)) { PyErr_SetString(PyExc_OSError, "protocol not found"); return ((void *)0); } return PyLong_FromLong((long) sp->p_proto); } static char getprotobyname_doc[] = "getprotobyname(name) -> integer\n\nReturn the protocol number for the named protocol. (Rarely used.)" ; static PyObject * socket_dup(PyObject *self, PyObject *fdobj) { SOCKET_T fd, newfd; PyObject *newfdobj; fd = (SOCKET_T)PyLong_AsLong(fdobj); if (fd == (SOCKET_T)(-1) && PyErr_Occurred()) return ((void *)0); # 5367 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" newfd = _Py_dup(fd); if (newfd == (-1)) return ((void *)0); newfdobj = PyLong_FromLong((SOCKET_T)(newfd)); if (newfdobj == ((void *)0)) close(newfd); return newfdobj; } static char dup_doc[] = "dup(integer) -> integer\n\nDuplicate an integer socket file descriptor. This is like os.dup(), but for\nsockets; on some platforms os.dup() won't work for socket file descriptors." ; # 5392 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" static PyObject * socket_socketpair(PyObject *self, PyObject *args) { PySocketSockObject *s0 = ((void *)0), *s1 = ((void *)0); SOCKET_T sv[2]; int family, type = SOCK_STREAM, proto = 0; PyObject *res = ((void *)0); int *atomic_flag_works = &sock_cloexec_works; int ret; family = 1; if (!PyArg_ParseTuple(args, "|iii:socketpair", &family, &type, &proto)) return ((void *)0); { PyThreadState *_save; _save = PyEval_SaveThread(); if (sock_cloexec_works != 0) { ret = socketpair(family, type | SOCK_CLOEXEC, proto, sv); if (sock_cloexec_works == -1) { if (ret >= 0) { sock_cloexec_works = 1; } else if ((*__errno_location ()) == 22) { sock_cloexec_works = 0; ret = socketpair(family, type, proto, sv); } } } else { ret = socketpair(family, type, proto, sv); } PyEval_RestoreThread(_save); } if (ret < 0) return set_error(); if (_Py_set_inheritable(sv[0], 0, atomic_flag_works) < 0) goto finally; if (_Py_set_inheritable(sv[1], 0, atomic_flag_works) < 0) goto finally; s0 = new_sockobject(sv[0], family, type, proto); if (s0 == ((void *)0)) goto finally; s1 = new_sockobject(sv[1], family, type, proto); if (s1 == ((void *)0)) goto finally; res = PyTuple_Pack(2, s0, s1); finally: if (res == ((void *)0)) { if (s0 == ((void *)0)) close(sv[0]); if (s1 == ((void *)0)) close(sv[1]); } do { PyObject *_py_xdecref_tmp = (PyObject *)(s0); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp = (PyObject *)(_py_xdecref_tmp); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } while (0); do { PyObject *_py_xdecref_tmp = (PyObject *)(s1); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp = (PyObject *)(_py_xdecref_tmp); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } while (0); return res; } static char socketpair_doc[] = "socketpair([family[, type [, proto]]]) -> (socket object, socket object)\n\nCreate a pair of socket objects from the sockets returned by the platform\nsocketpair() function.\nThe arguments are the same as for socket() except the default family is\nAF_UNIX if defined on the platform; otherwise, the default is AF_INET." ; static PyObject * socket_ntohs(PyObject *self, PyObject *args) { int x1, x2; if (!PyArg_ParseTuple(args, "i:ntohs", &x1)) { return ((void *)0); } if (x1 < 0) { PyErr_SetString(PyExc_OverflowError, "can't convert negative number to unsigned long"); return ((void *)0); } x2 = (unsigned int)(__extension__ ({ unsigned short int __v, __x = (unsigned short int) ((unsigned short)x1); if (__builtin_constant_p (__x)) __v = ((unsigned short int) ((((__x) >> 8) & 0xff) | (((__x) & 0xff) << 8))); else __asm__ ("rorw $8, %w0" : "=r" (__v) : "0" (__x) : "cc"); __v; })); return PyLong_FromLong(x2); } static char ntohs_doc[] = "ntohs(integer) -> integer\n\nConvert a 16-bit integer from network to host byte order." ; static PyObject * socket_ntohl(PyObject *self, PyObject *arg) { unsigned long x; if (((((((PyObject*)(arg))->ob_type))->tp_flags & ((1UL << 24))) != 0)) { x = PyLong_AsUnsignedLong(arg); if (x == (unsigned long) -1 && PyErr_Occurred()) return ((void *)0); { unsigned long y; y = x & 0xFFFFFFFFUL; if (y ^ x) return PyErr_Format(PyExc_OverflowError, "int larger than 32 bits"); x = y; } } else return PyErr_Format(PyExc_TypeError, "expected int, %s found", (((PyObject*)(arg))->ob_type)->tp_name); return PyLong_FromUnsignedLong(__bswap_32 (x)); } static char ntohl_doc[] = "ntohl(integer) -> integer\n\nConvert a 32-bit integer from network to host byte order." ; static PyObject * socket_htons(PyObject *self, PyObject *args) { int x1, x2; if (!PyArg_ParseTuple(args, "i:htons", &x1)) { return ((void *)0); } if (x1 < 0) { PyErr_SetString(PyExc_OverflowError, "can't convert negative number to unsigned long"); return ((void *)0); } x2 = (unsigned int)(__extension__ ({ unsigned short int __v, __x = (unsigned short int) ((unsigned short)x1); if (__builtin_constant_p (__x)) __v = ((unsigned short int) ((((__x) >> 8) & 0xff) | (((__x) & 0xff) << 8))); else __asm__ ("rorw $8, %w0" : "=r" (__v) : "0" (__x) : "cc"); __v; })); return PyLong_FromLong(x2); } static char htons_doc[] = "htons(integer) -> integer\n\nConvert a 16-bit integer from host to network byte order." ; static PyObject * socket_htonl(PyObject *self, PyObject *arg) { unsigned long x; if (((((((PyObject*)(arg))->ob_type))->tp_flags & ((1UL << 24))) != 0)) { x = PyLong_AsUnsignedLong(arg); if (x == (unsigned long) -1 && PyErr_Occurred()) return ((void *)0); { unsigned long y; y = x & 0xFFFFFFFFUL; if (y ^ x) return PyErr_Format(PyExc_OverflowError, "int larger than 32 bits"); x = y; } } else return PyErr_Format(PyExc_TypeError, "expected int, %s found", (((PyObject*)(arg))->ob_type)->tp_name); return PyLong_FromUnsignedLong(__bswap_32 ((unsigned long)x)); } static char htonl_doc[] = "htonl(integer) -> integer\n\nConvert a 32-bit integer from host to network byte order." ; static char inet_aton_doc[] = "inet_aton(string) -> bytes giving packed 32-bit IP representation\n\nConvert an IP address in string format (123.45.67.89) to the 32-bit packed\nbinary format used in low-level network functions." ; static PyObject* socket_inet_aton(PyObject *self, PyObject *args) { struct in_addr buf; # 5612 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" char *ip_addr; if (!PyArg_ParseTuple(args, "s:inet_aton", &ip_addr)) return ((void *)0); if (inet_aton(ip_addr, &buf)) return PyBytes_FromStringAndSize((char *)(&buf), sizeof(buf)); PyErr_SetString(PyExc_OSError, "illegal IP address string passed to inet_aton"); return ((void *)0); # 5661 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" } static char inet_ntoa_doc[] = "inet_ntoa(packed_ip) -> ip_address_string\n\nConvert an IP address from 32-bit packed binary format to string format" ; static PyObject* socket_inet_ntoa(PyObject *self, PyObject *args) { Py_buffer packed_ip; struct in_addr packed_addr; if (!PyArg_ParseTuple(args, "y*:inet_ntoa", &packed_ip)) { return ((void *)0); } if (packed_ip.len != sizeof(packed_addr)) { PyErr_SetString(PyExc_OSError, "packed IP wrong length for inet_ntoa"); PyBuffer_Release(&packed_ip); return ((void *)0); } memcpy(&packed_addr, packed_ip.buf, packed_ip.len); PyBuffer_Release(&packed_ip); return PyUnicode_FromString(inet_ntoa(packed_addr)); } static char inet_pton_doc[] = "inet_pton(af, ip) -> packed IP address string\n\nConvert an IP address from string format to a packed string suitable\nfor use with low-level network functions." ; static PyObject * socket_inet_pton(PyObject *self, PyObject *args) { int af; char* ip; int retval; char packed[(((sizeof(struct in_addr)) > (sizeof(struct in6_addr))) ? (sizeof(struct in_addr)) : (sizeof(struct in6_addr)))]; if (!PyArg_ParseTuple(args, "is:inet_pton", &af, &ip)) { return ((void *)0); } # 5726 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" retval = inet_pton(af, ip, packed); if (retval < 0) { PyErr_SetFromErrno(PyExc_OSError); return ((void *)0); } else if (retval == 0) { PyErr_SetString(PyExc_OSError, "illegal IP address string passed to inet_pton"); return ((void *)0); } else if (af == 2) { return PyBytes_FromStringAndSize(packed, sizeof(struct in_addr)); } else if (af == 10) { return PyBytes_FromStringAndSize(packed, sizeof(struct in6_addr)); } else { PyErr_SetString(PyExc_OSError, "unknown address family"); return ((void *)0); } } # 5784 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" static char inet_ntop_doc[] = "inet_ntop(af, packed_ip) -> string formatted IP address\n\nConvert a packed IP address of the given family to string format." ; static PyObject * socket_inet_ntop(PyObject *self, PyObject *args) { int af; Py_buffer packed_ip; const char* retval; char ip[(((16) > (46)) ? (16) : (46)) + 1]; memset((void *) &ip[0], '\0', sizeof(ip)); if (!PyArg_ParseTuple(args, "iy*:inet_ntop", &af, &packed_ip)) { return ((void *)0); } if (af == 2) { if (packed_ip.len != sizeof(struct in_addr)) { PyErr_SetString(PyExc_ValueError, "invalid length of packed IP address string"); PyBuffer_Release(&packed_ip); return ((void *)0); } } else if (af == 10) { if (packed_ip.len != sizeof(struct in6_addr)) { PyErr_SetString(PyExc_ValueError, "invalid length of packed IP address string"); PyBuffer_Release(&packed_ip); return ((void *)0); } } else { PyErr_Format(PyExc_ValueError, "unknown address family %d", af); PyBuffer_Release(&packed_ip); return ((void *)0); } retval = inet_ntop(af, packed_ip.buf, ip, sizeof(ip)); PyBuffer_Release(&packed_ip); if (!retval) { PyErr_SetFromErrno(PyExc_OSError); return ((void *)0); } else { return PyUnicode_FromString(retval); } } # 5917 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" static PyObject * socket_getaddrinfo(PyObject *self, PyObject *args, PyObject* kwargs) { static char* kwnames[] = {"host", "port", "family", "type", "proto", "flags", 0}; struct addrinfo hints, *res; struct addrinfo *res0 = ((void *)0); PyObject *hobj = ((void *)0); PyObject *pobj = (PyObject *)((void *)0); char pbuf[30]; char *hptr, *pptr; int family, socktype, protocol, flags; int error; PyObject *all = (PyObject *)((void *)0); PyObject *idna = ((void *)0); socktype = protocol = flags = 0; family = 0; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "OO|iiii:getaddrinfo", kwnames, &hobj, &pobj, &family, &socktype, &protocol, &flags)) { return ((void *)0); } if (hobj == (&_Py_NoneStruct)) { hptr = ((void *)0); } else if (((((((PyObject*)(hobj))->ob_type))->tp_flags & ((1UL << 28))) != 0)) { idna = PyUnicode_AsEncodedString(hobj, "idna", ((void *)0)); if (!idna) return ((void *)0); ((void) (0)); hptr = (((void) (0)), (((PyBytesObject *)(idna))->ob_sval)); } else if (((((((PyObject*)(hobj))->ob_type))->tp_flags & ((1UL << 27))) != 0)) { hptr = PyBytes_AsString(hobj); } else { PyErr_SetString(PyExc_TypeError, "getaddrinfo() argument 1 must be string or None"); return ((void *)0); } if (((((PyObject*)(pobj))->ob_type) == &PyLong_Type)) { long value = PyLong_AsLong(pobj); if (value == -1 && PyErr_Occurred()) goto err; PyOS_snprintf(pbuf, sizeof(pbuf), "%ld", value); pptr = pbuf; } else if (((((((PyObject*)(pobj))->ob_type))->tp_flags & ((1UL << 28))) != 0)) { pptr = PyUnicode_AsUTF8(pobj); if (pptr == ((void *)0)) goto err; } else if (((((((PyObject*)(pobj))->ob_type))->tp_flags & ((1UL << 27))) != 0)) { pptr = (((void) (0)), (((PyBytesObject *)(pobj))->ob_sval)); } else if (pobj == (&_Py_NoneStruct)) { pptr = (char *)((void *)0); } else { PyErr_SetString(PyExc_OSError, "Int or String expected"); goto err; } # 5982 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" memset(&hints, 0, sizeof(hints)); hints.ai_family = family; hints.ai_socktype = socktype; hints.ai_protocol = protocol; hints.ai_flags = flags; { PyThreadState *_save; _save = PyEval_SaveThread(); error = getaddrinfo(hptr, pptr, &hints, &res0); PyEval_RestoreThread(_save); } if (error) { set_gaierror(error); goto err; } all = PyList_New(0); if (all == ((void *)0)) goto err; for (res = res0; res; res = res->ai_next) { PyObject *single; PyObject *addr = makesockaddr(-1, res->ai_addr, res->ai_addrlen, protocol); if (addr == ((void *)0)) goto err; single = Py_BuildValue("iiisO", res->ai_family, res->ai_socktype, res->ai_protocol, res->ai_canonname ? res->ai_canonname : "", addr); do { PyObject *_py_decref_tmp = (PyObject *)(addr); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); if (single == ((void *)0)) goto err; if (PyList_Append(all, single)) goto err; do { PyObject *_py_xdecref_tmp = (PyObject *)(single); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp = (PyObject *)(_py_xdecref_tmp); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } while (0); } do { PyObject *_py_xdecref_tmp = (PyObject *)(idna); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp = (PyObject *)(_py_xdecref_tmp); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } while (0); if (res0) freeaddrinfo(res0); return all; err: do { PyObject *_py_xdecref_tmp = (PyObject *)(all); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp = (PyObject *)(_py_xdecref_tmp); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } while (0); do { PyObject *_py_xdecref_tmp = (PyObject *)(idna); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp = (PyObject *)(_py_xdecref_tmp); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } while (0); if (res0) freeaddrinfo(res0); return (PyObject *)((void *)0); } static char getaddrinfo_doc[] = "getaddrinfo(host, port [, family, type, proto, flags])\n -> list of (family, type, proto, canonname, sockaddr)\n\nResolve host and port into addrinfo struct." ; static PyObject * socket_getnameinfo(PyObject *self, PyObject *args) { PyObject *sa = (PyObject *)((void *)0); int flags; char *hostp; int port; unsigned int flowinfo, scope_id; char hbuf[1025], pbuf[32]; struct addrinfo hints, *res = ((void *)0); int error; PyObject *ret = (PyObject *)((void *)0); PyObject *name; flags = flowinfo = scope_id = 0; if (!PyArg_ParseTuple(args, "Oi:getnameinfo", &sa, &flags)) return ((void *)0); if (!((((((PyObject*)(sa))->ob_type))->tp_flags & ((1UL << 26))) != 0)) { PyErr_SetString(PyExc_TypeError, "getnameinfo() argument 1 must be a tuple"); return ((void *)0); } if (!PyArg_ParseTuple(sa, "si|II", &hostp, &port, &flowinfo, &scope_id)) return ((void *)0); if (flowinfo > 0xfffff) { PyErr_SetString(PyExc_OverflowError, "getsockaddrarg: flowinfo must be 0-1048575."); return ((void *)0); } PyOS_snprintf(pbuf, sizeof(pbuf), "%d", port); memset(&hints, 0, sizeof(hints)); hints.ai_family = 0; hints.ai_socktype = SOCK_DGRAM; hints.ai_flags = 0x0004; { PyThreadState *_save; _save = PyEval_SaveThread(); error = getaddrinfo(hostp, pbuf, &hints, &res); PyEval_RestoreThread(_save); } if (error) { set_gaierror(error); goto fail; } if (res->ai_next) { PyErr_SetString(PyExc_OSError, "sockaddr resolved to multiple addresses"); goto fail; } switch (res->ai_family) { case 2: { if ((((PyVarObject*)(sa))->ob_size) != 2) { PyErr_SetString(PyExc_OSError, "IPv4 sockaddr must be 2 tuple"); goto fail; } break; } case 10: { struct sockaddr_in6 *sin6; sin6 = (struct sockaddr_in6 *)res->ai_addr; sin6->sin6_flowinfo = __bswap_32 (flowinfo); sin6->sin6_scope_id = scope_id; break; } } error = getnameinfo(res->ai_addr, (socklen_t) res->ai_addrlen, hbuf, sizeof(hbuf), pbuf, sizeof(pbuf), flags); if (error) { set_gaierror(error); goto fail; } name = sock_decode_hostname(hbuf); if (name == ((void *)0)) goto fail; ret = Py_BuildValue("Ns", name, pbuf); fail: if (res) freeaddrinfo(res); return ret; } static char getnameinfo_doc[] = "getnameinfo(sockaddr, flags) --> (host, port)\n\nGet host and port for a sockaddr." ; static PyObject * socket_getdefaulttimeout(PyObject *self) { if (defaulttimeout < 0) { ( ((PyObject *)((&_Py_NoneStruct)))->ob_refcnt++); return (&_Py_NoneStruct); } else { double seconds = _PyTime_AsSecondsDouble(defaulttimeout); return PyFloat_FromDouble(seconds); } } static char getdefaulttimeout_doc[] = "getdefaulttimeout() -> timeout\n\nReturns the default timeout in seconds (float) for new socket objects.\nA value of None indicates that new socket objects have no timeout.\nWhen the socket module is first imported, the default is None." ; static PyObject * socket_setdefaulttimeout(PyObject *self, PyObject *arg) { _PyTime_t timeout; if (socket_parse_timeout(&timeout, arg) < 0) return ((void *)0); defaulttimeout = timeout; ( ((PyObject *)((&_Py_NoneStruct)))->ob_refcnt++); return (&_Py_NoneStruct); } static char setdefaulttimeout_doc[] = "setdefaulttimeout(timeout)\n\nSet the default timeout in seconds (float) for new socket objects.\nA value of None indicates that new socket objects have no timeout.\nWhen the socket module is first imported, the default is None." ; static PyObject * socket_if_nameindex(PyObject *self, PyObject *arg) { PyObject *list; int i; struct if_nameindex *ni; ni = if_nameindex(); if (ni == ((void *)0)) { PyErr_SetFromErrno(PyExc_OSError); return ((void *)0); } list = PyList_New(0); if (list == ((void *)0)) { if_freenameindex(ni); return ((void *)0); } for (i = 0; ni[i].if_index != 0 && i < 2147483647; i++) { PyObject *ni_tuple = Py_BuildValue("IO&", ni[i].if_index, PyUnicode_DecodeFSDefault, ni[i].if_name); if (ni_tuple == ((void *)0) || PyList_Append(list, ni_tuple) == -1) { do { PyObject *_py_xdecref_tmp = (PyObject *)(ni_tuple); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp = (PyObject *)(_py_xdecref_tmp); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } while (0); do { PyObject *_py_decref_tmp = (PyObject *)(list); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); if_freenameindex(ni); return ((void *)0); } do { PyObject *_py_decref_tmp = (PyObject *)(ni_tuple); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); } if_freenameindex(ni); return list; } static char if_nameindex_doc[] = "if_nameindex()\n\nReturns a list of network interface information (index, name) tuples." ; static PyObject * socket_if_nametoindex(PyObject *self, PyObject *args) { PyObject *oname; unsigned long index; if (!PyArg_ParseTuple(args, "O&:if_nametoindex", PyUnicode_FSConverter, &oname)) return ((void *)0); index = if_nametoindex((((void) (0)), (((PyBytesObject *)(oname))->ob_sval))); do { PyObject *_py_decref_tmp = (PyObject *)(oname); if ( --(_py_decref_tmp)->ob_refcnt != 0) ; else ( (*(((PyObject*)(_py_decref_tmp))->ob_type)->tp_dealloc)((PyObject *)(_py_decref_tmp))); } while (0); if (index == 0) { PyErr_SetString(PyExc_OSError, "no interface with this name"); return ((void *)0); } return PyLong_FromUnsignedLong(index); } static char if_nametoindex_doc[] = "if_nametoindex(if_name)\n\nReturns the interface index corresponding to the interface name if_name." ; static PyObject * socket_if_indextoname(PyObject *self, PyObject *arg) { unsigned long index; char name[16 + 1]; index = PyLong_AsUnsignedLong(arg); if (index == (unsigned long) -1) return ((void *)0); if (if_indextoname(index, name) == ((void *)0)) { PyErr_SetFromErrno(PyExc_OSError); return ((void *)0); } return PyUnicode_DecodeFSDefault(name); } static char if_indextoname_doc[] = "if_indextoname(if_index)\n\nReturns the interface name corresponding to the interface index if_index." ; static PyObject * socket_CMSG_LEN(PyObject *self, PyObject *args) { Py_ssize_t length; size_t result; if (!PyArg_ParseTuple(args, "n:CMSG_LEN", &length)) return ((void *)0); if (length < 0 || !get_CMSG_LEN(length, &result)) { PyErr_Format(PyExc_OverflowError, "CMSG_LEN() argument out of range"); return ((void *)0); } return PyLong_FromSize_t(result); } static char CMSG_LEN_doc[] = "CMSG_LEN(length) -> control message length\n\nReturn the total length, without trailing padding, of an ancillary\ndata item with associated data of the given length. This value can\noften be used as the buffer size for recvmsg() to receive a single\nitem of ancillary data, but RFC 3542 requires portable applications to\nuse CMSG_SPACE() and thus include space for padding, even when the\nitem will be the last in the buffer. Raises OverflowError if length\nis outside the permissible range of values." # 6299 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" ; static PyObject * socket_CMSG_SPACE(PyObject *self, PyObject *args) { Py_ssize_t length; size_t result; if (!PyArg_ParseTuple(args, "n:CMSG_SPACE", &length)) return ((void *)0); if (length < 0 || !get_CMSG_SPACE(length, &result)) { PyErr_SetString(PyExc_OverflowError, "CMSG_SPACE() argument out of range"); return ((void *)0); } return PyLong_FromSize_t(result); } static char CMSG_SPACE_doc[] = "CMSG_SPACE(length) -> buffer size\n\nReturn the buffer size needed for recvmsg() to receive an ancillary\ndata item with associated data of the given length, along with any\ntrailing padding. The buffer space needed to receive multiple items\nis the sum of the CMSG_SPACE() values for their associated data\nlengths. Raises OverflowError if length is outside the permissible\nrange of values." ; static PyMethodDef socket_methods[] = { {"gethostbyname", socket_gethostbyname, 0x0001, gethostbyname_doc}, {"gethostbyname_ex", socket_gethostbyname_ex, 0x0001, ghbn_ex_doc}, {"gethostbyaddr", socket_gethostbyaddr, 0x0001, gethostbyaddr_doc}, {"gethostname", socket_gethostname, 0x0004, gethostname_doc}, {"sethostname", socket_sethostname, 0x0001, sethostname_doc}, {"getservbyname", socket_getservbyname, 0x0001, getservbyname_doc}, {"getservbyport", socket_getservbyport, 0x0001, getservbyport_doc}, {"getprotobyname", socket_getprotobyname, 0x0001, getprotobyname_doc}, {"dup", socket_dup, 0x0008, dup_doc}, {"socketpair", socket_socketpair, 0x0001, socketpair_doc}, {"ntohs", socket_ntohs, 0x0001, ntohs_doc}, {"ntohl", socket_ntohl, 0x0008, ntohl_doc}, {"htons", socket_htons, 0x0001, htons_doc}, {"htonl", socket_htonl, 0x0008, htonl_doc}, {"inet_aton", socket_inet_aton, 0x0001, inet_aton_doc}, {"inet_ntoa", socket_inet_ntoa, 0x0001, inet_ntoa_doc}, {"inet_pton", socket_inet_pton, 0x0001, inet_pton_doc}, {"inet_ntop", socket_inet_ntop, 0x0001, inet_ntop_doc}, {"getaddrinfo", (PyCFunction)socket_getaddrinfo, 0x0001 | 0x0002, getaddrinfo_doc}, {"getnameinfo", socket_getnameinfo, 0x0001, getnameinfo_doc}, {"getdefaulttimeout", (PyCFunction)socket_getdefaulttimeout, 0x0004, getdefaulttimeout_doc}, {"setdefaulttimeout", socket_setdefaulttimeout, 0x0008, setdefaulttimeout_doc}, {"if_nameindex", socket_if_nameindex, 0x0004, if_nameindex_doc}, {"if_nametoindex", socket_if_nametoindex, 0x0001, if_nametoindex_doc}, {"if_indextoname", socket_if_indextoname, 0x0008, if_indextoname_doc}, {"CMSG_LEN", socket_CMSG_LEN, 0x0001, CMSG_LEN_doc}, {"CMSG_SPACE", socket_CMSG_SPACE, 0x0001, CMSG_SPACE_doc}, {((void *)0), ((void *)0)} }; # 6452 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" static int os_init(void) { return 1; } static PySocketModule_APIObject PySocketModuleAPI = { &sock_type, ((void *)0), ((void *)0) }; # 6481 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" static char socket_doc[] = "Implementation module for socket operations.\n\nSee the socket module for documentation." ; static struct PyModuleDef socketmodule = { { { 1, ((void *)0) }, ((void *)0), 0, ((void *)0), }, "_socket", socket_doc, -1, socket_methods, ((void *)0), ((void *)0), ((void *)0), ((void *)0) }; PyObject* PyInit__socket(void) { PyObject *m, *has_ipv6; if (!os_init()) return ((void *)0); # 6520 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" (((PyObject*)(&sock_type))->ob_type) = &PyType_Type; m = PyModule_Create2(&socketmodule, 1013); if (m == ((void *)0)) return ((void *)0); ( ((PyObject *)(PyExc_OSError))->ob_refcnt++); PySocketModuleAPI.error = PyExc_OSError; ( ((PyObject *)(PyExc_OSError))->ob_refcnt++); PyModule_AddObject(m, "error", PyExc_OSError); socket_herror = PyErr_NewException("socket.herror", PyExc_OSError, ((void *)0)); if (socket_herror == ((void *)0)) return ((void *)0); ( ((PyObject *)(socket_herror))->ob_refcnt++); PyModule_AddObject(m, "herror", socket_herror); socket_gaierror = PyErr_NewException("socket.gaierror", PyExc_OSError, ((void *)0)); if (socket_gaierror == ((void *)0)) return ((void *)0); ( ((PyObject *)(socket_gaierror))->ob_refcnt++); PyModule_AddObject(m, "gaierror", socket_gaierror); socket_timeout = PyErr_NewException("socket.timeout", PyExc_OSError, ((void *)0)); if (socket_timeout == ((void *)0)) return ((void *)0); PySocketModuleAPI.timeout_error = socket_timeout; ( ((PyObject *)(socket_timeout))->ob_refcnt++); PyModule_AddObject(m, "timeout", socket_timeout); ( ((PyObject *)((PyObject *)&sock_type))->ob_refcnt++); if (PyModule_AddObject(m, "SocketType", (PyObject *)&sock_type) != 0) return ((void *)0); ( ((PyObject *)((PyObject *)&sock_type))->ob_refcnt++); if (PyModule_AddObject(m, "socket", (PyObject *)&sock_type) != 0) return ((void *)0); has_ipv6 = ((PyObject *) &_Py_TrueStruct); ( ((PyObject *)(has_ipv6))->ob_refcnt++); PyModule_AddObject(m, "has_ipv6", has_ipv6); if (PyModule_AddObject(m, "CAPI", PyCapsule_New(&PySocketModuleAPI, "_socket" "." "CAPI", ((void *)0)) ) != 0) return ((void *)0); PyModule_AddIntConstant(m, "AF_UNSPEC", 0); PyModule_AddIntConstant(m, "AF_INET", 2); PyModule_AddIntConstant(m, "AF_UNIX", 1); PyModule_AddIntConstant(m, "AF_AX25", 3); PyModule_AddIntConstant(m, "AF_IPX", 4); PyModule_AddIntConstant(m, "AF_APPLETALK", 5); PyModule_AddIntConstant(m, "AF_NETROM", 6); PyModule_AddIntConstant(m, "AF_BRIDGE", 7); PyModule_AddIntConstant(m, "AF_ATMPVC", 8); PyModule_AddIntConstant(m, "AF_ALG", 38); PyModule_AddIntConstant(m, "AF_X25", 9); PyModule_AddIntConstant(m, "AF_INET6", 10); PyModule_AddIntConstant(m, "AF_ROSE", 11); PyModule_AddIntConstant(m, "AF_DECnet", 12); PyModule_AddIntConstant(m, "AF_NETBEUI", 13); PyModule_AddIntConstant(m, "AF_SECURITY", 14); PyModule_AddIntConstant(m, "AF_KEY", 15); PyModule_AddIntConstant(m, "AF_NETLINK", 16); PyModule_AddIntConstant(m, "NETLINK_ROUTE", 0); PyModule_AddIntConstant(m, "NETLINK_USERSOCK", 2); PyModule_AddIntConstant(m, "NETLINK_FIREWALL", 3); PyModule_AddIntConstant(m, "NETLINK_NFLOG", 5); PyModule_AddIntConstant(m, "NETLINK_XFRM", 6); PyModule_AddIntConstant(m, "NETLINK_IP6_FW", 13); PyModule_AddIntConstant(m, "NETLINK_DNRTMSG", 14); PyModule_AddIntConstant(m, "NETLINK_CRYPTO", 21); PyModule_AddIntConstant(m, "AF_ROUTE", 16); PyModule_AddIntConstant(m, "AF_ASH", 18); PyModule_AddIntConstant(m, "AF_ECONET", 19); PyModule_AddIntConstant(m, "AF_ATMSVC", 20); PyModule_AddIntConstant(m, "AF_SNA", 22); PyModule_AddIntConstant(m, "AF_IRDA", 23); PyModule_AddIntConstant(m, "AF_PPPOX", 24); PyModule_AddIntConstant(m, "AF_WANPIPE", 25); PyModule_AddIntConstant(m, "AF_LLC", 26); # 6736 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" PyModule_AddIntConstant(m, "AF_CAN", 29); PyModule_AddIntConstant(m, "PF_CAN", 29); PyModule_AddIntConstant(m, "AF_RDS", 21); PyModule_AddIntConstant(m, "PF_RDS", 21); # 6760 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" PyModule_AddIntConstant(m, "AF_PACKET", 17); PyModule_AddIntConstant(m, "PF_PACKET", 17); PyModule_AddIntConstant(m, "PACKET_HOST", 0); PyModule_AddIntConstant(m, "PACKET_BROADCAST", 1); PyModule_AddIntConstant(m, "PACKET_MULTICAST", 2); PyModule_AddIntConstant(m, "PACKET_OTHERHOST", 3); PyModule_AddIntConstant(m, "PACKET_OUTGOING", 4); PyModule_AddIntConstant(m, "PACKET_LOOPBACK", 5); PyModule_AddIntConstant(m, "PACKET_FASTROUTE", 6); PyModule_AddIntConstant(m, "AF_TIPC", 30); PyModule_AddIntConstant(m, "TIPC_ADDR_NAMESEQ", 1); PyModule_AddIntConstant(m, "TIPC_ADDR_NAME", 2); PyModule_AddIntConstant(m, "TIPC_ADDR_ID", 3); PyModule_AddIntConstant(m, "TIPC_ZONE_SCOPE", 1); PyModule_AddIntConstant(m, "TIPC_CLUSTER_SCOPE", 2); PyModule_AddIntConstant(m, "TIPC_NODE_SCOPE", 3); PyModule_AddIntConstant(m, "SOL_TIPC", 271); PyModule_AddIntConstant(m, "TIPC_IMPORTANCE", 127); PyModule_AddIntConstant(m, "TIPC_SRC_DROPPABLE", 128); PyModule_AddIntConstant(m, "TIPC_DEST_DROPPABLE", 129); PyModule_AddIntConstant(m, "TIPC_CONN_TIMEOUT", 130); PyModule_AddIntConstant(m, "TIPC_LOW_IMPORTANCE", 0); PyModule_AddIntConstant(m, "TIPC_MEDIUM_IMPORTANCE", 1); PyModule_AddIntConstant(m, "TIPC_HIGH_IMPORTANCE", 2); PyModule_AddIntConstant(m, "TIPC_CRITICAL_IMPORTANCE", 3); PyModule_AddIntConstant(m, "TIPC_SUB_PORTS", 0x01); PyModule_AddIntConstant(m, "TIPC_SUB_SERVICE", 0x02); PyModule_AddIntConstant(m, "TIPC_SUB_CANCEL", 0x04); PyModule_AddIntConstant(m, "TIPC_WAIT_FOREVER", (~0)); PyModule_AddIntConstant(m, "TIPC_PUBLISHED", 1); PyModule_AddIntConstant(m, "TIPC_WITHDRAWN", 2); PyModule_AddIntConstant(m, "TIPC_SUBSCR_TIMEOUT", 3); PyModule_AddIntConstant(m, "TIPC_CFG_SRV", 0); PyModule_AddIntConstant(m, "TIPC_TOP_SRV", 1); PyModule_AddIntConstant(m, "ALG_SET_KEY", 1); PyModule_AddIntConstant(m, "ALG_SET_IV", 2); PyModule_AddIntConstant(m, "ALG_SET_OP", 3); PyModule_AddIntConstant(m, "ALG_SET_AEAD_ASSOCLEN", 4); PyModule_AddIntConstant(m, "ALG_SET_AEAD_AUTHSIZE", 5); PyModule_AddIntConstant(m, "ALG_SET_PUBKEY", 6); PyModule_AddIntConstant(m, "ALG_OP_DECRYPT", 0); PyModule_AddIntConstant(m, "ALG_OP_ENCRYPT", 1); PyModule_AddIntConstant(m, "ALG_OP_SIGN", 2); PyModule_AddIntConstant(m, "ALG_OP_VERIFY", 3); PyModule_AddIntConstant(m, "SOCK_STREAM", SOCK_STREAM); PyModule_AddIntConstant(m, "SOCK_DGRAM", SOCK_DGRAM); PyModule_AddIntConstant(m, "SOCK_RAW", SOCK_RAW); PyModule_AddIntConstant(m, "SOCK_SEQPACKET", SOCK_SEQPACKET); PyModule_AddIntConstant(m, "SOCK_RDM", SOCK_RDM); PyModule_AddIntConstant(m, "SOCK_CLOEXEC", SOCK_CLOEXEC); PyModule_AddIntConstant(m, "SOCK_NONBLOCK", SOCK_NONBLOCK); PyModule_AddIntConstant(m, "SO_DEBUG", 1); PyModule_AddIntConstant(m, "SO_ACCEPTCONN", 30); PyModule_AddIntConstant(m, "SO_REUSEADDR", 2); PyModule_AddIntConstant(m, "SO_KEEPALIVE", 9); PyModule_AddIntConstant(m, "SO_DONTROUTE", 5); PyModule_AddIntConstant(m, "SO_BROADCAST", 6); PyModule_AddIntConstant(m, "SO_LINGER", 13); PyModule_AddIntConstant(m, "SO_OOBINLINE", 10); PyModule_AddIntConstant(m, "SO_REUSEPORT", 15); PyModule_AddIntConstant(m, "SO_SNDBUF", 7); PyModule_AddIntConstant(m, "SO_RCVBUF", 8); PyModule_AddIntConstant(m, "SO_SNDLOWAT", 19); PyModule_AddIntConstant(m, "SO_RCVLOWAT", 18); PyModule_AddIntConstant(m, "SO_SNDTIMEO", 21); PyModule_AddIntConstant(m, "SO_RCVTIMEO", 20); PyModule_AddIntConstant(m, "SO_ERROR", 4); PyModule_AddIntConstant(m, "SO_TYPE", 3); PyModule_AddIntConstant(m, "SO_PASSCRED", 16); PyModule_AddIntConstant(m, "SO_PEERCRED", 17); PyModule_AddIntConstant(m, "SO_PASSSEC", 34); PyModule_AddIntConstant(m, "SO_PEERSEC", 31); PyModule_AddIntConstant(m, "SO_BINDTODEVICE", 25); PyModule_AddIntConstant(m, "SO_PRIORITY", 12); PyModule_AddIntConstant(m, "SO_MARK", 36); PyModule_AddIntConstant(m, "SO_DOMAIN", 39); PyModule_AddIntConstant(m, "SO_PROTOCOL", 38); PyModule_AddIntConstant(m, "SOMAXCONN", 128); PyModule_AddIntConstant(m, "SCM_RIGHTS", SCM_RIGHTS); PyModule_AddIntConstant(m, "SCM_CREDENTIALS", SCM_CREDENTIALS); PyModule_AddIntConstant(m, "MSG_OOB", MSG_OOB); PyModule_AddIntConstant(m, "MSG_PEEK", MSG_PEEK); PyModule_AddIntConstant(m, "MSG_DONTROUTE", MSG_DONTROUTE); PyModule_AddIntConstant(m, "MSG_DONTWAIT", MSG_DONTWAIT); PyModule_AddIntConstant(m, "MSG_EOR", MSG_EOR); PyModule_AddIntConstant(m, "MSG_TRUNC", MSG_TRUNC); PyModule_AddIntConstant(m, "MSG_CTRUNC", MSG_CTRUNC); PyModule_AddIntConstant(m, "MSG_WAITALL", MSG_WAITALL); # 7005 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" PyModule_AddIntConstant(m, "MSG_NOSIGNAL", MSG_NOSIGNAL); PyModule_AddIntConstant(m, "MSG_CMSG_CLOEXEC", MSG_CMSG_CLOEXEC); PyModule_AddIntConstant(m, "MSG_ERRQUEUE", MSG_ERRQUEUE); PyModule_AddIntConstant(m, "MSG_CONFIRM", MSG_CONFIRM); PyModule_AddIntConstant(m, "MSG_MORE", MSG_MORE); # 7032 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" PyModule_AddIntConstant(m, "MSG_FASTOPEN", MSG_FASTOPEN); PyModule_AddIntConstant(m, "SOL_SOCKET", 1); PyModule_AddIntConstant(m, "SOL_IP", 0); # 7060 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" PyModule_AddIntConstant(m, "SOL_TCP", 6); PyModule_AddIntConstant(m, "SOL_UDP", 17); PyModule_AddIntConstant(m, "SOL_CAN_BASE", 100); PyModule_AddIntConstant(m, "SOL_CAN_RAW", (100 + 1)); PyModule_AddIntConstant(m, "CAN_RAW", 1); PyModule_AddIntConstant(m, "CAN_EFF_FLAG", 0x80000000U); PyModule_AddIntConstant(m, "CAN_RTR_FLAG", 0x40000000U); PyModule_AddIntConstant(m, "CAN_ERR_FLAG", 0x20000000U); PyModule_AddIntConstant(m, "CAN_SFF_MASK", 0x000007FFU); PyModule_AddIntConstant(m, "CAN_EFF_MASK", 0x1FFFFFFFU); PyModule_AddIntConstant(m, "CAN_ERR_MASK", 0x1FFFFFFFU); PyModule_AddIntConstant(m, "CAN_RAW_FILTER", CAN_RAW_FILTER); PyModule_AddIntConstant(m, "CAN_RAW_ERR_FILTER", CAN_RAW_ERR_FILTER); PyModule_AddIntConstant(m, "CAN_RAW_LOOPBACK", CAN_RAW_LOOPBACK); PyModule_AddIntConstant(m, "CAN_RAW_RECV_OWN_MSGS", CAN_RAW_RECV_OWN_MSGS); PyModule_AddIntConstant(m, "CAN_RAW_FD_FRAMES", CAN_RAW_FD_FRAMES); PyModule_AddIntConstant(m, "CAN_BCM", 2); PyModule_AddIntConstant(m, "CAN_BCM_TX_SETUP", TX_SETUP); PyModule_AddIntConstant(m, "CAN_BCM_TX_DELETE", TX_DELETE); PyModule_AddIntConstant(m, "CAN_BCM_TX_READ", TX_READ); PyModule_AddIntConstant(m, "CAN_BCM_TX_SEND", TX_SEND); PyModule_AddIntConstant(m, "CAN_BCM_RX_SETUP", RX_SETUP); PyModule_AddIntConstant(m, "CAN_BCM_RX_DELETE", RX_DELETE); PyModule_AddIntConstant(m, "CAN_BCM_RX_READ", RX_READ); PyModule_AddIntConstant(m, "CAN_BCM_TX_STATUS", TX_STATUS); PyModule_AddIntConstant(m, "CAN_BCM_TX_EXPIRED", TX_EXPIRED); PyModule_AddIntConstant(m, "CAN_BCM_RX_STATUS", RX_STATUS); PyModule_AddIntConstant(m, "CAN_BCM_RX_TIMEOUT", RX_TIMEOUT); PyModule_AddIntConstant(m, "CAN_BCM_RX_CHANGED", RX_CHANGED); PyModule_AddIntConstant(m, "SOL_ALG", 279); # 7134 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" PyModule_AddIntConstant(m, "IPPROTO_IP", IPPROTO_IP); PyModule_AddIntConstant(m, "IPPROTO_HOPOPTS", IPPROTO_HOPOPTS); PyModule_AddIntConstant(m, "IPPROTO_ICMP", IPPROTO_ICMP); PyModule_AddIntConstant(m, "IPPROTO_IGMP", IPPROTO_IGMP); # 7156 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" PyModule_AddIntConstant(m, "IPPROTO_IPV6", IPPROTO_IPV6); PyModule_AddIntConstant(m, "IPPROTO_IPIP", IPPROTO_IPIP); PyModule_AddIntConstant(m, "IPPROTO_TCP", IPPROTO_TCP); PyModule_AddIntConstant(m, "IPPROTO_EGP", IPPROTO_EGP); PyModule_AddIntConstant(m, "IPPROTO_PUP", IPPROTO_PUP); PyModule_AddIntConstant(m, "IPPROTO_UDP", IPPROTO_UDP); PyModule_AddIntConstant(m, "IPPROTO_IDP", IPPROTO_IDP); # 7187 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" PyModule_AddIntConstant(m, "IPPROTO_TP", IPPROTO_TP); PyModule_AddIntConstant(m, "IPPROTO_IPV6", IPPROTO_IPV6); PyModule_AddIntConstant(m, "IPPROTO_ROUTING", IPPROTO_ROUTING); PyModule_AddIntConstant(m, "IPPROTO_FRAGMENT", IPPROTO_FRAGMENT); PyModule_AddIntConstant(m, "IPPROTO_RSVP", IPPROTO_RSVP); PyModule_AddIntConstant(m, "IPPROTO_GRE", IPPROTO_GRE); PyModule_AddIntConstant(m, "IPPROTO_ESP", IPPROTO_ESP); PyModule_AddIntConstant(m, "IPPROTO_AH", IPPROTO_AH); PyModule_AddIntConstant(m, "IPPROTO_ICMPV6", IPPROTO_ICMPV6); PyModule_AddIntConstant(m, "IPPROTO_NONE", IPPROTO_NONE); PyModule_AddIntConstant(m, "IPPROTO_DSTOPTS", IPPROTO_DSTOPTS); # 7229 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" PyModule_AddIntConstant(m, "IPPROTO_PIM", IPPROTO_PIM); # 7238 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" PyModule_AddIntConstant(m, "IPPROTO_SCTP", IPPROTO_SCTP); PyModule_AddIntConstant(m, "IPPROTO_RAW", IPPROTO_RAW); # 7259 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" PyModule_AddIntConstant(m, "IPPORT_RESERVED", 1024); PyModule_AddIntConstant(m, "IPPORT_USERRESERVED", 5000); PyModule_AddIntConstant(m, "INADDR_ANY", ((in_addr_t) 0x00000000)); PyModule_AddIntConstant(m, "INADDR_BROADCAST", ((in_addr_t) 0xffffffff)); PyModule_AddIntConstant(m, "INADDR_LOOPBACK", ((in_addr_t) 0x7f000001)); PyModule_AddIntConstant(m, "INADDR_UNSPEC_GROUP", ((in_addr_t) 0xe0000000)); PyModule_AddIntConstant(m, "INADDR_ALLHOSTS_GROUP", ((in_addr_t) 0xe0000001)); PyModule_AddIntConstant(m, "INADDR_MAX_LOCAL_GROUP", ((in_addr_t) 0xe00000ff)); PyModule_AddIntConstant(m, "INADDR_NONE", ((in_addr_t) 0xffffffff)); PyModule_AddIntConstant(m, "IP_OPTIONS", 4); PyModule_AddIntConstant(m, "IP_HDRINCL", 3); PyModule_AddIntConstant(m, "IP_TOS", 1); PyModule_AddIntConstant(m, "IP_TTL", 2); PyModule_AddIntConstant(m, "IP_RECVOPTS", 6); PyModule_AddIntConstant(m, "IP_RECVRETOPTS", 7); PyModule_AddIntConstant(m, "IP_RETOPTS", 7); PyModule_AddIntConstant(m, "IP_MULTICAST_IF", 32); PyModule_AddIntConstant(m, "IP_MULTICAST_TTL", 33); PyModule_AddIntConstant(m, "IP_MULTICAST_LOOP", 34); PyModule_AddIntConstant(m, "IP_ADD_MEMBERSHIP", 35); PyModule_AddIntConstant(m, "IP_DROP_MEMBERSHIP", 36); PyModule_AddIntConstant(m, "IP_DEFAULT_MULTICAST_TTL", 1); PyModule_AddIntConstant(m, "IP_DEFAULT_MULTICAST_LOOP", 1); PyModule_AddIntConstant(m, "IP_MAX_MEMBERSHIPS", 20); PyModule_AddIntConstant(m, "IP_TRANSPARENT", 19); PyModule_AddIntConstant(m, "IPV6_JOIN_GROUP", 20); PyModule_AddIntConstant(m, "IPV6_LEAVE_GROUP", 21); PyModule_AddIntConstant(m, "IPV6_MULTICAST_HOPS", 18); PyModule_AddIntConstant(m, "IPV6_MULTICAST_IF", 17); PyModule_AddIntConstant(m, "IPV6_MULTICAST_LOOP", 19); PyModule_AddIntConstant(m, "IPV6_UNICAST_HOPS", 16); PyModule_AddIntConstant(m, "IPV6_V6ONLY", 26); PyModule_AddIntConstant(m, "IPV6_CHECKSUM", 7); PyModule_AddIntConstant(m, "IPV6_DSTOPTS", 59); PyModule_AddIntConstant(m, "IPV6_HOPLIMIT", 52); PyModule_AddIntConstant(m, "IPV6_HOPOPTS", 54); PyModule_AddIntConstant(m, "IPV6_NEXTHOP", 9); PyModule_AddIntConstant(m, "IPV6_PKTINFO", 50); PyModule_AddIntConstant(m, "IPV6_RECVDSTOPTS", 58); PyModule_AddIntConstant(m, "IPV6_RECVHOPLIMIT", 51); PyModule_AddIntConstant(m, "IPV6_RECVHOPOPTS", 53); PyModule_AddIntConstant(m, "IPV6_RECVPKTINFO", 49); PyModule_AddIntConstant(m, "IPV6_RECVRTHDR", 56); PyModule_AddIntConstant(m, "IPV6_RECVTCLASS", 66); PyModule_AddIntConstant(m, "IPV6_RTHDR", 57); PyModule_AddIntConstant(m, "IPV6_RTHDRDSTOPTS", 55); PyModule_AddIntConstant(m, "IPV6_RTHDR_TYPE_0", 0); PyModule_AddIntConstant(m, "IPV6_TCLASS", 67); PyModule_AddIntConstant(m, "TCP_NODELAY", 1); PyModule_AddIntConstant(m, "TCP_MAXSEG", 2); PyModule_AddIntConstant(m, "TCP_CORK", 3); PyModule_AddIntConstant(m, "TCP_KEEPIDLE", 4); PyModule_AddIntConstant(m, "TCP_KEEPINTVL", 5); PyModule_AddIntConstant(m, "TCP_KEEPCNT", 6); PyModule_AddIntConstant(m, "TCP_SYNCNT", 7); PyModule_AddIntConstant(m, "TCP_LINGER2", 8); PyModule_AddIntConstant(m, "TCP_DEFER_ACCEPT", 9); PyModule_AddIntConstant(m, "TCP_WINDOW_CLAMP", 10); PyModule_AddIntConstant(m, "TCP_INFO", 11); PyModule_AddIntConstant(m, "TCP_QUICKACK", 12); PyModule_AddIntConstant(m, "TCP_FASTOPEN", 23); PyModule_AddIntConstant(m, "TCP_CONGESTION", 13); PyModule_AddIntConstant(m, "TCP_USER_TIMEOUT", 18); # 7537 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" PyModule_AddIntConstant(m, "EAI_ADDRFAMILY", -9); PyModule_AddIntConstant(m, "EAI_AGAIN", -3); PyModule_AddIntConstant(m, "EAI_BADFLAGS", -1); PyModule_AddIntConstant(m, "EAI_FAIL", -4); PyModule_AddIntConstant(m, "EAI_FAMILY", -6); PyModule_AddIntConstant(m, "EAI_MEMORY", -10); PyModule_AddIntConstant(m, "EAI_NODATA", -5); PyModule_AddIntConstant(m, "EAI_NONAME", -2); PyModule_AddIntConstant(m, "EAI_OVERFLOW", -12); PyModule_AddIntConstant(m, "EAI_SERVICE", -8); PyModule_AddIntConstant(m, "EAI_SOCKTYPE", -7); PyModule_AddIntConstant(m, "EAI_SYSTEM", -11); # 7582 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" PyModule_AddIntConstant(m, "AI_PASSIVE", 0x0001); PyModule_AddIntConstant(m, "AI_CANONNAME", 0x0002); PyModule_AddIntConstant(m, "AI_NUMERICHOST", 0x0004); PyModule_AddIntConstant(m, "AI_NUMERICSERV", 0x0400); PyModule_AddIntConstant(m, "AI_ALL", 0x0010); PyModule_AddIntConstant(m, "AI_ADDRCONFIG", 0x0020); PyModule_AddIntConstant(m, "AI_V4MAPPED", 0x0008); PyModule_AddIntConstant(m, "NI_MAXHOST", 1025); PyModule_AddIntConstant(m, "NI_MAXSERV", 32); PyModule_AddIntConstant(m, "NI_NOFQDN", 4); PyModule_AddIntConstant(m, "NI_NUMERICHOST", 1); PyModule_AddIntConstant(m, "NI_NAMEREQD", 8); PyModule_AddIntConstant(m, "NI_NUMERICSERV", 2); PyModule_AddIntConstant(m, "NI_DGRAM", 16); PyModule_AddIntConstant(m, "SHUT_RD", SHUT_RD); PyModule_AddIntConstant(m, "SHUT_WR", SHUT_WR); PyModule_AddIntConstant(m, "SHUT_RDWR", SHUT_RDWR); # 7692 "/usr/local/src/python/Python-3.6.2/Modules/socketmodule.c" return m; }