Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- cpp -E -I./proto -I./libcperciva/alg -I./libcperciva/datastruct -I./lib/dnsthread -I./libcperciva/util -I./libcperciva/cpusupport -I./libcperciva/events -I./libcperciva/network -I./libcperciva/crypto ./proto/proto_crypt.c
- #line 48 "/usr/include/assert.h"
- extern void __assert(const char *, const char *, int);
- extern void __assert_c99(const char *, const char *, int, const char *);
- #line 45 "/usr/include/stdint.h"
- typedef signed char int8_t;
- typedef signed short int16_t;
- typedef signed int int32_t;
- #line 52
- typedef signed long long int64_t;
- #line 56
- typedef unsigned char uint8_t;
- typedef unsigned short uint16_t;
- typedef unsigned int uint32_t;
- #line 64
- typedef unsigned long long uint64_t;
- #line 74
- typedef int64_t intmax_t;
- typedef uint64_t uintmax_t;
- #line 86
- typedef signed long intptr_t;
- typedef unsigned long uintptr_t;
- #line 93
- typedef signed char int_least8_t;
- typedef signed short int_least16_t;
- typedef signed int int_least32_t;
- #line 100
- typedef signed long long int_least64_t;
- #line 104
- typedef unsigned char uint_least8_t;
- typedef unsigned short uint_least16_t;
- typedef unsigned int uint_least32_t;
- #line 111
- typedef unsigned long long uint_least64_t;
- #line 121
- typedef signed char int_fast8_t;
- typedef int16_t int_fast16_t;
- typedef int32_t int_fast32_t;
- typedef unsigned char uint_fast8_t;
- typedef uint16_t uint_fast16_t;
- typedef uint32_t uint_fast32_t;
- typedef int64_t int_fast64_t;
- typedef uint64_t uint_fast64_t;
- #line 76 "/usr/include/stdio.h"
- typedef unsigned long size_t;
- #line 82
- typedef signed long ssize_t;
- #line 93
- typedef long fpos_t;
- #line 97
- typedef long long fpos64_t;
- #line 163
- typedef struct {
- unsigned char *_ptr;
- int _cnt;
- unsigned char *_base;
- unsigned char *_bufendp;
- short _flag;
- short _file;
- int __stdioid;
- char *__newbase;
- void *_lock;
- } FILE;
- #line 179
- extern FILE _iob[16];
- #line 192
- extern size_t fread(void *, size_t, size_t, FILE *);
- extern size_t fwrite(const void *, size_t, size_t,FILE *);
- #line 62 "/usr/include/va_list.h"
- typedef char *va_list;
- #line 203 "/usr/include/stdio.h"
- extern int vscanf(const char *, va_list);
- extern int vfscanf(FILE *, const char *, va_list);
- extern int vsscanf(const char *, const char *, va_list);
- #line 271
- extern int __flsbuf(unsigned char, FILE *);
- extern int __filbuf(FILE *);
- extern int ferror(FILE *);
- extern int feof(FILE *);
- extern void clearerr(FILE *);
- extern int putchar(int);
- extern int getchar(void);
- extern int putc(int, FILE *);
- extern int getc(FILE *);
- extern int remove(const char *);
- extern int rename(const char *, const char *);
- extern int renameat(int, const char *, int, const char *);
- extern FILE *tmpfile(void);
- extern char *tmpnam(char *);
- extern int fclose(FILE *);
- extern int fflush(FILE *);
- extern FILE * fopen(const char *, const char *);
- extern FILE * freopen(const char *, const char *, FILE *);
- extern FILE * fmemopen(void *, size_t, const char *);
- extern FILE * open_memstream(char **, size_t *);
- extern void setbuf(FILE *, char *);
- extern int setvbuf(FILE *, char *, int, size_t);
- extern int fprintf(FILE *, const char *, ...);
- extern int fscanf(FILE *, const char *, ...);
- extern int dprintf(int, const char * , ...);
- extern int printf(const char *, ...);
- extern int scanf(const char *, ...);
- extern int sprintf(char *, const char *, ...);
- extern int snprintf(char *, size_t, const char *, ...);
- extern int sscanf(const char *, const char *, ...);
- #line 311
- extern int vfprintf(FILE *, const char *, va_list);
- extern int vprintf(const char *, va_list);
- extern int vsprintf(char *, const char *, va_list);
- extern int vsnprintf(char *, size_t, const char *, va_list);
- #line 318
- extern int vdprintf(int, const char *, va_list);
- #line 334
- extern int fgetc(FILE *);
- extern char * fgets(char *, int, FILE *);
- extern int fputc(int, FILE *);
- extern int fputs(const char *, FILE *);
- extern char *gets(char *);
- extern int puts(const char *);
- extern int ungetc(int, FILE *);
- extern int fgetpos(FILE *, fpos_t *);
- extern int fseek(FILE *, long int, int);
- extern int fsetpos(FILE *, const fpos_t *);
- extern long ftell(FILE *);
- extern void rewind(FILE *);
- extern void perror(const char *);
- #line 352
- extern int getc_unlocked(FILE *);
- extern int getchar_unlocked(void);
- extern int putc_unlocked(int, FILE *);
- extern int putchar_unlocked(int);
- extern ssize_t getdelim(char **, size_t *, int, FILE *);
- extern ssize_t getline(char **, size_t *, FILE *);
- #line 58 "/usr/include/sys/inttypes.h"
- typedef struct {
- intmax_t quot;
- intmax_t rem;
- } imaxdiv_t;
- #line 64
- extern intmax_t __strtollmax(const char * , char ** , int);
- static intmax_t
- strtoimax (const char * __nptr, char ** __endptr, int __base) {
- return __strtollmax (__nptr, __endptr, __base);
- }
- #line 89
- extern intmax_t imaxabs(intmax_t);
- extern imaxdiv_t imaxdiv (intmax_t, intmax_t);
- extern uintmax_t strtoumax(const char * , char ** , int);
- #line 98
- typedef unsigned short wchar_t;
- #line 101
- extern intmax_t wcstoimax(const wchar_t * , wchar_t ** , int );
- extern uintmax_t wcstoumax(const wchar_t * , wchar_t ** , int);
- #line 112
- typedef int32_t intfast_t;
- typedef uint32_t uintfast_t;
- #line 563
- typedef signed long __long32_t;
- typedef unsigned long __ulong32_t;
- #line 577
- typedef signed int __long64_t;
- typedef unsigned int __ulong64_t;
- #line 590
- typedef signed int int32long64_t;
- typedef unsigned int uint32long64_t;
- #line 603
- typedef signed long long32int64_t;
- typedef unsigned long ulong32int64_t;
- #line 618
- typedef signed char int8;
- typedef signed short int16;
- typedef signed int int32;
- #line 625
- typedef signed long long int64;
- #line 629
- typedef unsigned char u_int8;
- typedef unsigned char u_int8_t;
- typedef unsigned short u_int16;
- typedef unsigned short u_int16_t;
- typedef unsigned int u_int32;
- typedef unsigned int u_int32_t;
- #line 640
- typedef unsigned long long u_int64;
- typedef unsigned long long u_int64_t;
- #line 88 "/usr/include/sys/types.h"
- typedef long ptrdiff_t;
- #line 102
- typedef unsigned int wctype_t;
- #line 128
- typedef int time_t;
- #line 135
- typedef int clock_t;
- #line 151
- typedef unsigned char uchar_t;
- #line 154
- typedef unsigned short ushort_t;
- typedef unsigned int uint_t;
- typedef unsigned long ulong_t;
- #line 166
- typedef int level_t;
- typedef __long64_t daddr_t;
- typedef int daddr32_t;
- typedef int64_t daddr64_t;
- typedef char * caddr_t;
- typedef __ulong64_t ino_t;
- typedef uint_t ino32_t;
- typedef uint64_t ino64_t;
- typedef short cnt_t;
- #line 183
- typedef __ulong64_t dev_t;
- typedef uint_t dev32_t;
- typedef uint64_t dev64_t;
- typedef int chan_t;
- typedef int time32_t;
- typedef int pid32_t;
- typedef int tid32_t;
- typedef uint64_t pid64_t;
- typedef uint64_t tid64_t;
- typedef int64_t time64_t;
- #line 208
- typedef void * __ptr32;
- typedef char * __cptr32;
- #line 212
- typedef int soff_t;
- #line 219
- typedef long off_t;
- #line 224
- typedef long long off64_t;
- #line 227
- typedef long paddr_t;
- #line 232
- typedef int32long64_t key_t;
- #line 237
- typedef __long64_t timer_t;
- typedef int timer32_t;
- typedef int64_t timer64_t;
- typedef short nlink_t;
- #line 248
- typedef uint_t mode_t;
- #line 254
- typedef uint_t uid_t;
- typedef uint_t gid_t;
- typedef uint_t rid_t;
- #line 259
- typedef ushort_t authnum_t;
- typedef __ptr32 mid_t;
- #line 264
- typedef int32long64_t pid_t;
- #line 267
- typedef __long64_t tid_t;
- typedef char slab_t[12];
- typedef long mtyp_t;
- typedef int boolean_t;
- typedef int crid_t;
- #line 277
- typedef __long64_t blkcnt_t;
- #line 283
- typedef __long64_t blksize_t;
- #line 288
- typedef int blkcnt32_t;
- typedef int blksize32_t;
- typedef uint64_t blkcnt64_t;
- typedef uint64_t blksize64_t;
- #line 296
- typedef ulong_t fsblkcnt_t;
- typedef ulong_t fsfilcnt_t;
- #line 301
- typedef int wint_t;
- #line 305
- typedef uint32long64_t id_t;
- typedef unsigned int useconds_t;
- typedef signed int suseconds_t;
- #line 311
- typedef long long clockid_t;
- #line 320
- typedef struct sigset_t {
- #line 329
- unsigned int losigs;
- unsigned int hisigs;
- #line 336
- } sigset_t;
- typedef struct {
- unsigned int losigs, hisigs;
- #line 344
- } sigset32_t;
- #line 347
- typedef struct {
- uint64_t ss_set[4];
- } sigset64_t;
- #line 358
- typedef int signal_t;
- #line 363
- typedef struct fsid_t {
- #line 368
- unsigned int val[2];
- #line 373
- } fsid_t;
- #line 381
- typedef struct fsid64_t {
- uint64_t val[2];
- #line 387
- } fsid64_t;
- typedef void *pthread_attr_t;
- typedef void *pthread_condattr_t;
- typedef void *pthread_mutexattr_t;
- #line 394
- typedef void *pthread_rwlockattr_t;
- #line 398
- typedef void *pthread_barrierattr_t;
- #line 401
- typedef unsigned int pthread_t;
- typedef unsigned int pthread_key_t;
- typedef struct
- {
- #line 409
- int __mt_word[13];
- }
- pthread_mutex_t;
- typedef struct
- {
- #line 419
- int __cv_word[11];
- }
- pthread_cond_t;
- typedef struct
- {
- #line 429
- int __on_word[28];
- }
- pthread_once_t;
- #line 435
- typedef struct
- {
- #line 440
- int __sp_word[6];
- }
- pthread_spinlock_t;
- typedef struct
- {
- #line 450
- int __br_word[8];
- }
- pthread_barrier_t;
- #line 457
- typedef struct
- {
- #line 462
- int __rw_word[52];
- }
- pthread_rwlock_t;
- #line 469
- typedef void *trace_attr_t;
- typedef unsigned trace_event_id_t;
- typedef unsigned trace_id_t;
- typedef uint64_t trace_event_set_t;
- #line 481
- typedef struct _quad { int val[2]; } quad;
- #line 38 "/usr/include/sys/vm_types.h"
- typedef long vmid_t;
- typedef ulong_t vmhandle_t;
- #line 45
- typedef int vmid32_t;
- typedef uint_t vmhandle32_t;
- #line 54
- typedef long32int64_t kvmid_t;
- typedef ulong32int64_t kvmhandle_t;
- #line 65
- typedef long long vmid64_t;
- typedef long long rpn64_t;
- typedef long long cnt64_t;
- typedef long long psize_t;
- #line 76
- typedef int32long64_t vmidx_t;
- typedef uint32long64_t vmfkey_t;
- typedef uint32long64_t vmprkey_t;
- typedef int32long64_t vmkey_t;
- typedef int32long64_t vmhwkey_t;
- typedef int vmhkey_t;
- typedef int32long64_t vpn_t;
- typedef int32long64_t rpn_t;
- typedef unsigned long ptex_t;
- typedef unsigned long swhatx_t;
- typedef uint32long64_t esid_t;
- #line 95
- typedef ushort_t aptx_t;
- #line 98
- typedef int pdtx_t;
- typedef short psx_t;
- typedef ushort_t pshift_t;
- typedef ushort_t sshift_t;
- #line 106
- typedef uint_t vm_mpss_t;
- typedef int unidx_t;
- typedef int snidx_t;
- typedef int vmnodeidx_t;
- typedef int kvpn_t;
- typedef int krpn_t;
- typedef int32long64_t vmsize_t;
- typedef int32long64_t vmm_lock_t;
- typedef uint_t amef_t;
- typedef int vmcbpx_t;
- typedef uint32_t cnt32_t;
- typedef unsigned long ureg_t;
- #line 144
- typedef struct
- vmaddr_t
- {
- vmhandle_t srval;
- caddr_t offset;
- #line 156
- } vmaddr_t;
- #line 160
- typedef struct
- adspace_t
- {
- ulong32int64_t alloc;
- vmhandle_t srval[16];
- #line 172
- } adspace_t;
- #line 189
- typedef struct
- adspace32_t
- {
- uint_t alloc;
- uint_t srval[16];
- } adspace32_t;
- #line 202
- typedef enum _MR_ATTR_TYPE {
- BadAttr = 0,
- VirtAddr = 1
- } MR_ATTR_TYPE;
- typedef enum _MR_LABEL_TYPE {
- BadMem = 0,
- FreeMem = 1,
- IPLCB = 2,
- RMALLOC = 3,
- PM_HEAP = 4,
- RTAS_HEAP = 5,
- TCE_TABLE = 6,
- IO_SPACE = 7,
- HUGE_PAGE = 8
- } MR_LABEL_TYPE;
- #line 222
- typedef struct {
- unsigned long long mr_addr;
- unsigned long long mr_size;
- unsigned char mr_att;
- unsigned char mr_label;
- unsigned short mr_nodeid;
- unsigned short mr_flags;
- char reserved[2];
- } iplcb_map_reg_t;
- #line 263
- typedef vmhandle_t vmlpghandle_t;
- #line 48 "/usr/include/sys/m_types.h"
- typedef struct label_t
- {
- long __opaque[25];
- } label_t;
- typedef int32long64_t ext_t;
- #line 534 "/usr/include/sys/types.h"
- typedef unsigned long long ptr64_t;
- #line 544
- typedef unsigned long long __ptr64;
- typedef unsigned long long __cptr64;
- #line 554
- typedef ushort_t UniChar;
- typedef uint_t UTF32Char;
- #line 560
- typedef uchar_t uchar;
- typedef ushort_t ushort;
- typedef uint_t uint;
- typedef ulong_t ulong;
- typedef struct { int r[1]; } * physadr_t;
- typedef physadr_t physadr;
- #line 569
- typedef unsigned char u_char;
- typedef unsigned short u_short;
- typedef unsigned int u_int;
- typedef unsigned long u_long;
- typedef int swblk_t;
- #line 579
- struct sigset {
- #line 583
- unsigned int losigs;
- unsigned int hisigs;
- };
- #line 589
- struct fsid {
- unsigned int val[2];
- #line 595
- };
- #line 604
- struct fileid {
- uint_t fid_len;
- ino32_t fid_ino;
- uint_t fid_gen;
- char fid_x[20 - (sizeof(ino32_t) + 2) - sizeof(uint_t)];
- };
- #line 625
- struct fid {
- uint_t fid_len;
- char fid_data[20];
- };
- typedef struct fid fid_t;
- #line 632
- struct fhandle {
- char x[32];
- };
- typedef struct fhandle fhandle_t;
- struct filehandle {
- fsid_t fh_fsid;
- struct fileid fh_fid;
- };
- #line 649
- struct unique_id {
- __ulong32_t word1;
- __ulong32_t word2;
- __ulong32_t word3;
- __ulong32_t word4;
- };
- typedef struct unique_id unique_id_t;
- #line 681
- typedef long long offset_t;
- #line 691
- typedef long long ssize64_t;
- #line 697
- typedef long long longlong_t;
- typedef unsigned long long u_longlong_t;
- #line 701
- typedef unsigned int class_id_t;
- #line 705
- typedef uint_t liobn_t;
- typedef unsigned long long unit_addr_t;
- #line 721
- typedef uint8_t eye_catch1b_t;
- typedef uint16_t eye_catch2b_t;
- typedef uint32_t eye_catch4b_t;
- typedef uint64_t eye_catch8b_t;
- #line 733
- typedef unsigned long eye_catch_t;
- #line 738
- typedef unsigned long long size64_t;
- #line 480 "/usr/include/stdio.h"
- extern int fileno(FILE *);
- extern FILE *fdopen(int,const char *);
- extern char *ctermid(char *);
- extern FILE *popen(const char *, const char *);
- extern int pclose(FILE *);
- #line 487
- extern void flockfile(FILE *);
- extern void funlockfile(FILE *);
- extern int fseeko(FILE *, off_t, int);
- extern off_t ftello(FILE *);
- extern int ftrylockfile(FILE *);
- extern void funlockfile(FILE *);
- #line 508
- extern char *optarg;
- extern int opterr;
- extern int optind;
- extern int optopt;
- #line 527
- extern int getw(FILE *);
- extern int getopt(int, char * const [], const char*);
- extern char *cuserid(char *);
- extern int putw(int, FILE *);
- extern char *tempnam(const char*, const char*);
- #line 234 "/usr/include/float.h"
- extern unsigned int SINFINITY;
- extern unsigned int _DBLINF[2];
- extern unsigned int SQNAN;
- extern unsigned int DQNAN[2];
- extern unsigned int SSNAN;
- extern unsigned int DSNAN[2];
- #line 265
- typedef unsigned short fprnd_t;
- #line 274
- fprnd_t fp_read_rnd(void);
- fprnd_t fp_swap_rnd(fprnd_t rnd);
- #line 546 "/usr/include/stdio.h"
- extern int fgetpos64(FILE *, fpos64_t *);
- extern FILE *fopen64(const char *, const char *);
- extern FILE *freopen64(const char *, const char *, FILE *);
- extern int fseeko64(FILE *, off64_t, int);
- extern int fsetpos64(FILE *, const fpos64_t *);
- extern off64_t ftello64(FILE *);
- #line 558
- extern void setbuffer(FILE *, char *, size_t);
- extern void setlinebuf(FILE *);
- #line 108 "/usr/include/stdlib.h"
- typedef struct div_t {
- int quot;
- int rem;
- } div_t;
- typedef struct ldiv_t {
- long int quot;
- long int rem;
- } ldiv_t;
- #line 123
- extern size_t __getmbcurmax (void);
- extern int __getmaxdispwidth (void);
- #line 134
- extern double strtod(const char * , char ** ); extern long int strtol(const char * , char ** ,
- int);
- extern unsigned long int strtoul(const char * , char ** , int);
- #line 147
- extern void _Exit(int);
- extern float strtof(const char * , char ** );
- #line 156
- typedef struct lldiv_t {
- long long int quot;
- long long int rem ;
- } lldiv_t;
- #line 169
- extern long long int atoll(const char *);
- extern long long int llabs( long long int );
- extern lldiv_t lldiv( long long int, long long int );
- extern long long int strtoll(
- const char * ,
- char ** ,
- int );
- extern unsigned long long int strtoull(
- const char * ,
- char ** ,
- int );
- #line 190
- static long double
- strtold(const char * __a, char ** __b) {
- return ((long double)strtod (__a, __b));
- }
- #line 209
- extern int mblen(const char *, size_t);
- extern size_t mbstowcs(wchar_t * , const char * , size_t);
- extern int mbtowc(wchar_t * , const char * , size_t);
- extern size_t wcstombs(char * , const wchar_t * , size_t);
- extern int wctomb(char *, const wchar_t);
- #line 265
- extern double atof(const char *);
- extern int atoi(const char *);
- extern long int atol(const char *);
- extern int rand(void);
- extern void srand(unsigned int);
- extern void *calloc(size_t, size_t);
- extern void free(void *);
- extern void *malloc(size_t);
- extern void *realloc(void *, size_t);
- extern void abort(void);
- extern int atexit(void (*)(void));
- extern void exit(int);
- extern char *getenv(const char *);
- extern int system(const char *);
- extern void *bsearch(const void *, const void *, size_t, size_t, int(*)(const void *,const void *));
- extern void qsort(void *, size_t, size_t, int(*)(const void *,const void *));
- #line 291
- extern int abs(int);
- extern struct div_t div(int, int);
- extern long int labs(long int);
- extern struct ldiv_t ldiv(long int, long int);
- #line 315
- extern int posix_memalign(void **,size_t,size_t);
- #line 93 "/usr/include/sys/time.h"
- struct timeval {
- time_t tv_sec;
- suseconds_t tv_usec;
- #line 100
- };
- #line 105
- struct timeval32 {
- int32_t tv_sec;
- int32_t tv_usec;
- };
- #line 115
- struct timeval64 {
- int64_t tv_sec;
- int32_t tv_usec;
- #line 121
- };
- #line 128
- struct timezone {
- int tz_minuteswest;
- int tz_dsttime;
- };
- #line 145
- struct itimerval {
- struct timeval it_interval;
- struct timeval it_value;
- };
- #line 159
- extern int getitimer(int, struct itimerval *);
- extern int setitimer(int, const struct itimerval *, struct itimerval *);
- extern int gettimeofday(struct timeval *, void *);
- extern int settimeofday(struct timeval *, struct timezone *);
- extern int utimes(const char *, const struct timeval *);
- #line 183
- typedef struct
- fd_set
- {
- long fds_bits[(65534/(sizeof(long) * 8)+1)];
- } fd_set;
- #line 195
- struct timespec {
- time_t tv_sec;
- long tv_nsec;
- };
- #line 204
- extern int pselect(int, void *, void *, void *, const struct timespec *, const sigset_t *);
- #line 224
- extern int __fd_select(int, fd_set *, fd_set *,
- fd_set *, struct timeval *);
- static int select(int __fds,
- fd_set * __readlist,
- fd_set * __writelist,
- fd_set * __exceptlist,
- struct timeval * __timeout)
- {
- return __fd_select(__fds, __readlist, __writelist,
- __exceptlist, __timeout);
- }
- #line 363
- struct timestruc_t {
- time_t tv_sec;
- suseconds_t tv_nsec;
- };
- #line 372
- struct timestruc32_t {
- int32_t tv_sec;
- int32_t tv_nsec;
- };
- #line 380
- struct timestruc64_t {
- int64_t tv_sec;
- int32_t tv_nsec;
- };
- #line 395
- struct itimerstruc_t {
- struct timestruc_t it_interval;
- struct timestruc_t it_value;
- };
- #line 404
- struct itimerstruc32_t {
- struct timestruc32_t it_interval;
- struct timestruc32_t it_value;
- };
- #line 412
- struct itimerstruc64_t {
- struct timestruc64_t it_interval;
- struct timestruc64_t it_value;
- };
- #line 427
- typedef struct timebasestruct {
- int flag;
- unsigned int tb_high;
- unsigned int tb_low;
- } timebasestruct_t;
- int read_real_time(timebasestruct_t *, size_t);
- int read_wall_time(timebasestruct_t *, size_t);
- int time_base_to_time(timebasestruct_t *, size_t);
- #line 85 "/usr/include/sys/resource.h"
- typedef unsigned long rlim_t;
- struct rlimit {
- rlim_t rlim_cur;
- rlim_t rlim_max;
- };
- #line 96
- typedef unsigned int rlim32_t;
- struct rlimit32 {
- rlim32_t rlim_cur;
- rlim32_t rlim_max;
- };
- #line 110
- typedef unsigned long long rlim64_t;
- struct rlimit64 {
- rlim64_t rlim_cur;
- rlim64_t rlim_max;
- };
- #line 155
- struct rusage
- {
- struct timeval ru_utime;
- struct timeval ru_stime;
- long ru_maxrss;
- long ru_ixrss;
- long ru_idrss;
- long ru_isrss;
- long ru_minflt;
- long ru_majflt;
- long ru_nswap;
- long ru_inblock;
- long ru_oublock;
- long ru_msgsnd;
- long ru_msgrcv;
- long ru_nsignals;
- long ru_nvcsw;
- long ru_nivcsw;
- };
- #line 180
- struct rusage32
- {
- struct timeval32 ru_utime;
- struct timeval32 ru_stime;
- signed int ru_maxrss;
- signed int ru_ixrss;
- signed int ru_idrss;
- signed int ru_isrss;
- signed int ru_minflt;
- signed int ru_majflt;
- signed int ru_nswap;
- signed int ru_inblock;
- signed int ru_oublock;
- signed int ru_msgsnd;
- signed int ru_msgrcv;
- signed int ru_nsignals;
- signed int ru_nvcsw;
- signed int ru_nivcsw;
- };
- #line 208
- struct rusage64
- {
- #line 214
- struct timeval ru_utime;
- struct timeval ru_stime;
- long long ru_maxrss;
- long long ru_ixrss;
- long long ru_idrss;
- long long ru_isrss;
- long long ru_minflt;
- long long ru_majflt;
- long long ru_nswap;
- long long ru_inblock;
- long long ru_oublock;
- long long ru_msgsnd;
- long long ru_msgrcv;
- long long ru_nsignals;
- long long ru_nvcsw;
- long long ru_nivcsw;
- };
- #line 237
- struct trusage64
- {
- struct timeval64 ru_utime;
- struct timeval64 ru_stime;
- longlong_t ru_maxrss;
- longlong_t ru_ixrss;
- longlong_t ru_idrss;
- longlong_t ru_isrss;
- longlong_t ru_minflt;
- longlong_t ru_majflt;
- longlong_t ru_nswap;
- longlong_t ru_inblock;
- longlong_t ru_oublock;
- longlong_t ru_msgsnd;
- longlong_t ru_msgrcv;
- longlong_t ru_nsignals;
- longlong_t ru_nvcsw;
- longlong_t ru_nivcsw;
- };
- #line 261
- struct trusage32
- {
- struct timeval32 ru_utime;
- struct timeval32 ru_stime;
- signed int ru_maxrss;
- signed int ru_ixrss;
- signed int ru_idrss;
- signed int ru_isrss;
- signed int ru_minflt;
- signed int ru_majflt;
- signed int ru_nswap;
- signed int ru_inblock;
- signed int ru_oublock;
- signed int ru_msgsnd;
- signed int ru_msgrcv;
- signed int ru_nsignals;
- signed int ru_nvcsw;
- signed int ru_nivcsw;
- };
- #line 350
- extern int getpriority(int, id_t);
- extern int setpriority(int, id_t, int);
- extern int getrlimit(int, struct rlimit *);
- extern int setrlimit(int, const struct rlimit *);
- #line 356
- extern int getrlimit64(int, struct rlimit64 *);
- extern int setrlimit64(int, const struct rlimit64 *);
- #line 365
- extern int getrusage(int, struct rusage *);
- extern int getrusage64(int, struct rusage64 *);
- #line 103 "/usr/include/sys/signal.h"
- extern void (*signal(int, void (*)(int)))(int);
- #line 111
- extern int raise(int);
- #line 114
- typedef volatile int sig_atomic_t;
- #line 248
- union sigval
- {
- #line 253
- void * sival_ptr;
- int sival_int;
- };
- #line 269
- typedef struct {
- int si_signo;
- int si_errno;
- int si_code;
- #line 283
- pid_t si_pid;
- #line 286
- uid_t si_uid;
- #line 310
- void *si_addr;
- int si_status;
- #line 314
- long si_band;
- #line 317
- union sigval si_value;
- #line 322
- int __si_flags;
- #line 326
- int __pad[6];
- #line 330
- } siginfo_t;
- #line 338
- struct sigaction {
- union {
- #line 346
- void (*__su_handler)(int);
- #line 350
- void (*__su_sigaction) (int, siginfo_t *, void *);
- #line 354
- } sa_union;
- sigset_t sa_mask;
- int sa_flags;
- };
- #line 49 "/usr/include/sys/mstsave.h"
- struct
- mstsave
- #line 55
- {
- struct mstsave *prev;
- label_t *kjmpbuf;
- char *stackfix;
- char intpri;
- char backt;
- char rsvd[2];
- pid_t curid;
- int excp_type;
- ulong_t iar;
- ulong_t msr;
- ulong_t cr;
- ulong_t lr;
- ulong_t ctr;
- ulong_t xer;
- ulong_t mq;
- ulong_t tid;
- ulong_t fpscr;
- char fpeu;
- char fpinfo;
- uchar fpscr24_31;
- char pad[1];
- ulong_t except[5];
- char pad1[4];
- ulong_t o_iar;
- ulong_t o_toc;
- ulong_t o_arg1;
- ulong_t excbranch;
- #line 88
- ulong_t fpscrx;
- ulong_t o_vaddr;
- ulong_t cachealign[7];
- adspace_t as;
- ulong_t gpr[32];
- double fpr[32];
- #line 133
- };
- #line 140
- struct mstsave32
- {
- __ptr32 prev;
- __ptr32 kjmpbuf;
- __cptr32 stackfix;
- char intpri;
- char backt;
- char rsvd[2];
- int curid;
- int excp_type;
- uint_t iar;
- uint_t msr;
- uint_t cr;
- uint_t lr;
- uint_t ctr;
- uint_t xer;
- uint_t mq;
- uint_t tid;
- uint_t fpscr;
- char fpeu;
- char fpinfo;
- uchar_t fpscr24_31;
- char pad[1];
- uint_t except[5];
- char pad1[4];
- uint_t o_iar;
- uint_t o_toc;
- uint_t o_arg1;
- uint_t excbranch;
- #line 173
- uint_t fpscrx;
- uint_t o_vaddr;
- uint_t cachealign[7];
- adspace32_t as;
- uint_t gpr[32];
- double fpr[32];
- };
- #line 236
- extern char __pmap_stack[];
- #line 66 "/usr/include/sys/context.h"
- typedef struct {
- #line 71
- void *ss_sp;
- size_t ss_size;
- #line 75
- int ss_flags;
- int __pad[4];
- } stack_t;
- #line 87
- typedef struct {
- unsigned long long ss_sp;
- unsigned long long ss_size;
- int ss_flags;
- int __pad[4];
- } stack64_t;
- #line 98
- typedef struct {
- __ptr32 ss_sp;
- uint_t ss_size;
- int ss_flags;
- int __pad[4];
- } stack32_t;
- #line 135
- struct __context64 {
- unsigned long long gpr[32];
- unsigned long long msr;
- unsigned long long iar;
- unsigned long long lr;
- unsigned long long ctr;
- unsigned int cr;
- unsigned int xer;
- unsigned int fpscr;
- unsigned int fpscrx;
- unsigned long long except[1];
- double fpr[32];
- char fpeu;
- char fpinfo;
- char fpscr24_31;
- char pad[1];
- int excp_type;
- };
- #line 188
- struct sigcontext64 {
- int sc_onstack;
- sigset64_t sc_mask;
- int sc_uerror;
- struct __context64 sc_context;
- };
- #line 268
- typedef struct {
- unsigned int __v[4];
- } __vmxreg_t;
- typedef struct __vmx_context {
- __vmxreg_t __vr[32];
- unsigned int __pad1[3];
- unsigned int __vscr;
- unsigned int __vrsave;
- unsigned int __pad2[3];
- } __vmx_context_t;
- #line 319
- typedef struct __vsx_context {
- unsigned long long __vsr_dw1[32];
- #line 329
- } __vsx_context_t;
- #line 361
- typedef struct __extctx {
- unsigned int __flags;
- unsigned int __rsvd1[3];
- __vmx_context_t __vmx;
- unsigned int __ukeys[2];
- #line 369
- __vsx_context_t __vsx;
- char __reserved[(4096 - sizeof(__vmx_context_t) - (7 * sizeof(int)) - (sizeof(__vsx_context_t)))];
- #line 373
- int __extctx_magic;
- #line 377
- } __extctx_t;
- #line 384
- struct __jmpbuf {
- struct mstsave jmp_context;
- #line 390
- };
- #line 417
- struct __jmpbuf32 {
- struct mstsave32 jmp_context;
- };
- #line 427
- struct __sigcontext {
- int sc_onstack;
- #line 433
- sigset_t sc_mask;
- int sc_uerror;
- struct __jmpbuf sc_jmpbuf;
- #line 447
- };
- #line 456
- typedef struct __jmpbuf mcontext_t;
- typedef struct ucontext_t {
- int __sc_onstack;
- #line 464
- sigset_t uc_sigmask;
- #line 467
- int __sc_uerror;
- mcontext_t uc_mcontext;
- #line 472
- struct ucontext_t *uc_link;
- #line 475
- stack_t uc_stack;
- #line 479
- __extctx_t *__extctx;
- #line 482
- int __extctx_magic;
- #line 488
- int __pad[2];
- #line 496
- } ucontext_t;
- #line 500
- typedef struct __jmpbuf32 mcontext32_t;
- typedef struct ucontext32_t {
- int __sc_onstack;
- sigset32_t uc_sigmask;
- int __sc_uerror;
- mcontext32_t uc_mcontext;
- __ptr32 uc_link;
- stack32_t uc_stack;
- __ptr32 __extctx;
- int __extctx_magic;
- #line 516
- int __pad[2];
- #line 523
- } ucontext32_t;
- #line 384 "/usr/include/sys/signal.h"
- struct sigstack {
- void *ss_sp;
- int ss_onstack;
- };
- #line 478
- extern int sigmask(int);
- #line 664
- struct sigevent {
- union sigval sigev_value;
- int sigev_signo;
- int sigev_notify;
- #line 672
- void (*sigev_notify_function)(union sigval);
- pthread_attr_t * sigev_notify_attributes;
- };
- #line 697
- struct osigevent {
- #line 701
- void *sevt_value;
- signal_t sevt_signo;
- };
- #line 1006
- struct sigvec {
- #line 1018
- union {
- #line 1025
- void (*sv_handler)(int);
- #line 1029
- void (*sv_sigaction) (int, siginfo_t *, void *);
- } sv_union;
- int sv_mask;
- int sv_flags;
- };
- #line 1093
- extern int sigblock(int);
- extern int siglocalmask(int, const sigset_t *);
- extern int sigvec(int, struct sigvec *, struct sigvec *);
- #line 1103
- extern int siggetmask(void);
- extern int sigsetmask(int);
- #line 1148
- extern int kill(pid_t, int);
- extern int sigprocmask(int, const sigset_t *, sigset_t *);
- extern int sigsuspend(const sigset_t *);
- #line 1156
- extern int sigwait(const sigset_t *, int *);
- #line 1160
- extern int sigaction(int, const struct sigaction *, struct sigaction *);
- extern int sigemptyset(sigset_t *);
- extern int sigfillset(sigset_t *);
- extern int sigaddset(sigset_t *, int);
- extern int sigdelset(sigset_t *, int);
- extern int sigismember(const sigset_t *, int);
- extern int sigpending(sigset_t *);
- #line 1171
- extern void (*bsd_signal (int, void (*)(int)))(int);
- extern int killpg(pid_t, int);
- extern int sighold(int);
- extern int sigignore(int);
- extern int siginterrupt(int, int);
- extern int sigpause(int);
- extern int sigrelse(int);
- extern void (*sigset(int, void(*)(int)))(int);
- extern int sigaltstack(const stack_t *, stack_t *);
- extern int sigstack(struct sigstack *, struct sigstack *);
- #line 1188
- extern int pthread_kill(pthread_t, int);
- extern int pthread_sigmask(int, const sigset_t *, sigset_t *);
- extern int sigqueue(pid_t, int, const union sigval);
- struct timespec;
- extern int sigtimedwait(const sigset_t *, siginfo_t *, const struct timespec *);
- extern int sigwaitinfo(const sigset_t *, siginfo_t *);
- #line 144 "/usr/include/sys/wait.h"
- typedef enum {P_ALL, P_PID, P_PGID} idtype_t;
- #line 162
- extern pid_t wait(int *);
- extern pid_t waitpid(pid_t, int *, int);
- #line 178
- extern int waitid(idtype_t, id_t, siginfo_t *, int);
- #line 183
- extern pid_t wait3(int *, int, struct rusage *);
- #line 188
- extern pid_t kwaitpid(int *, pid_t, int, struct rusage *, siginfo_t *);
- extern pid_t kwaitpid64(int *, pid_t, int, struct rusage64 *, siginfo_t *);
- #line 194
- extern pid_t wait364(int *, int, struct rusage64 *);
- #line 208
- extern pid_t wait4(pid_t, int *, int, struct rusage *);
- #line 414 "/usr/include/stdlib.h"
- extern double drand48(void);
- extern double erand48(unsigned short[]);
- extern long jrand48(unsigned short[]);
- extern void lcong48(unsigned short int *);
- extern long lrand48(void);
- extern long mrand48(void);
- extern long nrand48(unsigned short[]);
- extern unsigned short *seed48(unsigned short[]);
- extern void setkey(const char *);
- extern void srand48(long);
- extern int putenv(char *);
- #line 443
- extern int rand_r(unsigned int *);
- #line 467
- extern long a64l(const char *);
- extern char *ecvt(double, int, int *, int *);
- extern char *fcvt(double, int, int *, int *);
- extern char *gcvt(double, int, char *);
- extern int getsubopt(char **, char *const *, char **);
- extern int grantpt(int);
- extern char *initstate(unsigned, char *, size_t);
- extern char *l64a(long);
- extern char *mktemp(char *);
- extern int mkstemp(char *);
- extern char *mkdtemp(char *);
- #line 484
- extern int mkstemp64(char *);
- extern char *ptsname(int);
- extern long random(void);
- extern char *realpath(const char *, char *);
- extern char *setstate(const char *);
- extern void srandom(unsigned);
- extern int unlockpt(int);
- #line 507
- extern int posix_openpt (int);
- extern int setenv (const char *, const char *, int);
- extern int unsetenv (const char *);
- #line 41 "/usr/include/sys/localedef.h"
- struct __LC_locale;
- struct _LC_locale_objhdl;
- #line 52 "/usr/include/sys/lc_core.h"
- typedef struct {
- unsigned short
- __type_id,
- __magic;
- unsigned long
- __version;
- size_t __size;
- } _LC_object_t;
- #line 102
- typedef struct {
- _LC_object_t __hdr;
- #line 108
- int __catgets;
- int __catclose;
- #line 112
- int __compress;
- int __decompress;
- int __start_compress;
- int __end_compress;
- #line 118
- int __init;
- void *__data;
- } _LC_core_car_t;
- typedef struct {
- _LC_object_t __hdr;
- #line 127
- int __nl_langinfo;
- #line 130
- int __mbtowc;
- int __mbstowcs;
- int __wctomb;
- int __wcstombs;
- #line 136
- int __mblen;
- #line 139
- int __wcswidth;
- int __wcwidth;
- #line 143
- int __mbtopc;
- int __mbstopcs;
- int __pctomb;
- int __pcstombs;
- #line 149
- int __csid;
- int __wcsid;
- #line 153
- int __init;
- void *__data;
- } _LC_core_charmap_t;
- #line 158
- typedef struct {
- _LC_object_t __hdr;
- #line 163
- int __towupper;
- int __towlower;
- #line 167
- int __get_wctype;
- int __is_wctype;
- #line 171
- int __init;
- void *__data;
- } _LC_core_ctype_t;
- typedef struct {
- _LC_object_t __hdr;
- #line 180
- int __strcoll;
- int __strxfrm;
- #line 184
- int __wcscoll;
- int __wcsxfrm;
- #line 188
- int __fnmatch;
- #line 191
- int __regcomp;
- int __regerror;
- int __regexec;
- int __regfree;
- #line 197
- int __init;
- void *__data;
- } _LC_core_collate_t;
- #line 202
- typedef struct {
- _LC_object_t __hdr;
- #line 207
- int __nl_langinfo;
- #line 210
- int __strftime;
- int __strptime;
- #line 214
- int __wcsftime;
- #line 217
- int __init;
- void *__data;
- } _LC_core_time_t;
- #line 222
- typedef struct {
- _LC_object_t __hdr;
- #line 227
- int __nl_langinfo;
- #line 230
- int __strfmon;
- #line 233
- int __init;
- void *__data;
- } _LC_core_monetary_t;
- #line 238
- typedef struct {
- _LC_object_t __hdr;
- #line 243
- int __nl_langinfo;
- #line 246
- int __init;
- void *__data;
- } _LC_core_numeric_t;
- #line 251
- typedef struct {
- _LC_object_t __hdr;
- #line 256
- int __nl_langinfo;
- #line 259
- int __rpmatch;
- #line 262
- int __init;
- void *__data;
- } _LC_core_resp_t;
- typedef struct {
- _LC_object_t __hdr;
- #line 271
- int __nl_langinfo;
- int __localeconv;
- #line 275
- int __init;
- void *__data;
- } _LC_core_locale_t;
- #line 54 "/usr/include/locale.h"
- struct lconv {
- char *decimal_point;
- char *thousands_sep;
- char *grouping;
- char *int_curr_symbol;
- char *currency_symbol;
- char *mon_decimal_point;
- char *mon_thousands_sep;
- char *mon_grouping;
- char *positive_sign;
- char *negative_sign;
- char int_frac_digits;
- char frac_digits;
- char p_cs_precedes;
- char p_sep_by_space;
- char n_cs_precedes;
- char n_sep_by_space;
- char p_sign_posn;
- char n_sign_posn;
- #line 75
- char *left_parenthesis;
- char *right_parenthesis;
- #line 83
- char int_p_cs_precedes;
- char int_p_sep_by_space;
- char int_n_cs_precedes;
- char int_n_sep_by_space;
- char int_p_sign_posn;
- char int_n_sign_posn;
- #line 97
- } ;
- #line 120
- typedef void* locale_t;
- #line 136
- struct lconv *localeconv(void);
- char *setlocale(int, const char *);
- locale_t newlocale(int, const char *, locale_t);
- locale_t duplocale(locale_t);
- locale_t uselocale(locale_t);
- void freelocale(locale_t);
- #line 150
- typedef struct lconv lconv;
- #line 39 "/usr/include/sys/localedef31.h"
- typedef struct coldesc {
- short cd_stroff;
- short cd_repoff;
- short cd_cval;
- short cd_cuniq;
- } coldesc_t;
- #line 49
- typedef struct collation_table {
- short lc_version;
- short lc_length;
- char *lc_locale_name;
- int len_collate;
- short *lc_collate;
- int len_coluniq;
- short *lc_coluniq;
- int len_coldesc;
- coldesc_t *lc_coldesc;
- int len_strings;
- wchar_t *lc_strings;
- int high_cvalue;
- } col_t;
- #line 70
- typedef struct char_classification_table {
- short lc_version;
- short lc_length;
- short lc_code_type;
- short mb_cur_max;
- short mb_cur_min;
- short lc_dsp_width;
- char *lc_locale_name;
- int len_caseconv;
- wchar_t *lc_caseconv;
- int len_ctype;
- unsigned short *lc_ctype;
- } ctype_t;
- #line 88
- typedef struct lc_monetary_table {
- short lc_version;
- short lc_length;
- char *lc_locale_name;
- char *int_curr_symbol;
- char *currency_symbol;
- char *mon_decimal_point;
- char *mon_thousands_sep;
- char *mon_grouping;
- char *positive_sign;
- char *negative_sign;
- char int_frac_digits;
- char frac_digits;
- char p_cs_precedes;
- char p_sep_by_space;
- char n_cs_precedes;
- char n_sep_by_space;
- char p_sign_posn;
- char n_sign_posn;
- } mon_t;
- #line 113
- typedef struct numeric_table {
- short lc_version;
- short lc_length;
- char *lc_locale_name;
- char *decimal_point;
- char *thousands_sep;
- char *grouping;
- } num_t;
- #line 126
- typedef struct lc_messages_table {
- short lc_version;
- short lc_length;
- char *lc_locale_name;
- char *messages;
- char *yes_string;
- char *no_string;
- } msg_t;
- #line 139
- typedef struct lc_time_table {
- short lc_version;
- short lc_length;
- char *lc_locale_name;
- char *t_fmt;
- char *d_fmt;
- char *nlldate;
- char *d_t_fmt;
- char *abday;
- char *day;
- char *abmon;
- char *mon;
- #line 155
- char *misc;
- char *tstrs;
- char *tunits;
- #line 161
- char *year;
- char *am_pm;
- } tim_t;
- #line 170
- typedef struct wchar_mapping_table {
- short lc_version;
- short lc_length;
- char *lc_identifier;
- } map_t;
- #line 183
- typedef struct localeinfo_table {
- char lc_mag0, lc_mag1;
- short lc_version;
- short lc_code_type;
- short lc_length;
- col_t *lc_coltbl;
- ctype_t *lc_chrtbl;
- mon_t *lc_montbl;
- num_t *lc_numtbl;
- tim_t *lc_timtbl;
- msg_t *lc_msgtbl;
- map_t *lc_maptbl;
- } loc_t;
- #line 68 "/usr/include/sys/localedef.h"
- typedef struct {
- _LC_core_charmap_t core;
- char *cm_csname;
- size_t cm_mb_cur_max;
- size_t cm_mb_cur_min;
- unsigned char
- cm_max_disp_width;
- #line 81
- unsigned
- char *cm_cstab;
- struct __LC_locale
- *loc_rec;
- void *__meth_ptr;
- void *__data_ptr;
- } _LC_charmap_t;
- typedef struct _LC_charmap_objhdl _LC_charmap_objhdl_t;
- struct _LC_charmap_objhdl {
- _LC_charmap_t *obj;
- #line 98
- void *(**meth)();
- #line 101
- struct _LC_locale_objhdl *loc_hdl;
- #line 104
- };
- #line 112
- typedef struct {
- _LC_core_monetary_t core;
- char *int_curr_symbol;
- char *currency_symbol;
- char *mon_decimal_point;
- char *mon_thousands_sep;
- char *mon_grouping;
- char *positive_sign;
- char *negative_sign;
- signed char int_frac_digits;
- signed char frac_digits;
- signed char p_cs_precedes;
- signed char p_sep_by_space;
- signed char n_cs_precedes;
- signed char n_sep_by_space;
- signed char p_sign_posn;
- signed char n_sign_posn;
- char *debit_sign;
- char *credit_sign;
- char *left_parenthesis;
- char *right_parenthesis;
- struct __LC_locale
- *loc_rec;
- void *__meth_ptr;
- void *__data_ptr;
- #line 143
- signed char int_p_cs_precedes;
- signed char int_p_sep_by_space;
- signed char int_n_cs_precedes;
- signed char int_n_sep_by_space;
- signed char int_p_sign_posn;
- signed char int_n_sign_posn;
- #line 158
- } _LC_monetary_t;
- typedef struct _LC_monetary_objhdl _LC_monetary_objhdl_t;
- struct _LC_monetary_objhdl {
- _LC_monetary_t *obj;
- #line 165
- void *(**meth)();
- #line 168
- struct _LC_locale_objhdl *loc_hdl;
- #line 171
- };
- #line 178
- typedef struct {
- _LC_core_numeric_t core;
- char *decimal_point;
- char *thousands_sep;
- char *grouping;
- struct __LC_locale
- *loc_rec;
- void *__meth_ptr;
- void *__data_ptr;
- } _LC_numeric_t;
- typedef struct _LC_numeric_objhdl _LC_numeric_objhdl_t;
- struct _LC_numeric_objhdl {
- _LC_numeric_t *obj;
- #line 199
- void *(**meth)();
- #line 202
- struct _LC_locale_objhdl *loc_hdl;
- #line 205
- };
- #line 213
- typedef struct {
- _LC_core_resp_t core;
- char *yesexpr;
- char *noexpr;
- char *yesstr;
- char *nostr;
- struct __LC_locale
- *loc_rec;
- void *__meth_ptr;
- void *__data_ptr;
- } _LC_resp_t;
- typedef struct _LC_resp_objhdl _LC_resp_objhdl_t;
- struct _LC_resp_objhdl {
- _LC_resp_t *obj;
- #line 235
- void *(**meth)();
- #line 238
- struct _LC_locale_objhdl *loc_hdl;
- #line 241
- };
- #line 249
- typedef struct {
- _LC_core_time_t core;
- char *d_fmt;
- char *t_fmt;
- char *d_t_fmt;
- char *t_fmt_ampm;
- char *abday[7];
- char *day[7];
- char *abmon[12];
- char *mon[12];
- char *am_pm[2];
- char *era;
- char *era_year;
- char *era_d_fmt;
- char *alt_digits;
- char *era_d_t_fmt;
- char *era_t_fmt;
- struct __LC_locale
- *loc_rec;
- void *__meth_ptr;
- void *__data_ptr;
- } _LC_time_t;
- typedef struct _LC_time_objhdl _LC_time_objhdl_t;
- struct _LC_time_objhdl {
- _LC_time_t *obj;
- #line 282
- void *(**meth)();
- #line 285
- struct _LC_locale_objhdl *loc_hdl;
- #line 288
- };
- #line 295
- typedef struct {
- unsigned
- short n[4+1];
- } _LC_weight_t;
- #line 305
- typedef struct {
- char *ce_sym;
- _LC_weight_t ce_wgt;
- } _LC_collel_t;
- #line 317
- typedef struct {
- _LC_weight_t ct_wgt;
- #line 321
- _LC_collel_t *ct_collel;
- } _LC_coltbl_t;
- #line 336
- typedef struct {
- char *tgt_wgt_str[4+1];
- #line 340
- } _LC_subs_t;
- #line 348
- typedef struct {
- _LC_core_collate_t core;
- unsigned
- char co_nord;
- _LC_weight_t co_sort;
- #line 358
- wchar_t co_wc_min;
- wchar_t co_wc_max;
- wchar_t co_col_min;
- wchar_t co_col_max;
- _LC_coltbl_t *co_coltbl;
- unsigned
- int co_nsubs;
- _LC_subs_t *co_subs;
- unsigned
- short co_special;
- #line 376
- struct __LC_locale
- *loc_rec;
- void *__meth_ptr;
- void *__data_ptr;
- } _LC_collate_t;
- typedef struct _LC_collate_objhdl _LC_collate_objhdl_t;
- struct _LC_collate_objhdl {
- _LC_collate_t *obj;
- #line 389
- void *(**meth)();
- #line 392
- struct _LC_locale_objhdl *loc_hdl;
- #line 395
- };
- #line 409
- typedef struct {
- char *name;
- unsigned
- int mask;
- } _LC_classnm_t;
- #line 423
- typedef struct {
- _LC_core_ctype_t core;
- #line 428
- wchar_t min_wc;
- wchar_t max_wc;
- #line 432
- wchar_t *upper;
- wchar_t *lower;
- #line 436
- unsigned
- int *mask;
- unsigned
- int *qmask;
- unsigned
- char *qidx;
- #line 444
- unsigned
- char nclasses;
- _LC_classnm_t *classnms;
- struct __LC_locale
- *loc_rec;
- void *__meth_ptr;
- void *__data_ptr;
- } _LC_ctype_t;
- typedef struct _LC_ctype_objhdl _LC_ctype_objhdl_t;
- struct _LC_ctype_objhdl {
- _LC_ctype_t *obj;
- #line 461
- void *(**meth)();
- #line 464
- struct _LC_locale_objhdl *loc_hdl;
- #line 467
- };
- #line 482
- typedef struct __LC_locale {
- _LC_core_locale_t core;
- char *nl_info[63];
- struct lconv *nl_lconv;
- _LC_charmap_objhdl_t lc_charmap;
- _LC_collate_objhdl_t lc_collate;
- _LC_ctype_objhdl_t lc_ctype;
- _LC_monetary_objhdl_t lc_monetary;
- _LC_numeric_objhdl_t lc_numeric;
- _LC_resp_objhdl_t lc_resp;
- _LC_time_objhdl_t lc_time;
- struct __LC_locale *loc_rec;
- #line 500
- void *__meth_ptr;
- void *__data_ptr;
- char *__nl_yesstr;
- char *__nl_nostr;
- char *__nl_crncystr;
- } _LC_locale_t;
- typedef struct _LC_locale_objhdl _LC_locale_objhdl_t;
- struct _LC_locale_objhdl {
- _LC_locale_t *obj;
- #line 514
- void *(**meth)();
- #line 517
- struct _LC_locale_objhdl *loc_hdl;
- #line 520
- };
- #line 529
- typedef struct _LC_object_handle _LC_object_handle_t;
- struct _LC_object_handle {
- union {
- _LC_object_t lc_object;
- _LC_locale_objhdl_t lc_locale;
- _LC_charmap_objhdl_t lc_charmap;
- _LC_collate_objhdl_t lc_collate;
- _LC_ctype_objhdl_t lc_ctype;
- _LC_monetary_objhdl_t lc_monetary;
- _LC_numeric_objhdl_t lc_numeric;
- _LC_resp_objhdl_t lc_resp;
- _LC_time_objhdl_t lc_time;
- } obj;
- #line 544
- void *(**meth)();
- #line 547
- struct _LC_locale_objhdl *loc_hdl;
- #line 550
- };
- #line 553
- typedef struct {
- _LC_object_t hdr;
- _LC_locale_objhdl_t handle;
- } _LC_load_object_t;
- #line 563
- typedef struct _LC_thread_locale {
- _LC_charmap_objhdl_t *__lc_charmap_ptr;
- _LC_collate_objhdl_t *__lc_collate_ptr;
- _LC_ctype_objhdl_t *__lc_ctype_ptr;
- _LC_monetary_objhdl_t *__lc_monetary_ptr;
- _LC_numeric_objhdl_t *__lc_numeric_ptr;
- _LC_resp_objhdl_t *__lc_resp_ptr;
- _LC_time_objhdl_t *__lc_time_ptr;
- _LC_locale_objhdl_t *__lc_locale_ptr;
- int __lc_isiso1;
- } _LC_thread_locale_t;
- typedef _LC_thread_locale_t* __locale_t;
- extern locale_t cur_locale;
- #line 583
- extern _LC_charmap_objhdl_t *__lc_charmap_ptr;
- extern _LC_collate_objhdl_t *__lc_collate_ptr;
- extern _LC_ctype_objhdl_t *__lc_ctype_ptr;
- extern _LC_monetary_objhdl_t *__lc_monetary_ptr;
- extern _LC_numeric_objhdl_t *__lc_numeric_ptr;
- extern _LC_resp_objhdl_t *__lc_resp_ptr;
- extern _LC_time_objhdl_t *__lc_time_ptr;
- extern _LC_locale_objhdl_t *__lc_locale_ptr;
- #line 593
- extern _LC_charmap_objhdl_t __lc_charmap;
- extern _LC_collate_objhdl_t __lc_collate;
- extern _LC_ctype_objhdl_t __lc_ctype;
- extern _LC_monetary_objhdl_t __lc_monetary;
- extern _LC_numeric_objhdl_t __lc_numeric;
- extern _LC_resp_objhdl_t __lc_resp;
- extern _LC_time_objhdl_t __lc_time;
- extern _LC_locale_objhdl_t __lc_locale;
- extern _LC_charmap_objhdl_t *__get_lc_charmap_ptr();
- extern _LC_collate_objhdl_t *__get_lc_collate_ptr();
- extern _LC_ctype_objhdl_t *__get_lc_ctype_ptr();
- extern _LC_monetary_objhdl_t *__get_lc_monetary_ptr();
- extern _LC_numeric_objhdl_t *__get_lc_numeric_ptr();
- extern _LC_resp_objhdl_t *__get_lc_resp_ptr();
- extern _LC_time_objhdl_t *__get_lc_time_ptr();
- extern _LC_locale_objhdl_t *__get_lc_locale_ptr();
- extern int __get_lc_isiso1();
- extern int __n_pthreads;
- #line 603 "/usr/include/stdlib.h"
- extern char *optarg;
- extern int optind;
- extern int opterr;
- #line 620
- extern float atoff(char *);
- extern void imul_dbl(long, long, long *);
- extern void umul_dbl(unsigned long, unsigned long, unsigned long *);
- extern int on_exit(void (*)(int, void *), void *);
- extern int unatexit(void (*)(void));
- #line 649
- extern double wcstod(const wchar_t *, wchar_t **);
- extern long int wcstol(const wchar_t *, wchar_t **, int);
- extern unsigned long int wcstoul(const wchar_t *, wchar_t **, int);
- extern int rpmatch(const char *);
- extern int clearenv(void);
- extern int getopt(int, char* const*, const char*);
- extern char *getpass(const char *);
- extern int ttyslot(void);
- extern void *valloc(size_t);
- #line 698
- extern void *vec_malloc(size_t);
- extern void *vec_calloc(size_t, size_t);
- #line 133 "/usr/include/string.h"
- extern void *memchr(const void *, int, size_t);
- extern void *memcpy(void * , const void * , size_t);
- extern void *memset(void *, int, size_t);
- extern size_t strcspn(const char *, const char *);
- extern size_t strlen(const char *);
- extern size_t strspn(const char *, const char *);
- #line 185
- extern char *strchr(const char *, int);
- extern char *strpbrk(const char *, const char *);
- extern char *strrchr(const char *, int);
- extern char *strstr(const char *, const char *);
- #line 191
- extern void *memmove(void *, const void *, size_t);
- extern char *strcpy(char * , const char * );
- extern char *strncpy(char * , const char * , size_t);
- extern char *strcat(char * , const char * );
- extern char *strncat(char * , const char * , size_t);
- extern int memcmp(const void *, const void *,size_t);
- extern int strcmp(const char *, const char *);
- extern int strncmp(const char *,const char *,size_t);
- extern int strncollen(const char *, const int );
- extern char *strtok(char * , const char * );
- extern char *strerror(int);
- extern int strcoll(const char *, const char *);
- extern size_t strxfrm(char * , const char * , size_t);
- extern int strcoll_l(const char *, const char *, locale_t);
- extern size_t strxfrm_l(char * , const char * , size_t, locale_t);
- extern char *strtok_r(char *, const char *, char **);
- extern int strerror_r(int, char *, size_t);
- #line 222
- extern void *memccpy(void * , const void * , int, size_t);
- #line 231
- extern char *strdup(const char *);
- #line 292
- extern wchar_t *wcschr(const wchar_t *, wchar_t);
- extern wchar_t *wcspbrk(const wchar_t *, const wchar_t *);
- extern wchar_t *wcsrchr(const wchar_t *, wchar_t);
- #line 297
- extern char *index(const char *, int);
- extern char *rindex(const char *, int);
- extern void swab(const void *, void *, ssize_t);
- extern wchar_t *wcscat(wchar_t *, const wchar_t *);
- extern int wcscmp(const wchar_t *, const wchar_t *);
- extern wchar_t *wcscpy(wchar_t *, const wchar_t *);
- extern size_t wcscspn(const wchar_t *, const wchar_t *);
- extern size_t wcslen(const wchar_t *);
- extern wchar_t *wcsncat(wchar_t *, const wchar_t *, size_t);
- extern int wcsncmp(const wchar_t *, const wchar_t *, size_t);
- extern wchar_t *wcsncpy(wchar_t *, const wchar_t *, size_t);
- extern size_t wcsspn(const wchar_t *, const wchar_t *);
- extern wchar_t *wcswcs(const wchar_t *, const wchar_t *);
- extern int wcswidth(const wchar_t *, size_t);
- extern int wcwidth(wchar_t);
- extern int wcscoll(const wchar_t *, const wchar_t *);
- extern size_t wcsxfrm(wchar_t *, const wchar_t *, size_t);
- extern int wcscoll_l(const wchar_t *, const wchar_t *, locale_t);
- extern size_t wcsxfrm_l(wchar_t *, const wchar_t *, size_t, locale_t);
- extern char *__linux_strerror_r(int, char *, size_t);
- extern char * strndup(const char *, size_t);
- extern size_t strnlen(const char *, size_t);
- extern char * strsep(char **, const char *);
- extern void * memmem(const void *, size_t, const void *, size_t);
- extern char * stpcpy(char *, const char *);
- extern char * stpncpy(char *, const char *, size_t);
- extern char * strsignal(int);
- #line 332
- extern int strcasecmp(const char *, const char *);
- extern int strncasecmp(const char *, const char *, size_t);
- #line 8 "./libcperciva/crypto/crypto_aes.h"
- struct crypto_aes_key;
- #line 15
- struct crypto_aes_key * crypto_aes_key_expand(const uint8_t *, size_t);
- #line 22
- void crypto_aes_encrypt_block(const uint8_t *, uint8_t *,
- const struct crypto_aes_key *);
- #line 29
- void crypto_aes_key_free(struct crypto_aes_key *);
- #line 8 "./libcperciva/crypto/crypto_aesctr.h"
- struct crypto_aes_key;
- #line 16
- struct crypto_aesctr * crypto_aesctr_init(const struct crypto_aes_key *,
- uint64_t);
- #line 25
- void crypto_aesctr_stream(struct crypto_aesctr *, const uint8_t *,
- uint8_t *, size_t);
- #line 32
- void crypto_aesctr_free(struct crypto_aesctr *);
- #line 38
- void crypto_aesctr_buf(const struct crypto_aes_key *, uint64_t,
- const uint8_t *, uint8_t *, size_t);
- #line 12 "./libcperciva/crypto/crypto_verify_bytes.h"
- uint8_t crypto_verify_bytes(const uint8_t *, const uint8_t *, size_t);
- #line 23 "./libcperciva/alg/sha256.h"
- typedef struct {
- uint32_t state[8];
- uint64_t count;
- uint8_t buf[64];
- } libcperciva_SHA256_CTX;
- #line 33
- void libcperciva_SHA256_Init(libcperciva_SHA256_CTX *);
- #line 39
- void libcperciva_SHA256_Update(libcperciva_SHA256_CTX *, const void *, size_t);
- #line 46
- void libcperciva_SHA256_Final(uint8_t[32], libcperciva_SHA256_CTX *);
- #line 52
- void libcperciva_SHA256_Buf(const void *, size_t, uint8_t[32]);
- #line 55
- typedef struct {
- libcperciva_SHA256_CTX ictx;
- libcperciva_SHA256_CTX octx;
- } libcperciva_HMAC_SHA256_CTX;
- #line 65
- void libcperciva_HMAC_SHA256_Init(libcperciva_HMAC_SHA256_CTX *, const void *, size_t);
- #line 71
- void libcperciva_HMAC_SHA256_Update(libcperciva_HMAC_SHA256_CTX *, const void *, size_t);
- #line 78
- void libcperciva_HMAC_SHA256_Final(uint8_t[32], libcperciva_HMAC_SHA256_CTX *);
- #line 85
- void libcperciva_HMAC_SHA256_Buf(const void *, size_t, const void *, size_t, uint8_t[32]);
- #line 92
- void PBKDF2_SHA256(const uint8_t *, size_t, const uint8_t *, size_t,
- uint64_t, uint8_t *, size_t);
- #line 20 "./libcperciva/util/sysendian.h"
- static inline uint16_t
- libcperciva_be16dec(const void * pp)
- {
- const uint8_t * p = (uint8_t const *)pp;
- return ((uint16_t)(p[1]) + ((uint16_t)(p[0]) << 8));
- }
- static inline void
- libcperciva_be16enc(void * pp, uint16_t x)
- {
- uint8_t * p = (uint8_t *)pp;
- p[1] = x & 0xff;
- p[0] = (x >> 8) & 0xff;
- }
- static inline uint32_t
- libcperciva_be32dec(const void * pp)
- {
- const uint8_t * p = (uint8_t const *)pp;
- return ((uint32_t)(p[3]) + ((uint32_t)(p[2]) << 8) +
- ((uint32_t)(p[1]) << 16) + ((uint32_t)(p[0]) << 24));
- }
- static inline void
- libcperciva_be32enc(void * pp, uint32_t x)
- {
- uint8_t * p = (uint8_t *)pp;
- p[3] = x & 0xff;
- p[2] = (x >> 8) & 0xff;
- p[1] = (x >> 16) & 0xff;
- p[0] = (x >> 24) & 0xff;
- }
- static inline uint64_t
- libcperciva_be64dec(const void * pp)
- {
- const uint8_t * p = (uint8_t const *)pp;
- return ((uint64_t)(p[7]) + ((uint64_t)(p[6]) << 8) +
- ((uint64_t)(p[5]) << 16) + ((uint64_t)(p[4]) << 24) +
- ((uint64_t)(p[3]) << 32) + ((uint64_t)(p[2]) << 40) +
- ((uint64_t)(p[1]) << 48) + ((uint64_t)(p[0]) << 56));
- }
- static inline void
- libcperciva_be64enc(void * pp, uint64_t x)
- {
- uint8_t * p = (uint8_t *)pp;
- p[7] = x & 0xff;
- p[6] = (x >> 8) & 0xff;
- p[5] = (x >> 16) & 0xff;
- p[4] = (x >> 24) & 0xff;
- p[3] = (x >> 32) & 0xff;
- p[2] = (x >> 40) & 0xff;
- p[1] = (x >> 48) & 0xff;
- p[0] = (x >> 56) & 0xff;
- }
- static inline uint16_t
- libcperciva_le16dec(const void * pp)
- {
- const uint8_t * p = (uint8_t const *)pp;
- return ((uint16_t)(p[0]) + ((uint16_t)(p[1]) << 8));
- }
- static inline void
- libcperciva_le16enc(void * pp, uint16_t x)
- {
- uint8_t * p = (uint8_t *)pp;
- p[0] = x & 0xff;
- p[1] = (x >> 8) & 0xff;
- }
- static inline uint32_t
- libcperciva_le32dec(const void * pp)
- {
- const uint8_t * p = (uint8_t const *)pp;
- return ((uint32_t)(p[0]) + ((uint32_t)(p[1]) << 8) +
- ((uint32_t)(p[2]) << 16) + ((uint32_t)(p[3]) << 24));
- }
- static inline void
- libcperciva_le32enc(void * pp, uint32_t x)
- {
- uint8_t * p = (uint8_t *)pp;
- p[0] = x & 0xff;
- p[1] = (x >> 8) & 0xff;
- p[2] = (x >> 16) & 0xff;
- p[3] = (x >> 24) & 0xff;
- }
- static inline uint64_t
- libcperciva_le64dec(const void * pp)
- {
- const uint8_t * p = (uint8_t const *)pp;
- return ((uint64_t)(p[0]) + ((uint64_t)(p[1]) << 8) +
- ((uint64_t)(p[2]) << 16) + ((uint64_t)(p[3]) << 24) +
- ((uint64_t)(p[4]) << 32) + ((uint64_t)(p[5]) << 40) +
- ((uint64_t)(p[6]) << 48) + ((uint64_t)(p[7]) << 56));
- }
- static inline void
- libcperciva_le64enc(void * pp, uint64_t x)
- {
- uint8_t * p = (uint8_t *)pp;
- p[0] = x & 0xff;
- p[1] = (x >> 8) & 0xff;
- p[2] = (x >> 16) & 0xff;
- p[3] = (x >> 24) & 0xff;
- p[4] = (x >> 32) & 0xff;
- p[5] = (x >> 40) & 0xff;
- p[6] = (x >> 48) & 0xff;
- p[7] = (x >> 56) & 0xff;
- }
- #line 62 "/usr/include/errno.h"
- extern int errno;
- #line 70
- extern char *sys_errlist[];
- extern int sys_nerr;
- #line 14 "./libcperciva/util/warnp.h"
- void warnp_setprogname(const char *);
- #line 21
- void libcperciva_warn(const char *, ...);
- void libcperciva_warnx(const char *, ...);
- #line 93 "/usr/include/sys/access.h"
- extern char *acl_get(char *);
- extern char *acl_fget(int);
- extern int acl_chg(char *, int, int, int);
- extern int acl_fchg(int, int, int, int);
- extern int acl_put(char *, char *, int);
- extern int acl_fput(int, char *, int);
- extern int acl_set(char *, int, int, int);
- extern int acl_fset(int, int, int, int);
- extern int accessx(char *, int, int);
- extern int accessxat(int, char *, int, int);
- #line 156 "/usr/include/unistd.h"
- extern int access(const char *, int);
- extern int faccessat(int, const char *, int, int);
- extern unsigned int alarm(unsigned int);
- extern int chdir(const char *);
- extern int chown(const char *, uid_t, gid_t);
- extern int fchownat(int, const char *, uid_t, gid_t, int);
- extern int close(int);
- extern char *ctermid(char *);
- extern int dup(int);
- extern int dup2(int, int);
- extern int execl(const char *, const char *, ...);
- extern int execv(const char *, char *const []);
- extern int execle(const char *, const char *, ...);
- extern int execve(const char *, char *const [], char *const []);
- extern int fexecve(int, char *const [], char *const []);
- extern int execlp(const char *, const char *, ...);
- extern int execvp(const char *, char *const []);
- extern void _exit(int);
- extern pid_t fork(void);
- extern long fpathconf(int, int);
- extern char *getcwd(char *, size_t);
- extern gid_t getegid(void);
- extern uid_t geteuid(void);
- extern gid_t getgid(void);
- extern int getgroups(int, gid_t []);
- extern char *getlogin(void);
- extern pid_t getpgrp(void);
- extern pid_t getpid(void);
- extern pid_t getppid(void);
- extern uid_t getuid(void);
- extern int isatty(int);
- extern int link(const char *, const char *);
- extern int linkat(int, const char *, int, const char *, int);
- extern off_t lseek(int, off_t, int);
- extern off64_t lseek64(int, off64_t, int);
- extern long pathconf(const char *, int);
- extern int pause(void);
- extern int pipe(int []);
- extern int pthread_atfork(void (*)(void), void (*)(void), void (*)(void));
- extern ssize_t read(int, void *, size_t);
- extern int rmdir(const char *);
- extern int setgid(gid_t);
- extern int setpgid(pid_t, pid_t);
- extern pid_t setsid(void);
- extern int setuid(uid_t);
- extern unsigned int sleep(unsigned int);
- extern long sysconf(int);
- extern pid_t tcgetpgrp(int);
- extern int tcsetpgrp(int, pid_t);
- extern char *ttyname(int);
- extern int unlink(const char *);
- extern int unlinkat(int, const char *, int);
- extern ssize_t write(int, const void *, size_t);
- #line 318
- extern char *optarg;
- extern int optind, opterr, optopt;
- #line 334
- extern size_t confstr(int, char*, size_t);
- extern char *crypt(const char *, const char *);
- extern void encrypt(char *, int);
- extern int fsync(int);
- extern int getopt(int, char* const*, const char*);
- extern int nice(int);
- extern void swab(const void *, void *, ssize_t);
- extern int fdatasync(int);
- extern char *getpass(const char *);
- extern int chroot(const char *);
- #line 76 "/usr/include/sys/stat.h"
- typedef struct st_timespec {
- time_t tv_sec;
- int tv_nsec;
- } st_timespec_t;
- #line 84
- struct stat
- {
- dev_t st_dev;
- #line 91
- ino_t st_ino;
- #line 96
- mode_t st_mode;
- nlink_t st_nlink;
- ushort_t st_flag;
- #line 106
- uid_t st_uid;
- gid_t st_gid;
- #line 110
- dev_t st_rdev;
- #line 114
- off_t st_size;
- #line 119
- st_timespec_t st_atim;
- st_timespec_t st_mtim;
- st_timespec_t st_ctim;
- #line 130
- blksize_t st_blksize;
- blkcnt_t st_blocks;
- #line 134
- int st_vfstype;
- uint_t st_vfs;
- uint_t st_type;
- uint_t st_gen;
- #line 140
- uint_t st_reserved[9];
- #line 145
- };
- #line 204
- struct timespec64 {
- time64_t tv_sec;
- int32_t tv_nsec;
- int32_t tv_pad;
- };
- #line 215
- struct stat64
- {
- dev_t st_dev;
- #line 222
- ino_t st_ino;
- mode_t st_mode;
- nlink_t st_nlink;
- ushort_t st_flag;
- uid_t st_uid;
- gid_t st_gid;
- dev_t st_rdev;
- #line 231
- soff_t st_ssize;
- st_timespec_t st_atim;
- st_timespec_t st_mtim;
- st_timespec_t st_ctim;
- #line 244
- blksize_t st_blksize;
- blkcnt_t st_blocks;
- #line 248
- int st_vfstype;
- uint_t st_vfs;
- uint_t st_type;
- uint_t st_gen;
- uint_t st_reserved[10];
- #line 256
- off64_t st_size;
- };
- #line 264
- struct stat64x
- {
- dev64_t st_dev;
- #line 272
- ino64_t st_ino;
- mode_t st_mode;
- nlink_t st_nlink;
- ushort_t st_flag;
- uid_t st_uid;
- gid_t st_gid;
- dev64_t st_rdev;
- #line 286
- off64_t st_size;
- #line 290
- struct timespec64 st_atim;
- struct timespec64 st_mtim;
- struct timespec64 st_ctim;
- #line 304
- blksize64_t st_blksize;
- blkcnt64_t st_blocks;
- #line 308
- int32_t st_vfstype;
- uint32_t st_vfs;
- uint32_t st_type;
- uint32_t st_gen;
- uint32_t st_reserved[11];
- };
- #line 324
- extern int stat64x(const char *, struct stat64x *);
- extern int fstat64x(int, struct stat64x *);
- extern int lstat64x(const char *, struct stat64x *);
- extern int stat64xat(int, const char *, struct stat64x *, int);
- #line 359
- extern mode_t umask(mode_t);
- #line 407
- extern int mkdir(const char *, mode_t);
- extern int mkdirat(int, const char *, mode_t);
- extern int stat(const char *, struct stat *);
- extern int fstat(int, struct stat *);
- extern int fstatat(int, const char *, struct stat *, int);
- #line 417
- extern int stat64(const char *, struct stat64 *);
- extern int fstat64(int, struct stat64 *);
- extern int stat64at(int,const char *, struct stat64 *, int);
- #line 424
- extern int chmod(const char *, mode_t);
- extern int fchmodat(int, const char *, mode_t, int);
- #line 430
- extern int fchmod(int, mode_t);
- extern int lstat(const char *, struct stat *);
- extern int lstat64(const char *, struct stat64 *);
- #line 436
- extern int mknod(const char *, mode_t, dev_t);
- extern int mknodat(int, const char *, mode_t, dev_t);
- #line 445
- extern int mkfifo(const char *, mode_t);
- extern int mkfifoat(int, const char *, mode_t);
- extern int futimens(int, const struct timespec *);
- extern int utimensat(int, const char *, const struct timespec *,
- int);
- #line 499
- int statx(char *, struct stat *, int, int);
- int fstatx(int, struct stat *, int, int);
- int statxat(int, char *, struct stat *, int, int);
- #line 62 "/usr/include/sys/lockf.h"
- extern int lockf (int, int, off_t);
- extern int lockf64 (int, int, off64_t);
- #line 872 "/usr/include/unistd.h"
- extern int brk(void *);
- extern int getpagesize(void);
- extern int __fd_getdtablesize(void);
- static int getdtablesize()
- {
- return __fd_getdtablesize();
- }
- #line 886
- extern void *sbrk(intptr_t);
- #line 891
- extern int fchdir(int);
- extern int fchown(int, uid_t, gid_t);
- extern int ftruncate(int, off_t);
- extern int ftruncate64(int, off64_t);
- extern int gethostname(char *, size_t);
- extern long gethostid(void);
- extern pid_t getpgid(pid_t);
- extern pid_t getsid(pid_t);
- extern char *getwd(char *);
- extern int lchown(const char *, uid_t, gid_t);
- #line 934
- extern int readlink(const char *, char *, size_t);
- extern int readlinkat(int, const char *, char *, size_t);
- #line 941
- extern pid_t setpgrp(void);
- extern int setregid(gid_t, gid_t);
- extern int setreuid(uid_t, uid_t);
- extern int symlink(const char *, const char *);
- extern int symlinkat(const char *, int, const char *);
- extern void sync(void);
- extern int truncate(const char *, off_t);
- extern int truncate64(const char *, off64_t);
- #line 955
- extern useconds_t ualarm(useconds_t, useconds_t);
- extern int usleep(useconds_t);
- extern pid_t vfork(void);
- #line 960
- extern int getlogin_r(char *, size_t);
- extern int ttyname_r(int, char *, size_t);
- #line 968
- extern ssize_t pread(int, void *, size_t, off_t);
- extern ssize_t pwrite(int, const void *, size_t, off_t);
- extern ssize_t pread64(int, void *, size_t, off64_t);
- extern ssize_t pwrite64(int, const void *, size_t, off64_t);
- #line 982
- extern char **environ;
- #line 988
- extern pid_t f_fork(void);
- #line 1022
- extern char * cuserid(char *);
- extern int setegid(gid_t);
- extern int seteuid(uid_t);
- extern int setrgid(gid_t);
- extern int setruid(uid_t);
- extern int ioctl(int, int, ...);
- #line 1035
- extern int setgroups(int, gid_t []);
- extern int setroles(rid_t [], int);
- extern int getroles(pid_t, rid_t [], int);
- extern int open64x(char *, int64_t, mode_t, ext_t);
- extern int open64xat(int, char *, int64_t, mode_t, ext_t);
- #line 1044
- extern ssize_t read64x(int, char *, ssize_t, long);
- extern ssize_t write64x(int, char *, ssize_t, long);
- extern int readx(int, char*, unsigned, long);
- extern int writex(int, char*, unsigned, long);
- #line 1054
- extern off_t fclear(int, off_t);
- extern int fsync_range(int, int, off_t, off_t);
- extern off64_t fclear64(int, off64_t);
- extern int fsync_range64(int, int, off64_t, off64_t);
- extern offset_t llseek(int, offset_t, int);
- extern char * getusershell(void);
- extern void setusershell(void);
- extern void endusershell(void);
- extern char * get_current_dir_name(void);
- extern int sysfs(int, ...);
- extern int finfo(const char *, int, void *, int32long64_t);
- extern int ffinfo(int, int, void *, int32long64_t);
- #line 15 "./libcperciva/crypto/crypto_dh.h"
- int crypto_dh_generate_pub(uint8_t[256],
- const uint8_t[32]);
- #line 24
- int crypto_dh_generate(uint8_t[256], uint8_t[32]);
- #line 33
- int crypto_dh_compute(const uint8_t[256],
- const uint8_t[32], uint8_t[256]);
- #line 41
- int crypto_dh_sanitycheck(const uint8_t[256]);
- #line 9 "./proto/proto_crypt.h"
- struct proto_keys;
- struct proto_secret;
- #line 28
- struct proto_secret * proto_crypt_secret(const char *);
- #line 37
- void proto_crypt_dhmac(const struct proto_secret *,
- const uint8_t[32], const uint8_t[32],
- uint8_t[32], uint8_t[32], int);
- #line 48
- int proto_crypt_dh_validate(const uint8_t[(256 + 32)],
- const uint8_t[32], int);
- #line 57
- int proto_crypt_dh_generate(uint8_t[(256 + 32)], uint8_t[32],
- const uint8_t[32], int);
- #line 69
- int proto_crypt_mkkeys(const struct proto_secret *,
- const uint8_t[32], const uint8_t[32],
- const uint8_t[(256 + 32)], const uint8_t[32], int, int,
- struct proto_keys **, struct proto_keys **);
- #line 85
- void proto_crypt_enc(uint8_t *, size_t, uint8_t[(1024 + 4 + 32 )],
- struct proto_keys *);
- #line 94
- ssize_t proto_crypt_dec(uint8_t[(1024 + 4 + 32 )], uint8_t *, struct proto_keys *);
- #line 100
- void proto_crypt_free(struct proto_keys *);
- #line 16 "./proto/proto_crypt.c"
- struct proto_secret {
- uint8_t K[32];
- };
- struct proto_keys {
- struct crypto_aes_key * k_aes;
- uint8_t k_hmac[32];
- uint64_t pnum;
- };
- #line 30
- static struct proto_keys *
- mkkeypair(uint8_t kbuf[64])
- {
- struct proto_keys * k;
- #line 36
- if ((k = malloc(sizeof(struct proto_keys))) == 0)
- goto err0;
- #line 40
- if ((k->k_aes = crypto_aes_key_expand(&kbuf[0], 32)) == 0)
- goto err1;
- #line 44
- __memcpy(k->k_hmac,&kbuf[32],32);
- #line 47
- k->pnum = 0;
- #line 50
- return (k);
- err1:
- free(k);
- err0:
- return (0);
- }
- #line 63
- struct proto_secret *
- proto_crypt_secret(const char * filename)
- {
- libcperciva_SHA256_CTX ctx;
- FILE * f;
- struct proto_secret * K;
- uint8_t buf[4096];
- size_t lenread;
- #line 73
- if ((K = malloc(sizeof(struct proto_secret))) == 0)
- goto err0;
- #line 77
- if ((f = fopen(filename, "r")) == 0) {
- do { ; if (errno != 0) { libcperciva_warn("Cannot open file: %s", filename); errno = 0; } else libcperciva_warnx("Cannot open file: %s", filename); } while (0);
- goto err1;
- }
- #line 83
- libcperciva_SHA256_Init(&ctx);
- #line 86
- while ((lenread = fread(buf, 1, 4096, f)) > 0)
- libcperciva_SHA256_Update(&ctx, buf, lenread);
- #line 90
- if (!((f)->_flag & 0020)) {
- do { ; if (errno != 0) { libcperciva_warn("Error reading file: %s", filename); errno = 0; } else libcperciva_warnx("Error reading file: %s", filename); } while (0);
- goto err2;
- }
- #line 96
- fclose(f);
- #line 99
- libcperciva_SHA256_Final(K->K, &ctx);
- #line 102
- return (K);
- err2:
- fclose(f);
- err1:
- free(K);
- err0:
- return (0);
- }
- #line 120
- void
- proto_crypt_dhmac(const struct proto_secret * K,
- const uint8_t nonce_l[32],
- const uint8_t nonce_r[32],
- uint8_t dhmac_l[32], uint8_t dhmac_r[32],
- int decr)
- {
- uint8_t nonce_CS[32 * 2];
- uint8_t dk_1[32 * 2];
- const uint8_t * nonce_c, * nonce_s;
- uint8_t * dhmac_c, * dhmac_s;
- #line 133
- nonce_c = decr ? nonce_r : nonce_l;
- dhmac_c = decr ? dhmac_r : dhmac_l;
- nonce_s = decr ? nonce_l : nonce_r;
- dhmac_s = decr ? dhmac_l : dhmac_r;
- #line 139
- __memcpy(&nonce_CS[0],nonce_c,32);
- __memcpy(&nonce_CS[32],nonce_s,32);
- #line 143
- PBKDF2_SHA256(K->K, 32, nonce_CS, 32 * 2, 1,
- dk_1, 32 * 2);
- #line 147
- __memcpy(dhmac_c,&dk_1[0],32);
- __memcpy(dhmac_s,&dk_1[32],32);
- }
- #line 156
- static int
- is_not_one(const uint8_t * x, size_t len)
- {
- size_t i;
- char y;
- for (i = 0, y = 0; i < len - 1; i++) {
- y |= x[i];
- }
- return (y | (x[len - 1] - 1));
- }
- #line 176
- int
- proto_crypt_dh_validate(const uint8_t yh_r[(256 + 32)],
- const uint8_t dhmac_r[32], int requirefps)
- {
- uint8_t hbuf[32];
- #line 183
- libcperciva_HMAC_SHA256_Buf(dhmac_r, 32, yh_r, 256,
- hbuf);
- #line 187
- if (crypto_verify_bytes(&yh_r[256], hbuf, 32))
- return (1);
- #line 191
- if (crypto_dh_sanitycheck(&yh_r[0]))
- return (1);
- #line 195
- if (requirefps) {
- if (! is_not_one(&yh_r[0], 256))
- return (1);
- }
- #line 201
- return (0);
- }
- #line 210
- int
- proto_crypt_dh_generate(uint8_t yh_l[(256 + 32)], uint8_t x[32],
- const uint8_t dhmac_l[32], int nofps)
- {
- #line 216
- if (nofps) {
- __memset(yh_l,0,256 - 1);
- yh_l[256 - 1] = 1;
- } else {
- if (crypto_dh_generate(yh_l, x))
- goto err0;
- }
- #line 227
- libcperciva_HMAC_SHA256_Buf(dhmac_l, 32, yh_l, 256,
- &yh_l[256]);
- #line 231
- return (0);
- err0:
- return (-1);
- }
- #line 247
- int
- proto_crypt_mkkeys(const struct proto_secret * K,
- const uint8_t nonce_l[32],
- const uint8_t nonce_r[32],
- const uint8_t yh_r[(256 + 32)], const uint8_t x[32],
- int nofps, int decr,
- struct proto_keys ** eh_c, struct proto_keys ** eh_s)
- {
- uint8_t nonce_y[32 * 2 + 256];
- uint8_t dk_2[128];
- const uint8_t * nonce_c, * nonce_s;
- #line 260
- nonce_c = decr ? nonce_r : nonce_l;
- nonce_s = decr ? nonce_l : nonce_r;
- __memcpy(&nonce_y[0],nonce_c,32);
- __memcpy(&nonce_y[32],nonce_s,32);
- #line 266
- if (nofps) {
- #line 269
- __memset(&nonce_y[32 * 2],0,256 - 1);
- nonce_y[32 * 2 + 256 - 1] = 1;
- } else {
- if (crypto_dh_compute(yh_r, x,
- &nonce_y[32 * 2]))
- goto err0;
- }
- #line 279
- PBKDF2_SHA256(K->K, 32, nonce_y,
- 32 * 2 + 256, 1, dk_2, 128);
- #line 283
- if ((*eh_c = mkkeypair(&dk_2[0])) == 0)
- goto err0;
- if ((*eh_s = mkkeypair(&dk_2[64])) == 0)
- goto err1;
- #line 289
- return (0);
- err1:
- proto_crypt_free(*eh_c);
- err0:
- return (-1);
- }
- #line 303
- void
- proto_crypt_enc(uint8_t * ibuf, size_t len, uint8_t obuf[(1024 + 4 + 32 )],
- struct proto_keys * k)
- {
- libcperciva_HMAC_SHA256_CTX ctx;
- uint8_t pnum_exp[8];
- #line 311
- ((len <= 1024) ? ((void)0) : __assert("len <= PCRYPT_MAXDSZ", "./proto/proto_crypt.c", 311));
- #line 314
- __memcpy(obuf,ibuf,len);
- #line 317
- __memset(&obuf[len],0,1024 - len);
- #line 320
- libcperciva_be32enc(&obuf[1024], len);
- #line 323
- crypto_aesctr_buf(k->k_aes, k->pnum, obuf, obuf, 1024 + 4);
- #line 326
- libcperciva_be64enc(pnum_exp, k->pnum);
- libcperciva_HMAC_SHA256_Init(&ctx, k->k_hmac, 32);
- libcperciva_HMAC_SHA256_Update(&ctx, obuf, 1024 + 4);
- libcperciva_HMAC_SHA256_Update(&ctx, pnum_exp, 8);
- libcperciva_HMAC_SHA256_Final(&obuf[1024 + 4], &ctx);
- #line 333
- k->pnum += 1;
- }
- #line 342
- ssize_t proto_crypt_dec(uint8_t ibuf[(1024 + 4 + 32 )], uint8_t * obuf,
- struct proto_keys * k)
- {
- libcperciva_HMAC_SHA256_CTX ctx;
- uint8_t hbuf[32];
- uint8_t pnum_exp[8];
- size_t len;
- #line 351
- libcperciva_be64enc(pnum_exp, k->pnum);
- libcperciva_HMAC_SHA256_Init(&ctx, k->k_hmac, 32);
- libcperciva_HMAC_SHA256_Update(&ctx, ibuf, 1024 + 4);
- libcperciva_HMAC_SHA256_Update(&ctx, pnum_exp, 8);
- libcperciva_HMAC_SHA256_Final(hbuf, &ctx);
- if (crypto_verify_bytes(hbuf, &ibuf[1024 + 4], 32))
- return (-1);
- #line 360
- crypto_aesctr_buf(k->k_aes, k->pnum, ibuf, ibuf, 1024 + 4);
- #line 363
- k->pnum += 1;
- #line 366
- len = libcperciva_be32dec(&ibuf[1024]);
- #line 369
- if ((len == 0) || (len > 1024))
- return (-1);
- #line 373
- __memcpy(obuf,ibuf,len);
- #line 376
- return (len);
- }
- #line 383
- void
- proto_crypt_free(struct proto_keys * k)
- {
- #line 388
- crypto_aes_key_free(k->k_aes);
- #line 391
- free(k);
- }
Advertisement
Add Comment
Please, Sign In to add comment