diff --git a/astrosib_utils/Readme b/astrosib_utils/Readme deleted file mode 100644 index d91cca1..0000000 --- a/astrosib_utils/Readme +++ /dev/null @@ -1,5 +0,0 @@ -A set of small utils for astrosib telescopes on 10-micron mount with Baader all-sky dome. - -* teldaemon - telescope daemon (open/close telescope shutters, get shutters state) -* domedaemon - dome daemon (open/close dome, get dome state, get weater) -* mountdaemon - 10-micron mount daemon, allow to point telescope by stellarium diff --git a/astrosib_utils/domedaemon/Makefile b/astrosib_utils/domedaemon/Makefile deleted file mode 100644 index 1e31352..0000000 --- a/astrosib_utils/domedaemon/Makefile +++ /dev/null @@ -1,43 +0,0 @@ -# run `make DEF=...` to add extra defines -PROGRAM := domedaemon -LDFLAGS := -fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,--discard-all -pthread -SRCS := $(wildcard *.c) -DEFINES := $(DEF) -D_GNU_SOURCE -D_XOPEN_SOURCE=1111 -#DEFINES += -DEBUG -# baudrate for USB<->UART converter -DEFINES += -DBAUD_RATE=B9600 -OBJDIR := mk -CFLAGS += -O2 -Wall -Werror -Wextra -Wno-trampolines -OBJS := $(addprefix $(OBJDIR)/, $(SRCS:%.c=%.o)) -DEPS := $(OBJS:.o=.d) -CC = gcc - -all : $(OBJDIR) $(PROGRAM) - -$(PROGRAM) : $(OBJS) - @echo -e "\t\tLD $(PROGRAM)" - $(CC) $(LDFLAGS) $(OBJS) -o $(PROGRAM) - -$(OBJDIR): - mkdir $(OBJDIR) - -ifneq ($(MAKECMDGOALS),clean) --include $(DEPS) -endif - -$(OBJDIR)/%.o: %.c - @echo -e "\t\tCC $<" - $(CC) -MD -c $(LDFLAGS) $(CFLAGS) $(DEFINES) -o $@ $< - -clean: - @echo -e "\t\tCLEAN" - @rm -f $(OBJS) $(DEPS) - @rmdir $(OBJDIR) 2>/dev/null || true - -xclean: clean - @rm -f $(PROGRAM) - -gentags: - CFLAGS="$(CFLAGS) $(DEFINES)" geany -g $(PROGRAM).c.tags *[hc] 2>/dev/null - -.PHONY: gentags clean xclean diff --git a/astrosib_utils/domedaemon/Readme.md b/astrosib_utils/domedaemon/Readme.md deleted file mode 100644 index df10745..0000000 --- a/astrosib_utils/domedaemon/Readme.md +++ /dev/null @@ -1,13 +0,0 @@ -Baader all-sky dome control network daemon -================== - -Open a socket at given port (default: 55555), works with http & direct requests. - -**Protocol** - -Send requests over socket (by curl or something else) or http requests (in browser). - -* *open* - open dome; -* *close* - close dome; -* *status* - dome state (return "opened", "closed" or "intermediate"); -* *weather* - weather status (good weather or rain/clouds). diff --git a/astrosib_utils/domedaemon/cmdlnopts.c b/astrosib_utils/domedaemon/cmdlnopts.c deleted file mode 100644 index fecb72a..0000000 --- a/astrosib_utils/domedaemon/cmdlnopts.c +++ /dev/null @@ -1,89 +0,0 @@ -/* geany_encoding=koi8-r - * cmdlnopts.c - the only function that parse cmdln args and returns glob parameters - * - * Copyright 2018 Edward V. Emelianoff - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -#include -#include -#include -#include -#include -#include "cmdlnopts.h" -#include "usefull_macros.h" - -/* - * here are global parameters initialisation - */ -int help; -static glob_pars G; - -// default values for Gdefault & help -#define DEFAULT_PORT "55555" - -// DEFAULTS -// default global parameters -glob_pars const Gdefault = { - .device = NULL, - .port = DEFAULT_PORT, - .terminal = 0, - .echo = 0, - .logfile = NULL, - .rest_pars = NULL, - .rest_pars_num = 0 -}; - -/* - * Define command line options by filling structure: - * name has_arg flag val type argptr help -*/ -myoption cmdlnopts[] = { -// common options - {"help", NO_ARGS, NULL, 'h', arg_int, APTR(&help), _("show this help")}, - {"device", NEED_ARG, NULL, 'd', arg_string, APTR(&G.device), _("serial device name (default: none)")}, - {"port", NEED_ARG, NULL, 'p', arg_string, APTR(&G.port), _("network port to connect (default: " DEFAULT_PORT ")")}, - {"logfile", NEED_ARG, NULL, 'l', arg_string, APTR(&G.logfile), _("save logs to file (default: none)")}, - {"terminal",NO_ARGS, NULL, 't', arg_int, APTR(&G.terminal), _("run as terminal")}, - {"echo", NO_ARGS, NULL, 'e', arg_int, APTR(&G.echo), _("echo users commands back")}, - end_option -}; - -/** - * Parse command line options and return dynamically allocated structure - * to global parameters - * @param argc - copy of argc from main - * @param argv - copy of argv from main - * @return allocated structure with global parameters - */ -glob_pars *parse_args(int argc, char **argv){ - int i; - void *ptr; - ptr = memcpy(&G, &Gdefault, sizeof(G)); assert(ptr); - // format of help: "Usage: progname [args]\n" - change_helpstring("Usage: %s [args]\n\n\tWhere args are:\n"); - // parse arguments - parseargs(&argc, &argv, cmdlnopts); - if(help) showhelp(-1, cmdlnopts); - if(argc > 0){ - G.rest_pars_num = argc; - G.rest_pars = calloc(argc, sizeof(char*)); - for (i = 0; i < argc; i++) - G.rest_pars[i] = strdup(argv[i]); - } - return &G; -} - diff --git a/astrosib_utils/domedaemon/cmdlnopts.h b/astrosib_utils/domedaemon/cmdlnopts.h deleted file mode 100644 index 712e140..0000000 --- a/astrosib_utils/domedaemon/cmdlnopts.h +++ /dev/null @@ -1,44 +0,0 @@ -/* geany_encoding=koi8-r - * cmdlnopts.h - comand line options for parceargs - * - * Copyright 2018 Edward V. Emelianoff - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#pragma once -#ifndef __CMDLNOPTS_H__ -#define __CMDLNOPTS_H__ - -#include "parseargs.h" -#include "term.h" - -/* - * here are some typedef's for global data - */ -typedef struct{ - char *device; // serial device name - char *port; // port to connect - char *logfile; // logfile name - int terminal; // run as terminal - int echo; // echo user commands back - int rest_pars_num; // number of rest parameters - char** rest_pars; // the rest parameters: array of char* (path to logfile and thrash) -} glob_pars; - - -glob_pars *parse_args(int argc, char **argv); -#endif // __CMDLNOPTS_H__ diff --git a/astrosib_utils/domedaemon/domedaemon.c.tags b/astrosib_utils/domedaemon/domedaemon.c.tags deleted file mode 100644 index eab52fa..0000000 --- a/astrosib_utils/domedaemon/domedaemon.c.tags +++ /dev/null @@ -1,5054 +0,0 @@ -# format=tagmanager -ACCESSPERMSÌ65536Ö0 -ADJ_ESTERRORÌ65536Ö0 -ADJ_FREQUENCYÌ65536Ö0 -ADJ_MAXERRORÌ65536Ö0 -ADJ_MICROÌ65536Ö0 -ADJ_NANOÌ65536Ö0 -ADJ_OFFSETÌ65536Ö0 -ADJ_OFFSET_SINGLESHOTÌ65536Ö0 -ADJ_OFFSET_SS_READÌ65536Ö0 -ADJ_SETOFFSETÌ65536Ö0 -ADJ_STATUSÌ65536Ö0 -ADJ_TAIÌ65536Ö0 -ADJ_TICKÌ65536Ö0 -ADJ_TIMECONSTÌ65536Ö0 -AF_ALGÌ65536Ö0 -AF_APPLETALKÌ65536Ö0 -AF_ASHÌ65536Ö0 -AF_ATMPVCÌ65536Ö0 -AF_ATMSVCÌ65536Ö0 -AF_AX25Ì65536Ö0 -AF_BLUETOOTHÌ65536Ö0 -AF_BRIDGEÌ65536Ö0 -AF_CAIFÌ65536Ö0 -AF_CANÌ65536Ö0 -AF_DECnetÌ65536Ö0 -AF_ECONETÌ65536Ö0 -AF_FILEÌ65536Ö0 -AF_IBÌ65536Ö0 -AF_IEEE802154Ì65536Ö0 -AF_INETÌ65536Ö0 -AF_INET6Ì65536Ö0 -AF_IPXÌ65536Ö0 -AF_IRDAÌ65536Ö0 -AF_ISDNÌ65536Ö0 -AF_IUCVÌ65536Ö0 -AF_KCMÌ65536Ö0 -AF_KEYÌ65536Ö0 -AF_LLCÌ65536Ö0 -AF_LOCALÌ65536Ö0 -AF_MAXÌ65536Ö0 -AF_MPLSÌ65536Ö0 -AF_NETBEUIÌ65536Ö0 -AF_NETLINKÌ65536Ö0 -AF_NETROMÌ65536Ö0 -AF_NFCÌ65536Ö0 -AF_PACKETÌ65536Ö0 -AF_PHONETÌ65536Ö0 -AF_PPPOXÌ65536Ö0 -AF_QIPCRTRÌ65536Ö0 -AF_RDSÌ65536Ö0 -AF_ROSEÌ65536Ö0 -AF_ROUTEÌ65536Ö0 -AF_RXRPCÌ65536Ö0 -AF_SECURITYÌ65536Ö0 -AF_SNAÌ65536Ö0 -AF_TIPCÌ65536Ö0 -AF_UNIXÌ65536Ö0 -AF_UNSPECÌ65536Ö0 -AF_VSOCKÌ65536Ö0 -AF_WANPIPEÌ65536Ö0 -AF_X25Ì65536Ö0 -AIO_PRIO_DELTA_MAXÌ65536Ö0 -AI_ADDRCONFIGÌ65536Ö0 -AI_ALLÌ65536Ö0 -AI_CANONIDNÌ65536Ö0 -AI_CANONNAMEÌ65536Ö0 -AI_IDNÌ65536Ö0 -AI_IDN_ALLOW_UNASSIGNEDÌ65536Ö0 -AI_IDN_USE_STD3_ASCII_RULESÌ65536Ö0 -AI_NUMERICHOSTÌ65536Ö0 -AI_NUMERICSERVÌ65536Ö0 -AI_PASSIVEÌ65536Ö0 -AI_V4MAPPEDÌ65536Ö0 -ALLOCÌ131072Í(type,var,size)Ö0 -ALLPERMSÌ65536Ö0 -APTRÌ131072Í(x)Ö0 -ARG_MAXÌ65536Ö0 -AT_EACCESSÌ65536Ö0 -AT_EMPTY_PATHÌ65536Ö0 -AT_FDCWDÌ65536Ö0 -AT_NO_AUTOMOUNTÌ65536Ö0 -AT_REMOVEDIRÌ65536Ö0 -AT_SYMLINK_FOLLOWÌ65536Ö0 -AT_SYMLINK_NOFOLLOWÌ65536Ö0 -B0Ì65536Ö0 -B1000000Ì65536Ö0 -B110Ì65536Ö0 -B115200Ì65536Ö0 -B1152000Ì65536Ö0 -B1200Ì65536Ö0 -B134Ì65536Ö0 -B150Ì65536Ö0 -B1500000Ì65536Ö0 -B1800Ì65536Ö0 -B19200Ì65536Ö0 -B200Ì65536Ö0 -B2000000Ì65536Ö0 -B230400Ì65536Ö0 -B2400Ì65536Ö0 -B2500000Ì65536Ö0 -B300Ì65536Ö0 -B3000000Ì65536Ö0 -B3500000Ì65536Ö0 -B38400Ì65536Ö0 -B4000000Ì65536Ö0 -B460800Ì65536Ö0 -B4800Ì65536Ö0 -B50Ì65536Ö0 -B500000Ì65536Ö0 -B57600Ì65536Ö0 -B576000Ì65536Ö0 -B600Ì65536Ö0 -B75Ì65536Ö0 -B921600Ì65536Ö0 -B9600Ì65536Ö0 -BACKLOGÌ65536Ö0 -BAUD_RATEÌ65536Ö0 -BC_BASE_MAXÌ65536Ö0 -BC_DIM_MAXÌ65536Ö0 -BC_SCALE_MAXÌ65536Ö0 -BC_STRING_MAXÌ65536Ö0 -BIG_ENDIANÌ65536Ö0 -BRKINTÌ65536Ö0 -BS0Ì65536Ö0 -BS1Ì65536Ö0 -BSDLYÌ65536Ö0 -BUFLENÌ65536Ö0 -BUFSIZÌ65536Ö0 -BUS_ADRALNÌ65536Ö0 -BUS_ADRERRÌ65536Ö0 -BUS_MCEERR_AOÌ65536Ö0 -BUS_MCEERR_ARÌ65536Ö0 -BUS_OBJERRÌ65536Ö0 -BYTE_ORDERÌ65536Ö0 -CBAUDÌ65536Ö0 -CBAUDEXÌ65536Ö0 -CBRKÌ65536Ö0 -CCEQÌ131072Í(val,c)Ö0 -CDISCARDÌ65536Ö0 -CDSUSPÌ65536Ö0 -CEOFÌ65536Ö0 -CEOLÌ65536Ö0 -CEOTÌ65536Ö0 -CERASEÌ65536Ö0 -CFLUSHÌ65536Ö0 -CHARCLASS_NAME_MAXÌ65536Ö0 -CHAR_BITÌ65536Ö0 -CHAR_MAXÌ65536Ö0 -CHAR_MINÌ65536Ö0 -CHAR_WIDTHÌ65536Ö0 -CIBAUDÌ65536Ö0 -CINTRÌ65536Ö0 -CKILLÌ65536Ö0 -CLD_CONTINUEDÌ65536Ö0 -CLD_DUMPEDÌ65536Ö0 -CLD_EXITEDÌ65536Ö0 -CLD_KILLEDÌ65536Ö0 -CLD_STOPPEDÌ65536Ö0 -CLD_TRAPPEDÌ65536Ö0 -CLNEXTÌ65536Ö0 -CLOCALÌ65536Ö0 -CLOCKS_PER_SECÌ65536Ö0 -CLOCK_BOOTTIMEÌ65536Ö0 -CLOCK_BOOTTIME_ALARMÌ65536Ö0 -CLOCK_MONOTONICÌ65536Ö0 -CLOCK_MONOTONIC_COARSEÌ65536Ö0 -CLOCK_MONOTONIC_RAWÌ65536Ö0 -CLOCK_PROCESS_CPUTIME_IDÌ65536Ö0 -CLOCK_REALTIMEÌ65536Ö0 -CLOCK_REALTIME_ALARMÌ65536Ö0 -CLOCK_REALTIME_COARSEÌ65536Ö0 -CLOCK_TAIÌ65536Ö0 -CLOCK_THREAD_CPUTIME_IDÌ65536Ö0 -CLONE_CHILD_CLEARTIDÌ65536Ö0 -CLONE_CHILD_SETTIDÌ65536Ö0 -CLONE_DETACHEDÌ65536Ö0 -CLONE_FILESÌ65536Ö0 -CLONE_FSÌ65536Ö0 -CLONE_IOÌ65536Ö0 -CLONE_NEWCGROUPÌ65536Ö0 -CLONE_NEWIPCÌ65536Ö0 -CLONE_NEWNETÌ65536Ö0 -CLONE_NEWNSÌ65536Ö0 -CLONE_NEWPIDÌ65536Ö0 -CLONE_NEWUSERÌ65536Ö0 -CLONE_NEWUTSÌ65536Ö0 -CLONE_PARENTÌ65536Ö0 -CLONE_PARENT_SETTIDÌ65536Ö0 -CLONE_PTRACEÌ65536Ö0 -CLONE_SETTLSÌ65536Ö0 -CLONE_SIGHANDÌ65536Ö0 -CLONE_SYSVSEMÌ65536Ö0 -CLONE_THREADÌ65536Ö0 -CLONE_UNTRACEDÌ65536Ö0 -CLONE_VFORKÌ65536Ö0 -CLONE_VMÌ65536Ö0 -CMDGETLENÌ65536Ö0 -CMDWEALENÌ65536Ö0 -CMD_CLOSEÌ4Îanon_enum_19Ö0 -CMD_NONEÌ4Îanon_enum_19Ö0 -CMD_OPENÌ4Îanon_enum_19Ö0 -CMINÌ65536Ö0 -CMSG_ALIGNÌ131072Í(len)Ö0 -CMSG_DATAÌ131072Í(cmsg)Ö0 -CMSG_FIRSTHDRÌ131072Í(mhdr)Ö0 -CMSG_LENÌ131072Í(len)Ö0 -CMSG_NXTHDRÌ131072Í(mhdr,cmsg)Ö0 -CMSG_SPACEÌ131072Í(len)Ö0 -CMSPARÌ65536Ö0 -COLL_WEIGHTS_MAXÌ65536Ö0 -CPU_ALLOCÌ131072Í(count)Ö0 -CPU_ALLOC_SIZEÌ131072Í(count)Ö0 -CPU_ANDÌ131072Í(destset,srcset1,srcset2)Ö0 -CPU_AND_SÌ131072Í(setsize,destset,srcset1,srcset2)Ö0 -CPU_CLRÌ131072Í(cpu,cpusetp)Ö0 -CPU_CLR_SÌ131072Í(cpu,setsize,cpusetp)Ö0 -CPU_COUNTÌ131072Í(cpusetp)Ö0 -CPU_COUNT_SÌ131072Í(setsize,cpusetp)Ö0 -CPU_EQUALÌ131072Í(cpusetp1,cpusetp2)Ö0 -CPU_EQUAL_SÌ131072Í(setsize,cpusetp1,cpusetp2)Ö0 -CPU_FREEÌ131072Í(cpuset)Ö0 -CPU_ISSETÌ131072Í(cpu,cpusetp)Ö0 -CPU_ISSET_SÌ131072Í(cpu,setsize,cpusetp)Ö0 -CPU_ORÌ131072Í(destset,srcset1,srcset2)Ö0 -CPU_OR_SÌ131072Í(setsize,destset,srcset1,srcset2)Ö0 -CPU_SETÌ131072Í(cpu,cpusetp)Ö0 -CPU_SETSIZEÌ65536Ö0 -CPU_SET_SÌ131072Í(cpu,setsize,cpusetp)Ö0 -CPU_XORÌ131072Í(destset,srcset1,srcset2)Ö0 -CPU_XOR_SÌ131072Í(setsize,destset,srcset1,srcset2)Ö0 -CPU_ZEROÌ131072Í(cpusetp)Ö0 -CPU_ZERO_SÌ131072Í(setsize,cpusetp)Ö0 -CQUITÌ65536Ö0 -CR0Ì65536Ö0 -CR1Ì65536Ö0 -CR2Ì65536Ö0 -CR3Ì65536Ö0 -CRDLYÌ65536Ö0 -CREADÌ65536Ö0 -CREPRINTÌ65536Ö0 -CRPRNTÌ65536Ö0 -CRTSCTSÌ65536Ö0 -CS5Ì65536Ö0 -CS6Ì65536Ö0 -CS7Ì65536Ö0 -CS8Ì65536Ö0 -CSIGNALÌ65536Ö0 -CSIZEÌ65536Ö0 -CSTARTÌ65536Ö0 -CSTATUSÌ65536Ö0 -CSTOPÌ65536Ö0 -CSTOPBÌ65536Ö0 -CSUSPÌ65536Ö0 -CTIMEÌ65536Ö0 -CTRLÌ131072Í(x)Ö0 -CWERASEÌ65536Ö0 -DBGÌ131072Í(...)Ö0 -DBL_EPSILONÌ65536Ö0 -DEFAULT_PORTÌ65536Ö0 -DEFFILEMODEÌ65536Ö0 -DELAYTIMER_MAXÌ65536Ö0 -DN_ACCESSÌ65536Ö0 -DN_ATTRIBÌ65536Ö0 -DN_CREATEÌ65536Ö0 -DN_DELETEÌ65536Ö0 -DN_MODIFYÌ65536Ö0 -DN_MULTISHOTÌ65536Ö0 -DN_RENAMEÌ65536Ö0 -DOMAINÌ65536Ö0 -E2BIGÌ65536Ö0 -EACCESÌ65536Ö0 -EADDRINUSEÌ65536Ö0 -EADDRNOTAVAILÌ65536Ö0 -EADVÌ65536Ö0 -EAFNOSUPPORTÌ65536Ö0 -EAGAINÌ65536Ö0 -EAI_ADDRFAMILYÌ65536Ö0 -EAI_AGAINÌ65536Ö0 -EAI_ALLDONEÌ65536Ö0 -EAI_BADFLAGSÌ65536Ö0 -EAI_CANCELEDÌ65536Ö0 -EAI_FAILÌ65536Ö0 -EAI_FAMILYÌ65536Ö0 -EAI_IDN_ENCODEÌ65536Ö0 -EAI_INPROGRESSÌ65536Ö0 -EAI_INTRÌ65536Ö0 -EAI_MEMORYÌ65536Ö0 -EAI_NODATAÌ65536Ö0 -EAI_NONAMEÌ65536Ö0 -EAI_NOTCANCELEDÌ65536Ö0 -EAI_OVERFLOWÌ65536Ö0 -EAI_SERVICEÌ65536Ö0 -EAI_SOCKTYPEÌ65536Ö0 -EAI_SYSTEMÌ65536Ö0 -EALREADYÌ65536Ö0 -EBADEÌ65536Ö0 -EBADFÌ65536Ö0 -EBADFDÌ65536Ö0 -EBADMSGÌ65536Ö0 -EBADRÌ65536Ö0 -EBADRQCÌ65536Ö0 -EBADSLTÌ65536Ö0 -EBFONTÌ65536Ö0 -EBUSYÌ65536Ö0 -ECANCELEDÌ65536Ö0 -ECHILDÌ65536Ö0 -ECHOÌ65536Ö0 -ECHOCTLÌ65536Ö0 -ECHOEÌ65536Ö0 -ECHOKÌ65536Ö0 -ECHOKEÌ65536Ö0 -ECHONLÌ65536Ö0 -ECHOPRTÌ65536Ö0 -ECHRNGÌ65536Ö0 -ECOMMÌ65536Ö0 -ECONNABORTEDÌ65536Ö0 -ECONNREFUSEDÌ65536Ö0 -ECONNRESETÌ65536Ö0 -EDEADLKÌ65536Ö0 -EDEADLOCKÌ65536Ö0 -EDESTADDRREQÌ65536Ö0 -EDOMÌ65536Ö0 -EDOTDOTÌ65536Ö0 -EDQUOTÌ65536Ö0 -EEXISTÌ65536Ö0 -EFAULTÌ65536Ö0 -EFBIGÌ65536Ö0 -EHOSTDOWNÌ65536Ö0 -EHOSTUNREACHÌ65536Ö0 -EHWPOISONÌ65536Ö0 -EIDRMÌ65536Ö0 -EILSEQÌ65536Ö0 -EINPROGRESSÌ65536Ö0 -EINTRÌ65536Ö0 -EINVALÌ65536Ö0 -EIOÌ65536Ö0 -EISCONNÌ65536Ö0 -EISDIRÌ65536Ö0 -EISNAMÌ65536Ö0 -EKEYEXPIREDÌ65536Ö0 -EKEYREJECTEDÌ65536Ö0 -EKEYREVOKEDÌ65536Ö0 -EL2HLTÌ65536Ö0 -EL2NSYNCÌ65536Ö0 -EL3HLTÌ65536Ö0 -EL3RSTÌ65536Ö0 -ELIBACCÌ65536Ö0 -ELIBBADÌ65536Ö0 -ELIBEXECÌ65536Ö0 -ELIBMAXÌ65536Ö0 -ELIBSCNÌ65536Ö0 -ELNRNGÌ65536Ö0 -ELOOPÌ65536Ö0 -EMEDIUMTYPEÌ65536Ö0 -EMFILEÌ65536Ö0 -EMLINKÌ65536Ö0 -EMSGSIZEÌ65536Ö0 -EMULTIHOPÌ65536Ö0 -ENAMETOOLONGÌ65536Ö0 -ENAVAILÌ65536Ö0 -ENETDOWNÌ65536Ö0 -ENETRESETÌ65536Ö0 -ENETUNREACHÌ65536Ö0 -ENFILEÌ65536Ö0 -ENOANOÌ65536Ö0 -ENOBUFSÌ65536Ö0 -ENOCSIÌ65536Ö0 -ENODATAÌ65536Ö0 -ENODEVÌ65536Ö0 -ENOENTÌ65536Ö0 -ENOEXECÌ65536Ö0 -ENOKEYÌ65536Ö0 -ENOLCKÌ65536Ö0 -ENOLINKÌ65536Ö0 -ENOMEDIUMÌ65536Ö0 -ENOMEMÌ65536Ö0 -ENOMSGÌ65536Ö0 -ENONETÌ65536Ö0 -ENOPKGÌ65536Ö0 -ENOPROTOOPTÌ65536Ö0 -ENOSPCÌ65536Ö0 -ENOSRÌ65536Ö0 -ENOSTRÌ65536Ö0 -ENOSYSÌ65536Ö0 -ENOTBLKÌ65536Ö0 -ENOTCONNÌ65536Ö0 -ENOTDIRÌ65536Ö0 -ENOTEMPTYÌ65536Ö0 -ENOTNAMÌ65536Ö0 -ENOTRECOVERABLEÌ65536Ö0 -ENOTSOCKÌ65536Ö0 -ENOTSUPÌ65536Ö0 -ENOTTYÌ65536Ö0 -ENOTUNIQÌ65536Ö0 -ENXIOÌ65536Ö0 -EOFÌ65536Ö0 -EOPNOTSUPPÌ65536Ö0 -EOVERFLOWÌ65536Ö0 -EOWNERDEADÌ65536Ö0 -EPERMÌ65536Ö0 -EPFNOSUPPORTÌ65536Ö0 -EPIPEÌ65536Ö0 -EPROTOÌ65536Ö0 -EPROTONOSUPPORTÌ65536Ö0 -EPROTOTYPEÌ65536Ö0 -ERANGEÌ65536Ö0 -EREMCHGÌ65536Ö0 -EREMOTEÌ65536Ö0 -EREMOTEIOÌ65536Ö0 -ERESTARTÌ65536Ö0 -ERFKILLÌ65536Ö0 -EROFSÌ65536Ö0 -ERRÌ131072Í(...)Ö0 -ERRXÌ131072Í(...)Ö0 -ESHUTDOWNÌ65536Ö0 -ESOCKTNOSUPPORTÌ65536Ö0 -ESPIPEÌ65536Ö0 -ESRCHÌ65536Ö0 -ESRMNTÌ65536Ö0 -ESTALEÌ65536Ö0 -ESTRPIPEÌ65536Ö0 -ETIMEÌ65536Ö0 -ETIMEDOUTÌ65536Ö0 -ETOOMANYREFSÌ65536Ö0 -ETXTBSYÌ65536Ö0 -EUCLEANÌ65536Ö0 -EUNATCHÌ65536Ö0 -EUSERSÌ65536Ö0 -EWOULDBLOCKÌ65536Ö0 -EXDEVÌ65536Ö0 -EXFULLÌ65536Ö0 -EXIT_FAILUREÌ65536Ö0 -EXIT_SUCCESSÌ65536Ö0 -EXPR_NEST_MAXÌ65536Ö0 -EXTAÌ65536Ö0 -EXTBÌ65536Ö0 -EXTPROCÌ65536Ö0 -FALLOC_FL_COLLAPSE_RANGEÌ65536Ö0 -FALLOC_FL_INSERT_RANGEÌ65536Ö0 -FALLOC_FL_KEEP_SIZEÌ65536Ö0 -FALLOC_FL_NO_HIDE_STALEÌ65536Ö0 -FALLOC_FL_PUNCH_HOLEÌ65536Ö0 -FALLOC_FL_UNSHARE_RANGEÌ65536Ö0 -FALLOC_FL_ZERO_RANGEÌ65536Ö0 -FALSEÌ65536Ö0 -FAPPENDÌ65536Ö0 -FASYNCÌ65536Ö0 -FD_CLOEXECÌ65536Ö0 -FD_CLRÌ131072Í(fd,fdsetp)Ö0 -FD_ISSETÌ131072Í(fd,fdsetp)Ö0 -FD_SETÌ131072Í(fd,fdsetp)Ö0 -FD_SETSIZEÌ65536Ö0 -FD_ZEROÌ131072Í(fdsetp)Ö0 -FF0Ì65536Ö0 -FF1Ì65536Ö0 -FFDLYÌ65536Ö0 -FFSYNCÌ65536Ö0 -FILENAME_MAXÌ65536Ö0 -FIOASYNCÌ65536Ö0 -FIOCLEXÌ65536Ö0 -FIOGETOWNÌ65536Ö0 -FIONBIOÌ65536Ö0 -FIONCLEXÌ65536Ö0 -FIONREADÌ65536Ö0 -FIOQSIZEÌ65536Ö0 -FIOSETOWNÌ65536Ö0 -FLUSHOÌ65536Ö0 -FNAMEÌ131072Í()Ö0 -FNDELAYÌ65536Ö0 -FNONBLOCKÌ65536Ö0 -FOPEN_MAXÌ65536Ö0 -FPE_FLTDIVÌ65536Ö0 -FPE_FLTINVÌ65536Ö0 -FPE_FLTOVFÌ65536Ö0 -FPE_FLTRESÌ65536Ö0 -FPE_FLTSUBÌ65536Ö0 -FPE_FLTUNDÌ65536Ö0 -FPE_INTDIVÌ65536Ö0 -FPE_INTOVFÌ65536Ö0 -FP_ILOGB0Ì65536Ö0 -FP_ILOGBNANÌ65536Ö0 -FP_INFINITEÌ65536Ö0 -FP_INT_DOWNWARDÌ65536Ö0 -FP_INT_TONEARESTÌ65536Ö0 -FP_INT_TONEARESTFROMZEROÌ65536Ö0 -FP_INT_TOWARDZEROÌ65536Ö0 -FP_INT_UPWARDÌ65536Ö0 -FP_LLOGB0Ì65536Ö0 -FP_LLOGBNANÌ65536Ö0 -FP_NANÌ65536Ö0 -FP_NORMALÌ65536Ö0 -FP_SUBNORMALÌ65536Ö0 -FP_XSTATE_MAGIC1Ì65536Ö0 -FP_XSTATE_MAGIC2Ì65536Ö0 -FP_XSTATE_MAGIC2_SIZEÌ65536Ö0 -FP_ZEROÌ65536Ö0 -FRAME_MAX_LENGTHÌ65536Ö0 -FREEÌ131072Í(ptr)Ö0 -F_DUPFDÌ65536Ö0 -F_DUPFD_CLOEXECÌ65536Ö0 -F_EXLCKÌ65536Ö0 -F_GETFDÌ65536Ö0 -F_GETFLÌ65536Ö0 -F_GETLEASEÌ65536Ö0 -F_GETLKÌ65536Ö0 -F_GETLK64Ì65536Ö0 -F_GETOWNÌ65536Ö0 -F_GETOWN_EXÌ65536Ö0 -F_GETPIPE_SZÌ65536Ö0 -F_GETSIGÌ65536Ö0 -F_LOCKÌ65536Ö0 -F_NOTIFYÌ65536Ö0 -F_OFD_GETLKÌ65536Ö0 -F_OFD_SETLKÌ65536Ö0 -F_OFD_SETLKWÌ65536Ö0 -F_OKÌ65536Ö0 -F_RDLCKÌ65536Ö0 -F_SETFDÌ65536Ö0 -F_SETFLÌ65536Ö0 -F_SETLEASEÌ65536Ö0 -F_SETLKÌ65536Ö0 -F_SETLK64Ì65536Ö0 -F_SETLKWÌ65536Ö0 -F_SETLKW64Ì65536Ö0 -F_SETOWNÌ65536Ö0 -F_SETOWN_EXÌ65536Ö0 -F_SETPIPE_SZÌ65536Ö0 -F_SETSIGÌ65536Ö0 -F_SHLCKÌ65536Ö0 -F_TESTÌ65536Ö0 -F_TLOCKÌ65536Ö0 -F_ULOCKÌ65536Ö0 -F_UNLCKÌ65536Ö0 -F_WRLCKÌ65536Ö0 -FlogÌ16384Ö0ÏFILE * -GÌ16384Ö0Ïglob_pars -GAI_NOWAITÌ65536Ö0 -GAI_WAITÌ65536Ö0 -GPÌ16384Ö0Ïglob_pars * -GPÌ32768Ö0Ïglob_pars * -GREENÌ65536Ö0 -GROUP_FILTER_SIZEÌ131072Í(numsrc)Ö0 -GdefaultÌ16384Ö0Ïglob_pars const -HOST_NAME_MAXÌ65536Ö0 -HOST_NOT_FOUNDÌ65536Ö0 -HUGEÌ65536Ö0 -HUGE_VALÌ65536Ö0 -HUGE_VALFÌ65536Ö0 -HUGE_VALLÌ65536Ö0 -HUPCLÌ65536Ö0 -ICANONÌ65536Ö0 -ICRNLÌ65536Ö0 -IEXTENÌ65536Ö0 -IGNBRKÌ65536Ö0 -IGNCRÌ65536Ö0 -IGNPARÌ65536Ö0 -ILL_BADSTKÌ65536Ö0 -ILL_COPROCÌ65536Ö0 -ILL_ILLADRÌ65536Ö0 -ILL_ILLOPCÌ65536Ö0 -ILL_ILLOPNÌ65536Ö0 -ILL_ILLTRPÌ65536Ö0 -ILL_PRVOPCÌ65536Ö0 -ILL_PRVREGÌ65536Ö0 -IMAXBELÌ65536Ö0 -IN6ADDR_ANY_INITÌ65536Ö0 -IN6ADDR_LOOPBACK_INITÌ65536Ö0 -IN6_ARE_ADDR_EQUALÌ131072Í(a,b)Ö0 -IN6_IS_ADDR_LINKLOCALÌ131072Í(a)Ö0 -IN6_IS_ADDR_LOOPBACKÌ131072Í(a)Ö0 -IN6_IS_ADDR_MC_GLOBALÌ131072Í(a)Ö0 -IN6_IS_ADDR_MC_LINKLOCALÌ131072Í(a)Ö0 -IN6_IS_ADDR_MC_NODELOCALÌ131072Í(a)Ö0 -IN6_IS_ADDR_MC_ORGLOCALÌ131072Í(a)Ö0 -IN6_IS_ADDR_MC_SITELOCALÌ131072Í(a)Ö0 -IN6_IS_ADDR_MULTICASTÌ131072Í(a)Ö0 -IN6_IS_ADDR_SITELOCALÌ131072Í(a)Ö0 -IN6_IS_ADDR_UNSPECIFIEDÌ131072Í(a)Ö0 -IN6_IS_ADDR_V4COMPATÌ131072Í(a)Ö0 -IN6_IS_ADDR_V4MAPPEDÌ131072Í(a)Ö0 -INADDR_ALLHOSTS_GROUPÌ65536Ö0 -INADDR_ALLRTRS_GROUPÌ65536Ö0 -INADDR_ANYÌ65536Ö0 -INADDR_BROADCASTÌ65536Ö0 -INADDR_LOOPBACKÌ65536Ö0 -INADDR_MAX_LOCAL_GROUPÌ65536Ö0 -INADDR_NONEÌ65536Ö0 -INADDR_UNSPEC_GROUPÌ65536Ö0 -INET6_ADDRSTRLENÌ65536Ö0 -INET_ADDRSTRLENÌ65536Ö0 -INFINITYÌ65536Ö0 -INLCRÌ65536Ö0 -INPCKÌ65536Ö0 -INT16_CÌ131072Í(c)Ö0 -INT16_MAXÌ65536Ö0 -INT16_MINÌ65536Ö0 -INT16_WIDTHÌ65536Ö0 -INT32_CÌ131072Í(c)Ö0 -INT32_MAXÌ65536Ö0 -INT32_MINÌ65536Ö0 -INT32_WIDTHÌ65536Ö0 -INT64_CÌ131072Í(c)Ö0 -INT64_MAXÌ65536Ö0 -INT64_MINÌ65536Ö0 -INT64_WIDTHÌ65536Ö0 -INT8_CÌ131072Í(c)Ö0 -INT8_MAXÌ65536Ö0 -INT8_MINÌ65536Ö0 -INT8_WIDTHÌ65536Ö0 -INTMAX_CÌ131072Í(c)Ö0 -INTMAX_MAXÌ65536Ö0 -INTMAX_MINÌ65536Ö0 -INTMAX_WIDTHÌ65536Ö0 -INTPTR_MAXÌ65536Ö0 -INTPTR_MINÌ65536Ö0 -INTPTR_WIDTHÌ65536Ö0 -INT_FAST16_MAXÌ65536Ö0 -INT_FAST16_MINÌ65536Ö0 -INT_FAST16_WIDTHÌ65536Ö0 -INT_FAST32_MAXÌ65536Ö0 -INT_FAST32_MINÌ65536Ö0 -INT_FAST32_WIDTHÌ65536Ö0 -INT_FAST64_MAXÌ65536Ö0 -INT_FAST64_MINÌ65536Ö0 -INT_FAST64_WIDTHÌ65536Ö0 -INT_FAST8_MAXÌ65536Ö0 -INT_FAST8_MINÌ65536Ö0 -INT_FAST8_WIDTHÌ65536Ö0 -INT_LEAST16_MAXÌ65536Ö0 -INT_LEAST16_MINÌ65536Ö0 -INT_LEAST16_WIDTHÌ65536Ö0 -INT_LEAST32_MAXÌ65536Ö0 -INT_LEAST32_MINÌ65536Ö0 -INT_LEAST32_WIDTHÌ65536Ö0 -INT_LEAST64_MAXÌ65536Ö0 -INT_LEAST64_MINÌ65536Ö0 -INT_LEAST64_WIDTHÌ65536Ö0 -INT_LEAST8_MAXÌ65536Ö0 -INT_LEAST8_MINÌ65536Ö0 -INT_LEAST8_WIDTHÌ65536Ö0 -INT_MAXÌ65536Ö0 -INT_MINÌ65536Ö0 -INT_WIDTHÌ65536Ö0 -IN_BADCLASSÌ131072Í(a)Ö0 -IN_CLASSAÌ131072Í(a)Ö0 -IN_CLASSA_HOSTÌ65536Ö0 -IN_CLASSA_MAXÌ65536Ö0 -IN_CLASSA_NETÌ65536Ö0 -IN_CLASSA_NSHIFTÌ65536Ö0 -IN_CLASSBÌ131072Í(a)Ö0 -IN_CLASSB_HOSTÌ65536Ö0 -IN_CLASSB_MAXÌ65536Ö0 -IN_CLASSB_NETÌ65536Ö0 -IN_CLASSB_NSHIFTÌ65536Ö0 -IN_CLASSCÌ131072Í(a)Ö0 -IN_CLASSC_HOSTÌ65536Ö0 -IN_CLASSC_NETÌ65536Ö0 -IN_CLASSC_NSHIFTÌ65536Ö0 -IN_CLASSDÌ131072Í(a)Ö0 -IN_EXPERIMENTALÌ131072Í(a)Ö0 -IN_LOOPBACKNETÌ65536Ö0 -IN_MULTICASTÌ131072Í(a)Ö0 -IOCSIZE_MASKÌ65536Ö0 -IOCSIZE_SHIFTÌ65536Ö0 -IOC_INÌ65536Ö0 -IOC_INOUTÌ65536Ö0 -IOC_OUTÌ65536Ö0 -IOV_MAXÌ65536Ö0 -IPPORT_RESERVEDÌ65536Ö0 -IPPROTO_AHÌ65536Ö0 -IPPROTO_BEETPHÌ65536Ö0 -IPPROTO_COMPÌ65536Ö0 -IPPROTO_DCCPÌ65536Ö0 -IPPROTO_DSTOPTSÌ65536Ö0 -IPPROTO_EGPÌ65536Ö0 -IPPROTO_ENCAPÌ65536Ö0 -IPPROTO_ESPÌ65536Ö0 -IPPROTO_FRAGMENTÌ65536Ö0 -IPPROTO_GREÌ65536Ö0 -IPPROTO_HOPOPTSÌ65536Ö0 -IPPROTO_ICMPÌ65536Ö0 -IPPROTO_ICMPV6Ì65536Ö0 -IPPROTO_IDPÌ65536Ö0 -IPPROTO_IGMPÌ65536Ö0 -IPPROTO_IPÌ65536Ö0 -IPPROTO_IPIPÌ65536Ö0 -IPPROTO_IPV6Ì65536Ö0 -IPPROTO_MHÌ65536Ö0 -IPPROTO_MPLSÌ65536Ö0 -IPPROTO_MTPÌ65536Ö0 -IPPROTO_NONEÌ65536Ö0 -IPPROTO_PIMÌ65536Ö0 -IPPROTO_PUPÌ65536Ö0 -IPPROTO_RAWÌ65536Ö0 -IPPROTO_ROUTINGÌ65536Ö0 -IPPROTO_RSVPÌ65536Ö0 -IPPROTO_SCTPÌ65536Ö0 -IPPROTO_TCPÌ65536Ö0 -IPPROTO_TPÌ65536Ö0 -IPPROTO_UDPÌ65536Ö0 -IPPROTO_UDPLITEÌ65536Ö0 -IPV6_2292DSTOPTSÌ65536Ö0 -IPV6_2292HOPLIMITÌ65536Ö0 -IPV6_2292HOPOPTSÌ65536Ö0 -IPV6_2292PKTINFOÌ65536Ö0 -IPV6_2292PKTOPTIONSÌ65536Ö0 -IPV6_2292RTHDRÌ65536Ö0 -IPV6_ADDRFORMÌ65536Ö0 -IPV6_ADD_MEMBERSHIPÌ65536Ö0 -IPV6_AUTHHDRÌ65536Ö0 -IPV6_CHECKSUMÌ65536Ö0 -IPV6_DONTFRAGÌ65536Ö0 -IPV6_DROP_MEMBERSHIPÌ65536Ö0 -IPV6_DSTOPTSÌ65536Ö0 -IPV6_HDRINCLÌ65536Ö0 -IPV6_HOPLIMITÌ65536Ö0 -IPV6_HOPOPTSÌ65536Ö0 -IPV6_IPSEC_POLICYÌ65536Ö0 -IPV6_JOIN_ANYCASTÌ65536Ö0 -IPV6_JOIN_GROUPÌ65536Ö0 -IPV6_LEAVE_ANYCASTÌ65536Ö0 -IPV6_LEAVE_GROUPÌ65536Ö0 -IPV6_MTUÌ65536Ö0 -IPV6_MTU_DISCOVERÌ65536Ö0 -IPV6_MULTICAST_HOPSÌ65536Ö0 -IPV6_MULTICAST_IFÌ65536Ö0 -IPV6_MULTICAST_LOOPÌ65536Ö0 -IPV6_NEXTHOPÌ65536Ö0 -IPV6_PATHMTUÌ65536Ö0 -IPV6_PKTINFOÌ65536Ö0 -IPV6_PMTUDISC_DOÌ65536Ö0 -IPV6_PMTUDISC_DONTÌ65536Ö0 -IPV6_PMTUDISC_INTERFACEÌ65536Ö0 -IPV6_PMTUDISC_OMITÌ65536Ö0 -IPV6_PMTUDISC_PROBEÌ65536Ö0 -IPV6_PMTUDISC_WANTÌ65536Ö0 -IPV6_RECVDSTOPTSÌ65536Ö0 -IPV6_RECVERRÌ65536Ö0 -IPV6_RECVHOPLIMITÌ65536Ö0 -IPV6_RECVHOPOPTSÌ65536Ö0 -IPV6_RECVPATHMTUÌ65536Ö0 -IPV6_RECVPKTINFOÌ65536Ö0 -IPV6_RECVRTHDRÌ65536Ö0 -IPV6_RECVTCLASSÌ65536Ö0 -IPV6_ROUTER_ALERTÌ65536Ö0 -IPV6_RTHDRÌ65536Ö0 -IPV6_RTHDRDSTOPTSÌ65536Ö0 -IPV6_RTHDR_LOOSEÌ65536Ö0 -IPV6_RTHDR_STRICTÌ65536Ö0 -IPV6_RTHDR_TYPE_0Ì65536Ö0 -IPV6_RXDSTOPTSÌ65536Ö0 -IPV6_RXHOPOPTSÌ65536Ö0 -IPV6_TCLASSÌ65536Ö0 -IPV6_UNICAST_HOPSÌ65536Ö0 -IPV6_V6ONLYÌ65536Ö0 -IPV6_XFRM_POLICYÌ65536Ö0 -IP_ADD_MEMBERSHIPÌ65536Ö0 -IP_ADD_SOURCE_MEMBERSHIPÌ65536Ö0 -IP_BIND_ADDRESS_NO_PORTÌ65536Ö0 -IP_BLOCK_SOURCEÌ65536Ö0 -IP_CHECKSUMÌ65536Ö0 -IP_DEFAULT_MULTICAST_LOOPÌ65536Ö0 -IP_DEFAULT_MULTICAST_TTLÌ65536Ö0 -IP_DROP_MEMBERSHIPÌ65536Ö0 -IP_DROP_SOURCE_MEMBERSHIPÌ65536Ö0 -IP_FREEBINDÌ65536Ö0 -IP_HDRINCLÌ65536Ö0 -IP_IPSEC_POLICYÌ65536Ö0 -IP_MAX_MEMBERSHIPSÌ65536Ö0 -IP_MINTTLÌ65536Ö0 -IP_MSFILTERÌ65536Ö0 -IP_MSFILTER_SIZEÌ131072Í(numsrc)Ö0 -IP_MTUÌ65536Ö0 -IP_MTU_DISCOVERÌ65536Ö0 -IP_MULTICAST_ALLÌ65536Ö0 -IP_MULTICAST_IFÌ65536Ö0 -IP_MULTICAST_LOOPÌ65536Ö0 -IP_MULTICAST_TTLÌ65536Ö0 -IP_NODEFRAGÌ65536Ö0 -IP_OPTIONSÌ65536Ö0 -IP_ORIGDSTADDRÌ65536Ö0 -IP_PASSSECÌ65536Ö0 -IP_PKTINFOÌ65536Ö0 -IP_PKTOPTIONSÌ65536Ö0 -IP_PMTUDISCÌ65536Ö0 -IP_PMTUDISC_DOÌ65536Ö0 -IP_PMTUDISC_DONTÌ65536Ö0 -IP_PMTUDISC_INTERFACEÌ65536Ö0 -IP_PMTUDISC_OMITÌ65536Ö0 -IP_PMTUDISC_PROBEÌ65536Ö0 -IP_PMTUDISC_WANTÌ65536Ö0 -IP_RECVERRÌ65536Ö0 -IP_RECVOPTSÌ65536Ö0 -IP_RECVORIGDSTADDRÌ65536Ö0 -IP_RECVRETOPTSÌ65536Ö0 -IP_RECVTOSÌ65536Ö0 -IP_RECVTTLÌ65536Ö0 -IP_RETOPTSÌ65536Ö0 -IP_ROUTER_ALERTÌ65536Ö0 -IP_TOSÌ65536Ö0 -IP_TRANSPARENTÌ65536Ö0 -IP_TTLÌ65536Ö0 -IP_UNBLOCK_SOURCEÌ65536Ö0 -IP_UNICAST_IFÌ65536Ö0 -IP_XFRM_POLICYÌ65536Ö0 -ISIGÌ65536Ö0 -ISTRIPÌ65536Ö0 -ITIMER_PROFÌ65536Ö0 -ITIMER_REALÌ65536Ö0 -ITIMER_VIRTUALÌ65536Ö0 -IUCLCÌ65536Ö0 -IUTF8Ì65536Ö0 -IXANYÌ65536Ö0 -IXOFFÌ65536Ö0 -IXONÌ65536Ö0 -LC_ADDRESSÌ65536Ö0 -LC_ADDRESS_MASKÌ65536Ö0 -LC_ALLÌ65536Ö0 -LC_ALL_MASKÌ65536Ö0 -LC_COLLATEÌ65536Ö0 -LC_COLLATE_MASKÌ65536Ö0 -LC_CTYPEÌ65536Ö0 -LC_CTYPE_MASKÌ65536Ö0 -LC_GLOBAL_LOCALEÌ65536Ö0 -LC_IDENTIFICATIONÌ65536Ö0 -LC_IDENTIFICATION_MASKÌ65536Ö0 -LC_MEASUREMENTÌ65536Ö0 -LC_MEASUREMENT_MASKÌ65536Ö0 -LC_MESSAGESÌ65536Ö0 -LC_MESSAGES_MASKÌ65536Ö0 -LC_MONETARYÌ65536Ö0 -LC_MONETARY_MASKÌ65536Ö0 -LC_NAMEÌ65536Ö0 -LC_NAME_MASKÌ65536Ö0 -LC_NUMERICÌ65536Ö0 -LC_NUMERIC_MASKÌ65536Ö0 -LC_PAPERÌ65536Ö0 -LC_PAPER_MASKÌ65536Ö0 -LC_TELEPHONEÌ65536Ö0 -LC_TELEPHONE_MASKÌ65536Ö0 -LC_TIMEÌ65536Ö0 -LC_TIME_MASKÌ65536Ö0 -LINE_MAXÌ65536Ö0 -LINK_MAXÌ65536Ö0 -LITTLE_ENDIANÌ65536Ö0 -LLONG_MAXÌ65536Ö0 -LLONG_MINÌ65536Ö0 -LLONG_WIDTHÌ65536Ö0 -LOCK_EXÌ65536Ö0 -LOCK_MANDÌ65536Ö0 -LOCK_NBÌ65536Ö0 -LOCK_READÌ65536Ö0 -LOCK_RWÌ65536Ö0 -LOCK_SHÌ65536Ö0 -LOCK_UNÌ65536Ö0 -LOCK_WRITEÌ65536Ö0 -LOGIN_NAME_MAXÌ65536Ö0 -LONG_BITÌ65536Ö0 -LONG_LONG_MAXÌ65536Ö0 -LONG_LONG_MINÌ65536Ö0 -LONG_MAXÌ65536Ö0 -LONG_MINÌ65536Ö0 -LONG_WIDTHÌ65536Ö0 -LT_OBJDIRÌ65536Ö0 -L_INCRÌ65536Ö0 -L_SETÌ65536Ö0 -L_XTNDÌ65536Ö0 -L_ctermidÌ65536Ö0 -L_cuseridÌ65536Ö0 -L_tmpnamÌ65536Ö0 -MADV_DODUMPÌ65536Ö0 -MADV_DOFORKÌ65536Ö0 -MADV_DONTDUMPÌ65536Ö0 -MADV_DONTFORKÌ65536Ö0 -MADV_DONTNEEDÌ65536Ö0 -MADV_FREEÌ65536Ö0 -MADV_HUGEPAGEÌ65536Ö0 -MADV_HWPOISONÌ65536Ö0 -MADV_MERGEABLEÌ65536Ö0 -MADV_NOHUGEPAGEÌ65536Ö0 -MADV_NORMALÌ65536Ö0 -MADV_RANDOMÌ65536Ö0 -MADV_REMOVEÌ65536Ö0 -MADV_SEQUENTIALÌ65536Ö0 -MADV_UNMERGEABLEÌ65536Ö0 -MADV_WILLNEEDÌ65536Ö0 -MALLOCÌ131072Í(type,size)Ö0 -MAP_32BITÌ65536Ö0 -MAP_ANONÌ65536Ö0 -MAP_ANONYMOUSÌ65536Ö0 -MAP_DENYWRITEÌ65536Ö0 -MAP_EXECUTABLEÌ65536Ö0 -MAP_FAILEDÌ65536Ö0 -MAP_FILEÌ65536Ö0 -MAP_FIXEDÌ65536Ö0 -MAP_GROWSDOWNÌ65536Ö0 -MAP_HUGETLBÌ65536Ö0 -MAP_HUGE_MASKÌ65536Ö0 -MAP_HUGE_SHIFTÌ65536Ö0 -MAP_LOCKEDÌ65536Ö0 -MAP_NONBLOCKÌ65536Ö0 -MAP_NORESERVEÌ65536Ö0 -MAP_POPULATEÌ65536Ö0 -MAP_PRIVATEÌ65536Ö0 -MAP_SHAREDÌ65536Ö0 -MAP_STACKÌ65536Ö0 -MAP_TYPEÌ65536Ö0 -MATH_ERREXCEPTÌ65536Ö0 -MATH_ERRNOÌ65536Ö0 -MAX_CANONÌ65536Ö0 -MAX_HANDLE_SZÌ65536Ö0 -MAX_INPUTÌ65536Ö0 -MAX_MEMORY_DUMP_SIZEÌ65536Ö0 -MB_CUR_MAXÌ65536Ö0 -MB_LEN_MAXÌ65536Ö0 -MCAST_BLOCK_SOURCEÌ65536Ö0 -MCAST_EXCLUDEÌ65536Ö0 -MCAST_INCLUDEÌ65536Ö0 -MCAST_JOIN_GROUPÌ65536Ö0 -MCAST_JOIN_SOURCE_GROUPÌ65536Ö0 -MCAST_LEAVE_GROUPÌ65536Ö0 -MCAST_LEAVE_SOURCE_GROUPÌ65536Ö0 -MCAST_MSFILTERÌ65536Ö0 -MCAST_UNBLOCK_SOURCEÌ65536Ö0 -MCL_CURRENTÌ65536Ö0 -MCL_FUTUREÌ65536Ö0 -MCL_ONFAULTÌ65536Ö0 -MINSIGSTKSZÌ65536Ö0 -MOD_CLKAÌ65536Ö0 -MOD_CLKBÌ65536Ö0 -MOD_ESTERRORÌ65536Ö0 -MOD_FREQUENCYÌ65536Ö0 -MOD_MAXERRORÌ65536Ö0 -MOD_MICROÌ65536Ö0 -MOD_NANOÌ65536Ö0 -MOD_OFFSETÌ65536Ö0 -MOD_STATUSÌ65536Ö0 -MOD_TAIÌ65536Ö0 -MOD_TIMECONSTÌ65536Ö0 -MQ_PRIO_MAXÌ65536Ö0 -MREMAP_FIXEDÌ65536Ö0 -MREMAP_MAYMOVEÌ65536Ö0 -MSG_BATCHÌ65536Ö0 -MSG_CMSG_CLOEXECÌ65536Ö0 -MSG_CONFIRMÌ65536Ö0 -MSG_CTRUNCÌ65536Ö0 -MSG_DONTROUTEÌ65536Ö0 -MSG_DONTWAITÌ65536Ö0 -MSG_EORÌ65536Ö0 -MSG_ERRQUEUEÌ65536Ö0 -MSG_FASTOPENÌ65536Ö0 -MSG_FINÌ65536Ö0 -MSG_MOREÌ65536Ö0 -MSG_NOSIGNALÌ65536Ö0 -MSG_OOBÌ65536Ö0 -MSG_PEEKÌ65536Ö0 -MSG_PROXYÌ65536Ö0 -MSG_RSTÌ65536Ö0 -MSG_SYNÌ65536Ö0 -MSG_TRUNCÌ65536Ö0 -MSG_TRYHARDÌ65536Ö0 -MSG_WAITALLÌ65536Ö0 -MSG_WAITFORONEÌ65536Ö0 -MS_ASYNCÌ65536Ö0 -MS_INVALIDATEÌ65536Ö0 -MS_SYNCÌ65536Ö0 -MULT_PARÌ4Îanon_enum_1Ö0 -M_1_PIÌ65536Ö0 -M_1_PIlÌ65536Ö0 -M_2_PIÌ65536Ö0 -M_2_PIlÌ65536Ö0 -M_2_SQRTPIÌ65536Ö0 -M_2_SQRTPIlÌ65536Ö0 -M_EÌ65536Ö0 -M_ElÌ65536Ö0 -M_LN10Ì65536Ö0 -M_LN10lÌ65536Ö0 -M_LN2Ì65536Ö0 -M_LN2lÌ65536Ö0 -M_LOG10EÌ65536Ö0 -M_LOG10ElÌ65536Ö0 -M_LOG2EÌ65536Ö0 -M_LOG2ElÌ65536Ö0 -M_PIÌ65536Ö0 -M_PI_2Ì65536Ö0 -M_PI_2lÌ65536Ö0 -M_PI_4Ì65536Ö0 -M_PI_4lÌ65536Ö0 -M_PIlÌ65536Ö0 -M_SQRT1_2Ì65536Ö0 -M_SQRT1_2lÌ65536Ö0 -M_SQRT2Ì65536Ö0 -M_SQRT2lÌ65536Ö0 -My_mmapÌ16Í(char *filename)Ö0Ïmmapbuf * -My_mmapÌ1024Í(char *filename)Ö0Ïmmapbuf * -My_munmapÌ16Í(mmapbuf *b)Ö0Ïvoid -My_munmapÌ1024Í(mmapbuf *b)Ö0Ïvoid -NAME_MAXÌ65536Ö0 -NANÌ65536Ö0 -NCCÌ65536Ö0 -NCCSÌ65536Ö0 -NEED_ARGÌ4Îanon_enum_1Ö0 -NETDB_INTERNALÌ65536Ö0 -NETDB_SUCCESSÌ65536Ö0 -NFDBITSÌ65536Ö0 -NGREGÌ65536Ö0 -NGROUPS_MAXÌ65536Ö0 -NI_DGRAMÌ65536Ö0 -NI_IDNÌ65536Ö0 -NI_IDN_ALLOW_UNASSIGNEDÌ65536Ö0 -NI_IDN_USE_STD3_ASCII_RULESÌ65536Ö0 -NI_MAXHOSTÌ65536Ö0 -NI_MAXSERVÌ65536Ö0 -NI_NAMEREQDÌ65536Ö0 -NI_NOFQDNÌ65536Ö0 -NI_NUMERICHOSTÌ65536Ö0 -NI_NUMERICSERVÌ65536Ö0 -NL0Ì65536Ö0 -NL1Ì65536Ö0 -NLDLYÌ65536Ö0 -NL_ARGMAXÌ65536Ö0 -NL_LANGMAXÌ65536Ö0 -NL_MSGMAXÌ65536Ö0 -NL_NMAXÌ65536Ö0 -NL_SETMAXÌ65536Ö0 -NL_TEXTMAXÌ65536Ö0 -NOFLSHÌ65536Ö0 -NO_ADDRESSÌ65536Ö0 -NO_ARGSÌ4Îanon_enum_1Ö0 -NO_DATAÌ65536Ö0 -NO_RECOVERYÌ65536Ö0 -NR_OPENÌ65536Ö0 -NSIGÌ65536Ö0 -NULLÌ65536Ö0 -NZEROÌ65536Ö0 -N_Ì131072Í(String)Ö0 -N_6PACKÌ65536Ö0 -N_AX25Ì65536Ö0 -N_HCIÌ65536Ö0 -N_HDLCÌ65536Ö0 -N_IRDAÌ65536Ö0 -N_MASCÌ65536Ö0 -N_MOUSEÌ65536Ö0 -N_PPPÌ65536Ö0 -N_PROFIBUS_FDLÌ65536Ö0 -N_R3964Ì65536Ö0 -N_SLIPÌ65536Ö0 -N_SMSBLOCKÌ65536Ö0 -N_STRIPÌ65536Ö0 -N_SYNC_PPPÌ65536Ö0 -N_TTYÌ65536Ö0 -N_X25Ì65536Ö0 -OCRNLÌ65536Ö0 -OFDELÌ65536Ö0 -OFILLÌ65536Ö0 -OLCUCÌ65536Ö0 -OLDCOLORÌ65536Ö0 -ONLCRÌ65536Ö0 -ONLRETÌ65536Ö0 -ONOCRÌ65536Ö0 -OPEN_MAXÌ65536Ö0 -OPOSTÌ65536Ö0 -OPT_ARGÌ4Îanon_enum_1Ö0 -OVERFLOWÌ65536Ö0 -O_ACCMODEÌ65536Ö0 -O_APPENDÌ65536Ö0 -O_ASYNCÌ65536Ö0 -O_CLOEXECÌ65536Ö0 -O_CREATÌ65536Ö0 -O_DIRECTÌ65536Ö0 -O_DIRECTORYÌ65536Ö0 -O_DSYNCÌ65536Ö0 -O_EXCLÌ65536Ö0 -O_FSYNCÌ65536Ö0 -O_LARGEFILEÌ65536Ö0 -O_NDELAYÌ65536Ö0 -O_NOATIMEÌ65536Ö0 -O_NOCTTYÌ65536Ö0 -O_NOFOLLOWÌ65536Ö0 -O_NONBLOCKÌ65536Ö0 -O_PATHÌ65536Ö0 -O_RDONLYÌ65536Ö0 -O_RDWRÌ65536Ö0 -O_RSYNCÌ65536Ö0 -O_SYNCÌ65536Ö0 -O_TMPFILEÌ65536Ö0 -O_TRUNCÌ65536Ö0 -O_WRONLYÌ65536Ö0 -PARENBÌ65536Ö0 -PARMRKÌ65536Ö0 -PARODDÌ65536Ö0 -PATH_MAXÌ65536Ö0 -PDP_ENDIANÌ65536Ö0 -PENDINÌ65536Ö0 -PF_ALGÌ65536Ö0 -PF_APPLETALKÌ65536Ö0 -PF_ASHÌ65536Ö0 -PF_ATMPVCÌ65536Ö0 -PF_ATMSVCÌ65536Ö0 -PF_AX25Ì65536Ö0 -PF_BLUETOOTHÌ65536Ö0 -PF_BRIDGEÌ65536Ö0 -PF_CAIFÌ65536Ö0 -PF_CANÌ65536Ö0 -PF_DECnetÌ65536Ö0 -PF_ECONETÌ65536Ö0 -PF_FILEÌ65536Ö0 -PF_IBÌ65536Ö0 -PF_IEEE802154Ì65536Ö0 -PF_INETÌ65536Ö0 -PF_INET6Ì65536Ö0 -PF_IPXÌ65536Ö0 -PF_IRDAÌ65536Ö0 -PF_ISDNÌ65536Ö0 -PF_IUCVÌ65536Ö0 -PF_KCMÌ65536Ö0 -PF_KEYÌ65536Ö0 -PF_LLCÌ65536Ö0 -PF_LOCALÌ65536Ö0 -PF_MAXÌ65536Ö0 -PF_MPLSÌ65536Ö0 -PF_NETBEUIÌ65536Ö0 -PF_NETLINKÌ65536Ö0 -PF_NETROMÌ65536Ö0 -PF_NFCÌ65536Ö0 -PF_PACKETÌ65536Ö0 -PF_PHONETÌ65536Ö0 -PF_PPPOXÌ65536Ö0 -PF_QIPCRTRÌ65536Ö0 -PF_RDSÌ65536Ö0 -PF_ROSEÌ65536Ö0 -PF_ROUTEÌ65536Ö0 -PF_RXRPCÌ65536Ö0 -PF_SECURITYÌ65536Ö0 -PF_SNAÌ65536Ö0 -PF_TIPCÌ65536Ö0 -PF_UNIXÌ65536Ö0 -PF_UNSPECÌ65536Ö0 -PF_VSOCKÌ65536Ö0 -PF_WANPIPEÌ65536Ö0 -PF_X25Ì65536Ö0 -PIPE_BUFÌ65536Ö0 -PLOSSÌ65536Ö0 -POLL_ERRÌ65536Ö0 -POLL_HUPÌ65536Ö0 -POLL_INÌ65536Ö0 -POLL_MSGÌ65536Ö0 -POLL_OUTÌ65536Ö0 -POLL_PRIÌ65536Ö0 -POSIX_FADV_DONTNEEDÌ65536Ö0 -POSIX_FADV_NOREUSEÌ65536Ö0 -POSIX_FADV_NORMALÌ65536Ö0 -POSIX_FADV_RANDOMÌ65536Ö0 -POSIX_FADV_SEQUENTIALÌ65536Ö0 -POSIX_FADV_WILLNEEDÌ65536Ö0 -POSIX_MADV_DONTNEEDÌ65536Ö0 -POSIX_MADV_NORMALÌ65536Ö0 -POSIX_MADV_RANDOMÌ65536Ö0 -POSIX_MADV_SEQUENTIALÌ65536Ö0 -POSIX_MADV_WILLNEEDÌ65536Ö0 -PROT_EXECÌ65536Ö0 -PROT_GROWSDOWNÌ65536Ö0 -PROT_GROWSUPÌ65536Ö0 -PROT_NONEÌ65536Ö0 -PROT_READÌ65536Ö0 -PROT_WRITEÌ65536Ö0 -PR_CAPBSET_DROPÌ65536Ö0 -PR_CAPBSET_READÌ65536Ö0 -PR_CAP_AMBIENTÌ65536Ö0 -PR_CAP_AMBIENT_CLEAR_ALLÌ65536Ö0 -PR_CAP_AMBIENT_IS_SETÌ65536Ö0 -PR_CAP_AMBIENT_LOWERÌ65536Ö0 -PR_CAP_AMBIENT_RAISEÌ65536Ö0 -PR_ENDIAN_BIGÌ65536Ö0 -PR_ENDIAN_LITTLEÌ65536Ö0 -PR_ENDIAN_PPC_LITTLEÌ65536Ö0 -PR_FPEMU_NOPRINTÌ65536Ö0 -PR_FPEMU_SIGFPEÌ65536Ö0 -PR_FP_EXC_ASYNCÌ65536Ö0 -PR_FP_EXC_DISABLEDÌ65536Ö0 -PR_FP_EXC_DIVÌ65536Ö0 -PR_FP_EXC_INVÌ65536Ö0 -PR_FP_EXC_NONRECOVÌ65536Ö0 -PR_FP_EXC_OVFÌ65536Ö0 -PR_FP_EXC_PRECISEÌ65536Ö0 -PR_FP_EXC_RESÌ65536Ö0 -PR_FP_EXC_SW_ENABLEÌ65536Ö0 -PR_FP_EXC_UNDÌ65536Ö0 -PR_FP_MODE_FRÌ65536Ö0 -PR_FP_MODE_FREÌ65536Ö0 -PR_GET_CHILD_SUBREAPERÌ65536Ö0 -PR_GET_DUMPABLEÌ65536Ö0 -PR_GET_ENDIANÌ65536Ö0 -PR_GET_FPEMUÌ65536Ö0 -PR_GET_FPEXCÌ65536Ö0 -PR_GET_FP_MODEÌ65536Ö0 -PR_GET_KEEPCAPSÌ65536Ö0 -PR_GET_NAMEÌ65536Ö0 -PR_GET_NO_NEW_PRIVSÌ65536Ö0 -PR_GET_PDEATHSIGÌ65536Ö0 -PR_GET_SECCOMPÌ65536Ö0 -PR_GET_SECUREBITSÌ65536Ö0 -PR_GET_THP_DISABLEÌ65536Ö0 -PR_GET_TID_ADDRESSÌ65536Ö0 -PR_GET_TIMERSLACKÌ65536Ö0 -PR_GET_TIMINGÌ65536Ö0 -PR_GET_TSCÌ65536Ö0 -PR_GET_UNALIGNÌ65536Ö0 -PR_MCE_KILLÌ65536Ö0 -PR_MCE_KILL_CLEARÌ65536Ö0 -PR_MCE_KILL_DEFAULTÌ65536Ö0 -PR_MCE_KILL_EARLYÌ65536Ö0 -PR_MCE_KILL_GETÌ65536Ö0 -PR_MCE_KILL_LATEÌ65536Ö0 -PR_MCE_KILL_SETÌ65536Ö0 -PR_MPX_DISABLE_MANAGEMENTÌ65536Ö0 -PR_MPX_ENABLE_MANAGEMENTÌ65536Ö0 -PR_SET_CHILD_SUBREAPERÌ65536Ö0 -PR_SET_DUMPABLEÌ65536Ö0 -PR_SET_ENDIANÌ65536Ö0 -PR_SET_FPEMUÌ65536Ö0 -PR_SET_FPEXCÌ65536Ö0 -PR_SET_FP_MODEÌ65536Ö0 -PR_SET_KEEPCAPSÌ65536Ö0 -PR_SET_MMÌ65536Ö0 -PR_SET_MM_ARG_ENDÌ65536Ö0 -PR_SET_MM_ARG_STARTÌ65536Ö0 -PR_SET_MM_AUXVÌ65536Ö0 -PR_SET_MM_BRKÌ65536Ö0 -PR_SET_MM_END_CODEÌ65536Ö0 -PR_SET_MM_END_DATAÌ65536Ö0 -PR_SET_MM_ENV_ENDÌ65536Ö0 -PR_SET_MM_ENV_STARTÌ65536Ö0 -PR_SET_MM_EXE_FILEÌ65536Ö0 -PR_SET_MM_MAPÌ65536Ö0 -PR_SET_MM_MAP_SIZEÌ65536Ö0 -PR_SET_MM_START_BRKÌ65536Ö0 -PR_SET_MM_START_CODEÌ65536Ö0 -PR_SET_MM_START_DATAÌ65536Ö0 -PR_SET_MM_START_STACKÌ65536Ö0 -PR_SET_NAMEÌ65536Ö0 -PR_SET_NO_NEW_PRIVSÌ65536Ö0 -PR_SET_PDEATHSIGÌ65536Ö0 -PR_SET_PTRACERÌ65536Ö0 -PR_SET_PTRACER_ANYÌ65536Ö0 -PR_SET_SECCOMPÌ65536Ö0 -PR_SET_SECUREBITSÌ65536Ö0 -PR_SET_THP_DISABLEÌ65536Ö0 -PR_SET_TIMERSLACKÌ65536Ö0 -PR_SET_TIMINGÌ65536Ö0 -PR_SET_TSCÌ65536Ö0 -PR_SET_UNALIGNÌ65536Ö0 -PR_TASK_PERF_EVENTS_DISABLEÌ65536Ö0 -PR_TASK_PERF_EVENTS_ENABLEÌ65536Ö0 -PR_TIMING_STATISTICALÌ65536Ö0 -PR_TIMING_TIMESTAMPÌ65536Ö0 -PR_TSC_ENABLEÌ65536Ö0 -PR_TSC_SIGSEGVÌ65536Ö0 -PR_UNALIGN_NOPRINTÌ65536Ö0 -PR_UNALIGN_SIGBUSÌ65536Ö0 -PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NPÌ65536Ö0 -PTHREAD_BARRIER_SERIAL_THREADÌ65536Ö0 -PTHREAD_CANCELEDÌ65536Ö0 -PTHREAD_CANCEL_ASYNCHRONOUSÌ4Îanon_enum_18Ö0 -PTHREAD_CANCEL_ASYNCHRONOUSÌ65536Ö0 -PTHREAD_CANCEL_DEFERREDÌ4Îanon_enum_18Ö0 -PTHREAD_CANCEL_DEFERREDÌ65536Ö0 -PTHREAD_CANCEL_DISABLEÌ4Îanon_enum_17Ö0 -PTHREAD_CANCEL_DISABLEÌ65536Ö0 -PTHREAD_CANCEL_ENABLEÌ4Îanon_enum_17Ö0 -PTHREAD_CANCEL_ENABLEÌ65536Ö0 -PTHREAD_COND_INITIALIZERÌ65536Ö0 -PTHREAD_CREATE_DETACHEDÌ4Îanon_enum_9Ö0 -PTHREAD_CREATE_DETACHEDÌ65536Ö0 -PTHREAD_CREATE_JOINABLEÌ4Îanon_enum_9Ö0 -PTHREAD_CREATE_JOINABLEÌ65536Ö0 -PTHREAD_DESTRUCTOR_ITERATIONSÌ65536Ö0 -PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NPÌ65536Ö0 -PTHREAD_EXPLICIT_SCHEDÌ4Îanon_enum_14Ö0 -PTHREAD_EXPLICIT_SCHEDÌ65536Ö0 -PTHREAD_INHERIT_SCHEDÌ4Îanon_enum_14Ö0 -PTHREAD_INHERIT_SCHEDÌ65536Ö0 -PTHREAD_KEYS_MAXÌ65536Ö0 -PTHREAD_MUTEX_ADAPTIVE_NPÌ4Îanon_enum_10Ö0 -PTHREAD_MUTEX_DEFAULTÌ4Îanon_enum_10Ö0 -PTHREAD_MUTEX_ERRORCHECKÌ4Îanon_enum_10Ö0 -PTHREAD_MUTEX_ERRORCHECK_NPÌ4Îanon_enum_10Ö0 -PTHREAD_MUTEX_FAST_NPÌ4Îanon_enum_10Ö0 -PTHREAD_MUTEX_INITIALIZERÌ65536Ö0 -PTHREAD_MUTEX_NORMALÌ4Îanon_enum_10Ö0 -PTHREAD_MUTEX_RECURSIVEÌ4Îanon_enum_10Ö0 -PTHREAD_MUTEX_RECURSIVE_NPÌ4Îanon_enum_10Ö0 -PTHREAD_MUTEX_ROBUSTÌ4Îanon_enum_11Ö0 -PTHREAD_MUTEX_ROBUST_NPÌ4Îanon_enum_11Ö0 -PTHREAD_MUTEX_STALLEDÌ4Îanon_enum_11Ö0 -PTHREAD_MUTEX_STALLED_NPÌ4Îanon_enum_11Ö0 -PTHREAD_MUTEX_TIMED_NPÌ4Îanon_enum_10Ö0 -PTHREAD_ONCE_INITÌ65536Ö0 -PTHREAD_PRIO_INHERITÌ4Îanon_enum_12Ö0 -PTHREAD_PRIO_NONEÌ4Îanon_enum_12Ö0 -PTHREAD_PRIO_PROTECTÌ4Îanon_enum_12Ö0 -PTHREAD_PROCESS_PRIVATEÌ4Îanon_enum_16Ö0 -PTHREAD_PROCESS_PRIVATEÌ65536Ö0 -PTHREAD_PROCESS_SHAREDÌ4Îanon_enum_16Ö0 -PTHREAD_PROCESS_SHAREDÌ65536Ö0 -PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NPÌ65536Ö0 -PTHREAD_RWLOCK_DEFAULT_NPÌ4Îanon_enum_13Ö0 -PTHREAD_RWLOCK_INITIALIZERÌ65536Ö0 -PTHREAD_RWLOCK_PREFER_READER_NPÌ4Îanon_enum_13Ö0 -PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NPÌ4Îanon_enum_13Ö0 -PTHREAD_RWLOCK_PREFER_WRITER_NPÌ4Îanon_enum_13Ö0 -PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NPÌ65536Ö0 -PTHREAD_SCOPE_PROCESSÌ4Îanon_enum_15Ö0 -PTHREAD_SCOPE_PROCESSÌ65536Ö0 -PTHREAD_SCOPE_SYSTEMÌ4Îanon_enum_15Ö0 -PTHREAD_SCOPE_SYSTEMÌ65536Ö0 -PTHREAD_STACK_MINÌ65536Ö0 -PTHREAD_THREADS_MAXÌ65536Ö0 -PTRDIFF_MAXÌ65536Ö0 -PTRDIFF_MINÌ65536Ö0 -PTRDIFF_WIDTHÌ65536Ö0 -P_tmpdirÌ65536Ö0 -RAND_MAXÌ65536Ö0 -REDÌ65536Ö0 -REG_CR2Ì65536Ö0 -REG_CSGSFSÌ65536Ö0 -REG_EFLÌ65536Ö0 -REG_ERRÌ65536Ö0 -REG_OLDMASKÌ65536Ö0 -REG_R10Ì65536Ö0 -REG_R11Ì65536Ö0 -REG_R12Ì65536Ö0 -REG_R13Ì65536Ö0 -REG_R14Ì65536Ö0 -REG_R15Ì65536Ö0 -REG_R8Ì65536Ö0 -REG_R9Ì65536Ö0 -REG_RAXÌ65536Ö0 -REG_RBPÌ65536Ö0 -REG_RBXÌ65536Ö0 -REG_RCXÌ65536Ö0 -REG_RDIÌ65536Ö0 -REG_RDXÌ65536Ö0 -REG_RIPÌ65536Ö0 -REG_RSIÌ65536Ö0 -REG_RSPÌ65536Ö0 -REG_TRAPNOÌ65536Ö0 -RE_DUP_MAXÌ65536Ö0 -RTSIG_MAXÌ65536Ö0 -R_OKÌ65536Ö0 -SA_INTERRUPTÌ65536Ö0 -SA_NOCLDSTOPÌ65536Ö0 -SA_NOCLDWAITÌ65536Ö0 -SA_NODEFERÌ65536Ö0 -SA_NOMASKÌ65536Ö0 -SA_ONESHOTÌ65536Ö0 -SA_ONSTACKÌ65536Ö0 -SA_RESETHANDÌ65536Ö0 -SA_RESTARTÌ65536Ö0 -SA_SIGINFOÌ65536Ö0 -SA_STACKÌ65536Ö0 -SCHAR_MAXÌ65536Ö0 -SCHAR_MINÌ65536Ö0 -SCHAR_WIDTHÌ65536Ö0 -SCHED_BATCHÌ65536Ö0 -SCHED_FIFOÌ65536Ö0 -SCHED_IDLEÌ65536Ö0 -SCHED_OTHERÌ65536Ö0 -SCHED_RESET_ON_FORKÌ65536Ö0 -SCHED_RRÌ65536Ö0 -SCM_CREDENTIALSÌ65536Ö0 -SCM_RIGHTSÌ65536Ö0 -SCM_SRCRTÌ65536Ö0 -SCM_TIMESTAMPÌ65536Ö0 -SCM_TIMESTAMPINGÌ65536Ö0 -SCM_TIMESTAMPING_OPT_STATSÌ65536Ö0 -SCM_TIMESTAMPING_PKTINFOÌ65536Ö0 -SCM_TIMESTAMPNSÌ65536Ö0 -SCM_WIFI_STATUSÌ65536Ö0 -SCOPE_DELIMITERÌ65536Ö0 -SEEK_CURÌ65536Ö0 -SEEK_DATAÌ65536Ö0 -SEEK_ENDÌ65536Ö0 -SEEK_HOLEÌ65536Ö0 -SEEK_SETÌ65536Ö0 -SEGV_ACCERRÌ65536Ö0 -SEGV_MAPERRÌ65536Ö0 -SEM_VALUE_MAXÌ65536Ö0 -SHRT_MAXÌ65536Ö0 -SHRT_MINÌ65536Ö0 -SHRT_WIDTHÌ65536Ö0 -SHUT_RDÌ65536Ö0 -SHUT_RDWRÌ65536Ö0 -SHUT_WRÌ65536Ö0 -SIGABRTÌ65536Ö0 -SIGALRMÌ65536Ö0 -SIGBUSÌ65536Ö0 -SIGCHLDÌ65536Ö0 -SIGCLDÌ65536Ö0 -SIGCONTÌ65536Ö0 -SIGEV_NONEÌ65536Ö0 -SIGEV_SIGNALÌ65536Ö0 -SIGEV_THREADÌ65536Ö0 -SIGEV_THREAD_IDÌ65536Ö0 -SIGFPEÌ65536Ö0 -SIGHUPÌ65536Ö0 -SIGILLÌ65536Ö0 -SIGINTÌ65536Ö0 -SIGIOÌ65536Ö0 -SIGIOTÌ65536Ö0 -SIGKILLÌ65536Ö0 -SIGPIPEÌ65536Ö0 -SIGPOLLÌ65536Ö0 -SIGPROFÌ65536Ö0 -SIGPWRÌ65536Ö0 -SIGQUITÌ65536Ö0 -SIGRTMAXÌ65536Ö0 -SIGRTMINÌ65536Ö0 -SIGSEGVÌ65536Ö0 -SIGSTKFLTÌ65536Ö0 -SIGSTKSZÌ65536Ö0 -SIGSTOPÌ65536Ö0 -SIGSYSÌ65536Ö0 -SIGTERMÌ65536Ö0 -SIGTRAPÌ65536Ö0 -SIGTSTPÌ65536Ö0 -SIGTTINÌ65536Ö0 -SIGTTOUÌ65536Ö0 -SIGUNUSEDÌ65536Ö0 -SIGURGÌ65536Ö0 -SIGUSR1Ì65536Ö0 -SIGUSR2Ì65536Ö0 -SIGVTALRMÌ65536Ö0 -SIGWINCHÌ65536Ö0 -SIGXCPUÌ65536Ö0 -SIGXFSZÌ65536Ö0 -SIG_ATOMIC_MAXÌ65536Ö0 -SIG_ATOMIC_MINÌ65536Ö0 -SIG_ATOMIC_WIDTHÌ65536Ö0 -SIG_BLOCKÌ65536Ö0 -SIG_DFLÌ65536Ö0 -SIG_ERRÌ65536Ö0 -SIG_HOLDÌ65536Ö0 -SIG_IGNÌ65536Ö0 -SIG_SETMASKÌ65536Ö0 -SIG_UNBLOCKÌ65536Ö0 -SINGÌ65536Ö0 -SIOCADDDLCIÌ65536Ö0 -SIOCADDMULTIÌ65536Ö0 -SIOCADDRTÌ65536Ö0 -SIOCATMARKÌ65536Ö0 -SIOCDARPÌ65536Ö0 -SIOCDELDLCIÌ65536Ö0 -SIOCDELMULTIÌ65536Ö0 -SIOCDELRTÌ65536Ö0 -SIOCDEVPRIVATEÌ65536Ö0 -SIOCDIFADDRÌ65536Ö0 -SIOCDRARPÌ65536Ö0 -SIOCGARPÌ65536Ö0 -SIOCGIFADDRÌ65536Ö0 -SIOCGIFBRÌ65536Ö0 -SIOCGIFBRDADDRÌ65536Ö0 -SIOCGIFCONFÌ65536Ö0 -SIOCGIFCOUNTÌ65536Ö0 -SIOCGIFDSTADDRÌ65536Ö0 -SIOCGIFENCAPÌ65536Ö0 -SIOCGIFFLAGSÌ65536Ö0 -SIOCGIFHWADDRÌ65536Ö0 -SIOCGIFINDEXÌ65536Ö0 -SIOCGIFMAPÌ65536Ö0 -SIOCGIFMEMÌ65536Ö0 -SIOCGIFMETRICÌ65536Ö0 -SIOCGIFMTUÌ65536Ö0 -SIOCGIFNAMEÌ65536Ö0 -SIOCGIFNETMASKÌ65536Ö0 -SIOCGIFPFLAGSÌ65536Ö0 -SIOCGIFSLAVEÌ65536Ö0 -SIOCGIFTXQLENÌ65536Ö0 -SIOCGPGRPÌ65536Ö0 -SIOCGRARPÌ65536Ö0 -SIOCGSTAMPÌ65536Ö0 -SIOCGSTAMPNSÌ65536Ö0 -SIOCPROTOPRIVATEÌ65536Ö0 -SIOCRTMSGÌ65536Ö0 -SIOCSARPÌ65536Ö0 -SIOCSIFADDRÌ65536Ö0 -SIOCSIFBRÌ65536Ö0 -SIOCSIFBRDADDRÌ65536Ö0 -SIOCSIFDSTADDRÌ65536Ö0 -SIOCSIFENCAPÌ65536Ö0 -SIOCSIFFLAGSÌ65536Ö0 -SIOCSIFHWADDRÌ65536Ö0 -SIOCSIFHWBROADCASTÌ65536Ö0 -SIOCSIFLINKÌ65536Ö0 -SIOCSIFMAPÌ65536Ö0 -SIOCSIFMEMÌ65536Ö0 -SIOCSIFMETRICÌ65536Ö0 -SIOCSIFMTUÌ65536Ö0 -SIOCSIFNAMEÌ65536Ö0 -SIOCSIFNETMASKÌ65536Ö0 -SIOCSIFPFLAGSÌ65536Ö0 -SIOCSIFSLAVEÌ65536Ö0 -SIOCSIFTXQLENÌ65536Ö0 -SIOCSPGRPÌ65536Ö0 -SIOCSRARPÌ65536Ö0 -SIOGIFINDEXÌ65536Ö0 -SIZE_MAXÌ65536Ö0 -SIZE_WIDTHÌ65536Ö0 -SI_ASYNCIOÌ65536Ö0 -SI_ASYNCNLÌ65536Ö0 -SI_KERNELÌ65536Ö0 -SI_MESGQÌ65536Ö0 -SI_QUEUEÌ65536Ö0 -SI_SIGIOÌ65536Ö0 -SI_TIMERÌ65536Ö0 -SI_TKILLÌ65536Ö0 -SI_USERÌ65536Ö0 -SNANÌ65536Ö0 -SNANFÌ65536Ö0 -SNANLÌ65536Ö0 -SOCKET_TIMEOUTÌ65536Ö0 -SOCK_CLOEXECÌ65536Ö0 -SOCK_DCCPÌ65536Ö0 -SOCK_DGRAMÌ65536Ö0 -SOCK_NONBLOCKÌ65536Ö0 -SOCK_PACKETÌ65536Ö0 -SOCK_RAWÌ65536Ö0 -SOCK_RDMÌ65536Ö0 -SOCK_SEQPACKETÌ65536Ö0 -SOCK_STREAMÌ65536Ö0 -SOL_AALÌ65536Ö0 -SOL_ALGÌ65536Ö0 -SOL_ATMÌ65536Ö0 -SOL_BLUETOOTHÌ65536Ö0 -SOL_CAIFÌ65536Ö0 -SOL_DCCPÌ65536Ö0 -SOL_DECNETÌ65536Ö0 -SOL_ICMPV6Ì65536Ö0 -SOL_IPÌ65536Ö0 -SOL_IPV6Ì65536Ö0 -SOL_IRDAÌ65536Ö0 -SOL_IUCVÌ65536Ö0 -SOL_KCMÌ65536Ö0 -SOL_LLCÌ65536Ö0 -SOL_NETBEUIÌ65536Ö0 -SOL_NETLINKÌ65536Ö0 -SOL_NFCÌ65536Ö0 -SOL_PACKETÌ65536Ö0 -SOL_PNPIPEÌ65536Ö0 -SOL_PPPOL2TPÌ65536Ö0 -SOL_RAWÌ65536Ö0 -SOL_RDSÌ65536Ö0 -SOL_RXRPCÌ65536Ö0 -SOL_SOCKETÌ65536Ö0 -SOL_TIPCÌ65536Ö0 -SOL_X25Ì65536Ö0 -SOMAXCONNÌ65536Ö0 -SO_ACCEPTCONNÌ65536Ö0 -SO_ATTACH_BPFÌ65536Ö0 -SO_ATTACH_FILTERÌ65536Ö0 -SO_ATTACH_REUSEPORT_CBPFÌ65536Ö0 -SO_ATTACH_REUSEPORT_EBPFÌ65536Ö0 -SO_BINDTODEVICEÌ65536Ö0 -SO_BPF_EXTENSIONSÌ65536Ö0 -SO_BROADCASTÌ65536Ö0 -SO_BSDCOMPATÌ65536Ö0 -SO_BUSY_POLLÌ65536Ö0 -SO_CNX_ADVICEÌ65536Ö0 -SO_COOKIEÌ65536Ö0 -SO_DEBUGÌ65536Ö0 -SO_DETACH_BPFÌ65536Ö0 -SO_DETACH_FILTERÌ65536Ö0 -SO_DOMAINÌ65536Ö0 -SO_DONTROUTEÌ65536Ö0 -SO_ERRORÌ65536Ö0 -SO_GET_FILTERÌ65536Ö0 -SO_INCOMING_CPUÌ65536Ö0 -SO_INCOMING_NAPI_IDÌ65536Ö0 -SO_KEEPALIVEÌ65536Ö0 -SO_LINGERÌ65536Ö0 -SO_LOCK_FILTERÌ65536Ö0 -SO_MARKÌ65536Ö0 -SO_MAX_PACING_RATEÌ65536Ö0 -SO_MEMINFOÌ65536Ö0 -SO_NOFCSÌ65536Ö0 -SO_NO_CHECKÌ65536Ö0 -SO_OOBINLINEÌ65536Ö0 -SO_PASSCREDÌ65536Ö0 -SO_PASSSECÌ65536Ö0 -SO_PEEK_OFFÌ65536Ö0 -SO_PEERCREDÌ65536Ö0 -SO_PEERGROUPSÌ65536Ö0 -SO_PEERNAMEÌ65536Ö0 -SO_PEERSECÌ65536Ö0 -SO_PRIORITYÌ65536Ö0 -SO_PROTOCOLÌ65536Ö0 -SO_RCVBUFÌ65536Ö0 -SO_RCVBUFFORCEÌ65536Ö0 -SO_RCVLOWATÌ65536Ö0 -SO_RCVTIMEOÌ65536Ö0 -SO_REUSEADDRÌ65536Ö0 -SO_REUSEPORTÌ65536Ö0 -SO_RXQ_OVFLÌ65536Ö0 -SO_SECURITY_AUTHENTICATIONÌ65536Ö0 -SO_SECURITY_ENCRYPTION_NETWORKÌ65536Ö0 -SO_SECURITY_ENCRYPTION_TRANSPORTÌ65536Ö0 -SO_SELECT_ERR_QUEUEÌ65536Ö0 -SO_SNDBUFÌ65536Ö0 -SO_SNDBUFFORCEÌ65536Ö0 -SO_SNDLOWATÌ65536Ö0 -SO_SNDTIMEOÌ65536Ö0 -SO_TIMESTAMPÌ65536Ö0 -SO_TIMESTAMPINGÌ65536Ö0 -SO_TIMESTAMPNSÌ65536Ö0 -SO_TYPEÌ65536Ö0 -SO_WIFI_STATUSÌ65536Ö0 -SPLICE_F_GIFTÌ65536Ö0 -SPLICE_F_MOREÌ65536Ö0 -SPLICE_F_MOVEÌ65536Ö0 -SPLICE_F_NONBLOCKÌ65536Ö0 -SSIZE_MAXÌ65536Ö0 -SS_DISABLEÌ65536Ö0 -SS_ONSTACKÌ65536Ö0 -STA_CLKÌ65536Ö0 -STA_CLOCKERRÌ65536Ö0 -STA_DELÌ65536Ö0 -STA_FLLÌ65536Ö0 -STA_FREQHOLDÌ65536Ö0 -STA_INSÌ65536Ö0 -STA_MODEÌ65536Ö0 -STA_NANOÌ65536Ö0 -STA_PLLÌ65536Ö0 -STA_PPSERRORÌ65536Ö0 -STA_PPSFREQÌ65536Ö0 -STA_PPSJITTERÌ65536Ö0 -STA_PPSSIGNALÌ65536Ö0 -STA_PPSTIMEÌ65536Ö0 -STA_PPSWANDERÌ65536Ö0 -STA_RONLYÌ65536Ö0 -STA_UNSYNCÌ65536Ö0 -STDC_HEADERSÌ65536Ö0 -STDERR_FILENOÌ65536Ö0 -STDIN_FILENOÌ65536Ö0 -STDOUT_FILENOÌ65536Ö0 -STRÌ131072Í(s)Ö0 -STR_HELPERÌ131072Í(s)Ö0 -SYNC_FILE_RANGE_WAIT_AFTERÌ65536Ö0 -SYNC_FILE_RANGE_WAIT_BEFOREÌ65536Ö0 -SYNC_FILE_RANGE_WRITEÌ65536Ö0 -SYS__sysctlÌ65536Ö0 -SYS_acceptÌ65536Ö0 -SYS_accept4Ì65536Ö0 -SYS_accessÌ65536Ö0 -SYS_acctÌ65536Ö0 -SYS_add_keyÌ65536Ö0 -SYS_adjtimexÌ65536Ö0 -SYS_afs_syscallÌ65536Ö0 -SYS_alarmÌ65536Ö0 -SYS_arch_prctlÌ65536Ö0 -SYS_bindÌ65536Ö0 -SYS_bpfÌ65536Ö0 -SYS_brkÌ65536Ö0 -SYS_capgetÌ65536Ö0 -SYS_capsetÌ65536Ö0 -SYS_chdirÌ65536Ö0 -SYS_chmodÌ65536Ö0 -SYS_chownÌ65536Ö0 -SYS_chrootÌ65536Ö0 -SYS_clock_adjtimeÌ65536Ö0 -SYS_clock_getresÌ65536Ö0 -SYS_clock_gettimeÌ65536Ö0 -SYS_clock_nanosleepÌ65536Ö0 -SYS_clock_settimeÌ65536Ö0 -SYS_cloneÌ65536Ö0 -SYS_closeÌ65536Ö0 -SYS_connectÌ65536Ö0 -SYS_copy_file_rangeÌ65536Ö0 -SYS_creatÌ65536Ö0 -SYS_create_moduleÌ65536Ö0 -SYS_delete_moduleÌ65536Ö0 -SYS_dupÌ65536Ö0 -SYS_dup2Ì65536Ö0 -SYS_dup3Ì65536Ö0 -SYS_epoll_createÌ65536Ö0 -SYS_epoll_create1Ì65536Ö0 -SYS_epoll_ctlÌ65536Ö0 -SYS_epoll_ctl_oldÌ65536Ö0 -SYS_epoll_pwaitÌ65536Ö0 -SYS_epoll_waitÌ65536Ö0 -SYS_epoll_wait_oldÌ65536Ö0 -SYS_eventfdÌ65536Ö0 -SYS_eventfd2Ì65536Ö0 -SYS_execveÌ65536Ö0 -SYS_execveatÌ65536Ö0 -SYS_exitÌ65536Ö0 -SYS_exit_groupÌ65536Ö0 -SYS_faccessatÌ65536Ö0 -SYS_fadvise64Ì65536Ö0 -SYS_fallocateÌ65536Ö0 -SYS_fanotify_initÌ65536Ö0 -SYS_fanotify_markÌ65536Ö0 -SYS_fchdirÌ65536Ö0 -SYS_fchmodÌ65536Ö0 -SYS_fchmodatÌ65536Ö0 -SYS_fchownÌ65536Ö0 -SYS_fchownatÌ65536Ö0 -SYS_fcntlÌ65536Ö0 -SYS_fdatasyncÌ65536Ö0 -SYS_fgetxattrÌ65536Ö0 -SYS_finit_moduleÌ65536Ö0 -SYS_flistxattrÌ65536Ö0 -SYS_flockÌ65536Ö0 -SYS_forkÌ65536Ö0 -SYS_fremovexattrÌ65536Ö0 -SYS_fsetxattrÌ65536Ö0 -SYS_fstatÌ65536Ö0 -SYS_fstatfsÌ65536Ö0 -SYS_fsyncÌ65536Ö0 -SYS_ftruncateÌ65536Ö0 -SYS_futexÌ65536Ö0 -SYS_futimesatÌ65536Ö0 -SYS_get_kernel_symsÌ65536Ö0 -SYS_get_mempolicyÌ65536Ö0 -SYS_get_robust_listÌ65536Ö0 -SYS_get_thread_areaÌ65536Ö0 -SYS_getcpuÌ65536Ö0 -SYS_getcwdÌ65536Ö0 -SYS_getdentsÌ65536Ö0 -SYS_getdents64Ì65536Ö0 -SYS_getegidÌ65536Ö0 -SYS_geteuidÌ65536Ö0 -SYS_getgidÌ65536Ö0 -SYS_getgroupsÌ65536Ö0 -SYS_getitimerÌ65536Ö0 -SYS_getpeernameÌ65536Ö0 -SYS_getpgidÌ65536Ö0 -SYS_getpgrpÌ65536Ö0 -SYS_getpidÌ65536Ö0 -SYS_getpmsgÌ65536Ö0 -SYS_getppidÌ65536Ö0 -SYS_getpriorityÌ65536Ö0 -SYS_getrandomÌ65536Ö0 -SYS_getresgidÌ65536Ö0 -SYS_getresuidÌ65536Ö0 -SYS_getrlimitÌ65536Ö0 -SYS_getrusageÌ65536Ö0 -SYS_getsidÌ65536Ö0 -SYS_getsocknameÌ65536Ö0 -SYS_getsockoptÌ65536Ö0 -SYS_gettidÌ65536Ö0 -SYS_gettimeofdayÌ65536Ö0 -SYS_getuidÌ65536Ö0 -SYS_getxattrÌ65536Ö0 -SYS_init_moduleÌ65536Ö0 -SYS_inotify_add_watchÌ65536Ö0 -SYS_inotify_initÌ65536Ö0 -SYS_inotify_init1Ì65536Ö0 -SYS_inotify_rm_watchÌ65536Ö0 -SYS_io_cancelÌ65536Ö0 -SYS_io_destroyÌ65536Ö0 -SYS_io_geteventsÌ65536Ö0 -SYS_io_setupÌ65536Ö0 -SYS_io_submitÌ65536Ö0 -SYS_ioctlÌ65536Ö0 -SYS_iopermÌ65536Ö0 -SYS_ioplÌ65536Ö0 -SYS_ioprio_getÌ65536Ö0 -SYS_ioprio_setÌ65536Ö0 -SYS_kcmpÌ65536Ö0 -SYS_kexec_file_loadÌ65536Ö0 -SYS_kexec_loadÌ65536Ö0 -SYS_keyctlÌ65536Ö0 -SYS_killÌ65536Ö0 -SYS_lchownÌ65536Ö0 -SYS_lgetxattrÌ65536Ö0 -SYS_linkÌ65536Ö0 -SYS_linkatÌ65536Ö0 -SYS_listenÌ65536Ö0 -SYS_listxattrÌ65536Ö0 -SYS_llistxattrÌ65536Ö0 -SYS_lookup_dcookieÌ65536Ö0 -SYS_lremovexattrÌ65536Ö0 -SYS_lseekÌ65536Ö0 -SYS_lsetxattrÌ65536Ö0 -SYS_lstatÌ65536Ö0 -SYS_madviseÌ65536Ö0 -SYS_mbindÌ65536Ö0 -SYS_membarrierÌ65536Ö0 -SYS_memfd_createÌ65536Ö0 -SYS_migrate_pagesÌ65536Ö0 -SYS_mincoreÌ65536Ö0 -SYS_mkdirÌ65536Ö0 -SYS_mkdiratÌ65536Ö0 -SYS_mknodÌ65536Ö0 -SYS_mknodatÌ65536Ö0 -SYS_mlockÌ65536Ö0 -SYS_mlock2Ì65536Ö0 -SYS_mlockallÌ65536Ö0 -SYS_mmapÌ65536Ö0 -SYS_modify_ldtÌ65536Ö0 -SYS_mountÌ65536Ö0 -SYS_move_pagesÌ65536Ö0 -SYS_mprotectÌ65536Ö0 -SYS_mq_getsetattrÌ65536Ö0 -SYS_mq_notifyÌ65536Ö0 -SYS_mq_openÌ65536Ö0 -SYS_mq_timedreceiveÌ65536Ö0 -SYS_mq_timedsendÌ65536Ö0 -SYS_mq_unlinkÌ65536Ö0 -SYS_mremapÌ65536Ö0 -SYS_msgctlÌ65536Ö0 -SYS_msggetÌ65536Ö0 -SYS_msgrcvÌ65536Ö0 -SYS_msgsndÌ65536Ö0 -SYS_msyncÌ65536Ö0 -SYS_munlockÌ65536Ö0 -SYS_munlockallÌ65536Ö0 -SYS_munmapÌ65536Ö0 -SYS_name_to_handle_atÌ65536Ö0 -SYS_nanosleepÌ65536Ö0 -SYS_newfstatatÌ65536Ö0 -SYS_nfsservctlÌ65536Ö0 -SYS_openÌ65536Ö0 -SYS_open_by_handle_atÌ65536Ö0 -SYS_openatÌ65536Ö0 -SYS_pauseÌ65536Ö0 -SYS_perf_event_openÌ65536Ö0 -SYS_personalityÌ65536Ö0 -SYS_pipeÌ65536Ö0 -SYS_pipe2Ì65536Ö0 -SYS_pivot_rootÌ65536Ö0 -SYS_pkey_allocÌ65536Ö0 -SYS_pkey_freeÌ65536Ö0 -SYS_pkey_mprotectÌ65536Ö0 -SYS_pollÌ65536Ö0 -SYS_ppollÌ65536Ö0 -SYS_prctlÌ65536Ö0 -SYS_pread64Ì65536Ö0 -SYS_preadvÌ65536Ö0 -SYS_preadv2Ì65536Ö0 -SYS_prlimit64Ì65536Ö0 -SYS_process_vm_readvÌ65536Ö0 -SYS_process_vm_writevÌ65536Ö0 -SYS_pselect6Ì65536Ö0 -SYS_ptraceÌ65536Ö0 -SYS_putpmsgÌ65536Ö0 -SYS_pwrite64Ì65536Ö0 -SYS_pwritevÌ65536Ö0 -SYS_pwritev2Ì65536Ö0 -SYS_query_moduleÌ65536Ö0 -SYS_quotactlÌ65536Ö0 -SYS_readÌ65536Ö0 -SYS_readaheadÌ65536Ö0 -SYS_readlinkÌ65536Ö0 -SYS_readlinkatÌ65536Ö0 -SYS_readvÌ65536Ö0 -SYS_rebootÌ65536Ö0 -SYS_recvfromÌ65536Ö0 -SYS_recvmmsgÌ65536Ö0 -SYS_recvmsgÌ65536Ö0 -SYS_remap_file_pagesÌ65536Ö0 -SYS_removexattrÌ65536Ö0 -SYS_renameÌ65536Ö0 -SYS_renameatÌ65536Ö0 -SYS_renameat2Ì65536Ö0 -SYS_request_keyÌ65536Ö0 -SYS_restart_syscallÌ65536Ö0 -SYS_rmdirÌ65536Ö0 -SYS_rt_sigactionÌ65536Ö0 -SYS_rt_sigpendingÌ65536Ö0 -SYS_rt_sigprocmaskÌ65536Ö0 -SYS_rt_sigqueueinfoÌ65536Ö0 -SYS_rt_sigreturnÌ65536Ö0 -SYS_rt_sigsuspendÌ65536Ö0 -SYS_rt_sigtimedwaitÌ65536Ö0 -SYS_rt_tgsigqueueinfoÌ65536Ö0 -SYS_sched_get_priority_maxÌ65536Ö0 -SYS_sched_get_priority_minÌ65536Ö0 -SYS_sched_getaffinityÌ65536Ö0 -SYS_sched_getattrÌ65536Ö0 -SYS_sched_getparamÌ65536Ö0 -SYS_sched_getschedulerÌ65536Ö0 -SYS_sched_rr_get_intervalÌ65536Ö0 -SYS_sched_setaffinityÌ65536Ö0 -SYS_sched_setattrÌ65536Ö0 -SYS_sched_setparamÌ65536Ö0 -SYS_sched_setschedulerÌ65536Ö0 -SYS_sched_yieldÌ65536Ö0 -SYS_seccompÌ65536Ö0 -SYS_securityÌ65536Ö0 -SYS_selectÌ65536Ö0 -SYS_semctlÌ65536Ö0 -SYS_semgetÌ65536Ö0 -SYS_semopÌ65536Ö0 -SYS_semtimedopÌ65536Ö0 -SYS_sendfileÌ65536Ö0 -SYS_sendmmsgÌ65536Ö0 -SYS_sendmsgÌ65536Ö0 -SYS_sendtoÌ65536Ö0 -SYS_set_mempolicyÌ65536Ö0 -SYS_set_robust_listÌ65536Ö0 -SYS_set_thread_areaÌ65536Ö0 -SYS_set_tid_addressÌ65536Ö0 -SYS_setdomainnameÌ65536Ö0 -SYS_setfsgidÌ65536Ö0 -SYS_setfsuidÌ65536Ö0 -SYS_setgidÌ65536Ö0 -SYS_setgroupsÌ65536Ö0 -SYS_sethostnameÌ65536Ö0 -SYS_setitimerÌ65536Ö0 -SYS_setnsÌ65536Ö0 -SYS_setpgidÌ65536Ö0 -SYS_setpriorityÌ65536Ö0 -SYS_setregidÌ65536Ö0 -SYS_setresgidÌ65536Ö0 -SYS_setresuidÌ65536Ö0 -SYS_setreuidÌ65536Ö0 -SYS_setrlimitÌ65536Ö0 -SYS_setsidÌ65536Ö0 -SYS_setsockoptÌ65536Ö0 -SYS_settimeofdayÌ65536Ö0 -SYS_setuidÌ65536Ö0 -SYS_setxattrÌ65536Ö0 -SYS_shmatÌ65536Ö0 -SYS_shmctlÌ65536Ö0 -SYS_shmdtÌ65536Ö0 -SYS_shmgetÌ65536Ö0 -SYS_shutdownÌ65536Ö0 -SYS_sigaltstackÌ65536Ö0 -SYS_signalfdÌ65536Ö0 -SYS_signalfd4Ì65536Ö0 -SYS_socketÌ65536Ö0 -SYS_socketpairÌ65536Ö0 -SYS_spliceÌ65536Ö0 -SYS_statÌ65536Ö0 -SYS_statfsÌ65536Ö0 -SYS_statxÌ65536Ö0 -SYS_swapoffÌ65536Ö0 -SYS_swaponÌ65536Ö0 -SYS_symlinkÌ65536Ö0 -SYS_symlinkatÌ65536Ö0 -SYS_syncÌ65536Ö0 -SYS_sync_file_rangeÌ65536Ö0 -SYS_syncfsÌ65536Ö0 -SYS_sysfsÌ65536Ö0 -SYS_sysinfoÌ65536Ö0 -SYS_syslogÌ65536Ö0 -SYS_teeÌ65536Ö0 -SYS_tgkillÌ65536Ö0 -SYS_timeÌ65536Ö0 -SYS_timer_createÌ65536Ö0 -SYS_timer_deleteÌ65536Ö0 -SYS_timer_getoverrunÌ65536Ö0 -SYS_timer_gettimeÌ65536Ö0 -SYS_timer_settimeÌ65536Ö0 -SYS_timerfd_createÌ65536Ö0 -SYS_timerfd_gettimeÌ65536Ö0 -SYS_timerfd_settimeÌ65536Ö0 -SYS_timesÌ65536Ö0 -SYS_tkillÌ65536Ö0 -SYS_truncateÌ65536Ö0 -SYS_tuxcallÌ65536Ö0 -SYS_umaskÌ65536Ö0 -SYS_umount2Ì65536Ö0 -SYS_unameÌ65536Ö0 -SYS_unlinkÌ65536Ö0 -SYS_unlinkatÌ65536Ö0 -SYS_unshareÌ65536Ö0 -SYS_uselibÌ65536Ö0 -SYS_userfaultfdÌ65536Ö0 -SYS_ustatÌ65536Ö0 -SYS_utimeÌ65536Ö0 -SYS_utimensatÌ65536Ö0 -SYS_utimesÌ65536Ö0 -SYS_vforkÌ65536Ö0 -SYS_vhangupÌ65536Ö0 -SYS_vmspliceÌ65536Ö0 -SYS_vserverÌ65536Ö0 -SYS_wait4Ì65536Ö0 -SYS_waitidÌ65536Ö0 -SYS_writeÌ65536Ö0 -SYS_writevÌ65536Ö0 -S_BLKSIZEÌ65536Ö0 -S_IEXECÌ65536Ö0 -S_IFBLKÌ65536Ö0 -S_IFCHRÌ65536Ö0 -S_IFDIRÌ65536Ö0 -S_IFIFOÌ65536Ö0 -S_IFLNKÌ65536Ö0 -S_IFMTÌ65536Ö0 -S_IFREGÌ65536Ö0 -S_IFSOCKÌ65536Ö0 -S_IREADÌ65536Ö0 -S_IRGRPÌ65536Ö0 -S_IROTHÌ65536Ö0 -S_IRUSRÌ65536Ö0 -S_IRWXGÌ65536Ö0 -S_IRWXOÌ65536Ö0 -S_IRWXUÌ65536Ö0 -S_ISBLKÌ131072Í(mode)Ö0 -S_ISCHRÌ131072Í(mode)Ö0 -S_ISDIRÌ131072Í(mode)Ö0 -S_ISFIFOÌ131072Í(mode)Ö0 -S_ISGIDÌ65536Ö0 -S_ISLNKÌ131072Í(mode)Ö0 -S_ISREGÌ131072Í(mode)Ö0 -S_ISSOCKÌ131072Í(mode)Ö0 -S_ISUIDÌ65536Ö0 -S_ISVTXÌ65536Ö0 -S_IWGRPÌ65536Ö0 -S_IWOTHÌ65536Ö0 -S_IWRITEÌ65536Ö0 -S_IWUSRÌ65536Ö0 -S_IXGRPÌ65536Ö0 -S_IXOTHÌ65536Ö0 -S_IXUSRÌ65536Ö0 -S_TYPEISMQÌ131072Í(buf)Ö0 -S_TYPEISSEMÌ131072Í(buf)Ö0 -S_TYPEISSHMÌ131072Í(buf)Ö0 -TAB0Ì65536Ö0 -TAB1Ì65536Ö0 -TAB2Ì65536Ö0 -TAB3Ì65536Ö0 -TABDLYÌ65536Ö0 -TCFLSHÌ65536Ö0 -TCGETAÌ65536Ö0 -TCGETSÌ65536Ö0 -TCGETS2Ì65536Ö0 -TCGETXÌ65536Ö0 -TCIFLUSHÌ65536Ö0 -TCIOFFÌ65536Ö0 -TCIOFLUSHÌ65536Ö0 -TCIONÌ65536Ö0 -TCOFLUSHÌ65536Ö0 -TCOOFFÌ65536Ö0 -TCOONÌ65536Ö0 -TCSADRAINÌ65536Ö0 -TCSAFLUSHÌ65536Ö0 -TCSANOWÌ65536Ö0 -TCSBRKÌ65536Ö0 -TCSBRKPÌ65536Ö0 -TCSETAÌ65536Ö0 -TCSETAFÌ65536Ö0 -TCSETAWÌ65536Ö0 -TCSETSÌ65536Ö0 -TCSETS2Ì65536Ö0 -TCSETSFÌ65536Ö0 -TCSETSF2Ì65536Ö0 -TCSETSWÌ65536Ö0 -TCSETSW2Ì65536Ö0 -TCSETXÌ65536Ö0 -TCSETXFÌ65536Ö0 -TCSETXWÌ65536Ö0 -TCXONCÌ65536Ö0 -TEMP_FAILURE_RETRYÌ131072Í(expression)Ö0 -TIMER_ABSTIMEÌ65536Ö0 -TIMESPEC_TO_TIMEVALÌ131072Í(tv,ts)Ö0 -TIMEVAL_TO_TIMESPECÌ131072Í(tv,ts)Ö0 -TIME_UTCÌ65536Ö0 -TIOCCBRKÌ65536Ö0 -TIOCCONSÌ65536Ö0 -TIOCEXCLÌ65536Ö0 -TIOCGDEVÌ65536Ö0 -TIOCGETDÌ65536Ö0 -TIOCGEXCLÌ65536Ö0 -TIOCGICOUNTÌ65536Ö0 -TIOCGLCKTRMIOSÌ65536Ö0 -TIOCGPGRPÌ65536Ö0 -TIOCGPKTÌ65536Ö0 -TIOCGPTLCKÌ65536Ö0 -TIOCGPTNÌ65536Ö0 -TIOCGPTPEERÌ65536Ö0 -TIOCGRS485Ì65536Ö0 -TIOCGSERIALÌ65536Ö0 -TIOCGSIDÌ65536Ö0 -TIOCGSOFTCARÌ65536Ö0 -TIOCGWINSZÌ65536Ö0 -TIOCINQÌ65536Ö0 -TIOCLINUXÌ65536Ö0 -TIOCMBICÌ65536Ö0 -TIOCMBISÌ65536Ö0 -TIOCMGETÌ65536Ö0 -TIOCMIWAITÌ65536Ö0 -TIOCMSETÌ65536Ö0 -TIOCM_CARÌ65536Ö0 -TIOCM_CDÌ65536Ö0 -TIOCM_CTSÌ65536Ö0 -TIOCM_DSRÌ65536Ö0 -TIOCM_DTRÌ65536Ö0 -TIOCM_LEÌ65536Ö0 -TIOCM_RIÌ65536Ö0 -TIOCM_RNGÌ65536Ö0 -TIOCM_RTSÌ65536Ö0 -TIOCM_SRÌ65536Ö0 -TIOCM_STÌ65536Ö0 -TIOCNOTTYÌ65536Ö0 -TIOCNXCLÌ65536Ö0 -TIOCOUTQÌ65536Ö0 -TIOCPKTÌ65536Ö0 -TIOCPKT_DATAÌ65536Ö0 -TIOCPKT_DOSTOPÌ65536Ö0 -TIOCPKT_FLUSHREADÌ65536Ö0 -TIOCPKT_FLUSHWRITEÌ65536Ö0 -TIOCPKT_IOCTLÌ65536Ö0 -TIOCPKT_NOSTOPÌ65536Ö0 -TIOCPKT_STARTÌ65536Ö0 -TIOCPKT_STOPÌ65536Ö0 -TIOCSBRKÌ65536Ö0 -TIOCSCTTYÌ65536Ö0 -TIOCSERCONFIGÌ65536Ö0 -TIOCSERGETLSRÌ65536Ö0 -TIOCSERGETMULTIÌ65536Ö0 -TIOCSERGSTRUCTÌ65536Ö0 -TIOCSERGWILDÌ65536Ö0 -TIOCSERSETMULTIÌ65536Ö0 -TIOCSERSWILDÌ65536Ö0 -TIOCSER_TEMTÌ65536Ö0 -TIOCSETDÌ65536Ö0 -TIOCSIGÌ65536Ö0 -TIOCSLCKTRMIOSÌ65536Ö0 -TIOCSPGRPÌ65536Ö0 -TIOCSPTLCKÌ65536Ö0 -TIOCSRS485Ì65536Ö0 -TIOCSSERIALÌ65536Ö0 -TIOCSSOFTCARÌ65536Ö0 -TIOCSTIÌ65536Ö0 -TIOCSWINSZÌ65536Ö0 -TIOCVHANGUPÌ65536Ö0 -TLOSSÌ65536Ö0 -TMP_MAXÌ65536Ö0 -TOSTOPÌ65536Ö0 -TRAP_BRKPTÌ65536Ö0 -TRAP_TRACEÌ65536Ö0 -TRUEÌ65536Ö0 -TRY_AGAINÌ65536Ö0 -TTYDEF_CFLAGÌ65536Ö0 -TTYDEF_IFLAGÌ65536Ö0 -TTYDEF_LFLAGÌ65536Ö0 -TTYDEF_OFLAGÌ65536Ö0 -TTYDEF_SPEEDÌ65536Ö0 -TTY_NAME_MAXÌ65536Ö0 -T_INTERVALÌ65536Ö0 -T_POLLING_TMOUTÌ65536Ö0 -UCHAR_MAXÌ65536Ö0 -UCHAR_WIDTHÌ65536Ö0 -UINT16_CÌ131072Í(c)Ö0 -UINT16_MAXÌ65536Ö0 -UINT16_WIDTHÌ65536Ö0 -UINT32_CÌ131072Í(c)Ö0 -UINT32_MAXÌ65536Ö0 -UINT32_WIDTHÌ65536Ö0 -UINT64_CÌ131072Í(c)Ö0 -UINT64_MAXÌ65536Ö0 -UINT64_WIDTHÌ65536Ö0 -UINT8_CÌ131072Í(c)Ö0 -UINT8_MAXÌ65536Ö0 -UINT8_WIDTHÌ65536Ö0 -UINTMAX_CÌ131072Í(c)Ö0 -UINTMAX_MAXÌ65536Ö0 -UINTMAX_WIDTHÌ65536Ö0 -UINTPTR_MAXÌ65536Ö0 -UINTPTR_WIDTHÌ65536Ö0 -UINT_FAST16_MAXÌ65536Ö0 -UINT_FAST16_WIDTHÌ65536Ö0 -UINT_FAST32_MAXÌ65536Ö0 -UINT_FAST32_WIDTHÌ65536Ö0 -UINT_FAST64_MAXÌ65536Ö0 -UINT_FAST64_WIDTHÌ65536Ö0 -UINT_FAST8_MAXÌ65536Ö0 -UINT_FAST8_WIDTHÌ65536Ö0 -UINT_LEAST16_MAXÌ65536Ö0 -UINT_LEAST16_WIDTHÌ65536Ö0 -UINT_LEAST32_MAXÌ65536Ö0 -UINT_LEAST32_WIDTHÌ65536Ö0 -UINT_LEAST64_MAXÌ65536Ö0 -UINT_LEAST64_WIDTHÌ65536Ö0 -UINT_LEAST8_MAXÌ65536Ö0 -UINT_LEAST8_WIDTHÌ65536Ö0 -UINT_MAXÌ65536Ö0 -UINT_WIDTHÌ65536Ö0 -UIO_MAXIOVÌ65536Ö0 -ULLONG_MAXÌ65536Ö0 -ULLONG_WIDTHÌ65536Ö0 -ULONG_LONG_MAXÌ65536Ö0 -ULONG_MAXÌ65536Ö0 -ULONG_WIDTHÌ65536Ö0 -UNDERFLOWÌ65536Ö0 -USHRT_MAXÌ65536Ö0 -USHRT_WIDTHÌ65536Ö0 -UTIME_NOWÌ65536Ö0 -UTIME_OMITÌ65536Ö0 -VDISCARDÌ65536Ö0 -VEOFÌ65536Ö0 -VEOLÌ65536Ö0 -VEOL2Ì65536Ö0 -VERASEÌ65536Ö0 -VINTRÌ65536Ö0 -VKILLÌ65536Ö0 -VLNEXTÌ65536Ö0 -VMINÌ65536Ö0 -VQUITÌ65536Ö0 -VREPRINTÌ65536Ö0 -VSTARTÌ65536Ö0 -VSTOPÌ65536Ö0 -VSUSPÌ65536Ö0 -VSWTCÌ65536Ö0 -VT0Ì65536Ö0 -VT1Ì65536Ö0 -VTDLYÌ65536Ö0 -VTIMEÌ65536Ö0 -VWERASEÌ65536Ö0 -WAIT_ANYÌ65536Ö0 -WAIT_MYPGRPÌ65536Ö0 -WAIT_TMOUTÌ65536Ö0 -WARNÌ131072Í(...)Ö0 -WARNXÌ131072Í(...)Ö0 -WCHAR_MAXÌ65536Ö0 -WCHAR_MINÌ65536Ö0 -WCHAR_WIDTHÌ65536Ö0 -WCONTINUEDÌ65536Ö0 -WCOREDUMPÌ131072Í(status)Ö0 -WCOREFLAGÌ65536Ö0 -WEXITEDÌ65536Ö0 -WEXITSTATUSÌ131072Í(status)Ö0 -WIFCONTINUEDÌ131072Í(status)Ö0 -WIFEXITEDÌ131072Í(status)Ö0 -WIFSIGNALEDÌ131072Í(status)Ö0 -WIFSTOPPEDÌ131072Í(status)Ö0 -WINT_MAXÌ65536Ö0 -WINT_MINÌ65536Ö0 -WINT_WIDTHÌ65536Ö0 -WNOHANGÌ65536Ö0 -WNOWAITÌ65536Ö0 -WORD_BITÌ65536Ö0 -WSTOPPEDÌ65536Ö0 -WSTOPSIGÌ131072Í(status)Ö0 -WTERMSIGÌ131072Í(status)Ö0 -WUNTRACEDÌ65536Ö0 -W_EXITCODEÌ131072Í(ret,sig)Ö0 -W_OKÌ65536Ö0 -W_STOPCODEÌ131072Í(sig)Ö0 -XATTR_LIST_MAXÌ65536Ö0 -XATTR_NAME_MAXÌ65536Ö0 -XATTR_SIZE_MAXÌ65536Ö0 -XCASEÌ65536Ö0 -XTABSÌ65536Ö0 -X_OKÌ65536Ö0 -X_TLOSSÌ65536Ö0 -_Ì131072Í(String)Ö0 -_ALLOCA_HÌ65536Ö0 -_ANSI_STDARG_H_Ì65536Ö0 -_ARPA_INET_HÌ65536Ö0 -_ASM_GENERIC_ERRNO_BASE_HÌ65536Ö0 -_ASM_GENERIC_ERRNO_HÌ65536Ö0 -_ASM_GENERIC_INT_LL64_HÌ65536Ö0 -_ASM_GENERIC_IOCTL_HÌ65536Ö0 -_ASM_GENERIC_TYPES_HÌ65536Ö0 -_ASM_X86_POSIX_TYPES_64_HÌ65536Ö0 -_ASM_X86_TYPES_HÌ65536Ö0 -_ASM_X86_UNISTD_64_HÌ65536Ö0 -_ASM_X86_UNISTD_HÌ65536Ö0 -_ASSERT_HÌ65536Ö0 -_ATFILE_SOURCEÌ65536Ö0 -_BITS_BYTESWAP_HÌ65536Ö0 -_BITS_LIBM_SIMD_DECL_STUBS_HÌ65536Ö0 -_BITS_LOCALE_HÌ65536Ö0 -_BITS_POSIX1_LIM_HÌ65536Ö0 -_BITS_POSIX2_LIM_HÌ65536Ö0 -_BITS_POSIX_OPT_HÌ65536Ö0 -_BITS_PTHREADTYPES_HÌ65536Ö0 -_BITS_SETJMP_HÌ65536Ö0 -_BITS_SIGCONTEXT_HÌ65536Ö0 -_BITS_SIGSTACK_HÌ65536Ö0 -_BITS_SIGTHREAD_HÌ65536Ö0 -_BITS_SOCKADDR_HÌ65536Ö0 -_BITS_STAT_HÌ65536Ö0 -_BITS_SYSMACROS_HÌ65536Ö0 -_BITS_TIMEX_HÌ65536Ö0 -_BITS_TIME_HÌ65536Ö0 -_BITS_TYPESIZES_HÌ65536Ö0 -_BITS_TYPES_HÌ65536Ö0 -_BITS_UINTN_IDENTITY_HÌ65536Ö0 -_BITS_UIO_HÌ65536Ö0 -_BITS_UIO_H_FOR_SYS_UIO_HÌ65536Ö0 -_BITS_WCHAR_HÌ65536Ö0 -_BSD_SIZE_T_Ì65536Ö0 -_BSD_SIZE_T_DEFINED_Ì65536Ö0 -_BSD_WCHAR_T_Ì65536Ö0 -_BoolÌ65536Ö0 -_CPP_TYPE_TRAITS_HÌ65536Ö0 -_CS_GNU_LIBC_VERSIONÌ65536Ö0 -_CS_GNU_LIBPTHREAD_VERSIONÌ65536Ö0 -_CS_LFS64_CFLAGSÌ65536Ö0 -_CS_LFS64_LDFLAGSÌ65536Ö0 -_CS_LFS64_LIBSÌ65536Ö0 -_CS_LFS64_LINTFLAGSÌ65536Ö0 -_CS_LFS_CFLAGSÌ65536Ö0 -_CS_LFS_LDFLAGSÌ65536Ö0 -_CS_LFS_LIBSÌ65536Ö0 -_CS_LFS_LINTFLAGSÌ65536Ö0 -_CS_PATHÌ65536Ö0 -_CS_POSIX_V5_WIDTH_RESTRICTED_ENVSÌ65536Ö0 -_CS_POSIX_V6_ILP32_OFF32_CFLAGSÌ65536Ö0 -_CS_POSIX_V6_ILP32_OFF32_LDFLAGSÌ65536Ö0 -_CS_POSIX_V6_ILP32_OFF32_LIBSÌ65536Ö0 -_CS_POSIX_V6_ILP32_OFF32_LINTFLAGSÌ65536Ö0 -_CS_POSIX_V6_ILP32_OFFBIG_CFLAGSÌ65536Ö0 -_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGSÌ65536Ö0 -_CS_POSIX_V6_ILP32_OFFBIG_LIBSÌ65536Ö0 -_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGSÌ65536Ö0 -_CS_POSIX_V6_LP64_OFF64_CFLAGSÌ65536Ö0 -_CS_POSIX_V6_LP64_OFF64_LDFLAGSÌ65536Ö0 -_CS_POSIX_V6_LP64_OFF64_LIBSÌ65536Ö0 -_CS_POSIX_V6_LP64_OFF64_LINTFLAGSÌ65536Ö0 -_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGSÌ65536Ö0 -_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGSÌ65536Ö0 -_CS_POSIX_V6_LPBIG_OFFBIG_LIBSÌ65536Ö0 -_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGSÌ65536Ö0 -_CS_POSIX_V6_WIDTH_RESTRICTED_ENVSÌ65536Ö0 -_CS_POSIX_V7_ILP32_OFF32_CFLAGSÌ65536Ö0 -_CS_POSIX_V7_ILP32_OFF32_LDFLAGSÌ65536Ö0 -_CS_POSIX_V7_ILP32_OFF32_LIBSÌ65536Ö0 -_CS_POSIX_V7_ILP32_OFF32_LINTFLAGSÌ65536Ö0 -_CS_POSIX_V7_ILP32_OFFBIG_CFLAGSÌ65536Ö0 -_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGSÌ65536Ö0 -_CS_POSIX_V7_ILP32_OFFBIG_LIBSÌ65536Ö0 -_CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGSÌ65536Ö0 -_CS_POSIX_V7_LP64_OFF64_CFLAGSÌ65536Ö0 -_CS_POSIX_V7_LP64_OFF64_LDFLAGSÌ65536Ö0 -_CS_POSIX_V7_LP64_OFF64_LIBSÌ65536Ö0 -_CS_POSIX_V7_LP64_OFF64_LINTFLAGSÌ65536Ö0 -_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGSÌ65536Ö0 -_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGSÌ65536Ö0 -_CS_POSIX_V7_LPBIG_OFFBIG_LIBSÌ65536Ö0 -_CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGSÌ65536Ö0 -_CS_POSIX_V7_WIDTH_RESTRICTED_ENVSÌ65536Ö0 -_CS_V5_WIDTH_RESTRICTED_ENVSÌ65536Ö0 -_CS_V6_ENVÌ65536Ö0 -_CS_V6_WIDTH_RESTRICTED_ENVSÌ65536Ö0 -_CS_V7_ENVÌ65536Ö0 -_CS_V7_WIDTH_RESTRICTED_ENVSÌ65536Ö0 -_CS_XBS5_ILP32_OFF32_CFLAGSÌ65536Ö0 -_CS_XBS5_ILP32_OFF32_LDFLAGSÌ65536Ö0 -_CS_XBS5_ILP32_OFF32_LIBSÌ65536Ö0 -_CS_XBS5_ILP32_OFF32_LINTFLAGSÌ65536Ö0 -_CS_XBS5_ILP32_OFFBIG_CFLAGSÌ65536Ö0 -_CS_XBS5_ILP32_OFFBIG_LDFLAGSÌ65536Ö0 -_CS_XBS5_ILP32_OFFBIG_LIBSÌ65536Ö0 -_CS_XBS5_ILP32_OFFBIG_LINTFLAGSÌ65536Ö0 -_CS_XBS5_LP64_OFF64_CFLAGSÌ65536Ö0 -_CS_XBS5_LP64_OFF64_LDFLAGSÌ65536Ö0 -_CS_XBS5_LP64_OFF64_LIBSÌ65536Ö0 -_CS_XBS5_LP64_OFF64_LINTFLAGSÌ65536Ö0 -_CS_XBS5_LPBIG_OFFBIG_CFLAGSÌ65536Ö0 -_CS_XBS5_LPBIG_OFFBIG_LDFLAGSÌ65536Ö0 -_CS_XBS5_LPBIG_OFFBIG_LIBSÌ65536Ö0 -_CS_XBS5_LPBIG_OFFBIG_LINTFLAGSÌ65536Ö0 -_CTYPE_HÌ65536Ö0 -_DEFAULT_SOURCEÌ65536Ö0 -_ENDIAN_HÌ65536Ö0 -_ERRNO_HÌ65536Ö0 -_ERR_HÌ65536Ö0 -_EXTERN_INLINEÌ65536Ö0 -_EXT_TYPE_TRAITSÌ65536Ö0 -_ExitÌ65536Ö0 -_FALLOC_H_Ì65536Ö0 -_FCNTL_HÌ65536Ö0 -_FEATURES_HÌ65536Ö0 -_FORTIFY_SOURCEÌ65536Ö0 -_GCC_LIMITS_H_Ì65536Ö0 -_GCC_NEXT_LIMITS_HÌ65536Ö0 -_GCC_SIZE_TÌ65536Ö0 -_GCC_WCHAR_TÌ65536Ö0 -_GCC_WRAP_STDINT_HÌ65536Ö0 -_GETOPT_HÌ65536Ö0 -_GLIBCXX11_USE_C99_COMPLEXÌ65536Ö0 -_GLIBCXX11_USE_C99_MATHÌ65536Ö0 -_GLIBCXX11_USE_C99_STDIOÌ65536Ö0 -_GLIBCXX11_USE_C99_STDLIBÌ65536Ö0 -_GLIBCXX11_USE_C99_WCHARÌ65536Ö0 -_GLIBCXX14_CONSTEXPRÌ65536Ö0 -_GLIBCXX98_USE_C99_COMPLEXÌ65536Ö0 -_GLIBCXX98_USE_C99_MATHÌ65536Ö0 -_GLIBCXX98_USE_C99_STDIOÌ65536Ö0 -_GLIBCXX98_USE_C99_STDLIBÌ65536Ö0 -_GLIBCXX98_USE_C99_WCHARÌ65536Ö0 -_GLIBCXX_ABI_TAG_CXX11Ì65536Ö0 -_GLIBCXX_ATOMIC_BUILTINSÌ65536Ö0 -_GLIBCXX_BEGIN_EXTERN_CÌ65536Ö0 -_GLIBCXX_BEGIN_NAMESPACE_ALGOÌ65536Ö0 -_GLIBCXX_BEGIN_NAMESPACE_CONTAINERÌ65536Ö0 -_GLIBCXX_BEGIN_NAMESPACE_CXX11Ì65536Ö0 -_GLIBCXX_BEGIN_NAMESPACE_LDBLÌ65536Ö0 -_GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11Ì65536Ö0 -_GLIBCXX_BEGIN_NAMESPACE_VERSIONÌ65536Ö0 -_GLIBCXX_CMATHÌ65536Ö0 -_GLIBCXX_CONSTÌ65536Ö0 -_GLIBCXX_CONSTEXPRÌ65536Ö0 -_GLIBCXX_CPU_DEFINESÌ65536Ö0 -_GLIBCXX_CSTDLIBÌ65536Ö0 -_GLIBCXX_CXX_CONFIG_HÌ65536Ö0 -_GLIBCXX_DEFAULT_ABI_TAGÌ65536Ö0 -_GLIBCXX_DEPRECATEDÌ65536Ö0 -_GLIBCXX_END_EXTERN_CÌ65536Ö0 -_GLIBCXX_END_NAMESPACE_ALGOÌ65536Ö0 -_GLIBCXX_END_NAMESPACE_CONTAINERÌ65536Ö0 -_GLIBCXX_END_NAMESPACE_CXX11Ì65536Ö0 -_GLIBCXX_END_NAMESPACE_LDBLÌ65536Ö0 -_GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11Ì65536Ö0 -_GLIBCXX_END_NAMESPACE_VERSIONÌ65536Ö0 -_GLIBCXX_EXTERN_TEMPLATEÌ65536Ö0 -_GLIBCXX_FAST_MATHÌ65536Ö0 -_GLIBCXX_FULLY_DYNAMIC_STRINGÌ65536Ö0 -_GLIBCXX_HAS_GTHREADSÌ65536Ö0 -_GLIBCXX_HAVE_ACOSFÌ65536Ö0 -_GLIBCXX_HAVE_ACOSLÌ65536Ö0 -_GLIBCXX_HAVE_ASINFÌ65536Ö0 -_GLIBCXX_HAVE_ASINLÌ65536Ö0 -_GLIBCXX_HAVE_AS_SYMVER_DIRECTIVEÌ65536Ö0 -_GLIBCXX_HAVE_ATAN2FÌ65536Ö0 -_GLIBCXX_HAVE_ATAN2LÌ65536Ö0 -_GLIBCXX_HAVE_ATANFÌ65536Ö0 -_GLIBCXX_HAVE_ATANLÌ65536Ö0 -_GLIBCXX_HAVE_ATTRIBUTE_VISIBILITYÌ65536Ö0 -_GLIBCXX_HAVE_AT_QUICK_EXITÌ65536Ö0 -_GLIBCXX_HAVE_CEILFÌ65536Ö0 -_GLIBCXX_HAVE_CEILLÌ65536Ö0 -_GLIBCXX_HAVE_COMPLEX_HÌ65536Ö0 -_GLIBCXX_HAVE_COSFÌ65536Ö0 -_GLIBCXX_HAVE_COSHFÌ65536Ö0 -_GLIBCXX_HAVE_COSHLÌ65536Ö0 -_GLIBCXX_HAVE_COSLÌ65536Ö0 -_GLIBCXX_HAVE_DIRENT_HÌ65536Ö0 -_GLIBCXX_HAVE_DLFCN_HÌ65536Ö0 -_GLIBCXX_HAVE_EBADMSGÌ65536Ö0 -_GLIBCXX_HAVE_ECANCELEDÌ65536Ö0 -_GLIBCXX_HAVE_ECHILDÌ65536Ö0 -_GLIBCXX_HAVE_EIDRMÌ65536Ö0 -_GLIBCXX_HAVE_ENDIAN_HÌ65536Ö0 -_GLIBCXX_HAVE_ENODATAÌ65536Ö0 -_GLIBCXX_HAVE_ENOLINKÌ65536Ö0 -_GLIBCXX_HAVE_ENOSPCÌ65536Ö0 -_GLIBCXX_HAVE_ENOSRÌ65536Ö0 -_GLIBCXX_HAVE_ENOSTRÌ65536Ö0 -_GLIBCXX_HAVE_ENOTRECOVERABLEÌ65536Ö0 -_GLIBCXX_HAVE_ENOTSUPÌ65536Ö0 -_GLIBCXX_HAVE_EOVERFLOWÌ65536Ö0 -_GLIBCXX_HAVE_EOWNERDEADÌ65536Ö0 -_GLIBCXX_HAVE_EPERMÌ65536Ö0 -_GLIBCXX_HAVE_EPROTOÌ65536Ö0 -_GLIBCXX_HAVE_ETIMEÌ65536Ö0 -_GLIBCXX_HAVE_ETIMEDOUTÌ65536Ö0 -_GLIBCXX_HAVE_ETXTBSYÌ65536Ö0 -_GLIBCXX_HAVE_EWOULDBLOCKÌ65536Ö0 -_GLIBCXX_HAVE_EXECINFO_HÌ65536Ö0 -_GLIBCXX_HAVE_EXPFÌ65536Ö0 -_GLIBCXX_HAVE_EXPLÌ65536Ö0 -_GLIBCXX_HAVE_FABSFÌ65536Ö0 -_GLIBCXX_HAVE_FABSLÌ65536Ö0 -_GLIBCXX_HAVE_FCNTL_HÌ65536Ö0 -_GLIBCXX_HAVE_FENV_HÌ65536Ö0 -_GLIBCXX_HAVE_FINITEÌ65536Ö0 -_GLIBCXX_HAVE_FINITEFÌ65536Ö0 -_GLIBCXX_HAVE_FINITELÌ65536Ö0 -_GLIBCXX_HAVE_FLOAT_HÌ65536Ö0 -_GLIBCXX_HAVE_FLOORFÌ65536Ö0 -_GLIBCXX_HAVE_FLOORLÌ65536Ö0 -_GLIBCXX_HAVE_FMODFÌ65536Ö0 -_GLIBCXX_HAVE_FMODLÌ65536Ö0 -_GLIBCXX_HAVE_FREXPFÌ65536Ö0 -_GLIBCXX_HAVE_FREXPLÌ65536Ö0 -_GLIBCXX_HAVE_GETIPINFOÌ65536Ö0 -_GLIBCXX_HAVE_GETSÌ65536Ö0 -_GLIBCXX_HAVE_HYPOTÌ65536Ö0 -_GLIBCXX_HAVE_HYPOTFÌ65536Ö0 -_GLIBCXX_HAVE_HYPOTLÌ65536Ö0 -_GLIBCXX_HAVE_ICONVÌ65536Ö0 -_GLIBCXX_HAVE_INT64_TÌ65536Ö0 -_GLIBCXX_HAVE_INT64_T_LONGÌ65536Ö0 -_GLIBCXX_HAVE_INTTYPES_HÌ65536Ö0 -_GLIBCXX_HAVE_ISINFFÌ65536Ö0 -_GLIBCXX_HAVE_ISINFLÌ65536Ö0 -_GLIBCXX_HAVE_ISNANFÌ65536Ö0 -_GLIBCXX_HAVE_ISNANLÌ65536Ö0 -_GLIBCXX_HAVE_ISWBLANKÌ65536Ö0 -_GLIBCXX_HAVE_LC_MESSAGESÌ65536Ö0 -_GLIBCXX_HAVE_LDEXPFÌ65536Ö0 -_GLIBCXX_HAVE_LDEXPLÌ65536Ö0 -_GLIBCXX_HAVE_LIBINTL_HÌ65536Ö0 -_GLIBCXX_HAVE_LIMIT_ASÌ65536Ö0 -_GLIBCXX_HAVE_LIMIT_DATAÌ65536Ö0 -_GLIBCXX_HAVE_LIMIT_FSIZEÌ65536Ö0 -_GLIBCXX_HAVE_LIMIT_RSSÌ65536Ö0 -_GLIBCXX_HAVE_LIMIT_VMEMÌ65536Ö0 -_GLIBCXX_HAVE_LINUX_FUTEXÌ65536Ö0 -_GLIBCXX_HAVE_LOCALE_HÌ65536Ö0 -_GLIBCXX_HAVE_LOG10FÌ65536Ö0 -_GLIBCXX_HAVE_LOG10LÌ65536Ö0 -_GLIBCXX_HAVE_LOGFÌ65536Ö0 -_GLIBCXX_HAVE_LOGLÌ65536Ö0 -_GLIBCXX_HAVE_MBSTATE_TÌ65536Ö0 -_GLIBCXX_HAVE_MEMORY_HÌ65536Ö0 -_GLIBCXX_HAVE_MODFÌ65536Ö0 -_GLIBCXX_HAVE_MODFFÌ65536Ö0 -_GLIBCXX_HAVE_MODFLÌ65536Ö0 -_GLIBCXX_HAVE_POLLÌ65536Ö0 -_GLIBCXX_HAVE_POWFÌ65536Ö0 -_GLIBCXX_HAVE_POWLÌ65536Ö0 -_GLIBCXX_HAVE_QUICK_EXITÌ65536Ö0 -_GLIBCXX_HAVE_SETENVÌ65536Ö0 -_GLIBCXX_HAVE_SINCOSÌ65536Ö0 -_GLIBCXX_HAVE_SINCOSFÌ65536Ö0 -_GLIBCXX_HAVE_SINCOSLÌ65536Ö0 -_GLIBCXX_HAVE_SINFÌ65536Ö0 -_GLIBCXX_HAVE_SINHFÌ65536Ö0 -_GLIBCXX_HAVE_SINHLÌ65536Ö0 -_GLIBCXX_HAVE_SINLÌ65536Ö0 -_GLIBCXX_HAVE_SQRTFÌ65536Ö0 -_GLIBCXX_HAVE_SQRTLÌ65536Ö0 -_GLIBCXX_HAVE_STDALIGN_HÌ65536Ö0 -_GLIBCXX_HAVE_STDBOOL_HÌ65536Ö0 -_GLIBCXX_HAVE_STDINT_HÌ65536Ö0 -_GLIBCXX_HAVE_STDLIB_HÌ65536Ö0 -_GLIBCXX_HAVE_STRERROR_LÌ65536Ö0 -_GLIBCXX_HAVE_STRERROR_RÌ65536Ö0 -_GLIBCXX_HAVE_STRINGS_HÌ65536Ö0 -_GLIBCXX_HAVE_STRING_HÌ65536Ö0 -_GLIBCXX_HAVE_STRTOFÌ65536Ö0 -_GLIBCXX_HAVE_STRTOLDÌ65536Ö0 -_GLIBCXX_HAVE_STRUCT_DIRENT_D_TYPEÌ65536Ö0 -_GLIBCXX_HAVE_STRXFRM_LÌ65536Ö0 -_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORTÌ65536Ö0 -_GLIBCXX_HAVE_SYS_IOCTL_HÌ65536Ö0 -_GLIBCXX_HAVE_SYS_IPC_HÌ65536Ö0 -_GLIBCXX_HAVE_SYS_PARAM_HÌ65536Ö0 -_GLIBCXX_HAVE_SYS_RESOURCE_HÌ65536Ö0 -_GLIBCXX_HAVE_SYS_SEM_HÌ65536Ö0 -_GLIBCXX_HAVE_SYS_STATVFS_HÌ65536Ö0 -_GLIBCXX_HAVE_SYS_STAT_HÌ65536Ö0 -_GLIBCXX_HAVE_SYS_SYSINFO_HÌ65536Ö0 -_GLIBCXX_HAVE_SYS_TIME_HÌ65536Ö0 -_GLIBCXX_HAVE_SYS_TYPES_HÌ65536Ö0 -_GLIBCXX_HAVE_SYS_UIO_HÌ65536Ö0 -_GLIBCXX_HAVE_S_ISREGÌ65536Ö0 -_GLIBCXX_HAVE_TANFÌ65536Ö0 -_GLIBCXX_HAVE_TANHFÌ65536Ö0 -_GLIBCXX_HAVE_TANHLÌ65536Ö0 -_GLIBCXX_HAVE_TANLÌ65536Ö0 -_GLIBCXX_HAVE_TGMATH_HÌ65536Ö0 -_GLIBCXX_HAVE_TLSÌ65536Ö0 -_GLIBCXX_HAVE_UCHAR_HÌ65536Ö0 -_GLIBCXX_HAVE_UNISTD_HÌ65536Ö0 -_GLIBCXX_HAVE_UTIME_HÌ65536Ö0 -_GLIBCXX_HAVE_VFWSCANFÌ65536Ö0 -_GLIBCXX_HAVE_VSWSCANFÌ65536Ö0 -_GLIBCXX_HAVE_VWSCANFÌ65536Ö0 -_GLIBCXX_HAVE_WCHAR_HÌ65536Ö0 -_GLIBCXX_HAVE_WCSTOFÌ65536Ö0 -_GLIBCXX_HAVE_WCTYPE_HÌ65536Ö0 -_GLIBCXX_HAVE_WRITEVÌ65536Ö0 -_GLIBCXX_HAVE___CXA_THREAD_ATEXIT_IMPLÌ65536Ö0 -_GLIBCXX_HOSTEDÌ65536Ö0 -_GLIBCXX_ICONV_CONSTÌ65536Ö0 -_GLIBCXX_INCLUDE_NEXT_C_HEADERSÌ65536Ö0 -_GLIBCXX_INLINE_VERSIONÌ65536Ö0 -_GLIBCXX_LONG_DOUBLE_COMPATÌ65536Ö0 -_GLIBCXX_MANGLE_SIZE_TÌ65536Ö0 -_GLIBCXX_MATH_HÌ65536Ö0 -_GLIBCXX_NAMESPACE_CXX11Ì65536Ö0 -_GLIBCXX_NAMESPACE_LDBLÌ65536Ö0 -_GLIBCXX_NAMESPACE_LDBL_OR_CXX11Ì65536Ö0 -_GLIBCXX_NOEXCEPTÌ65536Ö0 -_GLIBCXX_NOEXCEPT_IFÌ131072Í(_COND)Ö0 -_GLIBCXX_NORETURNÌ65536Ö0 -_GLIBCXX_NOTHROWÌ65536Ö0 -_GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMICÌ65536Ö0 -_GLIBCXX_OS_DEFINESÌ65536Ö0 -_GLIBCXX_PACKAGE_BUGREPORTÌ65536Ö0 -_GLIBCXX_PACKAGE_NAMEÌ65536Ö0 -_GLIBCXX_PACKAGE_STRINGÌ65536Ö0 -_GLIBCXX_PACKAGE_TARNAMEÌ65536Ö0 -_GLIBCXX_PACKAGE_URLÌ65536Ö0 -_GLIBCXX_PACKAGE__GLIBCXX_VERSIONÌ65536Ö0 -_GLIBCXX_PSEUDO_VISIBILITYÌ131072Í(V)Ö0 -_GLIBCXX_PUREÌ65536Ö0 -_GLIBCXX_RES_LIMITSÌ65536Ö0 -_GLIBCXX_STDIO_EOFÌ65536Ö0 -_GLIBCXX_STDIO_SEEK_CURÌ65536Ö0 -_GLIBCXX_STDIO_SEEK_ENDÌ65536Ö0 -_GLIBCXX_STDLIB_HÌ65536Ö0 -_GLIBCXX_STD_AÌ65536Ö0 -_GLIBCXX_STD_CÌ65536Ö0 -_GLIBCXX_SYMVERÌ65536Ö0 -_GLIBCXX_SYMVER_GNUÌ65536Ö0 -_GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTERÌ131072Í(A)Ö0 -_GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFOREÌ131072Í(A)Ö0 -_GLIBCXX_THROWÌ131072Í(_EXC)Ö0 -_GLIBCXX_THROW_OR_ABORTÌ131072Í(_EXC)Ö0 -_GLIBCXX_TXN_SAFEÌ65536Ö0 -_GLIBCXX_TXN_SAFE_DYNÌ65536Ö0 -_GLIBCXX_USE_ALLOCATOR_NEWÌ65536Ö0 -_GLIBCXX_USE_C11_UCHAR_CXX11Ì65536Ö0 -_GLIBCXX_USE_C99Ì65536Ö0 -_GLIBCXX_USE_C99_COMPLEXÌ65536Ö0 -_GLIBCXX_USE_C99_COMPLEX_TR1Ì65536Ö0 -_GLIBCXX_USE_C99_CTYPE_TR1Ì65536Ö0 -_GLIBCXX_USE_C99_FENV_TR1Ì65536Ö0 -_GLIBCXX_USE_C99_INTTYPES_TR1Ì65536Ö0 -_GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1Ì65536Ö0 -_GLIBCXX_USE_C99_MATHÌ65536Ö0 -_GLIBCXX_USE_C99_MATH_TR1Ì65536Ö0 -_GLIBCXX_USE_C99_STDINT_TR1Ì65536Ö0 -_GLIBCXX_USE_C99_STDIOÌ65536Ö0 -_GLIBCXX_USE_C99_STDLIBÌ65536Ö0 -_GLIBCXX_USE_C99_WCHARÌ65536Ö0 -_GLIBCXX_USE_CLOCK_MONOTONICÌ65536Ö0 -_GLIBCXX_USE_CLOCK_REALTIMEÌ65536Ö0 -_GLIBCXX_USE_CONSTEXPRÌ65536Ö0 -_GLIBCXX_USE_CXX11_ABIÌ65536Ö0 -_GLIBCXX_USE_DECIMAL_FLOATÌ65536Ö0 -_GLIBCXX_USE_DEPRECATEDÌ65536Ö0 -_GLIBCXX_USE_DUAL_ABIÌ65536Ö0 -_GLIBCXX_USE_FCHMODÌ65536Ö0 -_GLIBCXX_USE_FCHMODATÌ65536Ö0 -_GLIBCXX_USE_FLOAT128Ì65536Ö0 -_GLIBCXX_USE_GETTIMEOFDAYÌ65536Ö0 -_GLIBCXX_USE_GET_NPROCSÌ65536Ö0 -_GLIBCXX_USE_INT128Ì65536Ö0 -_GLIBCXX_USE_LFSÌ65536Ö0 -_GLIBCXX_USE_LONG_LONGÌ65536Ö0 -_GLIBCXX_USE_NANOSLEEPÌ65536Ö0 -_GLIBCXX_USE_NLSÌ65536Ö0 -_GLIBCXX_USE_NOEXCEPTÌ65536Ö0 -_GLIBCXX_USE_PTHREAD_RWLOCK_TÌ65536Ö0 -_GLIBCXX_USE_RANDOM_TR1Ì65536Ö0 -_GLIBCXX_USE_REALPATHÌ65536Ö0 -_GLIBCXX_USE_SCHED_YIELDÌ65536Ö0 -_GLIBCXX_USE_SC_NPROCESSORS_ONLNÌ65536Ö0 -_GLIBCXX_USE_SENDFILEÌ65536Ö0 -_GLIBCXX_USE_ST_MTIMÌ65536Ö0 -_GLIBCXX_USE_TMPNAMÌ65536Ö0 -_GLIBCXX_USE_UTIMENSATÌ65536Ö0 -_GLIBCXX_USE_WCHAR_TÌ65536Ö0 -_GLIBCXX_USE_WEAK_REFÌ65536Ö0 -_GLIBCXX_VERBOSEÌ65536Ö0 -_GLIBCXX_VISIBILITYÌ131072Í(V)Ö0 -_GLIBCXX_WEAK_DEFINITIONÌ65536Ö0 -_GLIBCXX_X86_RDRANDÌ65536Ö0 -_GNU_SOURCEÌ65536Ö0 -_GTHREAD_USE_MUTEX_TIMEDLOCKÌ65536Ö0 -_G_BUFSIZÌ65536Ö0 -_G_HAVE_MMAPÌ65536Ö0 -_G_HAVE_MREMAPÌ65536Ö0 -_G_HAVE_ST_BLKSIZEÌ65536Ö0 -_G_IO_IO_FILE_VERSIONÌ65536Ö0 -_G_config_hÌ65536Ö0 -_G_va_listÌ65536Ö0 -_HAVE_STRUCT_TERMIOS_C_ISPEEDÌ65536Ö0 -_HAVE_STRUCT_TERMIOS_C_OSPEEDÌ65536Ö0 -_IOÌ131072Í(type,nr)Ö0 -_IOCÌ131072Í(dir,type,nr,size)Ö0 -_IOC_DIRÌ131072Í(nr)Ö0 -_IOC_DIRBITSÌ65536Ö0 -_IOC_DIRMASKÌ65536Ö0 -_IOC_DIRSHIFTÌ65536Ö0 -_IOC_NONEÌ65536Ö0 -_IOC_NRÌ131072Í(nr)Ö0 -_IOC_NRBITSÌ65536Ö0 -_IOC_NRMASKÌ65536Ö0 -_IOC_NRSHIFTÌ65536Ö0 -_IOC_READÌ65536Ö0 -_IOC_SIZEÌ131072Í(nr)Ö0 -_IOC_SIZEBITSÌ65536Ö0 -_IOC_SIZEMASKÌ65536Ö0 -_IOC_SIZESHIFTÌ65536Ö0 -_IOC_TYPEÌ131072Í(nr)Ö0 -_IOC_TYPEBITSÌ65536Ö0 -_IOC_TYPECHECKÌ131072Í(t)Ö0 -_IOC_TYPEMASKÌ65536Ö0 -_IOC_TYPESHIFTÌ65536Ö0 -_IOC_WRITEÌ65536Ö0 -_IOFBFÌ65536Ö0 -_IOLBFÌ65536Ö0 -_IONBFÌ65536Ö0 -_IORÌ131072Í(type,nr,size)Ö0 -_IOR_BADÌ131072Í(type,nr,size)Ö0 -_IOS_APPENDÌ65536Ö0 -_IOS_ATENDÌ65536Ö0 -_IOS_BINÌ65536Ö0 -_IOS_INPUTÌ65536Ö0 -_IOS_NOCREATEÌ65536Ö0 -_IOS_NOREPLACEÌ65536Ö0 -_IOS_OUTPUTÌ65536Ö0 -_IOS_TRUNCÌ65536Ö0 -_IOT_termiosÌ65536Ö0 -_IOWÌ131072Í(type,nr,size)Ö0 -_IOWRÌ131072Í(type,nr,size)Ö0 -_IOWR_BADÌ131072Í(type,nr,size)Ö0 -_IOW_BADÌ131072Í(type,nr,size)Ö0 -_IO_BAD_SEENÌ65536Ö0 -_IO_BEÌ131072Í(expr,res)Ö0 -_IO_BOOLALPHAÌ65536Ö0 -_IO_BUFSIZÌ65536Ö0 -_IO_CURRENTLY_PUTTINGÌ65536Ö0 -_IO_DECÌ65536Ö0 -_IO_DELETE_DONT_CLOSEÌ65536Ö0 -_IO_DONT_CLOSEÌ65536Ö0 -_IO_EOF_SEENÌ65536Ö0 -_IO_ERR_SEENÌ65536Ö0 -_IO_FIXEDÌ65536Ö0 -_IO_FLAGS2_MMAPÌ65536Ö0 -_IO_FLAGS2_NOTCANCELÌ65536Ö0 -_IO_FLAGS2_USER_WBUFÌ65536Ö0 -_IO_HAVE_ST_BLKSIZEÌ65536Ö0 -_IO_HEXÌ65536Ö0 -_IO_INTERNALÌ65536Ö0 -_IO_IN_BACKUPÌ65536Ö0 -_IO_IS_APPENDINGÌ65536Ö0 -_IO_IS_FILEBUFÌ65536Ö0 -_IO_LEFTÌ65536Ö0 -_IO_LINE_BUFÌ65536Ö0 -_IO_LINKEDÌ65536Ö0 -_IO_MAGICÌ65536Ö0 -_IO_MAGIC_MASKÌ65536Ö0 -_IO_NO_READSÌ65536Ö0 -_IO_NO_WRITESÌ65536Ö0 -_IO_OCTÌ65536Ö0 -_IO_PENDING_OUTPUT_COUNTÌ131072Í(_fp)Ö0 -_IO_RIGHTÌ65536Ö0 -_IO_SCIENTIFICÌ65536Ö0 -_IO_SHOWBASEÌ65536Ö0 -_IO_SHOWPOINTÌ65536Ö0 -_IO_SHOWPOSÌ65536Ö0 -_IO_SKIPWSÌ65536Ö0 -_IO_STDIOÌ65536Ö0 -_IO_STDIO_HÌ65536Ö0 -_IO_TIED_PUT_GETÌ65536Ö0 -_IO_UNBUFFEREDÌ65536Ö0 -_IO_UNIFIED_JUMPTABLESÌ65536Ö0 -_IO_UNITBUFÌ65536Ö0 -_IO_UPPERCASEÌ65536Ö0 -_IO_USER_BUFÌ65536Ö0 -_IO_USER_LOCKÌ65536Ö0 -_IO_cleanup_region_endÌ131072Í(_Doit)Ö0 -_IO_cleanup_region_startÌ131072Í(_fct,_fp)Ö0 -_IO_feof_unlockedÌ131072Í(__fp)Ö0 -_IO_ferror_unlockedÌ131072Í(__fp)Ö0 -_IO_file_flagsÌ65536Ö0 -_IO_flockfileÌ131072Í(_fp)Ö0 -_IO_fpos64_tÌ65536Ö0 -_IO_fpos_tÌ65536Ö0 -_IO_ftrylockfileÌ131072Í(_fp)Ö0 -_IO_funlockfileÌ131072Í(_fp)Ö0 -_IO_getc_unlockedÌ131072Í(_fp)Ö0 -_IO_iconv_tÌ65536Ö0 -_IO_off64_tÌ65536Ö0 -_IO_off_tÌ65536Ö0 -_IO_peekcÌ131072Í(_fp)Ö0 -_IO_peekc_unlockedÌ131072Í(_fp)Ö0 -_IO_pid_tÌ65536Ö0 -_IO_putc_unlockedÌ131072Í(_ch,_fp)Ö0 -_IO_size_tÌ65536Ö0 -_IO_ssize_tÌ65536Ö0 -_IO_stderrÌ65536Ö0 -_IO_stdinÌ65536Ö0 -_IO_stdoutÌ65536Ö0 -_IO_uid_tÌ65536Ö0 -_IO_va_listÌ65536Ö0 -_IO_wint_tÌ65536Ö0 -_ISOC11_SOURCEÌ65536Ö0 -_ISOC95_SOURCEÌ65536Ö0 -_ISOC99_SOURCEÌ65536Ö0 -_ISbitÌ131072Í(bit)Ö0 -_LARGEFILE64_SOURCEÌ65536Ö0 -_LARGEFILE_SOURCEÌ65536Ö0 -_LFS64_ASYNCHRONOUS_IOÌ65536Ö0 -_LFS64_LARGEFILEÌ65536Ö0 -_LFS64_STDIOÌ65536Ö0 -_LFS_ASYNCHRONOUS_IOÌ65536Ö0 -_LFS_LARGEFILEÌ65536Ö0 -_LIBC_LIMITS_H_Ì65536Ö0 -_LIBINTL_HÌ65536Ö0 -_LIMITS_H___Ì65536Ö0 -_LINUX_IOCTL_HÌ65536Ö0 -_LINUX_LIMITS_HÌ65536Ö0 -_LINUX_POSIX_TYPES_HÌ65536Ö0 -_LINUX_PRCTL_HÌ65536Ö0 -_LINUX_TYPES_HÌ65536Ö0 -_LOCALE_HÌ65536Ö0 -_LP64Ì65536Ö0 -_MATH_HÌ65536Ö0 -_MKNOD_VERÌ65536Ö0 -_MKNOD_VER_LINUXÌ65536Ö0 -_Mdouble_Ì65536Ö0 -_Mdouble_BEGIN_NAMESPACEÌ65536Ö0 -_Mdouble_END_NAMESPACEÌ65536Ö0 -_Mfloat_Ì65536Ö0 -_Mlong_double_Ì65536Ö0 -_NETDB_HÌ65536Ö0 -_NETINET_IN_HÌ65536Ö0 -_NSIGÌ65536Ö0 -_OLD_STDIO_MAGICÌ65536Ö0 -_PATH_HEQUIVÌ65536Ö0 -_PATH_HOSTSÌ65536Ö0 -_PATH_NETWORKSÌ65536Ö0 -_PATH_NSSWITCH_CONFÌ65536Ö0 -_PATH_PROTOCOLSÌ65536Ö0 -_PATH_SERVICESÌ65536Ö0 -_PC_2_SYMLINKSÌ65536Ö0 -_PC_ALLOC_SIZE_MINÌ65536Ö0 -_PC_ASYNC_IOÌ65536Ö0 -_PC_CHOWN_RESTRICTEDÌ65536Ö0 -_PC_FILESIZEBITSÌ65536Ö0 -_PC_LINK_MAXÌ65536Ö0 -_PC_MAX_CANONÌ65536Ö0 -_PC_MAX_INPUTÌ65536Ö0 -_PC_NAME_MAXÌ65536Ö0 -_PC_NO_TRUNCÌ65536Ö0 -_PC_PATH_MAXÌ65536Ö0 -_PC_PIPE_BUFÌ65536Ö0 -_PC_PRIO_IOÌ65536Ö0 -_PC_REC_INCR_XFER_SIZEÌ65536Ö0 -_PC_REC_MAX_XFER_SIZEÌ65536Ö0 -_PC_REC_MIN_XFER_SIZEÌ65536Ö0 -_PC_REC_XFER_ALIGNÌ65536Ö0 -_PC_SOCK_MAXBUFÌ65536Ö0 -_PC_SYMLINK_MAXÌ65536Ö0 -_PC_SYNC_IOÌ65536Ö0 -_PC_VDISABLEÌ65536Ö0 -_POSIX2_BC_BASE_MAXÌ65536Ö0 -_POSIX2_BC_DIM_MAXÌ65536Ö0 -_POSIX2_BC_SCALE_MAXÌ65536Ö0 -_POSIX2_BC_STRING_MAXÌ65536Ö0 -_POSIX2_CHARCLASS_NAME_MAXÌ65536Ö0 -_POSIX2_CHAR_TERMÌ65536Ö0 -_POSIX2_COLL_WEIGHTS_MAXÌ65536Ö0 -_POSIX2_C_BINDÌ65536Ö0 -_POSIX2_C_DEVÌ65536Ö0 -_POSIX2_C_VERSIONÌ65536Ö0 -_POSIX2_EXPR_NEST_MAXÌ65536Ö0 -_POSIX2_LINE_MAXÌ65536Ö0 -_POSIX2_LOCALEDEFÌ65536Ö0 -_POSIX2_RE_DUP_MAXÌ65536Ö0 -_POSIX2_SW_DEVÌ65536Ö0 -_POSIX2_VERSIONÌ65536Ö0 -_POSIX_ADVISORY_INFOÌ65536Ö0 -_POSIX_AIO_LISTIO_MAXÌ65536Ö0 -_POSIX_AIO_MAXÌ65536Ö0 -_POSIX_ARG_MAXÌ65536Ö0 -_POSIX_ASYNCHRONOUS_IOÌ65536Ö0 -_POSIX_ASYNC_IOÌ65536Ö0 -_POSIX_BARRIERSÌ65536Ö0 -_POSIX_CHILD_MAXÌ65536Ö0 -_POSIX_CHOWN_RESTRICTEDÌ65536Ö0 -_POSIX_CLOCKRES_MINÌ65536Ö0 -_POSIX_CLOCK_SELECTIONÌ65536Ö0 -_POSIX_CPUTIMEÌ65536Ö0 -_POSIX_C_SOURCEÌ65536Ö0 -_POSIX_DELAYTIMER_MAXÌ65536Ö0 -_POSIX_FD_SETSIZEÌ65536Ö0 -_POSIX_FSYNCÌ65536Ö0 -_POSIX_HIWATÌ65536Ö0 -_POSIX_HOST_NAME_MAXÌ65536Ö0 -_POSIX_IPV6Ì65536Ö0 -_POSIX_JOB_CONTROLÌ65536Ö0 -_POSIX_LINK_MAXÌ65536Ö0 -_POSIX_LOGIN_NAME_MAXÌ65536Ö0 -_POSIX_MAPPED_FILESÌ65536Ö0 -_POSIX_MAX_CANONÌ65536Ö0 -_POSIX_MAX_INPUTÌ65536Ö0 -_POSIX_MEMLOCKÌ65536Ö0 -_POSIX_MEMLOCK_RANGEÌ65536Ö0 -_POSIX_MEMORY_PROTECTIONÌ65536Ö0 -_POSIX_MESSAGE_PASSINGÌ65536Ö0 -_POSIX_MONOTONIC_CLOCKÌ65536Ö0 -_POSIX_MQ_OPEN_MAXÌ65536Ö0 -_POSIX_MQ_PRIO_MAXÌ65536Ö0 -_POSIX_NAME_MAXÌ65536Ö0 -_POSIX_NGROUPS_MAXÌ65536Ö0 -_POSIX_NO_TRUNCÌ65536Ö0 -_POSIX_OPEN_MAXÌ65536Ö0 -_POSIX_PATH_MAXÌ65536Ö0 -_POSIX_PIPE_BUFÌ65536Ö0 -_POSIX_PRIORITIZED_IOÌ65536Ö0 -_POSIX_PRIORITY_SCHEDULINGÌ65536Ö0 -_POSIX_QLIMITÌ65536Ö0 -_POSIX_RAW_SOCKETSÌ65536Ö0 -_POSIX_READER_WRITER_LOCKSÌ65536Ö0 -_POSIX_REALTIME_SIGNALSÌ65536Ö0 -_POSIX_REENTRANT_FUNCTIONSÌ65536Ö0 -_POSIX_REGEXPÌ65536Ö0 -_POSIX_RE_DUP_MAXÌ65536Ö0 -_POSIX_RTSIG_MAXÌ65536Ö0 -_POSIX_SAVED_IDSÌ65536Ö0 -_POSIX_SEMAPHORESÌ65536Ö0 -_POSIX_SEM_NSEMS_MAXÌ65536Ö0 -_POSIX_SEM_VALUE_MAXÌ65536Ö0 -_POSIX_SHARED_MEMORY_OBJECTSÌ65536Ö0 -_POSIX_SHELLÌ65536Ö0 -_POSIX_SIGQUEUE_MAXÌ65536Ö0 -_POSIX_SOURCEÌ65536Ö0 -_POSIX_SPAWNÌ65536Ö0 -_POSIX_SPIN_LOCKSÌ65536Ö0 -_POSIX_SPORADIC_SERVERÌ65536Ö0 -_POSIX_SSIZE_MAXÌ65536Ö0 -_POSIX_STREAM_MAXÌ65536Ö0 -_POSIX_SYMLINK_MAXÌ65536Ö0 -_POSIX_SYMLOOP_MAXÌ65536Ö0 -_POSIX_SYNCHRONIZED_IOÌ65536Ö0 -_POSIX_THREADSÌ65536Ö0 -_POSIX_THREAD_ATTR_STACKADDRÌ65536Ö0 -_POSIX_THREAD_ATTR_STACKSIZEÌ65536Ö0 -_POSIX_THREAD_CPUTIMEÌ65536Ö0 -_POSIX_THREAD_DESTRUCTOR_ITERATIONSÌ65536Ö0 -_POSIX_THREAD_KEYS_MAXÌ65536Ö0 -_POSIX_THREAD_PRIORITY_SCHEDULINGÌ65536Ö0 -_POSIX_THREAD_PRIO_INHERITÌ65536Ö0 -_POSIX_THREAD_PRIO_PROTECTÌ65536Ö0 -_POSIX_THREAD_PROCESS_SHAREDÌ65536Ö0 -_POSIX_THREAD_ROBUST_PRIO_INHERITÌ65536Ö0 -_POSIX_THREAD_ROBUST_PRIO_PROTECTÌ65536Ö0 -_POSIX_THREAD_SAFE_FUNCTIONSÌ65536Ö0 -_POSIX_THREAD_SPORADIC_SERVERÌ65536Ö0 -_POSIX_THREAD_THREADS_MAXÌ65536Ö0 -_POSIX_TIMEOUTSÌ65536Ö0 -_POSIX_TIMERSÌ65536Ö0 -_POSIX_TIMER_MAXÌ65536Ö0 -_POSIX_TRACEÌ65536Ö0 -_POSIX_TRACE_EVENT_FILTERÌ65536Ö0 -_POSIX_TRACE_INHERITÌ65536Ö0 -_POSIX_TRACE_LOGÌ65536Ö0 -_POSIX_TTY_NAME_MAXÌ65536Ö0 -_POSIX_TYPED_MEMORY_OBJECTSÌ65536Ö0 -_POSIX_TZNAME_MAXÌ65536Ö0 -_POSIX_UIO_MAXIOVÌ65536Ö0 -_POSIX_V6_LP64_OFF64Ì65536Ö0 -_POSIX_V6_LPBIG_OFFBIGÌ65536Ö0 -_POSIX_V7_LP64_OFF64Ì65536Ö0 -_POSIX_V7_LPBIG_OFFBIGÌ65536Ö0 -_POSIX_VDISABLEÌ65536Ö0 -_POSIX_VERSIONÌ65536Ö0 -_PTHREAD_HÌ65536Ö0 -_RPC_NETDB_HÌ65536Ö0 -_SCHED_HÌ65536Ö0 -_SC_2_CHAR_TERMÌ65536Ö0 -_SC_2_C_BINDÌ65536Ö0 -_SC_2_C_DEVÌ65536Ö0 -_SC_2_C_VERSIONÌ65536Ö0 -_SC_2_FORT_DEVÌ65536Ö0 -_SC_2_FORT_RUNÌ65536Ö0 -_SC_2_LOCALEDEFÌ65536Ö0 -_SC_2_PBSÌ65536Ö0 -_SC_2_PBS_ACCOUNTINGÌ65536Ö0 -_SC_2_PBS_CHECKPOINTÌ65536Ö0 -_SC_2_PBS_LOCATEÌ65536Ö0 -_SC_2_PBS_MESSAGEÌ65536Ö0 -_SC_2_PBS_TRACKÌ65536Ö0 -_SC_2_SW_DEVÌ65536Ö0 -_SC_2_UPEÌ65536Ö0 -_SC_2_VERSIONÌ65536Ö0 -_SC_ADVISORY_INFOÌ65536Ö0 -_SC_AIO_LISTIO_MAXÌ65536Ö0 -_SC_AIO_MAXÌ65536Ö0 -_SC_AIO_PRIO_DELTA_MAXÌ65536Ö0 -_SC_ARG_MAXÌ65536Ö0 -_SC_ASYNCHRONOUS_IOÌ65536Ö0 -_SC_ATEXIT_MAXÌ65536Ö0 -_SC_AVPHYS_PAGESÌ65536Ö0 -_SC_BARRIERSÌ65536Ö0 -_SC_BASEÌ65536Ö0 -_SC_BC_BASE_MAXÌ65536Ö0 -_SC_BC_DIM_MAXÌ65536Ö0 -_SC_BC_SCALE_MAXÌ65536Ö0 -_SC_BC_STRING_MAXÌ65536Ö0 -_SC_CHARCLASS_NAME_MAXÌ65536Ö0 -_SC_CHAR_BITÌ65536Ö0 -_SC_CHAR_MAXÌ65536Ö0 -_SC_CHAR_MINÌ65536Ö0 -_SC_CHILD_MAXÌ65536Ö0 -_SC_CLK_TCKÌ65536Ö0 -_SC_CLOCK_SELECTIONÌ65536Ö0 -_SC_COLL_WEIGHTS_MAXÌ65536Ö0 -_SC_CPUTIMEÌ65536Ö0 -_SC_C_LANG_SUPPORTÌ65536Ö0 -_SC_C_LANG_SUPPORT_RÌ65536Ö0 -_SC_DELAYTIMER_MAXÌ65536Ö0 -_SC_DEVICE_IOÌ65536Ö0 -_SC_DEVICE_SPECIFICÌ65536Ö0 -_SC_DEVICE_SPECIFIC_RÌ65536Ö0 -_SC_EQUIV_CLASS_MAXÌ65536Ö0 -_SC_EXPR_NEST_MAXÌ65536Ö0 -_SC_FD_MGMTÌ65536Ö0 -_SC_FIFOÌ65536Ö0 -_SC_FILE_ATTRIBUTESÌ65536Ö0 -_SC_FILE_LOCKINGÌ65536Ö0 -_SC_FILE_SYSTEMÌ65536Ö0 -_SC_FSYNCÌ65536Ö0 -_SC_GETGR_R_SIZE_MAXÌ65536Ö0 -_SC_GETPW_R_SIZE_MAXÌ65536Ö0 -_SC_HOST_NAME_MAXÌ65536Ö0 -_SC_INT_MAXÌ65536Ö0 -_SC_INT_MINÌ65536Ö0 -_SC_IOV_MAXÌ65536Ö0 -_SC_IPV6Ì65536Ö0 -_SC_JOB_CONTROLÌ65536Ö0 -_SC_LEVEL1_DCACHE_ASSOCÌ65536Ö0 -_SC_LEVEL1_DCACHE_LINESIZEÌ65536Ö0 -_SC_LEVEL1_DCACHE_SIZEÌ65536Ö0 -_SC_LEVEL1_ICACHE_ASSOCÌ65536Ö0 -_SC_LEVEL1_ICACHE_LINESIZEÌ65536Ö0 -_SC_LEVEL1_ICACHE_SIZEÌ65536Ö0 -_SC_LEVEL2_CACHE_ASSOCÌ65536Ö0 -_SC_LEVEL2_CACHE_LINESIZEÌ65536Ö0 -_SC_LEVEL2_CACHE_SIZEÌ65536Ö0 -_SC_LEVEL3_CACHE_ASSOCÌ65536Ö0 -_SC_LEVEL3_CACHE_LINESIZEÌ65536Ö0 -_SC_LEVEL3_CACHE_SIZEÌ65536Ö0 -_SC_LEVEL4_CACHE_ASSOCÌ65536Ö0 -_SC_LEVEL4_CACHE_LINESIZEÌ65536Ö0 -_SC_LEVEL4_CACHE_SIZEÌ65536Ö0 -_SC_LINE_MAXÌ65536Ö0 -_SC_LOGIN_NAME_MAXÌ65536Ö0 -_SC_LONG_BITÌ65536Ö0 -_SC_MAPPED_FILESÌ65536Ö0 -_SC_MB_LEN_MAXÌ65536Ö0 -_SC_MEMLOCKÌ65536Ö0 -_SC_MEMLOCK_RANGEÌ65536Ö0 -_SC_MEMORY_PROTECTIONÌ65536Ö0 -_SC_MESSAGE_PASSINGÌ65536Ö0 -_SC_MONOTONIC_CLOCKÌ65536Ö0 -_SC_MQ_OPEN_MAXÌ65536Ö0 -_SC_MQ_PRIO_MAXÌ65536Ö0 -_SC_MULTI_PROCESSÌ65536Ö0 -_SC_NETWORKINGÌ65536Ö0 -_SC_NGROUPS_MAXÌ65536Ö0 -_SC_NL_ARGMAXÌ65536Ö0 -_SC_NL_LANGMAXÌ65536Ö0 -_SC_NL_MSGMAXÌ65536Ö0 -_SC_NL_NMAXÌ65536Ö0 -_SC_NL_SETMAXÌ65536Ö0 -_SC_NL_TEXTMAXÌ65536Ö0 -_SC_NPROCESSORS_CONFÌ65536Ö0 -_SC_NPROCESSORS_ONLNÌ65536Ö0 -_SC_NZEROÌ65536Ö0 -_SC_OPEN_MAXÌ65536Ö0 -_SC_PAGESIZEÌ65536Ö0 -_SC_PAGE_SIZEÌ65536Ö0 -_SC_PASS_MAXÌ65536Ö0 -_SC_PHYS_PAGESÌ65536Ö0 -_SC_PIIÌ65536Ö0 -_SC_PII_INTERNETÌ65536Ö0 -_SC_PII_INTERNET_DGRAMÌ65536Ö0 -_SC_PII_INTERNET_STREAMÌ65536Ö0 -_SC_PII_OSIÌ65536Ö0 -_SC_PII_OSI_CLTSÌ65536Ö0 -_SC_PII_OSI_COTSÌ65536Ö0 -_SC_PII_OSI_MÌ65536Ö0 -_SC_PII_SOCKETÌ65536Ö0 -_SC_PII_XTIÌ65536Ö0 -_SC_PIPEÌ65536Ö0 -_SC_POLLÌ65536Ö0 -_SC_PRIORITIZED_IOÌ65536Ö0 -_SC_PRIORITY_SCHEDULINGÌ65536Ö0 -_SC_RAW_SOCKETSÌ65536Ö0 -_SC_READER_WRITER_LOCKSÌ65536Ö0 -_SC_REALTIME_SIGNALSÌ65536Ö0 -_SC_REGEXPÌ65536Ö0 -_SC_REGEX_VERSIONÌ65536Ö0 -_SC_RE_DUP_MAXÌ65536Ö0 -_SC_RTSIG_MAXÌ65536Ö0 -_SC_SAVED_IDSÌ65536Ö0 -_SC_SCHAR_MAXÌ65536Ö0 -_SC_SCHAR_MINÌ65536Ö0 -_SC_SELECTÌ65536Ö0 -_SC_SEMAPHORESÌ65536Ö0 -_SC_SEM_NSEMS_MAXÌ65536Ö0 -_SC_SEM_VALUE_MAXÌ65536Ö0 -_SC_SHARED_MEMORY_OBJECTSÌ65536Ö0 -_SC_SHELLÌ65536Ö0 -_SC_SHRT_MAXÌ65536Ö0 -_SC_SHRT_MINÌ65536Ö0 -_SC_SIGNALSÌ65536Ö0 -_SC_SIGQUEUE_MAXÌ65536Ö0 -_SC_SINGLE_PROCESSÌ65536Ö0 -_SC_SPAWNÌ65536Ö0 -_SC_SPIN_LOCKSÌ65536Ö0 -_SC_SPORADIC_SERVERÌ65536Ö0 -_SC_SSIZE_MAXÌ65536Ö0 -_SC_SS_REPL_MAXÌ65536Ö0 -_SC_STREAMSÌ65536Ö0 -_SC_STREAM_MAXÌ65536Ö0 -_SC_SYMLOOP_MAXÌ65536Ö0 -_SC_SYNCHRONIZED_IOÌ65536Ö0 -_SC_SYSTEM_DATABASEÌ65536Ö0 -_SC_SYSTEM_DATABASE_RÌ65536Ö0 -_SC_THREADSÌ65536Ö0 -_SC_THREAD_ATTR_STACKADDRÌ65536Ö0 -_SC_THREAD_ATTR_STACKSIZEÌ65536Ö0 -_SC_THREAD_CPUTIMEÌ65536Ö0 -_SC_THREAD_DESTRUCTOR_ITERATIONSÌ65536Ö0 -_SC_THREAD_KEYS_MAXÌ65536Ö0 -_SC_THREAD_PRIORITY_SCHEDULINGÌ65536Ö0 -_SC_THREAD_PRIO_INHERITÌ65536Ö0 -_SC_THREAD_PRIO_PROTECTÌ65536Ö0 -_SC_THREAD_PROCESS_SHAREDÌ65536Ö0 -_SC_THREAD_ROBUST_PRIO_INHERITÌ65536Ö0 -_SC_THREAD_ROBUST_PRIO_PROTECTÌ65536Ö0 -_SC_THREAD_SAFE_FUNCTIONSÌ65536Ö0 -_SC_THREAD_SPORADIC_SERVERÌ65536Ö0 -_SC_THREAD_STACK_MINÌ65536Ö0 -_SC_THREAD_THREADS_MAXÌ65536Ö0 -_SC_TIMEOUTSÌ65536Ö0 -_SC_TIMERSÌ65536Ö0 -_SC_TIMER_MAXÌ65536Ö0 -_SC_TRACEÌ65536Ö0 -_SC_TRACE_EVENT_FILTERÌ65536Ö0 -_SC_TRACE_EVENT_NAME_MAXÌ65536Ö0 -_SC_TRACE_INHERITÌ65536Ö0 -_SC_TRACE_LOGÌ65536Ö0 -_SC_TRACE_NAME_MAXÌ65536Ö0 -_SC_TRACE_SYS_MAXÌ65536Ö0 -_SC_TRACE_USER_EVENT_MAXÌ65536Ö0 -_SC_TTY_NAME_MAXÌ65536Ö0 -_SC_TYPED_MEMORY_OBJECTSÌ65536Ö0 -_SC_TZNAME_MAXÌ65536Ö0 -_SC_T_IOV_MAXÌ65536Ö0 -_SC_UCHAR_MAXÌ65536Ö0 -_SC_UINT_MAXÌ65536Ö0 -_SC_UIO_MAXIOVÌ65536Ö0 -_SC_ULONG_MAXÌ65536Ö0 -_SC_USER_GROUPSÌ65536Ö0 -_SC_USER_GROUPS_RÌ65536Ö0 -_SC_USHRT_MAXÌ65536Ö0 -_SC_V6_ILP32_OFF32Ì65536Ö0 -_SC_V6_ILP32_OFFBIGÌ65536Ö0 -_SC_V6_LP64_OFF64Ì65536Ö0 -_SC_V6_LPBIG_OFFBIGÌ65536Ö0 -_SC_V7_ILP32_OFF32Ì65536Ö0 -_SC_V7_ILP32_OFFBIGÌ65536Ö0 -_SC_V7_LP64_OFF64Ì65536Ö0 -_SC_V7_LPBIG_OFFBIGÌ65536Ö0 -_SC_VERSIONÌ65536Ö0 -_SC_WORD_BITÌ65536Ö0 -_SC_XBS5_ILP32_OFF32Ì65536Ö0 -_SC_XBS5_ILP32_OFFBIGÌ65536Ö0 -_SC_XBS5_LP64_OFF64Ì65536Ö0 -_SC_XBS5_LPBIG_OFFBIGÌ65536Ö0 -_SC_XOPEN_CRYPTÌ65536Ö0 -_SC_XOPEN_ENH_I18NÌ65536Ö0 -_SC_XOPEN_LEGACYÌ65536Ö0 -_SC_XOPEN_REALTIMEÌ65536Ö0 -_SC_XOPEN_REALTIME_THREADSÌ65536Ö0 -_SC_XOPEN_SHMÌ65536Ö0 -_SC_XOPEN_STREAMSÌ65536Ö0 -_SC_XOPEN_UNIXÌ65536Ö0 -_SC_XOPEN_VERSIONÌ65536Ö0 -_SC_XOPEN_XCU_VERSIONÌ65536Ö0 -_SC_XOPEN_XPG2Ì65536Ö0 -_SC_XOPEN_XPG3Ì65536Ö0 -_SC_XOPEN_XPG4Ì65536Ö0 -_SIGNAL_HÌ65536Ö0 -_SIGSET_H_fnsÌ65536Ö0 -_SIGSET_H_typesÌ65536Ö0 -_SIGSET_NWORDSÌ65536Ö0 -_SIZET_Ì65536Ö0 -_SIZE_TÌ65536Ö0 -_SIZE_T_Ì65536Ö0 -_SIZE_T_DECLAREDÌ65536Ö0 -_SIZE_T_DEFINEDÌ65536Ö0 -_SIZE_T_DEFINED_Ì65536Ö0 -_SS_PADSIZEÌ65536Ö0 -_SS_SIZEÌ65536Ö0 -_STATBUF_ST_BLKSIZEÌ65536Ö0 -_STATBUF_ST_NSECÌ65536Ö0 -_STATBUF_ST_RDEVÌ65536Ö0 -_STAT_VERÌ65536Ö0 -_STAT_VER_KERNELÌ65536Ö0 -_STAT_VER_LINUXÌ65536Ö0 -_STDARG_HÌ65536Ö0 -_STDBOOL_HÌ65536Ö0 -_STDC_PREDEF_HÌ65536Ö0 -_STDINT_HÌ65536Ö0 -_STDIO_HÌ65536Ö0 -_STDIO_USES_IOSTREAMÌ65536Ö0 -_STDLIB_HÌ65536Ö0 -_STRINGS_HÌ65536Ö0 -_STRING_HÌ65536Ö0 -_SYSCALL_HÌ65536Ö0 -_SYS_CDEFS_HÌ65536Ö0 -_SYS_IOCTL_HÌ65536Ö0 -_SYS_MMAN_HÌ65536Ö0 -_SYS_PRCTL_HÌ65536Ö0 -_SYS_SELECT_HÌ65536Ö0 -_SYS_SIZE_T_HÌ65536Ö0 -_SYS_SOCKET_HÌ65536Ö0 -_SYS_STAT_HÌ65536Ö0 -_SYS_SYSMACROS_HÌ65536Ö0 -_SYS_TIME_HÌ65536Ö0 -_SYS_TTYDEFAULTS_H_Ì65536Ö0 -_SYS_TYPES_HÌ65536Ö0 -_SYS_UCONTEXT_HÌ65536Ö0 -_SYS_UIO_HÌ65536Ö0 -_SYS_WAIT_HÌ65536Ö0 -_TERMIOS_HÌ65536Ö0 -_TIME_HÌ65536Ö0 -_T_SIZEÌ65536Ö0 -_T_SIZE_Ì65536Ö0 -_T_WCHARÌ65536Ö0 -_T_WCHAR_Ì65536Ö0 -_UNISTD_HÌ65536Ö0 -_U_Ì65536Ö0 -_VA_LISTÌ65536Ö0 -_VA_LIST_Ì65536Ö0 -_VA_LIST_DEFINEDÌ65536Ö0 -_VA_LIST_T_HÌ65536Ö0 -_WARNÌ1024Í(const char *fmt, ...)Ö0Ïint -_WCHAR_TÌ65536Ö0 -_WCHAR_T_Ì65536Ö0 -_WCHAR_T_DECLAREDÌ65536Ö0 -_WCHAR_T_DEFINEDÌ65536Ö0 -_WCHAR_T_DEFINED_Ì65536Ö0 -_WCHAR_T_HÌ65536Ö0 -_XBS5_LP64_OFF64Ì65536Ö0 -_XBS5_LPBIG_OFFBIGÌ65536Ö0 -_XLOCALE_HÌ65536Ö0 -_XOPEN_CRYPTÌ65536Ö0 -_XOPEN_ENH_I18NÌ65536Ö0 -_XOPEN_IOV_MAXÌ65536Ö0 -_XOPEN_LEGACYÌ65536Ö0 -_XOPEN_LIM_HÌ65536Ö0 -_XOPEN_REALTIMEÌ65536Ö0 -_XOPEN_REALTIME_THREADSÌ65536Ö0 -_XOPEN_SHMÌ65536Ö0 -_XOPEN_SOURCEÌ65536Ö0 -_XOPEN_SOURCE_EXTENDEDÌ65536Ö0 -_XOPEN_UNIXÌ65536Ö0 -_XOPEN_VERSIONÌ65536Ö0 -_XOPEN_XCU_VERSIONÌ65536Ö0 -_XOPEN_XPG2Ì65536Ö0 -_XOPEN_XPG3Ì65536Ö0 -_XOPEN_XPG4Ì65536Ö0 -__ASMNAMEÌ131072Í(cname)Ö0 -__ASMNAME2Ì131072Í(prefix,cname)Ö0 -__ASM_GENERIC_BITS_PER_LONGÌ65536Ö0 -__ASM_GENERIC_IOCTLS_HÌ65536Ö0 -__ASM_GENERIC_POSIX_TYPES_HÌ65536Ö0 -__ASM_GENERIC_SOCKET_HÌ65536Ö0 -__ASM_GENERIC_SOCKIOS_HÌ65536Ö0 -__ASM_X86_BITSPERLONG_HÌ65536Ö0 -__ASSERT_FUNCTIONÌ65536Ö0 -__ASSERT_VOID_CASTÌ65536Ö0 -__ATOMIC_ACQUIREÌ65536Ö0 -__ATOMIC_ACQ_RELÌ65536Ö0 -__ATOMIC_CONSUMEÌ65536Ö0 -__ATOMIC_HLE_ACQUIREÌ65536Ö0 -__ATOMIC_HLE_RELEASEÌ65536Ö0 -__ATOMIC_RELAXEDÌ65536Ö0 -__ATOMIC_RELEASEÌ65536Ö0 -__ATOMIC_SEQ_CSTÌ65536Ö0 -__BEGIN_DECLSÌ65536Ö0 -__BEGIN_NAMESPACE_C99Ì65536Ö0 -__BEGIN_NAMESPACE_STDÌ65536Ö0 -__BIGGEST_ALIGNMENT__Ì65536Ö0 -__BIG_ENDIANÌ65536Ö0 -__BITS_PER_LONGÌ65536Ö0 -__BITS_SOCKET_HÌ65536Ö0 -__BIT_TYPES_DEFINED__Ì65536Ö0 -__BLKCNT64_T_TYPEÌ65536Ö0 -__BLKCNT_T_TYPEÌ65536Ö0 -__BLKSIZE_T_TYPEÌ65536Ö0 -__BYTE_ORDERÌ65536Ö0 -__BYTE_ORDER__Ì65536Ö0 -__CHAR16_TYPE__Ì65536Ö0 -__CHAR32_TYPE__Ì65536Ö0 -__CHAR_BIT__Ì65536Ö0 -__CLOCKID_T_TYPEÌ65536Ö0 -__CLOCK_T_TYPEÌ65536Ö0 -__CMDLNOPTS_H__Ì65536Ö0 -__COMPAR_FN_TÌ65536Ö0 -__CONCATÌ131072Í(x,y)Ö0 -__CONST_SOCKADDR_ARGÌ65536Ö0 -__CORRECT_ISO_CPP_STRING_H_PROTOÌ65536Ö0 -__CPUELTÌ131072Í(cpu)Ö0 -__CPUMASKÌ131072Í(cpu)Ö0 -__CPU_ALLOCÌ131072Í(count)Ö0 -__CPU_ALLOC_SIZEÌ131072Í(count)Ö0 -__CPU_CLR_SÌ131072Í(cpu,setsize,cpusetp)Ö0 -__CPU_COUNT_SÌ131072Í(setsize,cpusetp)Ö0 -__CPU_EQUAL_SÌ131072Í(setsize,cpusetp1,cpusetp2)Ö0 -__CPU_FREEÌ131072Í(cpuset)Ö0 -__CPU_ISSET_SÌ131072Í(cpu,setsize,cpusetp)Ö0 -__CPU_MASK_TYPEÌ65536Ö0 -__CPU_OP_SÌ131072Í(setsize,destset,srcset1,srcset2,op)Ö0 -__CPU_SETSIZEÌ65536Ö0 -__CPU_SET_SÌ131072Í(cpu,setsize,cpusetp)Ö0 -__CPU_ZERO_SÌ131072Í(setsize,cpusetp)Ö0 -__DADDR_T_TYPEÌ65536Ö0 -__DBL_DECIMAL_DIG__Ì65536Ö0 -__DBL_DENORM_MIN__Ì65536Ö0 -__DBL_DIG__Ì65536Ö0 -__DBL_EPSILON__Ì65536Ö0 -__DBL_HAS_DENORM__Ì65536Ö0 -__DBL_HAS_INFINITY__Ì65536Ö0 -__DBL_HAS_QUIET_NAN__Ì65536Ö0 -__DBL_MANT_DIG__Ì65536Ö0 -__DBL_MAX_10_EXP__Ì65536Ö0 -__DBL_MAX_EXP__Ì65536Ö0 -__DBL_MAX__Ì65536Ö0 -__DBL_MIN_10_EXP__Ì65536Ö0 -__DBL_MIN_EXP__Ì65536Ö0 -__DBL_MIN__Ì65536Ö0 -__DEC128_EPSILON__Ì65536Ö0 -__DEC128_MANT_DIG__Ì65536Ö0 -__DEC128_MAX_EXP__Ì65536Ö0 -__DEC128_MAX__Ì65536Ö0 -__DEC128_MIN_EXP__Ì65536Ö0 -__DEC128_MIN__Ì65536Ö0 -__DEC128_SUBNORMAL_MIN__Ì65536Ö0 -__DEC32_EPSILON__Ì65536Ö0 -__DEC32_MANT_DIG__Ì65536Ö0 -__DEC32_MAX_EXP__Ì65536Ö0 -__DEC32_MAX__Ì65536Ö0 -__DEC32_MIN_EXP__Ì65536Ö0 -__DEC32_MIN__Ì65536Ö0 -__DEC32_SUBNORMAL_MIN__Ì65536Ö0 -__DEC64_EPSILON__Ì65536Ö0 -__DEC64_MANT_DIG__Ì65536Ö0 -__DEC64_MAX_EXP__Ì65536Ö0 -__DEC64_MAX__Ì65536Ö0 -__DEC64_MIN_EXP__Ì65536Ö0 -__DEC64_MIN__Ì65536Ö0 -__DEC64_SUBNORMAL_MIN__Ì65536Ö0 -__DECIMAL_BID_FORMAT__Ì65536Ö0 -__DECIMAL_DIG__Ì65536Ö0 -__DECL_SIMD_cosÌ65536Ö0 -__DECL_SIMD_cosfÌ65536Ö0 -__DECL_SIMD_coslÌ65536Ö0 -__DECL_SIMD_expÌ65536Ö0 -__DECL_SIMD_expfÌ65536Ö0 -__DECL_SIMD_explÌ65536Ö0 -__DECL_SIMD_logÌ65536Ö0 -__DECL_SIMD_logfÌ65536Ö0 -__DECL_SIMD_loglÌ65536Ö0 -__DECL_SIMD_powÌ65536Ö0 -__DECL_SIMD_powfÌ65536Ö0 -__DECL_SIMD_powlÌ65536Ö0 -__DECL_SIMD_sinÌ65536Ö0 -__DECL_SIMD_sincosÌ65536Ö0 -__DECL_SIMD_sincosfÌ65536Ö0 -__DECL_SIMD_sincoslÌ65536Ö0 -__DECL_SIMD_sinfÌ65536Ö0 -__DECL_SIMD_sinlÌ65536Ö0 -__DEC_EVAL_METHOD__Ì65536Ö0 -__DEPRECATEDÌ65536Ö0 -__DEV_T_TYPEÌ65536Ö0 -__ELF__Ì65536Ö0 -__END_DECLSÌ65536Ö0 -__END_NAMESPACE_C99Ì65536Ö0 -__END_NAMESPACE_STDÌ65536Ö0 -__EXCEPTIONSÌ65536Ö0 -__FDS_BITSÌ131072Í(set)Ö0 -__FD_CLRÌ131072Í(d,set)Ö0 -__FD_ELTÌ65536Ö0 -__FD_ELTÌ131072Í(d)Ö0 -__FD_ISSETÌ131072Í(d,set)Ö0 -__FD_MASKÌ131072Í(d)Ö0 -__FD_SETÌ131072Í(d,set)Ö0 -__FD_SETSIZEÌ65536Ö0 -__FD_ZEROÌ131072Í(fdsp)Ö0 -__FD_ZERO_STOSÌ65536Ö0 -__FILE_definedÌ65536Ö0 -__FINITE_MATH_ONLY__Ì65536Ö0 -__FLOAT_WORD_ORDERÌ65536Ö0 -__FLOAT_WORD_ORDER__Ì65536Ö0 -__FLT_DECIMAL_DIG__Ì65536Ö0 -__FLT_DENORM_MIN__Ì65536Ö0 -__FLT_DIG__Ì65536Ö0 -__FLT_EPSILON__Ì65536Ö0 -__FLT_EVAL_METHOD__Ì65536Ö0 -__FLT_HAS_DENORM__Ì65536Ö0 -__FLT_HAS_INFINITY__Ì65536Ö0 -__FLT_HAS_QUIET_NAN__Ì65536Ö0 -__FLT_MANT_DIG__Ì65536Ö0 -__FLT_MAX_10_EXP__Ì65536Ö0 -__FLT_MAX_EXP__Ì65536Ö0 -__FLT_MAX__Ì65536Ö0 -__FLT_MIN_10_EXP__Ì65536Ö0 -__FLT_MIN_EXP__Ì65536Ö0 -__FLT_MIN__Ì65536Ö0 -__FLT_RADIX__Ì65536Ö0 -__FP_LOGB0_IS_MINÌ65536Ö0 -__FP_LOGBNAN_IS_MINÌ65536Ö0 -__FP_LONG_MAXÌ65536Ö0 -__FSBLKCNT64_T_TYPEÌ65536Ö0 -__FSBLKCNT_T_TYPEÌ65536Ö0 -__FSFILCNT64_T_TYPEÌ65536Ö0 -__FSFILCNT_T_TYPEÌ65536Ö0 -__FSID_T_TYPEÌ65536Ö0 -__FSWORD_T_TYPEÌ65536Ö0 -__FXSR__Ì65536Ö0 -__F_GETOWNÌ65536Ö0 -__F_GETOWN_EXÌ65536Ö0 -__F_GETSIGÌ65536Ö0 -__F_SETOWNÌ65536Ö0 -__F_SETOWN_EXÌ65536Ö0 -__F_SETSIGÌ65536Ö0 -__GCC_ASM_FLAG_OUTPUTS__Ì65536Ö0 -__GCC_ATOMIC_BOOL_LOCK_FREEÌ65536Ö0 -__GCC_ATOMIC_CHAR16_T_LOCK_FREEÌ65536Ö0 -__GCC_ATOMIC_CHAR32_T_LOCK_FREEÌ65536Ö0 -__GCC_ATOMIC_CHAR_LOCK_FREEÌ65536Ö0 -__GCC_ATOMIC_INT_LOCK_FREEÌ65536Ö0 -__GCC_ATOMIC_LLONG_LOCK_FREEÌ65536Ö0 -__GCC_ATOMIC_LONG_LOCK_FREEÌ65536Ö0 -__GCC_ATOMIC_POINTER_LOCK_FREEÌ65536Ö0 -__GCC_ATOMIC_SHORT_LOCK_FREEÌ65536Ö0 -__GCC_ATOMIC_TEST_AND_SET_TRUEVALÌ65536Ö0 -__GCC_ATOMIC_WCHAR_T_LOCK_FREEÌ65536Ö0 -__GCC_HAVE_DWARF2_CFI_ASMÌ65536Ö0 -__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1Ì65536Ö0 -__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2Ì65536Ö0 -__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4Ì65536Ö0 -__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8Ì65536Ö0 -__GCC_IEC_559Ì65536Ö0 -__GCC_IEC_559_COMPLEXÌ65536Ö0 -__GID_T_TYPEÌ65536Ö0 -__GLIBCXX_BITSIZE_INT_N_0Ì65536Ö0 -__GLIBCXX_TYPE_INT_N_0Ì65536Ö0 -__GLIBCXX__Ì65536Ö0 -__GLIBC_FLT_EVAL_METHODÌ65536Ö0 -__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATIONÌ65536Ö0 -__GLIBC_MINOR__Ì65536Ö0 -__GLIBC_PREREQÌ131072Í(maj,min)Ö0 -__GLIBC_USEÌ131072Í(F)Ö0 -__GLIBC_USE_IEC_60559_BFP_EXTÌ65536Ö0 -__GLIBC_USE_IEC_60559_FUNCS_EXTÌ65536Ö0 -__GLIBC_USE_LIB_EXT2Ì65536Ö0 -__GLIBC__Ì65536Ö0 -__GNUC_MINOR__Ì65536Ö0 -__GNUC_PATCHLEVEL__Ì65536Ö0 -__GNUC_PREREQÌ131072Í(maj,min)Ö0 -__GNUC_STDC_INLINE__Ì65536Ö0 -__GNUC_VA_LISTÌ65536Ö0 -__GNUC__Ì65536Ö0 -__GNUG__Ì65536Ö0 -__GNU_GETTEXT_SUPPORTED_REVISIONÌ131072Í(major)Ö0 -__GNU_LIBRARY__Ì65536Ö0 -__GXX_ABI_VERSIONÌ65536Ö0 -__GXX_EXPERIMENTAL_CXX0X__Ì65536Ö0 -__GXX_RTTIÌ65536Ö0 -__GXX_WEAK__Ì65536Ö0 -__HAVE_COLUMNÌ65536Ö0 -__ID_T_TYPEÌ65536Ö0 -__ILP32_OFF32_CFLAGSÌ65536Ö0 -__ILP32_OFF32_LDFLAGSÌ65536Ö0 -__ILP32_OFFBIG_CFLAGSÌ65536Ö0 -__ILP32_OFFBIG_LDFLAGSÌ65536Ö0 -__INO64_T_TYPEÌ65536Ö0 -__INO_T_MATCHES_INO64_TÌ65536Ö0 -__INO_T_TYPEÌ65536Ö0 -__INT16_CÌ131072Í(c)Ö0 -__INT16_MAX__Ì65536Ö0 -__INT16_TYPE__Ì65536Ö0 -__INT32_CÌ131072Í(c)Ö0 -__INT32_MAX__Ì65536Ö0 -__INT32_TYPE__Ì65536Ö0 -__INT64_CÌ131072Í(c)Ö0 -__INT64_MAX__Ì65536Ö0 -__INT64_TYPE__Ì65536Ö0 -__INT8_CÌ131072Í(c)Ö0 -__INT8_MAX__Ì65536Ö0 -__INT8_TYPE__Ì65536Ö0 -__INTMAX_CÌ131072Í(c)Ö0 -__INTMAX_MAX__Ì65536Ö0 -__INTMAX_TYPE__Ì65536Ö0 -__INTPTR_MAX__Ì65536Ö0 -__INTPTR_TYPE__Ì65536Ö0 -__INT_FAST16_MAX__Ì65536Ö0 -__INT_FAST16_TYPE__Ì65536Ö0 -__INT_FAST32_MAX__Ì65536Ö0 -__INT_FAST32_TYPE__Ì65536Ö0 -__INT_FAST64_MAX__Ì65536Ö0 -__INT_FAST64_TYPE__Ì65536Ö0 -__INT_FAST8_MAX__Ì65536Ö0 -__INT_FAST8_TYPE__Ì65536Ö0 -__INT_LEAST16_MAX__Ì65536Ö0 -__INT_LEAST16_TYPE__Ì65536Ö0 -__INT_LEAST32_MAX__Ì65536Ö0 -__INT_LEAST32_TYPE__Ì65536Ö0 -__INT_LEAST64_MAX__Ì65536Ö0 -__INT_LEAST64_TYPE__Ì65536Ö0 -__INT_LEAST8_MAX__Ì65536Ö0 -__INT_LEAST8_TYPE__Ì65536Ö0 -__INT_MAX__Ì65536Ö0 -__INT_NÌ65536Ö0 -__INT_NÌ131072Í(TYPE)Ö0 -__INT_WCHAR_T_HÌ65536Ö0 -__KERNEL_STRICT_NAMESÌ65536Ö0 -__KEY_T_TYPEÌ65536Ö0 -__LC_ADDRESSÌ65536Ö0 -__LC_ALLÌ65536Ö0 -__LC_COLLATEÌ65536Ö0 -__LC_CTYPEÌ65536Ö0 -__LC_IDENTIFICATIONÌ65536Ö0 -__LC_MEASUREMENTÌ65536Ö0 -__LC_MESSAGESÌ65536Ö0 -__LC_MONETARYÌ65536Ö0 -__LC_NAMEÌ65536Ö0 -__LC_NUMERICÌ65536Ö0 -__LC_PAPERÌ65536Ö0 -__LC_TELEPHONEÌ65536Ö0 -__LC_TIMEÌ65536Ö0 -__LDBL_DENORM_MIN__Ì65536Ö0 -__LDBL_DIG__Ì65536Ö0 -__LDBL_EPSILON__Ì65536Ö0 -__LDBL_HAS_DENORM__Ì65536Ö0 -__LDBL_HAS_INFINITY__Ì65536Ö0 -__LDBL_HAS_QUIET_NAN__Ì65536Ö0 -__LDBL_MANT_DIG__Ì65536Ö0 -__LDBL_MAX_10_EXP__Ì65536Ö0 -__LDBL_MAX_EXP__Ì65536Ö0 -__LDBL_MAX__Ì65536Ö0 -__LDBL_MIN_10_EXP__Ì65536Ö0 -__LDBL_MIN_EXP__Ì65536Ö0 -__LDBL_MIN__Ì65536Ö0 -__LDBL_REDIRÌ131072Í(name,proto)Ö0 -__LDBL_REDIR1Ì131072Í(name,proto,alias)Ö0 -__LDBL_REDIR1_NTHÌ131072Í(name,proto,alias)Ö0 -__LDBL_REDIR_DECLÌ131072Í(name)Ö0 -__LDBL_REDIR_NTHÌ131072Í(name,proto)Ö0 -__LEAFÌ65536Ö0 -__LEAF_ATTRÌ65536Ö0 -__LITTLE_ENDIANÌ65536Ö0 -__LONG_LONG_MAX__Ì65536Ö0 -__LONG_LONG_PAIRÌ131072Í(HI,LO)Ö0 -__LONG_MAX__Ì65536Ö0 -__LP64_OFF64_CFLAGSÌ65536Ö0 -__LP64_OFF64_LDFLAGSÌ65536Ö0 -__LP64__Ì65536Ö0 -__MATHCALLÌ65536Ö0 -__MATHCALLÌ131072Í(function,suffix,args)Ö0 -__MATHCALLXÌ131072Í(function,suffix,args,attrib)Ö0 -__MATHCALL_VECÌ131072Í(function,suffix,args)Ö0 -__MATHDECLÌ65536Ö0 -__MATHDECLÌ131072Í(type,function,suffix,args)Ö0 -__MATHDECLXÌ131072Í(type,function,suffix,args,attrib)Ö0 -__MATHDECL_1Ì65536Ö0 -__MATHDECL_1Ì131072Í(type,function,suffix,args)Ö0 -__MATHDECL_VECÌ131072Í(type,function,suffix,args)Ö0 -__MATH_DECLARE_LDOUBLEÌ65536Ö0 -__MATH_DECLARING_DOUBLEÌ65536Ö0 -__MATH_EVAL_FMT2Ì131072Í(x,y)Ö0 -__MATH_INLINEÌ65536Ö0 -__MATH_PRECNAMEÌ65536Ö0 -__MATH_PRECNAMEÌ131072Í(name,r)Ö0 -__MATH_TGÌ131072Í(TG_ARG,FUNC,ARGS)Ö0 -__MAX_BAUDÌ65536Ö0 -__MMX__Ì65536Ö0 -__MODE_T_TYPEÌ65536Ö0 -__NÌ131072Í(msgid)Ö0 -__NCPUBITSÌ65536Ö0 -__NFDBITSÌ65536Ö0 -__NLINK_T_TYPEÌ65536Ö0 -__NO_CTYPEÌ65536Ö0 -__NR__sysctlÌ65536Ö0 -__NR_acceptÌ65536Ö0 -__NR_accept4Ì65536Ö0 -__NR_accessÌ65536Ö0 -__NR_acctÌ65536Ö0 -__NR_add_keyÌ65536Ö0 -__NR_adjtimexÌ65536Ö0 -__NR_afs_syscallÌ65536Ö0 -__NR_alarmÌ65536Ö0 -__NR_arch_prctlÌ65536Ö0 -__NR_bindÌ65536Ö0 -__NR_bpfÌ65536Ö0 -__NR_brkÌ65536Ö0 -__NR_capgetÌ65536Ö0 -__NR_capsetÌ65536Ö0 -__NR_chdirÌ65536Ö0 -__NR_chmodÌ65536Ö0 -__NR_chownÌ65536Ö0 -__NR_chrootÌ65536Ö0 -__NR_clock_adjtimeÌ65536Ö0 -__NR_clock_getresÌ65536Ö0 -__NR_clock_gettimeÌ65536Ö0 -__NR_clock_nanosleepÌ65536Ö0 -__NR_clock_settimeÌ65536Ö0 -__NR_cloneÌ65536Ö0 -__NR_closeÌ65536Ö0 -__NR_connectÌ65536Ö0 -__NR_copy_file_rangeÌ65536Ö0 -__NR_creatÌ65536Ö0 -__NR_create_moduleÌ65536Ö0 -__NR_delete_moduleÌ65536Ö0 -__NR_dupÌ65536Ö0 -__NR_dup2Ì65536Ö0 -__NR_dup3Ì65536Ö0 -__NR_epoll_createÌ65536Ö0 -__NR_epoll_create1Ì65536Ö0 -__NR_epoll_ctlÌ65536Ö0 -__NR_epoll_ctl_oldÌ65536Ö0 -__NR_epoll_pwaitÌ65536Ö0 -__NR_epoll_waitÌ65536Ö0 -__NR_epoll_wait_oldÌ65536Ö0 -__NR_eventfdÌ65536Ö0 -__NR_eventfd2Ì65536Ö0 -__NR_execveÌ65536Ö0 -__NR_execveatÌ65536Ö0 -__NR_exitÌ65536Ö0 -__NR_exit_groupÌ65536Ö0 -__NR_faccessatÌ65536Ö0 -__NR_fadvise64Ì65536Ö0 -__NR_fallocateÌ65536Ö0 -__NR_fanotify_initÌ65536Ö0 -__NR_fanotify_markÌ65536Ö0 -__NR_fchdirÌ65536Ö0 -__NR_fchmodÌ65536Ö0 -__NR_fchmodatÌ65536Ö0 -__NR_fchownÌ65536Ö0 -__NR_fchownatÌ65536Ö0 -__NR_fcntlÌ65536Ö0 -__NR_fdatasyncÌ65536Ö0 -__NR_fgetxattrÌ65536Ö0 -__NR_finit_moduleÌ65536Ö0 -__NR_flistxattrÌ65536Ö0 -__NR_flockÌ65536Ö0 -__NR_forkÌ65536Ö0 -__NR_fremovexattrÌ65536Ö0 -__NR_fsetxattrÌ65536Ö0 -__NR_fstatÌ65536Ö0 -__NR_fstatfsÌ65536Ö0 -__NR_fsyncÌ65536Ö0 -__NR_ftruncateÌ65536Ö0 -__NR_futexÌ65536Ö0 -__NR_futimesatÌ65536Ö0 -__NR_get_kernel_symsÌ65536Ö0 -__NR_get_mempolicyÌ65536Ö0 -__NR_get_robust_listÌ65536Ö0 -__NR_get_thread_areaÌ65536Ö0 -__NR_getcpuÌ65536Ö0 -__NR_getcwdÌ65536Ö0 -__NR_getdentsÌ65536Ö0 -__NR_getdents64Ì65536Ö0 -__NR_getegidÌ65536Ö0 -__NR_geteuidÌ65536Ö0 -__NR_getgidÌ65536Ö0 -__NR_getgroupsÌ65536Ö0 -__NR_getitimerÌ65536Ö0 -__NR_getpeernameÌ65536Ö0 -__NR_getpgidÌ65536Ö0 -__NR_getpgrpÌ65536Ö0 -__NR_getpidÌ65536Ö0 -__NR_getpmsgÌ65536Ö0 -__NR_getppidÌ65536Ö0 -__NR_getpriorityÌ65536Ö0 -__NR_getrandomÌ65536Ö0 -__NR_getresgidÌ65536Ö0 -__NR_getresuidÌ65536Ö0 -__NR_getrlimitÌ65536Ö0 -__NR_getrusageÌ65536Ö0 -__NR_getsidÌ65536Ö0 -__NR_getsocknameÌ65536Ö0 -__NR_getsockoptÌ65536Ö0 -__NR_gettidÌ65536Ö0 -__NR_gettimeofdayÌ65536Ö0 -__NR_getuidÌ65536Ö0 -__NR_getxattrÌ65536Ö0 -__NR_init_moduleÌ65536Ö0 -__NR_inotify_add_watchÌ65536Ö0 -__NR_inotify_initÌ65536Ö0 -__NR_inotify_init1Ì65536Ö0 -__NR_inotify_rm_watchÌ65536Ö0 -__NR_io_cancelÌ65536Ö0 -__NR_io_destroyÌ65536Ö0 -__NR_io_geteventsÌ65536Ö0 -__NR_io_setupÌ65536Ö0 -__NR_io_submitÌ65536Ö0 -__NR_ioctlÌ65536Ö0 -__NR_iopermÌ65536Ö0 -__NR_ioplÌ65536Ö0 -__NR_ioprio_getÌ65536Ö0 -__NR_ioprio_setÌ65536Ö0 -__NR_kcmpÌ65536Ö0 -__NR_kexec_file_loadÌ65536Ö0 -__NR_kexec_loadÌ65536Ö0 -__NR_keyctlÌ65536Ö0 -__NR_killÌ65536Ö0 -__NR_lchownÌ65536Ö0 -__NR_lgetxattrÌ65536Ö0 -__NR_linkÌ65536Ö0 -__NR_linkatÌ65536Ö0 -__NR_listenÌ65536Ö0 -__NR_listxattrÌ65536Ö0 -__NR_llistxattrÌ65536Ö0 -__NR_lookup_dcookieÌ65536Ö0 -__NR_lremovexattrÌ65536Ö0 -__NR_lseekÌ65536Ö0 -__NR_lsetxattrÌ65536Ö0 -__NR_lstatÌ65536Ö0 -__NR_madviseÌ65536Ö0 -__NR_mbindÌ65536Ö0 -__NR_membarrierÌ65536Ö0 -__NR_memfd_createÌ65536Ö0 -__NR_migrate_pagesÌ65536Ö0 -__NR_mincoreÌ65536Ö0 -__NR_mkdirÌ65536Ö0 -__NR_mkdiratÌ65536Ö0 -__NR_mknodÌ65536Ö0 -__NR_mknodatÌ65536Ö0 -__NR_mlockÌ65536Ö0 -__NR_mlock2Ì65536Ö0 -__NR_mlockallÌ65536Ö0 -__NR_mmapÌ65536Ö0 -__NR_modify_ldtÌ65536Ö0 -__NR_mountÌ65536Ö0 -__NR_move_pagesÌ65536Ö0 -__NR_mprotectÌ65536Ö0 -__NR_mq_getsetattrÌ65536Ö0 -__NR_mq_notifyÌ65536Ö0 -__NR_mq_openÌ65536Ö0 -__NR_mq_timedreceiveÌ65536Ö0 -__NR_mq_timedsendÌ65536Ö0 -__NR_mq_unlinkÌ65536Ö0 -__NR_mremapÌ65536Ö0 -__NR_msgctlÌ65536Ö0 -__NR_msggetÌ65536Ö0 -__NR_msgrcvÌ65536Ö0 -__NR_msgsndÌ65536Ö0 -__NR_msyncÌ65536Ö0 -__NR_munlockÌ65536Ö0 -__NR_munlockallÌ65536Ö0 -__NR_munmapÌ65536Ö0 -__NR_name_to_handle_atÌ65536Ö0 -__NR_nanosleepÌ65536Ö0 -__NR_newfstatatÌ65536Ö0 -__NR_nfsservctlÌ65536Ö0 -__NR_openÌ65536Ö0 -__NR_open_by_handle_atÌ65536Ö0 -__NR_openatÌ65536Ö0 -__NR_pauseÌ65536Ö0 -__NR_perf_event_openÌ65536Ö0 -__NR_personalityÌ65536Ö0 -__NR_pipeÌ65536Ö0 -__NR_pipe2Ì65536Ö0 -__NR_pivot_rootÌ65536Ö0 -__NR_pkey_allocÌ65536Ö0 -__NR_pkey_freeÌ65536Ö0 -__NR_pkey_mprotectÌ65536Ö0 -__NR_pollÌ65536Ö0 -__NR_ppollÌ65536Ö0 -__NR_prctlÌ65536Ö0 -__NR_pread64Ì65536Ö0 -__NR_preadvÌ65536Ö0 -__NR_preadv2Ì65536Ö0 -__NR_prlimit64Ì65536Ö0 -__NR_process_vm_readvÌ65536Ö0 -__NR_process_vm_writevÌ65536Ö0 -__NR_pselect6Ì65536Ö0 -__NR_ptraceÌ65536Ö0 -__NR_putpmsgÌ65536Ö0 -__NR_pwrite64Ì65536Ö0 -__NR_pwritevÌ65536Ö0 -__NR_pwritev2Ì65536Ö0 -__NR_query_moduleÌ65536Ö0 -__NR_quotactlÌ65536Ö0 -__NR_readÌ65536Ö0 -__NR_readaheadÌ65536Ö0 -__NR_readlinkÌ65536Ö0 -__NR_readlinkatÌ65536Ö0 -__NR_readvÌ65536Ö0 -__NR_rebootÌ65536Ö0 -__NR_recvfromÌ65536Ö0 -__NR_recvmmsgÌ65536Ö0 -__NR_recvmsgÌ65536Ö0 -__NR_remap_file_pagesÌ65536Ö0 -__NR_removexattrÌ65536Ö0 -__NR_renameÌ65536Ö0 -__NR_renameatÌ65536Ö0 -__NR_renameat2Ì65536Ö0 -__NR_request_keyÌ65536Ö0 -__NR_restart_syscallÌ65536Ö0 -__NR_rmdirÌ65536Ö0 -__NR_rt_sigactionÌ65536Ö0 -__NR_rt_sigpendingÌ65536Ö0 -__NR_rt_sigprocmaskÌ65536Ö0 -__NR_rt_sigqueueinfoÌ65536Ö0 -__NR_rt_sigreturnÌ65536Ö0 -__NR_rt_sigsuspendÌ65536Ö0 -__NR_rt_sigtimedwaitÌ65536Ö0 -__NR_rt_tgsigqueueinfoÌ65536Ö0 -__NR_sched_get_priority_maxÌ65536Ö0 -__NR_sched_get_priority_minÌ65536Ö0 -__NR_sched_getaffinityÌ65536Ö0 -__NR_sched_getattrÌ65536Ö0 -__NR_sched_getparamÌ65536Ö0 -__NR_sched_getschedulerÌ65536Ö0 -__NR_sched_rr_get_intervalÌ65536Ö0 -__NR_sched_setaffinityÌ65536Ö0 -__NR_sched_setattrÌ65536Ö0 -__NR_sched_setparamÌ65536Ö0 -__NR_sched_setschedulerÌ65536Ö0 -__NR_sched_yieldÌ65536Ö0 -__NR_seccompÌ65536Ö0 -__NR_securityÌ65536Ö0 -__NR_selectÌ65536Ö0 -__NR_semctlÌ65536Ö0 -__NR_semgetÌ65536Ö0 -__NR_semopÌ65536Ö0 -__NR_semtimedopÌ65536Ö0 -__NR_sendfileÌ65536Ö0 -__NR_sendmmsgÌ65536Ö0 -__NR_sendmsgÌ65536Ö0 -__NR_sendtoÌ65536Ö0 -__NR_set_mempolicyÌ65536Ö0 -__NR_set_robust_listÌ65536Ö0 -__NR_set_thread_areaÌ65536Ö0 -__NR_set_tid_addressÌ65536Ö0 -__NR_setdomainnameÌ65536Ö0 -__NR_setfsgidÌ65536Ö0 -__NR_setfsuidÌ65536Ö0 -__NR_setgidÌ65536Ö0 -__NR_setgroupsÌ65536Ö0 -__NR_sethostnameÌ65536Ö0 -__NR_setitimerÌ65536Ö0 -__NR_setnsÌ65536Ö0 -__NR_setpgidÌ65536Ö0 -__NR_setpriorityÌ65536Ö0 -__NR_setregidÌ65536Ö0 -__NR_setresgidÌ65536Ö0 -__NR_setresuidÌ65536Ö0 -__NR_setreuidÌ65536Ö0 -__NR_setrlimitÌ65536Ö0 -__NR_setsidÌ65536Ö0 -__NR_setsockoptÌ65536Ö0 -__NR_settimeofdayÌ65536Ö0 -__NR_setuidÌ65536Ö0 -__NR_setxattrÌ65536Ö0 -__NR_shmatÌ65536Ö0 -__NR_shmctlÌ65536Ö0 -__NR_shmdtÌ65536Ö0 -__NR_shmgetÌ65536Ö0 -__NR_shutdownÌ65536Ö0 -__NR_sigaltstackÌ65536Ö0 -__NR_signalfdÌ65536Ö0 -__NR_signalfd4Ì65536Ö0 -__NR_socketÌ65536Ö0 -__NR_socketpairÌ65536Ö0 -__NR_spliceÌ65536Ö0 -__NR_statÌ65536Ö0 -__NR_statfsÌ65536Ö0 -__NR_statxÌ65536Ö0 -__NR_swapoffÌ65536Ö0 -__NR_swaponÌ65536Ö0 -__NR_symlinkÌ65536Ö0 -__NR_symlinkatÌ65536Ö0 -__NR_syncÌ65536Ö0 -__NR_sync_file_rangeÌ65536Ö0 -__NR_syncfsÌ65536Ö0 -__NR_sysfsÌ65536Ö0 -__NR_sysinfoÌ65536Ö0 -__NR_syslogÌ65536Ö0 -__NR_teeÌ65536Ö0 -__NR_tgkillÌ65536Ö0 -__NR_timeÌ65536Ö0 -__NR_timer_createÌ65536Ö0 -__NR_timer_deleteÌ65536Ö0 -__NR_timer_getoverrunÌ65536Ö0 -__NR_timer_gettimeÌ65536Ö0 -__NR_timer_settimeÌ65536Ö0 -__NR_timerfd_createÌ65536Ö0 -__NR_timerfd_gettimeÌ65536Ö0 -__NR_timerfd_settimeÌ65536Ö0 -__NR_timesÌ65536Ö0 -__NR_tkillÌ65536Ö0 -__NR_truncateÌ65536Ö0 -__NR_tuxcallÌ65536Ö0 -__NR_umaskÌ65536Ö0 -__NR_umount2Ì65536Ö0 -__NR_unameÌ65536Ö0 -__NR_unlinkÌ65536Ö0 -__NR_unlinkatÌ65536Ö0 -__NR_unshareÌ65536Ö0 -__NR_uselibÌ65536Ö0 -__NR_userfaultfdÌ65536Ö0 -__NR_ustatÌ65536Ö0 -__NR_utimeÌ65536Ö0 -__NR_utimensatÌ65536Ö0 -__NR_utimesÌ65536Ö0 -__NR_vforkÌ65536Ö0 -__NR_vhangupÌ65536Ö0 -__NR_vmspliceÌ65536Ö0 -__NR_vserverÌ65536Ö0 -__NR_wait4Ì65536Ö0 -__NR_waitidÌ65536Ö0 -__NR_writeÌ65536Ö0 -__NR_writevÌ65536Ö0 -__NTHÌ131072Í(fct)Ö0 -__OFF64_T_TYPEÌ65536Ö0 -__OFF_T_MATCHES_OFF64_TÌ65536Ö0 -__OFF_T_TYPEÌ65536Ö0 -__OPEN_NEEDS_MODEÌ131072Í(oflag)Ö0 -__OPTIMIZE__Ì65536Ö0 -__ORDER_BIG_ENDIAN__Ì65536Ö0 -__ORDER_LITTLE_ENDIAN__Ì65536Ö0 -__ORDER_PDP_ENDIAN__Ì65536Ö0 -__O_CLOEXECÌ65536Ö0 -__O_DIRECTÌ65536Ö0 -__O_DIRECTORYÌ65536Ö0 -__O_DSYNCÌ65536Ö0 -__O_LARGEFILEÌ65536Ö0 -__O_NOATIMEÌ65536Ö0 -__O_NOFOLLOWÌ65536Ö0 -__O_PATHÌ65536Ö0 -__O_TMPFILEÌ65536Ö0 -__PÌ65536Ö0 -__PÌ131072Í(args)Ö0 -__PARSEARGS_H__Ì65536Ö0 -__PDP_ENDIANÌ65536Ö0 -__PIC__Ì65536Ö0 -__PID_T_TYPEÌ65536Ö0 -__PIE__Ì65536Ö0 -__PMTÌ65536Ö0 -__PMTÌ131072Í(args)Ö0 -__POSIX2_THIS_VERSIONÌ65536Ö0 -__POSIX_FADV_DONTNEEDÌ65536Ö0 -__POSIX_FADV_NOREUSEÌ65536Ö0 -__PRAGMA_REDEFINE_EXTNAMEÌ65536Ö0 -__PTHREAD_MUTEX_HAVE_PREVÌ65536Ö0 -__PTHREAD_RWLOCK_ELISION_EXTRAÌ65536Ö0 -__PTHREAD_RWLOCK_INT_FLAGS_SHAREDÌ65536Ö0 -__PTHREAD_SPINSÌ65536Ö0 -__PTRDIFF_MAX__Ì65536Ö0 -__PTRDIFF_TYPE__Ì65536Ö0 -__REDIRECTÌ131072Í(name,proto,alias)Ö0 -__REDIRECT_LDBLÌ131072Í(name,proto,alias)Ö0 -__REDIRECT_NTHÌ131072Í(name,proto,alias)Ö0 -__REDIRECT_NTHNLÌ131072Í(name,proto,alias)Ö0 -__REDIRECT_NTH_LDBLÌ131072Í(name,proto,alias)Ö0 -__REGISTER_PREFIX__Ì65536Ö0 -__RLIM64_T_TYPEÌ65536Ö0 -__RLIM_T_MATCHES_RLIM64_TÌ65536Ö0 -__RLIM_T_TYPEÌ65536Ö0 -__S16_TYPEÌ65536Ö0 -__S32_TYPEÌ65536Ö0 -__S64_TYPEÌ65536Ö0 -__SCHAR_MAX__Ì65536Ö0 -__SEG_FSÌ65536Ö0 -__SEG_GSÌ65536Ö0 -__SHRT_MAX__Ì65536Ö0 -__SIGEV_MAX_SIZEÌ65536Ö0 -__SIGEV_PAD_SIZEÌ65536Ö0 -__SIGRTMAXÌ65536Ö0 -__SIGRTMINÌ65536Ö0 -__SIGSETFNÌ65536Ö0 -__SIGSETFNÌ131072Í(NAME,BODY,CONST)Ö0 -__SIG_ATOMIC_MAX__Ì65536Ö0 -__SIG_ATOMIC_MIN__Ì65536Ö0 -__SIG_ATOMIC_TYPE__Ì65536Ö0 -__SIMD_DECLÌ131072Í(function)Ö0 -__SIZEOF_DOUBLE__Ì65536Ö0 -__SIZEOF_FLOAT128__Ì65536Ö0 -__SIZEOF_FLOAT80__Ì65536Ö0 -__SIZEOF_FLOAT__Ì65536Ö0 -__SIZEOF_INT128__Ì65536Ö0 -__SIZEOF_INT__Ì65536Ö0 -__SIZEOF_LONG_DOUBLE__Ì65536Ö0 -__SIZEOF_LONG_LONG__Ì65536Ö0 -__SIZEOF_LONG__Ì65536Ö0 -__SIZEOF_POINTER__Ì65536Ö0 -__SIZEOF_PTHREAD_ATTR_TÌ65536Ö0 -__SIZEOF_PTHREAD_BARRIERATTR_TÌ65536Ö0 -__SIZEOF_PTHREAD_BARRIER_TÌ65536Ö0 -__SIZEOF_PTHREAD_CONDATTR_TÌ65536Ö0 -__SIZEOF_PTHREAD_COND_TÌ65536Ö0 -__SIZEOF_PTHREAD_MUTEXATTR_TÌ65536Ö0 -__SIZEOF_PTHREAD_MUTEX_TÌ65536Ö0 -__SIZEOF_PTHREAD_RWLOCKATTR_TÌ65536Ö0 -__SIZEOF_PTHREAD_RWLOCK_TÌ65536Ö0 -__SIZEOF_PTRDIFF_T__Ì65536Ö0 -__SIZEOF_SHORT__Ì65536Ö0 -__SIZEOF_SIZE_T__Ì65536Ö0 -__SIZEOF_WCHAR_T__Ì65536Ö0 -__SIZEOF_WINT_T__Ì65536Ö0 -__SIZE_MAX__Ì65536Ö0 -__SIZE_TÌ65536Ö0 -__SIZE_TYPE__Ì65536Ö0 -__SIZE_T__Ì65536Ö0 -__SI_ALIGNMENTÌ65536Ö0 -__SI_MAX_SIZEÌ65536Ö0 -__SI_PAD_SIZEÌ65536Ö0 -__SLONG32_TYPEÌ65536Ö0 -__SLONGWORD_TYPEÌ65536Ö0 -__SOCKADDR_ARGÌ65536Ö0 -__SOCKADDR_COMMONÌ131072Í(sa_prefix)Ö0 -__SOCKADDR_COMMON_SIZEÌ65536Ö0 -__SOCKET_H__Ì65536Ö0 -__SQUAD_TYPEÌ65536Ö0 -__SSE2_MATH__Ì65536Ö0 -__SSE2__Ì65536Ö0 -__SSE_MATH__Ì65536Ö0 -__SSE__Ì65536Ö0 -__SSIZE_T_TYPEÌ65536Ö0 -__SSP_STRONG__Ì65536Ö0 -__STDC_CONSTANT_MACROSÌ65536Ö0 -__STDC_HOSTED__Ì65536Ö0 -__STDC_IEC_559_COMPLEX__Ì65536Ö0 -__STDC_IEC_559__Ì65536Ö0 -__STDC_ISO_10646__Ì65536Ö0 -__STDC_LIMIT_MACROSÌ65536Ö0 -__STDC_NO_THREADS__Ì65536Ö0 -__STDC_UTF_16__Ì65536Ö0 -__STDC_UTF_32__Ì65536Ö0 -__STDC__Ì65536Ö0 -__STDIO_INLINEÌ65536Ö0 -__STDLIB_MB_LEN_MAXÌ65536Ö0 -__STD_TYPEÌ65536Ö0 -__STRINGÌ131072Í(x)Ö0 -__STRINGS_FORTIFIEDÌ65536Ö0 -__SUSECONDS_T_TYPEÌ65536Ö0 -__SWORD_TYPEÌ65536Ö0 -__SYSCALL_SLONG_TYPEÌ65536Ö0 -__SYSCALL_ULONG_TYPEÌ65536Ö0 -__SYSCALL_WORDSIZEÌ65536Ö0 -__SYSMACROS_DECLARE_MAJORÌ65536Ö0 -__SYSMACROS_DECLARE_MAJORÌ131072Í(DECL_TEMPL)Ö0 -__SYSMACROS_DECLARE_MAKEDEVÌ65536Ö0 -__SYSMACROS_DECLARE_MAKEDEVÌ131072Í(DECL_TEMPL)Ö0 -__SYSMACROS_DECLARE_MINORÌ65536Ö0 -__SYSMACROS_DECLARE_MINORÌ131072Í(DECL_TEMPL)Ö0 -__SYSMACROS_DECL_TEMPLÌ65536Ö0 -__SYSMACROS_DECL_TEMPLÌ131072Í(rtype,name,proto)Ö0 -__SYSMACROS_DEFINE_MAJORÌ65536Ö0 -__SYSMACROS_DEFINE_MAJORÌ131072Í(DECL_TEMPL)Ö0 -__SYSMACROS_DEFINE_MAKEDEVÌ65536Ö0 -__SYSMACROS_DEFINE_MAKEDEVÌ131072Í(DECL_TEMPL)Ö0 -__SYSMACROS_DEFINE_MINORÌ65536Ö0 -__SYSMACROS_DEFINE_MINORÌ131072Í(DECL_TEMPL)Ö0 -__SYSMACROS_DEPRECATED_INCLUSIONÌ65536Ö0 -__SYSMACROS_DMÌ131072Í(symbol)Ö0 -__SYSMACROS_DM1Ì131072Í(...)Ö0 -__SYSMACROS_IMPL_TEMPLÌ65536Ö0 -__SYSMACROS_IMPL_TEMPLÌ131072Í(rtype,name,proto)Ö0 -__S_IEXECÌ65536Ö0 -__S_IFBLKÌ65536Ö0 -__S_IFCHRÌ65536Ö0 -__S_IFDIRÌ65536Ö0 -__S_IFIFOÌ65536Ö0 -__S_IFLNKÌ65536Ö0 -__S_IFMTÌ65536Ö0 -__S_IFREGÌ65536Ö0 -__S_IFSOCKÌ65536Ö0 -__S_IREADÌ65536Ö0 -__S_ISGIDÌ65536Ö0 -__S_ISTYPEÌ131072Í(mode,mask)Ö0 -__S_ISUIDÌ65536Ö0 -__S_ISVTXÌ65536Ö0 -__S_IWRITEÌ65536Ö0 -__S_TYPEISMQÌ131072Í(buf)Ö0 -__S_TYPEISSEMÌ131072Í(buf)Ö0 -__S_TYPEISSHMÌ131072Í(buf)Ö0 -__TERM_H__Ì65536Ö0 -__THROWÌ65536Ö0 -__THROWNLÌ65536Ö0 -__TIMER_T_TYPEÌ65536Ö0 -__TIME_T_TYPEÌ65536Ö0 -__U16_TYPEÌ65536Ö0 -__U32_TYPEÌ65536Ö0 -__U64_TYPEÌ65536Ö0 -__UID_T_TYPEÌ65536Ö0 -__UINT16_CÌ131072Í(c)Ö0 -__UINT16_MAX__Ì65536Ö0 -__UINT16_TYPE__Ì65536Ö0 -__UINT32_CÌ131072Í(c)Ö0 -__UINT32_MAX__Ì65536Ö0 -__UINT32_TYPE__Ì65536Ö0 -__UINT64_CÌ131072Í(c)Ö0 -__UINT64_MAX__Ì65536Ö0 -__UINT64_TYPE__Ì65536Ö0 -__UINT8_CÌ131072Í(c)Ö0 -__UINT8_MAX__Ì65536Ö0 -__UINT8_TYPE__Ì65536Ö0 -__UINTMAX_CÌ131072Í(c)Ö0 -__UINTMAX_MAX__Ì65536Ö0 -__UINTMAX_TYPE__Ì65536Ö0 -__UINTPTR_MAX__Ì65536Ö0 -__UINTPTR_TYPE__Ì65536Ö0 -__UINT_FAST16_MAX__Ì65536Ö0 -__UINT_FAST16_TYPE__Ì65536Ö0 -__UINT_FAST32_MAX__Ì65536Ö0 -__UINT_FAST32_TYPE__Ì65536Ö0 -__UINT_FAST64_MAX__Ì65536Ö0 -__UINT_FAST64_TYPE__Ì65536Ö0 -__UINT_FAST8_MAX__Ì65536Ö0 -__UINT_FAST8_TYPE__Ì65536Ö0 -__UINT_LEAST16_MAX__Ì65536Ö0 -__UINT_LEAST16_TYPE__Ì65536Ö0 -__UINT_LEAST32_MAX__Ì65536Ö0 -__UINT_LEAST32_TYPE__Ì65536Ö0 -__UINT_LEAST64_MAX__Ì65536Ö0 -__UINT_LEAST64_TYPE__Ì65536Ö0 -__UINT_LEAST8_MAX__Ì65536Ö0 -__UINT_LEAST8_TYPE__Ì65536Ö0 -__ULONG32_TYPEÌ65536Ö0 -__ULONGWORD_TYPEÌ65536Ö0 -__UQUAD_TYPEÌ65536Ö0 -__USECONDS_T_TYPEÌ65536Ö0 -__USEFULL_MACROS_H__Ì65536Ö0 -__USER_LABEL_PREFIX__Ì65536Ö0 -__USE_ATFILEÌ65536Ö0 -__USE_EXTERN_INLINESÌ65536Ö0 -__USE_FILE_OFFSET64Ì65536Ö0 -__USE_FORTIFY_LEVELÌ65536Ö0 -__USE_GNUÌ65536Ö0 -__USE_GNU_GETTEXTÌ65536Ö0 -__USE_ISOC11Ì65536Ö0 -__USE_ISOC95Ì65536Ö0 -__USE_ISOC99Ì65536Ö0 -__USE_ISOCXX11Ì65536Ö0 -__USE_KERNEL_IPV6_DEFSÌ65536Ö0 -__USE_LARGEFILEÌ65536Ö0 -__USE_LARGEFILE64Ì65536Ö0 -__USE_MISCÌ65536Ö0 -__USE_POSIXÌ65536Ö0 -__USE_POSIX199309Ì65536Ö0 -__USE_POSIX199506Ì65536Ö0 -__USE_POSIX2Ì65536Ö0 -__USE_UNIX98Ì65536Ö0 -__USE_XOPENÌ65536Ö0 -__USE_XOPEN2KÌ65536Ö0 -__USE_XOPEN2K8Ì65536Ö0 -__USE_XOPEN2K8XSIÌ65536Ö0 -__USE_XOPEN2KXSIÌ65536Ö0 -__USE_XOPEN_EXTENDEDÌ65536Ö0 -__USING_NAMESPACE_C99Ì131072Í(name)Ö0 -__USING_NAMESPACE_STDÌ131072Í(name)Ö0 -__UWORD_TYPEÌ65536Ö0 -__VERSION__Ì65536Ö0 -__WALLÌ65536Ö0 -__WCHAR_MAXÌ65536Ö0 -__WCHAR_MAX__Ì65536Ö0 -__WCHAR_MINÌ65536Ö0 -__WCHAR_MIN__Ì65536Ö0 -__WCHAR_TÌ65536Ö0 -__WCHAR_TYPE__Ì65536Ö0 -__WCHAR_T__Ì65536Ö0 -__WCLONEÌ65536Ö0 -__WCOREDUMPÌ131072Í(status)Ö0 -__WCOREFLAGÌ65536Ö0 -__WEXITSTATUSÌ131072Í(status)Ö0 -__WIFCONTINUEDÌ131072Í(status)Ö0 -__WIFEXITEDÌ131072Í(status)Ö0 -__WIFSIGNALEDÌ131072Í(status)Ö0 -__WIFSTOPPEDÌ131072Í(status)Ö0 -__WINT_MAX__Ì65536Ö0 -__WINT_MIN__Ì65536Ö0 -__WINT_TYPE__Ì65536Ö0 -__WNOTHREADÌ65536Ö0 -__WORDSIZEÌ65536Ö0 -__WORDSIZE_TIME64_COMPAT32Ì65536Ö0 -__WSTOPSIGÌ131072Í(status)Ö0 -__WTERMSIGÌ131072Í(status)Ö0 -__W_CONTINUEDÌ65536Ö0 -__W_EXITCODEÌ131072Í(ret,sig)Ö0 -__W_STOPCODEÌ131072Í(sig)Ö0 -__X32_SYSCALL_BITÌ65536Ö0 -____FILE_definedÌ65536Ö0 -____mbstate_t_definedÌ65536Ö0 -___int_size_t_hÌ65536Ö0 -___int_wchar_t_hÌ65536Ö0 -__aligned_be64Ì65536Ö0 -__aligned_le64Ì65536Ö0 -__aligned_u64Ì65536Ö0 -__always_inlineÌ65536Ö0 -__amd64Ì65536Ö0 -__amd64__Ì65536Ö0 -__argÌ64Î_pthread_cleanup_bufferÖ0Ïvoid * -__attribute_alloc_size__Ì131072Í(params)Ö0 -__attribute_artificial__Ì65536Ö0 -__attribute_const__Ì65536Ö0 -__attribute_deprecated__Ì65536Ö0 -__attribute_deprecated_msg__Ì131072Í(msg)Ö0 -__attribute_format_arg__Ì131072Í(x)Ö0 -__attribute_format_strfmon__Ì131072Í(a,b)Ö0 -__attribute_malloc__Ì65536Ö0 -__attribute_noinline__Ì65536Ö0 -__attribute_pure__Ì65536Ö0 -__attribute_used__Ì65536Ö0 -__attribute_warn_unused_result__Ì65536Ö0 -__be16Ì4096Ö0Ï__u16 -__be32Ì4096Ö0Ï__u32 -__be64Ì4096Ö0Ï__u64 -__bitsÌ64Îanon_struct_8Ö0Ï__cpu_mask -__bitwiseÌ65536Ö0 -__bitwise__Ì65536Ö0 -__blkcnt_t_definedÌ65536Ö0 -__blksize_t_definedÌ65536Ö0 -__bool_true_false_are_definedÌ65536Ö0 -__bosÌ131072Í(ptr)Ö0 -__bos0Ì131072Í(ptr)Ö0 -__bswap_16Ì131072Í(x)Ö0 -__bswap_constant_16Ì131072Í(x)Ö0 -__bswap_constant_32Ì131072Í(x)Ö0 -__bswap_constant_64Ì131072Í(x)Ö0 -__canceltypeÌ64Î_pthread_cleanup_bufferÖ0Ïint -__cleanup_fct_attributeÌ65536Ö0 -__clock_t_definedÌ65536Ö0 -__clockid_t_definedÌ65536Ö0 -__code_model_small__Ì65536Ö0 -__cplusplusÌ65536Ö0 -__cpp_aggregate_nsdmiÌ65536Ö0 -__cpp_alias_templatesÌ65536Ö0 -__cpp_attributesÌ65536Ö0 -__cpp_binary_literalsÌ65536Ö0 -__cpp_constexprÌ65536Ö0 -__cpp_decltypeÌ65536Ö0 -__cpp_decltype_autoÌ65536Ö0 -__cpp_delegating_constructorsÌ65536Ö0 -__cpp_digit_separatorsÌ65536Ö0 -__cpp_exceptionsÌ65536Ö0 -__cpp_generic_lambdasÌ65536Ö0 -__cpp_hex_floatÌ65536Ö0 -__cpp_inheriting_constructorsÌ65536Ö0 -__cpp_init_capturesÌ65536Ö0 -__cpp_initializer_listsÌ65536Ö0 -__cpp_lambdasÌ65536Ö0 -__cpp_nsdmiÌ65536Ö0 -__cpp_range_based_forÌ65536Ö0 -__cpp_raw_stringsÌ65536Ö0 -__cpp_ref_qualifiersÌ65536Ö0 -__cpp_return_type_deductionÌ65536Ö0 -__cpp_rttiÌ65536Ö0 -__cpp_runtime_arraysÌ65536Ö0 -__cpp_rvalue_referenceÌ65536Ö0 -__cpp_rvalue_referencesÌ65536Ö0 -__cpp_sized_deallocationÌ65536Ö0 -__cpp_static_assertÌ65536Ö0 -__cpp_unicode_charactersÌ65536Ö0 -__cpp_unicode_literalsÌ65536Ö0 -__cpp_user_defined_literalsÌ65536Ö0 -__cpp_variable_templatesÌ65536Ö0 -__cpp_variadic_templatesÌ65536Ö0 -__cpu_maskÌ4096Ö0Ïunsigned long int -__cpu_set_t_definedÌ65536Ö0 -__daddr_t_definedÌ65536Ö0 -__defined_schedparamÌ65536Ö0 -__dev_t_definedÌ65536Ö0 -__error_t_definedÌ65536Ö0 -__errordeclÌ131072Í(name,msg)Ö0 -__exctypeÌ131072Í(name)Ö0 -__exctype_lÌ131072Í(name)Ö0 -__extern_always_inlineÌ65536Ö0 -__extern_inlineÌ65536Ö0 -__flexarrÌ65536Ö0 -__fortify_functionÌ65536Ö0 -__fsblkcnt_t_definedÌ65536Ö0 -__fsfilcnt_t_definedÌ65536Ö0 -__gid_t_definedÌ65536Ö0 -__glibc_c99_flexarr_availableÌ65536Ö0 -__glibc_clang_has_extensionÌ131072Í(ext)Ö0 -__glibc_clang_prereqÌ131072Í(maj,min)Ö0 -__glibc_likelyÌ131072Í(cond)Ö0 -__glibc_macro_warningÌ131072Í(message)Ö0 -__glibc_macro_warning1Ì131072Í(message)Ö0 -__glibc_unlikelyÌ131072Í(cond)Ö0 -__glibcxx_assertÌ131072Í(_Condition)Ö0 -__gnu_linux__Ì65536Ö0 -__has_includeÌ131072Í(STR)Ö0 -__has_include_nextÌ131072Í(STR)Ö0 -__have_pthread_attr_tÌ65536Ö0 -__have_sigevent_tÌ65536Ö0 -__have_siginfo_tÌ65536Ö0 -__have_sigval_tÌ65536Ö0 -__id_t_definedÌ65536Ö0 -__ino64_t_definedÌ65536Ö0 -__ino_t_definedÌ65536Ö0 -__int8_t_definedÌ65536Ö0 -__intN_tÌ131072Í(N,MODE)Ö0 -__intptr_t_definedÌ65536Ö0 -__isasciiÌ131072Í(c)Ö0 -__iscanonicalÌ131072Í(x)Ö0 -__iscanonicalfÌ131072Í(x)Ö0 -__isctype_fÌ131072Í(type)Ö0 -__isctype_lÌ131072Í(c,type,locale)Ö0 -__isleapÌ131072Í(year)Ö0 -__itimerspec_definedÌ65536Ö0 -__jmp_bufÌ4096Ö0Ïlong int -__k8Ì65536Ö0 -__k8__Ì65536Ö0 -__kernel_caddr_tÌ4096Ö0Ïchar * -__kernel_clock_tÌ4096Ö0Ï__kernel_long_t -__kernel_clockid_tÌ4096Ö0Ïint -__kernel_daddr_tÌ4096Ö0Ïint -__kernel_fd_setÌ4096Ö0Ïanon_struct_5 -__kernel_fsid_tÌ4096Ö0Ïanon_struct_6 -__kernel_gid16_tÌ4096Ö0Ïunsigned short -__kernel_gid32_tÌ4096Ö0Ïunsigned int -__kernel_gid_tÌ4096Ö0Ïunsigned int -__kernel_ino_tÌ4096Ö0Ï__kernel_ulong_t -__kernel_ipc_pid_tÌ4096Ö0Ïint -__kernel_key_tÌ4096Ö0Ïint -__kernel_loff_tÌ4096Ö0Ïlong long -__kernel_long_tÌ4096Ö0Ïlong -__kernel_mode_tÌ4096Ö0Ïunsigned int -__kernel_mqd_tÌ4096Ö0Ïint -__kernel_off_tÌ4096Ö0Ï__kernel_long_t -__kernel_old_dev_tÌ4096Ö0Ïunsigned long -__kernel_old_dev_tÌ65536Ö0 -__kernel_old_gid_tÌ4096Ö0Ïunsigned short -__kernel_old_uid_tÌ4096Ö0Ïunsigned short -__kernel_old_uid_tÌ65536Ö0 -__kernel_pid_tÌ4096Ö0Ïint -__kernel_ptrdiff_tÌ4096Ö0Ï__kernel_long_t -__kernel_sighandler_tÌ4096Ö0Ïtypedef void -__kernel_size_tÌ4096Ö0Ï__kernel_ulong_t -__kernel_ssize_tÌ4096Ö0Ï__kernel_long_t -__kernel_suseconds_tÌ4096Ö0Ï__kernel_long_t -__kernel_time_tÌ4096Ö0Ï__kernel_long_t -__kernel_timer_tÌ4096Ö0Ïint -__kernel_uid16_tÌ4096Ö0Ïunsigned short -__kernel_uid32_tÌ4096Ö0Ïunsigned int -__kernel_uid_tÌ4096Ö0Ïunsigned int -__kernel_ulong_tÌ4096Ö0Ïunsigned long -__key_t_definedÌ65536Ö0 -__ldiv_t_definedÌ65536Ö0 -__le16Ì4096Ö0Ï__u16 -__le32Ì4096Ö0Ï__u32 -__le64Ì4096Ö0Ï__u64 -__linuxÌ65536Ö0 -__linux__Ì65536Ö0 -__lldiv_t_definedÌ65536Ö0 -__long_double_tÌ65536Ö0 -__malloc_and_calloc_definedÌ65536Ö0 -__mempcpyÌ131072Í(dest,src,n)Ö0 -__mode_t_definedÌ65536Ö0 -__need_EmathÌ65536Ö0 -__need_FILEÌ65536Ö0 -__need_IOV_MAXÌ65536Ö0 -__need_NULLÌ65536Ö0 -__need___FILEÌ65536Ö0 -__need___va_listÌ65536Ö0 -__need_error_tÌ65536Ö0 -__need_getoptÌ65536Ö0 -__need_malloc_and_callocÌ65536Ö0 -__need_mbstate_tÌ65536Ö0 -__need_schedparamÌ65536Ö0 -__need_sig_atomic_tÌ65536Ö0 -__need_sigevent_tÌ65536Ö0 -__need_siginfo_tÌ65536Ö0 -__need_sigset_tÌ65536Ö0 -__need_size_tÌ65536Ö0 -__need_wchar_tÌ65536Ö0 -__need_wint_tÌ65536Ö0 -__nlink_t_definedÌ65536Ö0 -__nonnullÌ131072Í(params)Ö0 -__off64_t_definedÌ65536Ö0 -__off_t_definedÌ65536Ö0 -__osockaddr_definedÌ65536Ö0 -__pic__Ì65536Ö0 -__pid_t_definedÌ65536Ö0 -__pie__Ì65536Ö0 -__prevÌ64Î_pthread_cleanup_bufferÖ0Ï_pthread_cleanup_buffer -__prognameÌ32768Ö0Ïconst char * -__ptr_tÌ65536Ö0 -__restrict_arrÌ65536Ö0 -__routineÌ1024Í(void *)Î_pthread_cleanup_bufferÖ0Ïvoid -__s16Ì4096Ö0Ï__signed__short -__s32Ì4096Ö0Ï__signed__int -__s64Ì4096Ö0Ï__extension__ -__s8Ì4096Ö0Ï__signed__char -__sched_paramÌ2048Ö0 -__sched_priorityÌ64Î__sched_paramÖ0Ïint -__sched_priorityÌ64Îsched_paramÖ0Ïint -__sig_atomic_t_definedÌ65536Ö0 -__sigandsetÌ131072Í(dest,left,right)Ö0 -__sigemptysetÌ131072Í(set)Ö0 -__sigfillsetÌ131072Í(set)Ö0 -__sigisemptysetÌ131072Í(set)Ö0 -__sigmaskÌ131072Í(sig)Ö0 -__sigorsetÌ131072Í(dest,left,right)Ö0 -__sigset_t_definedÌ65536Ö0 -__sigwordÌ131072Í(sig)Ö0 -__size_tÌ65536Ö0 -__size_t__Ì65536Ö0 -__socklen_t_definedÌ65536Ö0 -__ss_aligntypeÌ65536Ö0 -__ssize_t_definedÌ65536Ö0 -__struct_tm_definedÌ65536Ö0 -__stub___compat_bdflushÌ65536Ö0 -__stub_chflagsÌ65536Ö0 -__stub_fattachÌ65536Ö0 -__stub_fchflagsÌ65536Ö0 -__stub_fdetachÌ65536Ö0 -__stub_getmsgÌ65536Ö0 -__stub_gttyÌ65536Ö0 -__stub_lchmodÌ65536Ö0 -__stub_putmsgÌ65536Ö0 -__stub_revokeÌ65536Ö0 -__stub_setloginÌ65536Ö0 -__stub_sigreturnÌ65536Ö0 -__stub_sstkÌ65536Ö0 -__stub_sttyÌ65536Ö0 -__sum16Ì4096Ö0Ï__u16 -__suseconds_t_definedÌ65536Ö0 -__time_t_definedÌ65536Ö0 -__timer_t_definedÌ65536Ö0 -__timespec_definedÌ65536Ö0 -__timeval_definedÌ65536Ö0 -__toasciiÌ131072Í(c)Ö0 -__tobodyÌ131072Í(c,f,a,args)Ö0 -__u16Ì4096Ö0Ïunsigned short -__u32Ì4096Ö0Ïunsigned int -__u64Ì4096Ö0Ï__extension__unsigned long long -__u8Ì4096Ö0Ïunsigned char -__u_char_definedÌ65536Ö0 -__u_intN_tÌ131072Í(N,MODE)Ö0 -__uid_t_definedÌ65536Ö0 -__uint32_t_definedÌ65536Ö0 -__undef_OPEN_MAXÌ65536Ö0 -__unixÌ65536Ö0 -__unix__Ì65536Ö0 -__useconds_t_definedÌ65536Ö0 -__va_arg_packÌ131072Í()Ö0 -__va_arg_pack_lenÌ131072Í()Ö0 -__va_copyÌ131072Í(d,s)Ö0 -__va_list__Ì65536Ö0 -__warnattrÌ131072Í(msg)Ö0 -__warndeclÌ131072Í(name,msg)Ö0 -__wchar_t__Ì65536Ö0 -__wsumÌ4096Ö0Ï__u32 -__wurÌ65536Ö0 -__x86_64Ì65536Ö0 -__x86_64__Ì65536Ö0 -_pthread_cleanup_bufferÌ2048Ö0 -abortÌ64ÎstdÖ0Ïusing -abortÌ65536Ö0 -absÌ64ÎstdÖ0Ïusing -absÌ65536Ö0 -acosÌ64ÎstdÖ0Ïusing -acosÌ65536Ö0 -acoshÌ64ÎstdÖ0Ïusing -acoshÌ65536Ö0 -acoshfÌ65536Ö0 -acoshlÌ65536Ö0 -allocaÌ65536Ö0 -allocaÌ131072Í(size)Ö0 -anon_enum_0Ì2Ö0 -anon_enum_1Ì2Ö0 -anon_enum_10Ì2Ö0 -anon_enum_11Ì2Ö0 -anon_enum_12Ì2Ö0 -anon_enum_13Ì2Ö0 -anon_enum_14Ì2Ö0 -anon_enum_15Ì2Ö0 -anon_enum_16Ì2Ö0 -anon_enum_17Ì2Ö0 -anon_enum_18Ì2Ö0 -anon_enum_19Ì2Ö0 -anon_enum_9Ì2Ö0 -anon_struct_2Ì2048Ö0 -anon_struct_3Ì2048Ö0 -anon_struct_4Ì2048Ö0 -anon_struct_5Ì2048Ö0 -anon_struct_6Ì2048Ö0 -anon_struct_7Ì2048Ö0 -anon_struct_8Ì2048Ö0 -arg_doubleÌ4Îanon_enum_0Ö0 -arg_endÌ64Îprctl_mm_mapÖ0Ï__u64 -arg_floatÌ4Îanon_enum_0Ö0 -arg_functionÌ4Îanon_enum_0Ö0 -arg_intÌ4Îanon_enum_0Ö0 -arg_longlongÌ4Îanon_enum_0Ö0 -arg_noneÌ4Îanon_enum_0Ö0 -arg_startÌ64Îprctl_mm_mapÖ0Ï__u64 -arg_stringÌ4Îanon_enum_0Ö0 -argfnÌ4096Ö0Ïtypedef bool -argptrÌ64Îanon_struct_2Ö0Ïvoid * -argptrÌ64Îanon_struct_3Ö0Ïvoid * -argsortÌ16Í(const void *a1, const void *a2)Ö0Ïint -argtypeÌ4096Ö0Ïanon_enum_0 -asinÌ64ÎstdÖ0Ïusing -asinÌ65536Ö0 -asinhÌ64ÎstdÖ0Ïusing -asinhÌ65536Ö0 -asinhfÌ65536Ö0 -asinhlÌ65536Ö0 -assertÌ65536Ö0 -assertÌ131072Í(expr)Ö0 -assert_perrorÌ65536Ö0 -assert_perrorÌ131072Í(errnum)Ö0 -at_quick_exitÌ64ÎstdÖ0Ïusing -at_quick_exitÌ65536Ö0 -atanÌ64ÎstdÖ0Ïusing -atanÌ65536Ö0 -atan2Ì64ÎstdÖ0Ïusing -atan2Ì65536Ö0 -atanhÌ64ÎstdÖ0Ïusing -atanhÌ65536Ö0 -atanhfÌ65536Ö0 -atanhlÌ65536Ö0 -atexitÌ64ÎstdÖ0Ïusing -atexitÌ65536Ö0 -atofÌ64ÎstdÖ0Ïusing -atofÌ65536Ö0 -atoiÌ64ÎstdÖ0Ïusing -atoiÌ65536Ö0 -atolÌ64ÎstdÖ0Ïusing -atolÌ65536Ö0 -atollÌ65536Ö0 -auxvÌ64Îprctl_mm_mapÖ0Ï__u64 * -auxv_sizeÌ64Îprctl_mm_mapÖ0Ï__u32 -be16tohÌ131072Í(x)Ö0 -be32tohÌ131072Í(x)Ö0 -be64tohÌ131072Í(x)Ö0 -brkÌ64Îprctl_mm_mapÖ0Ï__u64 -bsearchÌ64ÎstdÖ0Ïusing -bsearchÌ65536Ö0 -bufÌ16384Ö0Ïchar -calcntÌ64ÎtimexÖ0Ï__syscall_slong_t -callocÌ64ÎstdÖ0Ïusing -callocÌ65536Ö0 -cbrtÌ64ÎstdÖ0Ïusing -cbrtÌ65536Ö0 -cbrtfÌ65536Ö0 -cbrtlÌ65536Ö0 -ceilÌ64ÎstdÖ0Ïusing -ceilÌ65536Ö0 -change_helpstringÌ16Í(char *s)Ö0Ïvoid -change_helpstringÌ1024Í(char *s)Ö0Ïvoid -cmdÌ16384Ö0Ïcommands -cmdlnoptsÌ16384Ö0Ïmyoption -comfdÌ16384Ö0Ïint -commandsÌ4096Ö0Ïanon_enum_19 -con_sigÌ16Í(int rb)Ö0Ïvoid -console_changedÌ16384Ö0Ïint -constantÌ64ÎtimexÖ0Ï__syscall_slong_t -copysignÌ64ÎstdÖ0Ïusing -copysignÌ65536Ö0 -copysignfÌ65536Ö0 -copysignlÌ65536Ö0 -cosÌ64ÎstdÖ0Ïusing -cosÌ65536Ö0 -coshÌ64ÎstdÖ0Ïusing -coshÌ65536Ö0 -cpu_set_tÌ4096Ö0Ïanon_struct_8 -daemon_Ì16Í(int sock)Ö0Ïvoid -daemonizeÌ16Í(char *port)Ö0Ïvoid -daemonizeÌ1024Í(char *port)Ö0Ïvoid -dataÌ64Îanon_struct_4Ö0Ïchar * -deviceÌ64Îanon_struct_7Ö0Ïchar * -divÌ64ÎstdÖ0Ïusing -divÌ65536Ö0 -div_tÌ64ÎstdÖ0Ïusing -dtimeÌ16Í()Ö0Ïdouble -dtimeÌ1024Í()Ö0Ïdouble -echoÌ64Îanon_struct_7Ö0Ïint -end_codeÌ64Îprctl_mm_mapÖ0Ï__u64 -end_dataÌ64Îprctl_mm_mapÖ0Ï__u64 -end_optionÌ65536Ö0 -end_suboptionÌ65536Ö0 -env_endÌ64Îprctl_mm_mapÖ0Ï__u64 -env_startÌ64Îprctl_mm_mapÖ0Ï__u64 -erfÌ64ÎstdÖ0Ïusing -erfÌ65536Ö0 -erfcÌ64ÎstdÖ0Ïusing -erfcÌ65536Ö0 -erfcfÌ65536Ö0 -erfclÌ65536Ö0 -erffÌ65536Ö0 -erflÌ65536Ö0 -errcntÌ64ÎtimexÖ0Ï__syscall_slong_t -errnoÌ65536Ö0 -error_tÌ4096Ö0Ïint -esterrorÌ64ÎtimexÖ0Ï__syscall_slong_t -exe_fdÌ64Îprctl_mm_mapÖ0Ï__u32 -exitÌ64ÎstdÖ0Ïusing -exitÌ65536Ö0 -expÌ64ÎstdÖ0Ïusing -expÌ65536Ö0 -exp2Ì64ÎstdÖ0Ïusing -exp2Ì65536Ö0 -exp2fÌ65536Ö0 -exp2lÌ65536Ö0 -expm1Ì64ÎstdÖ0Ïusing -expm1Ì65536Ö0 -expm1fÌ65536Ö0 -expm1lÌ65536Ö0 -fabsÌ64ÎstdÖ0Ïusing -fabsÌ65536Ö0 -fdimÌ64ÎstdÖ0Ïusing -fdimÌ65536Ö0 -fdimfÌ65536Ö0 -fdimlÌ65536Ö0 -fds_bitsÌ64Îanon_struct_5Ö0Ïunsigned long -flagÌ64Îanon_struct_2Ö0Ïint * -floorÌ64ÎstdÖ0Ïusing -floorÌ65536Ö0 -fmaÌ64ÎstdÖ0Ïusing -fmaÌ65536Ö0 -fmafÌ65536Ö0 -fmalÌ65536Ö0 -fmaxÌ64ÎstdÖ0Ïusing -fmaxÌ65536Ö0 -fmaxfÌ65536Ö0 -fmaxlÌ65536Ö0 -fminÌ64ÎstdÖ0Ïusing -fminÌ65536Ö0 -fminfÌ65536Ö0 -fminlÌ65536Ö0 -fmodÌ64ÎstdÖ0Ïusing -fmodÌ65536Ö0 -fpclassifyÌ64ÎstdÖ0Ïusing -fpclassifyÌ65536Ö0 -fpclassifyÌ131072Í(x)Ö0 -fread_unlockedÌ65536Ö0 -freeÌ64ÎstdÖ0Ïusing -freeÌ65536Ö0 -freqÌ64ÎtimexÖ0Ï__syscall_slong_t -frexpÌ64ÎstdÖ0Ïusing -frexpÌ65536Ö0 -g_pr_Ì16Í(const char *fmt, ...)Ö0Ïint -get_aptrÌ16Í(void *paptr, argtype type)Ö0Ïvoid * -get_optindÌ16Í(int opt, myoption *options)Ö0Ïint -get_suboptionÌ16Í(char *str, mysuboption *opt)Ö0Ïbool -get_suboptionÌ1024Í(char *str, mysuboption *opt)Ö0Ïbool -getcÌ131072Í(_fp)Ö0 -getenvÌ64ÎstdÖ0Ïusing -getenvÌ65536Ö0 -globErrÌ16384Ö0Ïint -globErrÌ32768Ö0Ïint -glob_parsÌ4096Ö0Ïanon_struct_7 -greenÌ1024Í(const char *fmt, ...)Ö0Ïint -h_addrÌ65536Ö0 -h_errnoÌ65536Ö0 -handle_socketÌ16Í(void *asock)Ö0Ïvoid * -has_argÌ64Îanon_struct_2Ö0Ïhasarg -has_argÌ64Îanon_struct_3Ö0Ïhasarg -hasargÌ4096Ö0Ïanon_enum_1 -helpÌ64Îanon_struct_2Ö0Ïconst char * -helpÌ16384Ö0Ïint -helpstringÌ16384Ö0Ïchar * -htobe16Ì131072Í(x)Ö0 -htobe32Ì131072Í(x)Ö0 -htobe64Ì131072Í(x)Ö0 -htole16Ì131072Í(x)Ö0 -htole32Ì131072Í(x)Ö0 -htole64Ì131072Í(x)Ö0 -htonlÌ131072Í(x)Ö0 -htonsÌ131072Í(x)Ö0 -hypotÌ64ÎstdÖ0Ïusing -hypotÌ65536Ö0 -hypotfÌ65536Ö0 -hypotlÌ65536Ö0 -ilogbÌ64ÎstdÖ0Ïusing -ilogbÌ65536Ö0 -ilogbfÌ65536Ö0 -ilogblÌ65536Ö0 -initial_setupÌ16Í()Ö0Ïvoid -initial_setupÌ1024Í()Ö0Ïvoid -int_fast16_tÌ4096Ö0Ïlong int -int_fast32_tÌ4096Ö0Ïlong int -int_fast64_tÌ4096Ö0Ïlong int -int_fast8_tÌ4096Ö0Ïsigned char -int_least16_tÌ4096Ö0Ïshort int -int_least32_tÌ4096Ö0Ïint -int_least64_tÌ4096Ö0Ïlong int -int_least8_tÌ4096Ö0Ïsigned char -intmax_tÌ4096Ö0Ï__intmax_t -iscanonicalÌ131072Í(x)Ö0 -iseqsigÌ131072Í(x,y)Ö0 -isfiniteÌ64ÎstdÖ0Ïusing -isfiniteÌ65536Ö0 -isfiniteÌ131072Í(x)Ö0 -isgreaterÌ64ÎstdÖ0Ïusing -isgreaterÌ65536Ö0 -isgreaterÌ131072Í(x,y)Ö0 -isgreaterequalÌ64ÎstdÖ0Ïusing -isgreaterequalÌ65536Ö0 -isgreaterequalÌ131072Í(x,y)Ö0 -isinfÌ64ÎstdÖ0Ïusing -isinfÌ65536Ö0 -isinfÌ131072Í(x)Ö0 -islessÌ64ÎstdÖ0Ïusing -islessÌ65536Ö0 -islessÌ131072Í(x,y)Ö0 -islessequalÌ64ÎstdÖ0Ïusing -islessequalÌ65536Ö0 -islessequalÌ131072Í(x,y)Ö0 -islessgreaterÌ64ÎstdÖ0Ïusing -islessgreaterÌ65536Ö0 -islessgreaterÌ131072Í(x,y)Ö0 -isnanÌ64ÎstdÖ0Ïusing -isnanÌ65536Ö0 -isnanÌ131072Í(x)Ö0 -isnormalÌ64ÎstdÖ0Ïusing -isnormalÌ65536Ö0 -isnormalÌ131072Í(x)Ö0 -issignalingÌ131072Í(x)Ö0 -issubnormalÌ131072Í(x)Ö0 -isunorderedÌ64ÎstdÖ0Ïusing -isunorderedÌ65536Ö0 -isunorderedÌ131072Í(u,v)Ö0 -it_intervalÌ64ÎitimerspecÖ0Ïtimespec -it_valueÌ64ÎitimerspecÖ0Ïtimespec -itimerspecÌ2048Ö0 -jitcntÌ64ÎtimexÖ0Ï__syscall_slong_t -jitterÌ64ÎtimexÖ0Ï__syscall_slong_t -labsÌ64ÎstdÖ0Ïusing -labsÌ65536Ö0 -ldexpÌ64ÎstdÖ0Ïusing -ldexpÌ65536Ö0 -ldivÌ64ÎstdÖ0Ïusing -ldivÌ65536Ö0 -ldiv_tÌ64ÎstdÖ0Ïusing -le16tohÌ131072Í(x)Ö0 -le32tohÌ131072Í(x)Ö0 -le64tohÌ131072Í(x)Ö0 -lenÌ64Îanon_struct_4Ö0Ïsize_t -lgammaÌ64ÎstdÖ0Ïusing -lgammaÌ65536Ö0 -lgammafÌ65536Ö0 -lgammalÌ65536Ö0 -linuxÌ65536Ö0 -llabsÌ65536Ö0 -lldivÌ65536Ö0 -llrintÌ64ÎstdÖ0Ïusing -llrintÌ65536Ö0 -llrintfÌ65536Ö0 -llrintlÌ65536Ö0 -llroundÌ64ÎstdÖ0Ïusing -llroundÌ65536Ö0 -llroundfÌ65536Ö0 -llroundlÌ65536Ö0 -logÌ64ÎstdÖ0Ïusing -logÌ65536Ö0 -log10Ì64ÎstdÖ0Ïusing -log10Ì65536Ö0 -log1pÌ64ÎstdÖ0Ïusing -log1pÌ65536Ö0 -log1pfÌ65536Ö0 -log1plÌ65536Ö0 -log2Ì64ÎstdÖ0Ïusing -log2Ì65536Ö0 -log2fÌ65536Ö0 -log2lÌ65536Ö0 -log_open_timeÌ16384Ö0Ïtime_t -logbÌ64ÎstdÖ0Ïusing -logbÌ65536Ö0 -logbfÌ65536Ö0 -logblÌ65536Ö0 -logfileÌ64Îanon_struct_7Ö0Ïchar * -lognameÌ16384Ö0Ïchar * -lrintÌ64ÎstdÖ0Ïusing -lrintÌ65536Ö0 -lrintfÌ65536Ö0 -lrintlÌ65536Ö0 -lroundÌ64ÎstdÖ0Ïusing -lroundÌ65536Ö0 -lroundfÌ65536Ö0 -lroundlÌ65536Ö0 -mainÌ16Í(int argc, char **argv)Ö0Ïint -majorÌ65536Ö0 -majorÌ131072Í(dev)Ö0 -makedevÌ65536Ö0 -makedevÌ131072Í(maj,min)Ö0 -mallocÌ64ÎstdÖ0Ïusing -mallocÌ65536Ö0 -math_errhandlingÌ65536Ö0 -maxÌ65536Ö0 -maxerrorÌ64ÎtimexÖ0Ï__syscall_slong_t -mblenÌ64ÎstdÖ0Ïusing -mblenÌ65536Ö0 -mbstowcsÌ64ÎstdÖ0Ïusing -mbstowcsÌ65536Ö0 -mbtowcÌ64ÎstdÖ0Ïusing -mbtowcÌ65536Ö0 -mempcpyÌ131072Í(dest,src,n)Ö0 -minÌ65536Ö0 -minorÌ65536Ö0 -minorÌ131072Í(dev)Ö0 -mmapbufÌ4096Ö0Ïanon_struct_4 -modesÌ64ÎtimexÖ0Ïunsigned int -modfÌ64ÎstdÖ0Ïusing -modfÌ65536Ö0 -mutexÌ16384Ö0Ïpthread_mutex_t -my_allocÌ16Í(size_t N, size_t S)Ö0Ïvoid * -my_allocÌ1024Í(size_t N, size_t S)Ö0Ïvoid * -myatodÌ16Í(void *num, const char *str, argtype t)Ö0Ïbool -myatollÌ16Í(void *num, char *str, argtype t)Ö0Ïbool -mygetcharÌ16Í()Ö0Ïint -mygetcharÌ1024Í()Ö0Ïint -myoptionÌ4096Ö0Ïanon_struct_2 -mysuboptionÌ4096Ö0Ïanon_struct_3 -n_addrtypeÌ64ÎnetentÖ0Ïint -n_aliasesÌ64ÎnetentÖ0Ïchar * * -n_nameÌ64ÎnetentÖ0Ïchar * -n_netÌ64ÎnetentÖ0Ïuint32_t -nameÌ64Îanon_struct_2Ö0Ïconst char * -nameÌ64Îanon_struct_3Ö0Ïconst char * -nanÌ65536Ö0 -nanfÌ65536Ö0 -nanlÌ65536Ö0 -nearbyintÌ64ÎstdÖ0Ïusing -nearbyintÌ65536Ö0 -nearbyintfÌ65536Ö0 -nearbyintlÌ65536Ö0 -netentÌ2048Ö0 -newtÌ16384Ö0Ïtermios -nextafterÌ64ÎstdÖ0Ïusing -nextafterÌ65536Ö0 -nextafterfÌ65536Ö0 -nextafterlÌ65536Ö0 -nexttowardÌ64ÎstdÖ0Ïusing -nexttowardÌ65536Ö0 -nexttowardfÌ65536Ö0 -nexttowardlÌ65536Ö0 -no_argumentÌ65536Ö0 -ntohlÌ131072Í(x)Ö0 -ntohsÌ131072Í(x)Ö0 -offsetÌ64ÎtimexÖ0Ï__syscall_slong_t -oldtÌ16384Ö0Ïtermios -oldttyÌ16384Ö0Ïtermio -openlogfileÌ16Í(char *name)Ö0Ïvoid -openlogfileÌ1024Í(char *name)Ö0Ïvoid -optional_argumentÌ65536Ö0 -parse_argsÌ16Í(int argc, char **argv)Ö0Ïglob_pars * -parse_argsÌ1024Í(int argc, char **argv)Ö0Ïglob_pars * -parseargsÌ16Í(int *argc, char ***argv, myoption *options)Ö0Ïvoid -parseargsÌ1024Í(int *argc, char ***argv, myoption *options)Ö0Ïvoid -pingÌ16Í()Ö0Ïint -pingÌ1024Í()Ö0Ïint -poll_deviceÌ16Í(char *wea)Ö0Ïchar * -poll_deviceÌ1024Í(char *wea)Ö0Ïchar * -portÌ64Îanon_struct_7Ö0Ïchar * -powÌ64ÎstdÖ0Ïusing -powÌ65536Ö0 -ppsfreqÌ64ÎtimexÖ0Ï__syscall_slong_t -prctl_mm_mapÌ2048Ö0 -precisionÌ64ÎtimexÖ0Ï__syscall_slong_t -pthread_cleanup_popÌ131072Í(execute)Ö0 -pthread_cleanup_pop_restore_npÌ131072Í(execute)Ö0 -pthread_cleanup_pushÌ131072Í(routine,arg)Ö0 -pthread_cleanup_push_defer_npÌ131072Í(routine,arg)Ö0 -putcÌ131072Í(_ch,_fp)Ö0 -putlogÌ16Í(const char *fmt, ...)Ö0Ïint -putlogÌ1024Í(const char *fmt, ...)Ö0Ïint -qsortÌ64ÎstdÖ0Ïusing -qsortÌ65536Ö0 -quick_exitÌ64ÎstdÖ0Ïusing -quick_exitÌ65536Ö0 -r_WARNÌ16Í(const char *fmt, ...)Ö0Ïint -r_pr_Ì16Í(const char *fmt, ...)Ö0Ïint -r_pr_nottyÌ16Í(const char *fmt, ...)Ö0Ïint -randÌ64ÎstdÖ0Ïusing -randÌ65536Ö0 -read_consoleÌ16Í()Ö0Ïint -read_consoleÌ1024Í()Ö0Ïint -read_stringÌ16Í()Ö0Ïchar * -read_ttyÌ16Í(char *buff, size_t length)Ö0Ïsize_t -read_ttyÌ1024Í(char *buff, size_t length)Ö0Ïsize_t -reallocÌ64ÎstdÖ0Ïusing -reallocÌ65536Ö0 -redÌ1024Í(const char *fmt, ...)Ö0Ïint -remainderÌ64ÎstdÖ0Ïusing -remainderÌ65536Ö0 -remainderfÌ65536Ö0 -remainderlÌ65536Ö0 -remquoÌ64ÎstdÖ0Ïusing -remquoÌ65536Ö0 -remquofÌ65536Ö0 -remquolÌ65536Ö0 -required_argumentÌ65536Ö0 -rest_parsÌ64Îanon_struct_7Ö0Ïchar * * -rest_pars_numÌ64Îanon_struct_7Ö0Ïint -restore_consoleÌ16Í()Ö0Ïvoid -restore_consoleÌ1024Í()Ö0Ïvoid -restore_ttyÌ16Í()Ö0Ïvoid -restore_ttyÌ1024Í()Ö0Ïvoid -rintÌ64ÎstdÖ0Ïusing -rintÌ65536Ö0 -rintfÌ65536Ö0 -rintlÌ65536Ö0 -roundÌ64ÎstdÖ0Ïusing -roundÌ65536Ö0 -roundfÌ65536Ö0 -roundlÌ65536Ö0 -run_terminalÌ16Í()Ö0Ïvoid -run_terminalÌ1024Í()Ö0Ïvoid -s6_addrÌ65536Ö0 -s6_addr16Ì65536Ö0 -s6_addr32Ì65536Ö0 -s_WARNÌ16Í(const char *fmt, ...)Ö0Ïint -sa_handlerÌ65536Ö0 -sa_sigactionÌ65536Ö0 -scalblnÌ64ÎstdÖ0Ïusing -scalblnÌ65536Ö0 -scalblnfÌ65536Ö0 -scalblnlÌ65536Ö0 -scalbnÌ64ÎstdÖ0Ïusing -scalbnÌ65536Ö0 -scalbnfÌ65536Ö0 -scalbnlÌ65536Ö0 -sched_paramÌ2048Ö0 -sched_priorityÌ65536Ö0 -send_dataÌ16Í(int sock, int webquery, const char *textbuf)Ö0Ïint -serverÌ16Í(void *asock)Ö0Ïvoid * -setup_conÌ16Í()Ö0Ïvoid -setup_conÌ1024Í()Ö0Ïvoid -shiftÌ64ÎtimexÖ0Ïint -showhelpÌ16Í(int oindex, myoption *options)Ö0Ïvoid -showhelpÌ1024Í(int oindex, myoption *options)Ö0Ïvoid -si_addrÌ65536Ö0 -si_addr_lsbÌ65536Ö0 -si_archÌ65536Ö0 -si_bandÌ65536Ö0 -si_call_addrÌ65536Ö0 -si_fdÌ65536Ö0 -si_intÌ65536Ö0 -si_lowerÌ65536Ö0 -si_overrunÌ65536Ö0 -si_pidÌ65536Ö0 -si_ptrÌ65536Ö0 -si_statusÌ65536Ö0 -si_stimeÌ65536Ö0 -si_syscallÌ65536Ö0 -si_timeridÌ65536Ö0 -si_uidÌ65536Ö0 -si_upperÌ65536Ö0 -si_utimeÌ65536Ö0 -si_valueÌ65536Ö0 -sigev_notify_attributesÌ65536Ö0 -sigev_notify_functionÌ65536Ö0 -sigeventÌ32768Ö0 -sigmaskÌ131072Í(sig)Ö0 -signalsÌ16Í(int signo)Ö0Ïvoid -signalsÌ1024Í(int sig)Ö0Ïvoid -signbitÌ64ÎstdÖ0Ïusing -signbitÌ65536Ö0 -signbitÌ131072Í(x)Ö0 -sinÌ64ÎstdÖ0Ïusing -sinÌ65536Ö0 -sinhÌ64ÎstdÖ0Ïusing -sinhÌ65536Ö0 -size_tÌ4096Ö0Ïlong unsigned int -sqrtÌ64ÎstdÖ0Ïusing -sqrtÌ65536Ö0 -srandÌ64ÎstdÖ0Ïusing -srandÌ65536Ö0 -st_atimeÌ65536Ö0 -st_ctimeÌ65536Ö0 -st_mtimeÌ65536Ö0 -stabilÌ64ÎtimexÖ0Ï__syscall_slong_t -starsÌ16384Ö0Ïconst char -start_brkÌ64Îprctl_mm_mapÖ0Ï__u64 -start_codeÌ64Îprctl_mm_mapÖ0Ï__u64 -start_dataÌ64Îprctl_mm_mapÖ0Ï__u64 -start_stackÌ64Îprctl_mm_mapÖ0Ï__u64 -statusÌ64ÎtimexÖ0Ïint -statusÌ16384Ö0Ïchar * -stbcntÌ64ÎtimexÖ0Ï__syscall_slong_t -stderrÌ65536Ö0 -stdinÌ65536Ö0 -stdoutÌ65536Ö0 -str2doubleÌ16Í(double *num, const char *str)Ö0Ïint -str2doubleÌ1024Í(double *num, const char *str)Ö0Ïint -strdupaÌ131072Í(s)Ö0 -stringscanÌ16Í(char *str, char *needle)Ö0Ïchar * -strndupaÌ131072Í(s,n)Ö0 -strtodÌ64ÎstdÖ0Ïusing -strtodÌ65536Ö0 -strtofÌ65536Ö0 -strtolÌ64ÎstdÖ0Ïusing -strtolÌ65536Ö0 -strtoldÌ65536Ö0 -strtollÌ65536Ö0 -strtoulÌ64ÎstdÖ0Ïusing -strtoulÌ65536Ö0 -strtoullÌ65536Ö0 -systemÌ64ÎstdÖ0Ïusing -systemÌ65536Ö0 -taiÌ64ÎtimexÖ0Ïint -tanÌ64ÎstdÖ0Ïusing -tanÌ65536Ö0 -tanhÌ64ÎstdÖ0Ïusing -tanhÌ65536Ö0 -terminalÌ64Îanon_struct_7Ö0Ïint -tgammaÌ64ÎstdÖ0Ïusing -tgammaÌ65536Ö0 -tgammafÌ65536Ö0 -tgammalÌ65536Ö0 -tickÌ64ÎtimexÖ0Ï__syscall_slong_t -timeÌ64ÎtimexÖ0Ïtimeval -timeraddÌ131072Í(a,b,result)Ö0 -timerclearÌ131072Í(tvp)Ö0 -timercmpÌ131072Í(a,b,CMP)Ö0 -timerissetÌ131072Í(tvp)Ö0 -timersubÌ131072Í(a,b,result)Ö0 -timexÌ2048Ö0 -tmÌ2048Ö0 -tm_gmtoffÌ64ÎtmÖ0Ïlong int -tm_hourÌ64ÎtmÖ0Ïint -tm_isdstÌ64ÎtmÖ0Ïint -tm_mdayÌ64ÎtmÖ0Ïint -tm_minÌ64ÎtmÖ0Ïint -tm_monÌ64ÎtmÖ0Ïint -tm_secÌ64ÎtmÖ0Ïint -tm_wdayÌ64ÎtmÖ0Ïint -tm_ydayÌ64ÎtmÖ0Ïint -tm_yearÌ64ÎtmÖ0Ïint -tm_zoneÌ64ÎtmÖ0Ïconst char * -toleranceÌ64ÎtimexÖ0Ï__syscall_slong_t -truncÌ64ÎstdÖ0Ïusing -truncÌ65536Ö0 -truncfÌ65536Ö0 -trunclÌ65536Ö0 -try_connectÌ16Í(char *device)Ö0Ïvoid -try_connectÌ1024Í(char *device)Ö0Ïvoid -ttyÌ16384Ö0Ïtermio -tty_initÌ16Í(char *comdev)Ö0Ïvoid -tty_initÌ1024Í(char *comdev)Ö0Ïvoid -typeÌ64Îanon_struct_2Ö0Ïargtype -typeÌ64Îanon_struct_3Ö0Ïargtype -uint16_tÌ4096Ö0Ïunsigned short int -uint32_tÌ4096Ö0Ïunsigned int -uint64_tÌ4096Ö0Ïunsigned long int -uint8_tÌ4096Ö0Ïunsigned char -uint_fast16_tÌ4096Ö0Ïunsigned long int -uint_fast32_tÌ4096Ö0Ïunsigned long int -uint_fast64_tÌ4096Ö0Ïunsigned long int -uint_fast8_tÌ4096Ö0Ïunsigned char -uint_least16_tÌ4096Ö0Ïunsigned short int -uint_least32_tÌ4096Ö0Ïunsigned int -uint_least64_tÌ4096Ö0Ïunsigned long int -uint_least8_tÌ4096Ö0Ïunsigned char -uintmax_tÌ4096Ö0Ï__uintmax_t -uintptr_tÌ4096Ö0Ïunsigned long int -unixÌ65536Ö0 -va_argÌ131072Í(v,l)Ö0 -va_copyÌ131072Í(d,s)Ö0 -va_endÌ131072Í(v)Ö0 -va_startÌ131072Í(v,l)Ö0 -valÌ64Îanon_struct_2Ö0Ïint -valÌ64Îanon_struct_6Ö0Ïint -waittoreadÌ16Í(int sock)Ö0Ïint -wcstombsÌ64ÎstdÖ0Ïusing -wcstombsÌ65536Ö0 -wctombÌ64ÎstdÖ0Ïusing -wctombÌ65536Ö0 -weatherÌ16384Ö0Ïchar -write_cmdÌ16Í(const char *cmd)Ö0Ïchar * -write_cmdÌ1024Í(const char *cmd)Ö0Ïchar * -write_ttyÌ16Í(const char *buff, size_t length)Ö0Ïint -write_ttyÌ1024Í(const char *buff, size_t length)Ö0Ïint diff --git a/astrosib_utils/domedaemon/domedaemon.geany b/astrosib_utils/domedaemon/domedaemon.geany deleted file mode 100644 index 510b69c..0000000 --- a/astrosib_utils/domedaemon/domedaemon.geany +++ /dev/null @@ -1,42 +0,0 @@ -[editor] -line_wrapping=false -line_break_column=80 -auto_continue_multiline=true - -[file_prefs] -final_new_line=true -ensure_convert_new_lines=false -strip_trailing_spaces=true -replace_tabs=true - -[indentation] -indent_width=4 -indent_type=0 -indent_hard_tab_width=4 -detect_indent=false -detect_indent_width=false -indent_mode=3 - -[project] -name=domedaemon -base_path=/tmp/f/domedaemon/ -description= - -[long line marker] -long_line_behaviour=1 -long_line_column=80 - -[files] -current_page=8 -FILE_NAME_0=1293;C;0;EKOI8-R;0;1;0;%2Ftmp%2Ff%2Fdomedaemon%2Fcmdlnopts.c;0;4 -FILE_NAME_1=1178;C;0;EKOI8-R;0;1;0;%2Ftmp%2Ff%2Fdomedaemon%2Fcmdlnopts.h;0;4 -FILE_NAME_2=0;C;0;EKOI8-R;0;1;0;%2Ftmp%2Ff%2Fdomedaemon%2Fmain.c;0;4 -FILE_NAME_3=4321;C;0;EKOI8-R;0;1;0;%2Ftmp%2Ff%2Fdomedaemon%2Fparseargs.c;0;4 -FILE_NAME_4=0;C;0;EKOI8-R;0;1;0;%2Ftmp%2Ff%2Fdomedaemon%2Fparseargs.h;0;4 -FILE_NAME_5=6959;C;0;EKOI8-R;0;1;0;%2Ftmp%2Ff%2Fdomedaemon%2Fsocket.c;0;4 -FILE_NAME_6=1171;C;0;EKOI8-R;0;1;0;%2Ftmp%2Ff%2Fdomedaemon%2Fsocket.h;0;4 -FILE_NAME_7=0;C;0;EKOI8-R;0;1;0;%2Ftmp%2Ff%2Fdomedaemon%2Fterm.c;0;4 -FILE_NAME_8=1325;C;0;EKOI8-R;0;1;0;%2Ftmp%2Ff%2Fdomedaemon%2Fterm.h;0;4 - -[VTE] -last_dir=/home/eddy diff --git a/astrosib_utils/domedaemon/main.c b/astrosib_utils/domedaemon/main.c deleted file mode 100644 index fbcd8d6..0000000 --- a/astrosib_utils/domedaemon/main.c +++ /dev/null @@ -1,83 +0,0 @@ -/* geany_encoding=koi8-r - * main.c - * - * Copyright 2018 Edward V. Emelianov - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -#include "usefull_macros.h" -#include -#include // wait -#include //prctl -#include "cmdlnopts.h" -#include "socket.h" - -// dome @ /dev/ttyS2 - -glob_pars *GP; - -void signals(int signo){ - restore_console(); - restore_tty(); - putlog("exit with status %d", signo); - exit(signo); -} - -int main(int argc, char **argv){ - initial_setup(); - signal(SIGTERM, signals); // kill (-15) - quit - signal(SIGHUP, SIG_IGN); // hup - ignore - signal(SIGINT, signals); // ctrl+C - quit - signal(SIGQUIT, signals); // ctrl+\ - quit - signal(SIGTSTP, SIG_IGN); // ignore ctrl+Z - GP = parse_args(argc, argv); - if(GP->terminal){ - if(!GP->device) ERRX(_("Point serial device name")); - try_connect(GP->device); - run_terminal(); - signals(0); // never reached! - } - if(GP->logfile) - openlogfile(GP->logfile); - #ifndef EBUG - if(daemon(1, 0)){ - ERR("daemon()"); - } - while(1){ // guard for dead processes - pid_t childpid = fork(); - if(childpid){ - putlog("create child with PID %d\n", childpid); - DBG("Created child with PID %d\n", childpid); - wait(NULL); - putlog("child %d died\n", childpid); - WARNX("Child %d died\n", childpid); - sleep(1); - }else{ - prctl(PR_SET_PDEATHSIG, SIGTERM); // send SIGTERM to child when parent dies - break; // go out to normal functional - } - } - #endif - - if(GP->device) try_connect(GP->device); - if(ping()){ - putlog("Can't write command PING"); - ERRX(_("Can't write command PING")); - } - daemonize(GP->port); - signals(0); // newer reached - return 0; -} diff --git a/astrosib_utils/domedaemon/parseargs.c b/astrosib_utils/domedaemon/parseargs.c deleted file mode 100644 index b235752..0000000 --- a/astrosib_utils/domedaemon/parseargs.c +++ /dev/null @@ -1,497 +0,0 @@ -/* geany_encoding=koi8-r - * parseargs.c - parsing command line arguments & print help - * - * Copyright 2013 Edward V. Emelianoff - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#include // printf -#include // getopt_long -#include // calloc, exit, strtoll -#include // assert -#include // strdup, strchr, strlen -#include // strcasecmp -#include // INT_MAX & so on -#include // gettext -#include // isalpha -#include "parseargs.h" -#include "usefull_macros.h" - -char *helpstring = "%s\n"; - -/** - * Change standard help header - * MAY consist ONE "%s" for progname - * @param str (i) - new format - */ -void change_helpstring(char *s){ - int pcount = 0, scount = 0; - char *str = s; - // check `helpstring` and set it to default in case of error - for(; pcount < 2; str += 2){ - if(!(str = strchr(str, '%'))) break; - if(str[1] != '%') pcount++; // increment '%' counter if it isn't "%%" - else{ - str += 2; // pass next '%' - continue; - } - if(str[1] == 's') scount++; // increment "%s" counter - }; - if(pcount > 1 || pcount != scount){ // amount of pcount and/or scount wrong - /// "îÅÐÒÁ×ÉÌØÎÙÊ ÆÏÒÍÁÔ ÓÔÒÏËÉ ÐÏÍÏÝÉ" - ERRX(_("Wrong helpstring!")); - } - helpstring = s; -} - -/** - * Carefull atoll/atoi - * @param num (o) - returning value (or NULL if you wish only check number) - allocated by user - * @param str (i) - string with number must not be NULL - * @param t (i) - T_INT for integer or T_LLONG for long long (if argtype would be wided, may add more) - * @return TRUE if conversion sone without errors, FALSE otherwise - */ -static bool myatoll(void *num, char *str, argtype t){ - long long tmp, *llptr; - int *iptr; - char *endptr; - assert(str); - assert(num); - tmp = strtoll(str, &endptr, 0); - if(endptr == str || *str == '\0' || *endptr != '\0') - return FALSE; - switch(t){ - case arg_longlong: - llptr = (long long*) num; - *llptr = tmp; - break; - case arg_int: - default: - if(tmp < INT_MIN || tmp > INT_MAX){ - /// "ãÅÌÏÅ ×ÎÅ ÄÏÐÕÓÔÉÍÏÇÏ ÄÉÁÐÁÚÏÎÁ" - WARNX(_("Integer out of range")); - return FALSE; - } - iptr = (int*)num; - *iptr = (int)tmp; - } - return TRUE; -} - -// the same as myatoll but for double -// There's no NAN & INF checking here (what if they would be needed?) -static bool myatod(void *num, const char *str, argtype t){ - double tmp, *dptr; - float *fptr; - char *endptr; - assert(str); - tmp = strtod(str, &endptr); - if(endptr == str || *str == '\0' || *endptr != '\0') - return FALSE; - switch(t){ - case arg_double: - dptr = (double *) num; - *dptr = tmp; - break; - case arg_float: - default: - fptr = (float *) num; - *fptr = (float)tmp; - break; - } - return TRUE; -} - -/** - * Get index of current option in array options - * @param opt (i) - returning val of getopt_long - * @param options (i) - array of options - * @return index in array - */ -static int get_optind(int opt, myoption *options){ - int oind; - myoption *opts = options; - assert(opts); - for(oind = 0; opts->name && opts->val != opt; oind++, opts++); - if(!opts->name || opts->val != opt) // no such parameter - showhelp(-1, options); - return oind; -} - -/** - * reallocate new value in array of multiple repeating arguments - * @arg paptr - address of pointer to array (**void) - * @arg type - its type (for realloc) - * @return pointer to new (next) value - */ -void *get_aptr(void *paptr, argtype type){ - int i = 1; - void **aptr = *((void***)paptr); - if(aptr){ // there's something in array - void **p = aptr; - while(*p++) ++i; - } - size_t sz = 0; - switch(type){ - default: - case arg_none: - /// "îÅ ÍÏÇÕ ÉÓÐÏÌØÚÏ×ÁÔØ ÎÅÓËÏÌØËÏ ÐÁÒÁÍÅÔÒÏ× ÂÅÚ ÁÒÇÕÍÅÎÔÏ×!" - ERRX("Can't use multiple args with arg_none!"); - break; - case arg_int: - sz = sizeof(int); - break; - case arg_longlong: - sz = sizeof(long long); - break; - case arg_double: - sz = sizeof(double); - break; - case arg_float: - sz = sizeof(float); - break; - case arg_string: - sz = 0; - break; - /* case arg_function: - sz = sizeof(argfn *); - break;*/ - } - aptr = realloc(aptr, (i + 1) * sizeof(void*)); - *((void***)paptr) = aptr; - aptr[i] = NULL; - if(sz){ - aptr[i - 1] = malloc(sz); - }else - aptr[i - 1] = &aptr[i - 1]; - return aptr[i - 1]; -} - - -/** - * Parse command line arguments - * ! If arg is string, then value will be strdup'ed! - * - * @param argc (io) - address of argc of main(), return value of argc stay after `getopt` - * @param argv (io) - address of argv of main(), return pointer to argv stay after `getopt` - * BE CAREFUL! if you wanna use full argc & argv, save their original values before - * calling this function - * @param options (i) - array of `myoption` for arguments parcing - * - * @exit: in case of error this function show help & make `exit(-1)` - */ -void parseargs(int *argc, char ***argv, myoption *options){ - char *short_options, *soptr; - struct option *long_options, *loptr; - size_t optsize, i; - myoption *opts = options; - // check whether there is at least one options - assert(opts); - assert(opts[0].name); - // first we count how much values are in opts - for(optsize = 0; opts->name; optsize++, opts++); - // now we can allocate memory - short_options = calloc(optsize * 3 + 1, 1); // multiply by three for '::' in case of args in opts - long_options = calloc(optsize + 1, sizeof(struct option)); - opts = options; loptr = long_options; soptr = short_options; - // in debug mode check the parameters are not repeated -#ifdef EBUG - char **longlist = MALLOC(char*, optsize); - char *shortlist = MALLOC(char, optsize); -#endif - // fill short/long parameters and make a simple checking - for(i = 0; i < optsize; i++, loptr++, opts++){ - // check - assert(opts->name); // check name -#ifdef EBUG - longlist[i] = strdup(opts->name); -#endif - if(opts->has_arg){ - assert(opts->type != arg_none); // check error with arg type - assert(opts->argptr); // check pointer - } - if(opts->type != arg_none) // if there is a flag without arg, check its pointer - assert(opts->argptr); - // fill long_options - // don't do memcmp: what if there would be different alignment? - loptr->name = opts->name; - loptr->has_arg = (opts->has_arg < MULT_PAR) ? opts->has_arg : 1; - loptr->flag = opts->flag; - loptr->val = opts->val; - // fill short options if they are: - if(!opts->flag && opts->val){ -#ifdef EBUG - shortlist[i] = (char) opts->val; -#endif - *soptr++ = opts->val; - if(loptr->has_arg) // add ':' if option has required argument - *soptr++ = ':'; - if(loptr->has_arg == 2) // add '::' if option has optional argument - *soptr++ = ':'; - } - } - // sort all lists & check for repeating -#ifdef EBUG - int cmpstringp(const void *p1, const void *p2){ - return strcmp(* (char * const *) p1, * (char * const *) p2); - } - int cmpcharp(const void *p1, const void *p2){ - return (int)(*(char * const)p1 - *(char *const)p2); - } - qsort(longlist, optsize, sizeof(char *), cmpstringp); - qsort(shortlist,optsize, sizeof(char), cmpcharp); - char *prevl = longlist[0], prevshrt = shortlist[0]; - for(i = 1; i < optsize; ++i){ - if(longlist[i]){ - if(prevl){ - if(strcmp(prevl, longlist[i]) == 0) ERRX("double long arguments: --%s", prevl); - } - prevl = longlist[i]; - } - if(shortlist[i]){ - if(prevshrt){ - if(prevshrt == shortlist[i]) ERRX("double short arguments: -%c", prevshrt); - } - prevshrt = shortlist[i]; - } - } -#endif - // now we have both long_options & short_options and can parse `getopt_long` - while(1){ - int opt; - int oindex = 0, optind = 0; // oindex - number of option in argv, optind - number in options[] - if((opt = getopt_long(*argc, *argv, short_options, long_options, &oindex)) == -1) break; - if(opt == '?'){ - opt = optopt; - optind = get_optind(opt, options); - if(options[optind].has_arg == NEED_ARG || options[optind].has_arg == MULT_PAR) - showhelp(optind, options); // need argument - } - else{ - if(opt == 0 || oindex > 0) optind = oindex; - else optind = get_optind(opt, options); - } - opts = &options[optind]; - // if(opt == 0 && opts->has_arg == NO_ARGS) continue; // only long option changing integer flag - // now check option - if(opts->has_arg == NEED_ARG || opts->has_arg == MULT_PAR) - if(!optarg) showhelp(optind, options); // need argument - void *aptr; - if(opts->has_arg == MULT_PAR){ - aptr = get_aptr(opts->argptr, opts->type); - }else - aptr = opts->argptr; - bool result = TRUE; - // even if there is no argument, but argptr != NULL, think that optarg = "1" - if(!optarg) optarg = "1"; - switch(opts->type){ - default: - case arg_none: - if(opts->argptr) *((int*)aptr) += 1; // increment value - break; - case arg_int: - result = myatoll(aptr, optarg, arg_int); - break; - case arg_longlong: - result = myatoll(aptr, optarg, arg_longlong); - break; - case arg_double: - result = myatod(aptr, optarg, arg_double); - break; - case arg_float: - result = myatod(aptr, optarg, arg_float); - break; - case arg_string: - result = (*((void**)aptr) = (void*)strdup(optarg)); - break; - case arg_function: - result = ((argfn)aptr)(optarg); - break; - } - if(!result){ - showhelp(optind, options); - } - } - *argc -= optind; - *argv += optind; -} - -/** - * compare function for qsort - * first - sort by short options; second - sort arguments without sort opts (by long options) - */ -static int argsort(const void *a1, const void *a2){ - const myoption *o1 = (myoption*)a1, *o2 = (myoption*)a2; - const char *l1 = o1->name, *l2 = o2->name; - int s1 = o1->val, s2 = o2->val; - int *f1 = o1->flag, *f2 = o2->flag; - // check if both options has short arg - if(f1 == NULL && f2 == NULL && s1 && s2){ // both have short arg - return (s1 - s2); - }else if((f1 != NULL || !s1) && (f2 != NULL || !s2)){ // both don't have short arg - sort by long - return strcmp(l1, l2); - }else{ // only one have short arg -- return it - if(f2 || !s2) return -1; // a1 have short - it is 'lesser' - else return 1; - } -} - -/** - * Show help information based on myoption->help values - * @param oindex (i) - if non-negative, show only help by myoption[oindex].help - * @param options (i) - array of `myoption` - * - * @exit: run `exit(-1)` !!! - */ -void showhelp(int oindex, myoption *options){ - int max_opt_len = 0; // max len of options substring - for right indentation - const int bufsz = 255; - char buf[bufsz+1]; - myoption *opts = options; - assert(opts); - assert(opts[0].name); // check whether there is at least one options - if(oindex > -1){ // print only one message - opts = &options[oindex]; - printf(" "); - if(!opts->flag && isalpha(opts->val)) printf("-%c, ", opts->val); - printf("--%s", opts->name); - if(opts->has_arg == 1) printf("=arg"); - else if(opts->has_arg == 2) printf("[=arg]"); - printf(" %s\n", _(opts->help)); - exit(-1); - } - // header, by default is just "progname\n" - printf("\n"); - if(strstr(helpstring, "%s")) // print progname - printf(helpstring, __progname); - else // only text - printf("%s", helpstring); - printf("\n"); - // count max_opt_len - do{ - int L = strlen(opts->name); - if(max_opt_len < L) max_opt_len = L; - }while((++opts)->name); - max_opt_len += 14; // format: '-S , --long[=arg]' - get addition 13 symbols - opts = options; - // count amount of options - int N; for(N = 0; opts->name; ++N, ++opts); - if(N == 0) exit(-2); - // Now print all help (sorted) - opts = options; - qsort(opts, N, sizeof(myoption), argsort); - do{ - int p = sprintf(buf, " "); // a little indent - if(!opts->flag && opts->val) // .val is short argument - p += snprintf(buf+p, bufsz-p, "-%c, ", opts->val); - p += snprintf(buf+p, bufsz-p, "--%s", opts->name); - if(opts->has_arg == 1) // required argument - p += snprintf(buf+p, bufsz-p, "=arg"); - else if(opts->has_arg == 2) // optional argument - p += snprintf(buf+p, bufsz-p, "[=arg]"); - assert(p < max_opt_len); // there would be magic if p >= max_opt_len - printf("%-*s%s\n", max_opt_len+1, buf, _(opts->help)); // write options & at least 2 spaces after - ++opts; - }while(--N); - printf("\n\n"); - exit(-1); -} - -/** - * get suboptions from parameter string - * @param str - parameter string - * @param opt - pointer to suboptions structure - * @return TRUE if all OK - */ -bool get_suboption(char *str, mysuboption *opt){ - int findsubopt(char *par, mysuboption *so){ - int idx = 0; - if(!par) return -1; - while(so[idx].name){ - if(strcasecmp(par, so[idx].name) == 0) return idx; - ++idx; - } - return -1; // badarg - } - bool opt_setarg(mysuboption *so, int idx, char *val){ - mysuboption *soptr = &so[idx]; - bool result = FALSE; - void *aptr = soptr->argptr; - switch(soptr->type){ - default: - case arg_none: - if(soptr->argptr) *((int*)aptr) += 1; // increment value - result = TRUE; - break; - case arg_int: - result = myatoll(aptr, val, arg_int); - break; - case arg_longlong: - result = myatoll(aptr, val, arg_longlong); - break; - case arg_double: - result = myatod(aptr, val, arg_double); - break; - case arg_float: - result = myatod(aptr, val, arg_float); - break; - case arg_string: - result = (*((void**)aptr) = (void*)strdup(val)); - break; - case arg_function: - result = ((argfn)aptr)(val); - break; - } - return result; - } - char *tok; - bool ret = FALSE; - char *tmpbuf; - tok = strtok_r(str, ":,", &tmpbuf); - do{ - char *val = strchr(tok, '='); - int noarg = 0; - if(val == NULL){ // no args - val = "1"; - noarg = 1; - }else{ - *val++ = '\0'; - if(!*val || *val == ':' || *val == ','){ // no argument - delimeter after = - val = "1"; noarg = 1; - } - } - int idx = findsubopt(tok, opt); - if(idx < 0){ - /// "îÅÐÒÁ×ÉÌØÎÙÊ ÐÁÒÁÍÅÔÒ: %s" - WARNX(_("Wrong parameter: %s"), tok); - goto returning; - } - if(noarg && opt[idx].has_arg == NEED_ARG){ - /// "%s: ÎÅÏÂÈÏÄÉÍ ÁÒÇÕÍÅÎÔ!" - WARNX(_("%s: argument needed!"), tok); - goto returning; - } - if(!opt_setarg(opt, idx, val)){ - /// "îÅÐÒÁ×ÉÌØÎÙÊ ÁÒÇÕÍÅÎÔ \"%s\" ÐÁÒÁÍÅÔÒÁ \"%s\"" - WARNX(_("Wrong argument \"%s\" of parameter \"%s\""), val, tok); - goto returning; - } - }while((tok = strtok_r(NULL, ":,", &tmpbuf))); - ret = TRUE; -returning: - return ret; -} diff --git a/astrosib_utils/domedaemon/parseargs.h b/astrosib_utils/domedaemon/parseargs.h deleted file mode 100644 index 537fc5b..0000000 --- a/astrosib_utils/domedaemon/parseargs.h +++ /dev/null @@ -1,124 +0,0 @@ -/* geany_encoding=koi8-r - * parseargs.h - headers for parsing command line arguments - * - * Copyright 2013 Edward V. Emelianoff - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -#pragma once -#ifndef __PARSEARGS_H__ -#define __PARSEARGS_H__ - -#include // bool -#include - -#ifndef TRUE - #define TRUE true -#endif - -#ifndef FALSE - #define FALSE false -#endif - -// macro for argptr -#define APTR(x) ((void*)x) - -// if argptr is a function: -typedef bool(*argfn)(void *arg); - -/* - * type of getopt's argument - * WARNING! - * My function change value of flags by pointer, so if you want to use another type - * make a latter conversion, example: - * char charg; - * int iarg; - * myoption opts[] = { - * {"value", 1, NULL, 'v', arg_int, &iarg, "char val"}, ..., end_option}; - * ..(parse args).. - * charg = (char) iarg; - */ -typedef enum { - arg_none = 0, // no arg - arg_int, // integer - arg_longlong, // long long - arg_double, // double - arg_float, // float - arg_string, // char * - arg_function // parse_args will run function `bool (*fn)(char *optarg, int N)` -} argtype; - -/* - * Structure for getopt_long & help - * BE CAREFUL: .argptr is pointer to data or pointer to function, - * conversion depends on .type - * - * ATTENTION: string `help` prints through macro PRNT(), bu default it is gettext, - * but you can redefine it before `#include "parseargs.h"` - * - * if arg is string, then value wil be strdup'ed like that: - * char *str; - * myoption opts[] = {{"string", 1, NULL, 's', arg_string, &str, "string val"}, ..., end_option}; - * *(opts[1].str) = strdup(optarg); - * in other cases argptr should be address of some variable (or pointer to allocated memory) - * - * NON-NULL argptr should be written inside macro APTR(argptr) or directly: (void*)argptr - * - * !!!LAST VALUE OF ARRAY SHOULD BE `end_option` or ZEROS !!! - * - */ -typedef enum{ - NO_ARGS = 0, // first three are the same as in getopt_long - NEED_ARG = 1, - OPT_ARG = 2, - MULT_PAR -} hasarg; - -typedef struct{ - // these are from struct option: - const char *name; // long option's name - hasarg has_arg; // 0 - no args, 1 - nesessary arg, 2 - optionally arg, 4 - need arg & key can repeat (args are stored in null-terminated array) - int *flag; // NULL to return val, pointer to int - to set its value of val (function returns 0) - int val; // short opt name (if flag == NULL) or flag's value - // and these are mine: - argtype type; // type of argument - void *argptr; // pointer to variable to assign optarg value or function `bool (*fn)(char *optarg, int N)` - const char *help; // help string which would be shown in function `showhelp` or NULL -} myoption; - -/* - * Suboptions structure, almost the same like myoption - * used in parse_subopts() - */ -typedef struct{ - const char *name; - hasarg has_arg; - argtype type; - void *argptr; -} mysuboption; - -// last string of array (all zeros) -#define end_option {0,0,0,0,0,0,0} -#define end_suboption {0,0,0,0} - -extern const char *__progname; - -void showhelp(int oindex, myoption *options); -void parseargs(int *argc, char ***argv, myoption *options); -void change_helpstring(char *s); -bool get_suboption(char *str, mysuboption *opt); - -#endif // __PARSEARGS_H__ diff --git a/astrosib_utils/domedaemon/socket.c b/astrosib_utils/domedaemon/socket.c deleted file mode 100644 index 4eedb7a..0000000 --- a/astrosib_utils/domedaemon/socket.c +++ /dev/null @@ -1,330 +0,0 @@ -/* - * geany_encoding=koi8-r - * socket.c - socket IO - * - * Copyright 2018 Edward V. Emelianov - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - * - */ -#include "usefull_macros.h" -#include "socket.h" -#include "term.h" -#include // addrinfo -#include // inet_ntop -#include -#include // INT_xxx -#include // pthread_kill -#include // daemon -#include // syscall - -#include "cmdlnopts.h" // glob_pars - -#define BUFLEN (10240) -// Max amount of connections -#define BACKLOG (30) - -extern glob_pars *GP; - -static char *status; // global variable with device status -static char weather[32]; - -typedef enum{ - CMD_OPEN, - CMD_CLOSE, - CMD_NONE -} commands; - -static commands cmd = CMD_NONE; - -/* - * Define global data buffers here - */ - -/**************** COMMON FUNCTIONS ****************/ -/** - * wait for answer from socket - * @param sock - socket fd - * @return 0 in case of error or timeout, 1 in case of socket ready - */ -static int waittoread(int sock){ - fd_set fds; - struct timeval timeout; - int rc; - timeout.tv_sec = 1; // wait not more than 1 second - timeout.tv_usec = 0; - FD_ZERO(&fds); - FD_SET(sock, &fds); - do{ - rc = select(sock+1, &fds, NULL, NULL, &timeout); - if(rc < 0){ - if(errno != EINTR){ - WARN("select()"); - return 0; - } - continue; - } - break; - }while(1); - if(FD_ISSET(sock, &fds)) return 1; - return 0; -} - -/**************** SERVER FUNCTIONS ****************/ -pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; -/** - * Send data over socket - * @param sock - socket fd - * @param webquery - ==1 if this is web query - * @param textbuf - zero-trailing buffer with data to send - * @return 1 if all OK - */ -static int send_data(int sock, int webquery, const char *textbuf){ - ssize_t L, Len; - char tbuf[BUFLEN]; - Len = strlen(textbuf); - // OK buffer ready, prepare to send it - if(webquery){ - L = snprintf((char*)tbuf, BUFLEN, - "HTTP/2.0 200 OK\r\n" - "Access-Control-Allow-Origin: *\r\n" - "Access-Control-Allow-Methods: GET, POST\r\n" - "Access-Control-Allow-Credentials: true\r\n" - "Content-type: text/plain\r\nContent-Length: %zd\r\n\r\n", Len); - if(L < 0){ - WARN("sprintf()"); - return 0; - } - if(L != write(sock, tbuf, L)){ - WARN("write"); - return 0; - } - } - // send data - //DBG("send %zd bytes\nBUF: %s", Len, buf); - if(Len != write(sock, textbuf, Len)){ - WARN("write()"); - return 0; - } - return 1; -} - -// search a first word after needle without spaces -static char* stringscan(char *str, char *needle){ - char *a, *e; - char *end = str + strlen(str); - a = strstr(str, needle); - if(!a) return NULL; - a += strlen(needle); - while (a < end && (*a == ' ' || *a == '\r' || *a == '\t' || *a == '\r')) a++; - if(a >= end) return NULL; - e = strchr(a, ' '); - if(e) *e = 0; - return a; -} - -static void *handle_socket(void *asock){ - FNAME(); - int sock = *((int*)asock); - int webquery = 0; // whether query is web or regular - char buff[BUFLEN]; - ssize_t rd; - double t0 = dtime(); - while(dtime() - t0 < SOCKET_TIMEOUT){ - if(!waittoread(sock)){ // no data incoming - continue; - } - if(!(rd = read(sock, buff, BUFLEN-1))){ - break; - } - DBG("Got %zd bytes", rd); - if(rd < 0){ // error - DBG("Nothing to read from fd %d (ret: %zd)", sock, rd); - break; - } - // add trailing zero to be on the safe side - buff[rd] = 0; - // now we should check what do user want - char *got, *found = buff; - if((got = stringscan(buff, "GET")) || (got = stringscan(buff, "POST"))){ // web query - webquery = 1; - char *slash = strchr(got, '/'); - if(slash) found = slash + 1; - // web query have format GET /some.resource - } - // here we can process user data - DBG("user send: %s\nfound=%s", buff, found); - if(GP->echo){ - if(!send_data(sock, webquery, found)){ - putlog("can't send data, some error occured"); - } - } - pthread_mutex_lock(&mutex); - const char *proto = "Commands: open, close, status"; - if(strstr(found, "open")){ - DBG("User asks 2 open"); - putlog("User asks to open"); - cmd = CMD_OPEN; - send_data(sock, webquery, "OK\n"); - }else if(strstr(found, "close")){ - DBG("User asks 2 close"); - putlog("User asks to close"); - cmd = CMD_CLOSE; - send_data(sock, webquery, "OK\n"); - }else if(strstr(found, "weather")){ - send_data(sock, webquery, weather); - }else if(strstr(found, "status")){ - DBG("User asks 4 status"); - send_data(sock, webquery, status); - }else send_data(sock, webquery, proto); - pthread_mutex_unlock(&mutex); - break; - } - close(sock); - pthread_exit(NULL); - return NULL; -} - -// main socket server -static void *server(void *asock){ - putlog("server(): getpid: %d, pthread_self: %lu, tid: %lu",getpid(), pthread_self(), syscall(SYS_gettid)); - int sock = *((int*)asock); - if(listen(sock, BACKLOG) == -1){ - putlog("listen() failed"); - WARN("listen"); - return NULL; - } - while(1){ - socklen_t size = sizeof(struct sockaddr_in); - struct sockaddr_in their_addr; - int newsock; - if(!waittoread(sock)) continue; - newsock = accept(sock, (struct sockaddr*)&their_addr, &size); - if(newsock <= 0){ - putlog("accept() failed"); - WARN("accept()"); - continue; - } - struct sockaddr_in* pV4Addr = (struct sockaddr_in*)&their_addr; - struct in_addr ipAddr = pV4Addr->sin_addr; - char str[INET_ADDRSTRLEN]; - inet_ntop(AF_INET, &ipAddr, str, INET_ADDRSTRLEN); - putlog("Got connection from %s", str); - DBG("Got connection from %s\n", str); - pthread_t handler_thread; - if(pthread_create(&handler_thread, NULL, handle_socket, (void*) &newsock)){ - putlog("server(): pthread_create() failed"); - WARN("pthread_create()"); - }else{ - DBG("Thread created, detouch"); - pthread_detach(handler_thread); // don't care about thread state - } - } - putlog("server(): UNREACHABLE CODE REACHED!"); -} - -// data gathering & socket management -static void daemon_(int sock){ - if(sock < 0) return; - pthread_t sock_thread; - if(pthread_create(&sock_thread, NULL, server, (void*) &sock)){ - putlog("daemon_(): pthread_create() failed"); - ERR("pthread_create()"); - } - double tgot = 0.; - sprintf(weather, "unknown"); - do{ - if(pthread_kill(sock_thread, 0) == ESRCH){ // died - WARNX("Sockets thread died"); - putlog("Sockets thread died"); - pthread_join(sock_thread, NULL); - if(pthread_create(&sock_thread, NULL, server, (void*) &sock)){ - putlog("daemon_(): new pthread_create() failed"); - ERR("pthread_create()"); - } - } - usleep(1000); // sleep a little or thread's won't be able to lock mutex - if(dtime() - tgot < T_INTERVAL) continue; - tgot = dtime(); - // copy temporary buffers to main - pthread_mutex_lock(&mutex); - char *pollans = poll_device(weather); - if(pollans) status = pollans; - if(cmd != CMD_NONE){ - switch (cmd){ - case CMD_OPEN: - DBG("received command: open"); - if(write_cmd("d#opendom")) cmd = CMD_NONE; - break; - case CMD_CLOSE: - DBG("received command: close"); - if(write_cmd("d#closdom")) cmd = CMD_NONE; - break; - default: - DBG("WTF?"); - } - } - pthread_mutex_unlock(&mutex); - }while(1); - putlog("daemon_(): UNREACHABLE CODE REACHED!"); -} - -/** - * Run daemon service - */ -void daemonize(char *port){ - FNAME(); - int sock = -1; - struct addrinfo hints, *res, *p; - memset(&hints, 0, sizeof(hints)); - hints.ai_family = AF_INET; - hints.ai_socktype = SOCK_STREAM; - hints.ai_flags = AI_PASSIVE; - if(getaddrinfo(NULL, port, &hints, &res) != 0){ - ERR("getaddrinfo"); - } - struct sockaddr_in *ia = (struct sockaddr_in*)res->ai_addr; - char str[INET_ADDRSTRLEN]; - inet_ntop(AF_INET, &(ia->sin_addr), str, INET_ADDRSTRLEN); - // loop through all the results and bind to the first we can - for(p = res; p != NULL; p = p->ai_next){ - if((sock = socket(p->ai_family, p->ai_socktype, p->ai_protocol)) == -1){ - WARN("socket"); - continue; - } - int reuseaddr = 1; - if(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &reuseaddr, sizeof(int)) == -1){ - ERR("setsockopt"); - } - if(bind(sock, p->ai_addr, p->ai_addrlen) == -1){ - close(sock); - WARN("bind"); - continue; - } - break; // if we get here, we have a successfull connection - } - if(p == NULL){ - putlog("failed to bind socket, exit"); - // looped off the end of the list with no successful bind - ERRX("failed to bind socket"); - } - freeaddrinfo(res); - daemon_(sock); - close(sock); - putlog("socket closed, exit"); - signals(0); -} - diff --git a/astrosib_utils/domedaemon/socket.h b/astrosib_utils/domedaemon/socket.h deleted file mode 100644 index 5d0c407..0000000 --- a/astrosib_utils/domedaemon/socket.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * geany_encoding=koi8-r - * socket.h - * - * Copyright 2017 Edward V. Emelianov - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - * - */ -#pragma once -#ifndef __SOCKET_H__ -#define __SOCKET_H__ - -// timeout for socket closing -#define SOCKET_TIMEOUT (5.0) -// time interval for data polling (seconds) -#define T_INTERVAL (2.) - -void daemonize(char *port); - -#endif // __SOCKET_H__ diff --git a/astrosib_utils/domedaemon/term.c b/astrosib_utils/domedaemon/term.c deleted file mode 100644 index 0d34688..0000000 --- a/astrosib_utils/domedaemon/term.c +++ /dev/null @@ -1,203 +0,0 @@ -/* geany_encoding=koi8-r - * client.c - terminal parser - * - * Copyright 2018 Edward V. Emelianoff - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -#include "usefull_macros.h" -#include "term.h" -#include // strncasecmp -#include // time(NULL) -#include // INT_MAX, INT_MIN - -#define BUFLEN 1024 - -static char buf[BUFLEN]; - -/** - * read strings from terminal (ending with '\n') with timeout - * @return NULL if nothing was read or pointer to static buffer - */ -static char *read_string(){ - //FNAME(); - size_t r = 0, l; - int LL = BUFLEN - 1; - char *ptr = NULL; - static char *optr = NULL; - if(optr && *optr){ - ptr = optr; - optr = strchr(optr, '\n'); - if(optr) ++optr; - //DBG("got data, roll to next; ptr=%s\noptr=%s",ptr,optr); - return ptr; - } - ptr = buf; - double d0 = dtime(); - do{ - if((l = read_tty(ptr, LL))){ - r += l; LL -= l; ptr += l; - //DBG("got: %s", buf); - if(ptr[-1] == '\n') break; - d0 = dtime(); - } - }while(dtime() - d0 < WAIT_TMOUT && LL); - if(r){ - buf[r] = 0; - //DBG("r=%zd, got string: %s", r, buf); - optr = strchr(buf, '\n'); - if(optr) ++optr; - return buf; - } - return NULL; -} - -/** - * Try to connect to `device` at BAUD_RATE speed - * @return connection speed if success or 0 - */ -void try_connect(char *device){ - if(!device) return; - char tmpbuf[4096]; - fflush(stdout); - tty_init(device); - read_tty(tmpbuf, 4096); // clear rbuf - putlog("Connected to %s", device); - DBG("connected"); -} - -static void con_sig(int rb){ - static char buf[256]; - static int L = 0; - if(rb < 1) return; - if(rb != '\n'){ - if(rb == 127 && L > 0){ - printf("\b \b"); - fflush(stdout); - --L; - }else{ - if(1 != write(1, &rb, 1)) - printf("%c", (char)rb); - buf[L++] = (char)rb; - if(L >= 250){ - printf("\nbuffer overrun!\n"); - L = 0; - } - } - }else{ - //buf[L++] = '\r'; - //buf[L++] = '\n'; - buf[L] = 0; - printf("\n\t\tSend %s\n", buf); - write_tty(buf, L); - L = 0; - } -} - -/** - * run terminal emulation: send user's commands and show answers - */ -void run_terminal(){ - green(_("Work in terminal mode without echo\n")); - int rb; - char buf[BUFLEN]; - size_t l; - setup_con(); - while(1){ - if((l = read_tty(buf, BUFLEN - 1))){ - buf[l] = 0; - printf("%s", buf); - } - if((rb = read_console())){ - con_sig(rb); - } - } -} - -/** - * write command - * @return answer or NULL if error occured (or no answer) - */ -char *write_cmd(const char *cmd){ - DBG("Write %s", cmd); - if(write_tty(cmd, strlen(cmd))) return NULL; - double t0 = dtime(); - static char *ans; - while(dtime() - t0 < T_POLLING_TMOUT){ // read answer - if((ans = read_string())){ // parse new data - DBG("got answer: %s", ans); - return ans; - } - } - return NULL; -} - -/** - * Poll serial port for new dataportion - * @return: NULL if no data received, pointer to string if valid data received - */ -char *poll_device(char *wea){ - char *ans; - static char pollbuf[32]; - const char *cmdstat = "d#get_dom"; - const char *cmdweat = "d#ask_wea"; - const char *getweat = "d#wea"; - const char *cmdget = "d#pos"; - #define CMDGETLEN (5) - #define CMDWEALEN (5) - while(read_string()); // clear receiving buffer - if(!(ans = write_cmd(cmdstat))) return NULL; // error writing command - if(strstr(ans, cmdget) == NULL){ - DBG("no %s found in %s", cmdstat, ans); - return NULL; // ? - } - ans += CMDGETLEN; - if(strstr(ans, "1111")){ - sprintf(pollbuf, "opened\n"); - DBG("dome opened"); - }else if(strstr(ans, "2222")){ - sprintf(pollbuf, "closed\n"); - DBG("dome closed"); - }else sprintf(pollbuf, "intermediate\n"); - if(!wea || !(ans = write_cmd(cmdweat))) return pollbuf; - DBG("poll weather answer"); - if(strstr(ans, getweat) == NULL){ - DBG("no %s found in %s", getweat, ans); - return pollbuf; // ? - } - ans += CMDWEALEN; - if(*ans == '0'){ - sprintf(wea, "good weather\n"); - DBG("good weather"); - }else if(*ans == '1'){ - sprintf(wea, "rain or clouds\n"); - DBG("bad weather"); - }else sprintf(wea, "unknown\n"); - return pollbuf; -} - -/** - * ping device - * @return 0 if all OK - */ -int ping(){ - FNAME(); - while(read_string()); // clear receiving buffer - char *ans = write_cmd("d#get_dom"); - if(!ans) return 1; - if(strstr(ans, "d#pos")) return 0; - return 1; -} diff --git a/astrosib_utils/domedaemon/term.h b/astrosib_utils/domedaemon/term.h deleted file mode 100644 index 00acfb6..0000000 --- a/astrosib_utils/domedaemon/term.h +++ /dev/null @@ -1,38 +0,0 @@ -/* geany_encoding=koi8-r - * term.h - * - * Copyright 2018 Edward V. Emelianov - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -#pragma once -#ifndef __TERM_H__ -#define __TERM_H__ - -#define FRAME_MAX_LENGTH (300) -#define MAX_MEMORY_DUMP_SIZE (0x800 * 4) -// Terminal timeout (seconds) -#define WAIT_TMOUT (0.5) -// Terminal polling timeout - 1 second -#define T_POLLING_TMOUT (1.0) - -void run_terminal(); -void try_connect(char *device); -char *poll_device(char *wea); -int ping(); -char *write_cmd(const char *cmd); - -#endif // __TERM_H__ diff --git a/astrosib_utils/domedaemon/usefull_macros.c b/astrosib_utils/domedaemon/usefull_macros.c deleted file mode 100644 index da08cfe..0000000 --- a/astrosib_utils/domedaemon/usefull_macros.c +++ /dev/null @@ -1,437 +0,0 @@ -/* - * usefull_macros.h - a set of usefull functions: memory, color etc - * - * Copyright 2013 Edward V. Emelianoff - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#include "usefull_macros.h" -#include -#include // PATH_MAX - -/** - * function for different purposes that need to know time intervals - * @return double value: time in seconds - */ -double dtime(){ - double t; - struct timeval tv; - gettimeofday(&tv, NULL); - t = tv.tv_sec + ((double)tv.tv_usec)/1e6; - return t; -} - -/******************************************************************************\ - * Coloured terminal -\******************************************************************************/ -int globErr = 0; // errno for WARN/ERR - -// pointers to coloured output printf -int (*red)(const char *fmt, ...); -int (*green)(const char *fmt, ...); -int (*_WARN)(const char *fmt, ...); - -/* - * format red / green messages - * name: r_pr_, g_pr_ - * @param fmt ... - printf-like format - * @return number of printed symbols - */ -int r_pr_(const char *fmt, ...){ - va_list ar; int i; - printf(RED); - va_start(ar, fmt); - i = vprintf(fmt, ar); - va_end(ar); - printf(OLDCOLOR); - return i; -} -int g_pr_(const char *fmt, ...){ - va_list ar; int i; - printf(GREEN); - va_start(ar, fmt); - i = vprintf(fmt, ar); - va_end(ar); - printf(OLDCOLOR); - return i; -} -/* - * print red error/warning messages (if output is a tty) - * @param fmt ... - printf-like format - * @return number of printed symbols - */ -int r_WARN(const char *fmt, ...){ - va_list ar; int i = 1; - fprintf(stderr, RED); - va_start(ar, fmt); - if(globErr){ - errno = globErr; - vwarn(fmt, ar); - errno = 0; - }else - i = vfprintf(stderr, fmt, ar); - va_end(ar); - i++; - fprintf(stderr, OLDCOLOR "\n"); - return i; -} - -static const char stars[] = "****************************************"; -/* - * notty variants of coloured printf - * name: s_WARN, r_pr_notty - * @param fmt ... - printf-like format - * @return number of printed symbols - */ -int s_WARN(const char *fmt, ...){ - va_list ar; int i; - i = fprintf(stderr, "\n%s\n", stars); - va_start(ar, fmt); - if(globErr){ - errno = globErr; - vwarn(fmt, ar); - errno = 0; - }else - i = +vfprintf(stderr, fmt, ar); - va_end(ar); - i += fprintf(stderr, "\n%s\n", stars); - i += fprintf(stderr, "\n"); - return i; -} -int r_pr_notty(const char *fmt, ...){ - va_list ar; int i; - i = printf("\n%s\n", stars); - va_start(ar, fmt); - i += vprintf(fmt, ar); - va_end(ar); - i += printf("\n%s\n", stars); - return i; -} - -/** - * Run this function in the beginning of main() to setup locale & coloured output - */ -void initial_setup(){ - // setup coloured output - if(isatty(STDOUT_FILENO)){ // make color output in tty - red = r_pr_; green = g_pr_; - }else{ // no colors in case of pipe - red = r_pr_notty; green = printf; - } - if(isatty(STDERR_FILENO)) _WARN = r_WARN; - else _WARN = s_WARN; - // Setup locale - setlocale(LC_ALL, ""); - setlocale(LC_NUMERIC, "C"); -#if defined GETTEXT_PACKAGE && defined LOCALEDIR - bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR); - textdomain(GETTEXT_PACKAGE); -#endif -} - -/******************************************************************************\ - * Memory -\******************************************************************************/ -/* - * safe memory allocation for macro ALLOC - * @param N - number of elements to allocate - * @param S - size of single element (typically sizeof) - * @return pointer to allocated memory area - */ -void *my_alloc(size_t N, size_t S){ - void *p = calloc(N, S); - if(!p) ERR("malloc"); - //assert(p); - return p; -} - -/** - * Mmap file to a memory area - * - * @param filename (i) - name of file to mmap - * @return stuct with mmap'ed file or die - */ -mmapbuf *My_mmap(char *filename){ - int fd; - char *ptr; - size_t Mlen; - struct stat statbuf; - /// "îÅ ÚÁÄÁÎÏ ÉÍÑ ÆÁÊÌÁ!" - if(!filename){ - WARNX(_("No filename given!")); - return NULL; - } - if((fd = open(filename, O_RDONLY)) < 0){ - /// "îÅ ÍÏÇÕ ÏÔËÒÙÔØ %s ÄÌÑ ÞÔÅÎÉÑ" - WARN(_("Can't open %s for reading"), filename); - return NULL; - } - if(fstat (fd, &statbuf) < 0){ - /// "îÅ ÍÏÇÕ ×ÙÐÏÌÎÉÔØ stat %s" - WARN(_("Can't stat %s"), filename); - close(fd); - return NULL; - } - Mlen = statbuf.st_size; - if((ptr = mmap (0, Mlen, PROT_READ, MAP_PRIVATE, fd, 0)) == MAP_FAILED){ - /// "ïÛÉÂËÁ mmap" - WARN(_("Mmap error for input")); - close(fd); - return NULL; - } - /// "îÅ ÍÏÇÕ ÚÁËÒÙÔØ mmap'ÎÕÔÙÊ ÆÁÊÌ" - if(close(fd)) WARN(_("Can't close mmap'ed file")); - mmapbuf *ret = MALLOC(mmapbuf, 1); - ret->data = ptr; - ret->len = Mlen; - return ret; -} - -void My_munmap(mmapbuf *b){ - if(munmap(b->data, b->len)){ - /// "îÅ ÍÏÇÕ munmap" - ERR(_("Can't munmap")); - } - FREE(b); -} - - -/******************************************************************************\ - * Terminal in no-echo mode -\******************************************************************************/ -static struct termios oldt, newt; // terminal flags -static int console_changed = 0; -// run on exit: -void restore_console(){ - if(console_changed) - tcsetattr(STDIN_FILENO, TCSANOW, &oldt); // return terminal to previous state - console_changed = 0; -} - -// initial setup: -void setup_con(){ - if(console_changed) return; - tcgetattr(STDIN_FILENO, &oldt); - newt = oldt; - newt.c_lflag &= ~(ICANON | ECHO); - if(tcsetattr(STDIN_FILENO, TCSANOW, &newt) < 0){ - /// "îÅ ÍÏÇÕ ÎÁÓÔÒÏÉÔØ ËÏÎÓÏÌØ" - WARN(_("Can't setup console")); - tcsetattr(STDIN_FILENO, TCSANOW, &oldt); - signals(0); //quit? - } - console_changed = 1; -} - -/** - * Read character from console without echo - * @return char readed - */ -int read_console(){ - int rb; - struct timeval tv; - int retval; - fd_set rfds; - FD_ZERO(&rfds); - FD_SET(STDIN_FILENO, &rfds); - tv.tv_sec = 0; tv.tv_usec = 10000; - retval = select(1, &rfds, NULL, NULL, &tv); - if(!retval) rb = 0; - else { - if(FD_ISSET(STDIN_FILENO, &rfds)) rb = getchar(); - else rb = 0; - } - return rb; -} - -/** - * getchar() without echo - * wait until at least one character pressed - * @return character readed - */ -int mygetchar(){ // getchar() without need of pressing ENTER - int ret; - do ret = read_console(); - while(ret == 0); - return ret; -} - - -/******************************************************************************\ - * TTY with select() -\******************************************************************************/ -static struct termio oldtty, tty; // TTY flags -static int comfd = -1; // TTY fd - -// run on exit: -void restore_tty(){ - if(comfd == -1) return; - ioctl(comfd, TCSANOW, &oldtty ); // return TTY to previous state - close(comfd); - comfd = -1; -} - -#ifndef BAUD_RATE -#define BAUD_RATE B4800 -#endif -#pragma message("Baudrate: " STR(BAUD_RATE) " (default: " STR(B4800) ")") -// init: -void tty_init(char *comdev){ - DBG("\nOpen port %s ...\n", comdev); - do{ - comfd = open(comdev,O_RDWR|O_NOCTTY|O_NONBLOCK); - }while (comfd == -1 && errno == EINTR); - if(comfd < 0){ - WARN("Can't use port %s\n",comdev); - signals(-1); // quit? - } - // make exclusive open - if(ioctl(comfd, TIOCEXCL)){ - WARN(_("Can't do exclusive open")); - close(comfd); - signals(2); - } - DBG(" OK\nGet current settings... "); - if(ioctl(comfd,TCGETA,&oldtty) < 0){ // Get settings - /// "îÅ ÍÏÇÕ ÐÏÌÕÞÉÔØ ÎÁÓÔÒÏÊËÉ" - WARN(_("Can't get settings")); - signals(-1); - } - tty = oldtty; - tty.c_lflag = 0; - tty.c_oflag = 0; - tty.c_cflag = BAUD_RATE|CS8|CREAD|CLOCAL; // 9.6k, 8N1, RW, ignore line ctrl - tty.c_cc[VMIN] = 20; - tty.c_cc[VTIME] = 5; - if(ioctl(comfd,TCSETA,&tty) < 0){ - /// "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÎÁÓÔÒÏÊËÉ" - WARN(_("Can't set settings")); - signals(-1); - } - DBG(" OK\n"); -} - -/** - * Read data from TTY - * @param buff (o) - buffer for data read - * @param length - buffer len - * @return amount of bytes read - */ -size_t read_tty(char *buff, size_t length){ - ssize_t L = 0, l; - char *ptr = buff; - fd_set rfds; - struct timeval tv; - int retval; - do{ - l = 0; - FD_ZERO(&rfds); - FD_SET(comfd, &rfds); - // wait for 100ms - tv.tv_sec = 0; tv.tv_usec = 10000; - retval = select(comfd + 1, &rfds, NULL, NULL, &tv); - if (!retval) break; - if(FD_ISSET(comfd, &rfds)){ - //DBG("ISSET"); - if((l = read(comfd, ptr, length)) < 1){ - return 0; - } - //DBG("got %zd", l); - ptr += l; L += l; - length -= l; - } - }while(l); - return (size_t)L; -} - -int write_tty(const char *buff, size_t length){ - ssize_t L = write(comfd, buff, length); - if((size_t)L != length){ - /// "ïÛÉÂËÁ ÚÁÐÉÓÉ!" - WARN("Write error"); - return 1; - } - return 0; -} - - -/** - * Safely convert data from string to double - * - * @param num (o) - double number read from string - * @param str (i) - input string - * @return 1 if success, 0 if fails - */ -int str2double(double *num, const char *str){ - double res; - char *endptr; - if(!str) return 0; - res = strtod(str, &endptr); - if(endptr == str || *str == '\0' || *endptr != '\0'){ - /// "îÅÐÒÁ×ÉÌØÎÙÊ ÆÏÒÍÁÔ ÞÉÓÌÁ double!" - WARNX("Wrong double number format!"); - return FALSE; - } - if(num) *num = res; // you may run it like myatod(NULL, str) to test wether str is double number - return TRUE; -} - -FILE *Flog = NULL; // log file descriptor -char *logname = NULL; -time_t log_open_time = 0; -/** - * Try to open log file - * if failed show warning message - */ -void openlogfile(char *name){ - if(!name){ - WARNX(_("Need filename")); - return; - } - green(_("Try to open log file %s in append mode\n"), name); - if(!(Flog = fopen(name, "a"))){ - WARN(_("Can't open log file")); - return; - } - log_open_time = time(NULL); - logname = name; -} - -/** - * Save message to log file, rotate logs every 24 hours - */ -int putlog(const char *fmt, ...){ - if(!Flog) return 0; - time_t t_now = time(NULL); - if(t_now - log_open_time > 86400){ // rotate log - fprintf(Flog, "\n\t\t%sRotate log\n", ctime(&t_now)); - fclose(Flog); - char newname[PATH_MAX]; - snprintf(newname, PATH_MAX, "%s.old", logname); - if(rename(logname, newname)) WARN("rename()"); - openlogfile(logname); - if(!Flog) return 0; - } - int i = fprintf(Flog, "\n\t\t%s", ctime(&t_now)); - va_list ar; - va_start(ar, fmt); - i = vfprintf(Flog, fmt, ar); - va_end(ar); - fprintf(Flog, "\n"); - fflush(Flog); - return i; -} diff --git a/astrosib_utils/domedaemon/usefull_macros.h b/astrosib_utils/domedaemon/usefull_macros.h deleted file mode 100644 index 0d62e3c..0000000 --- a/astrosib_utils/domedaemon/usefull_macros.h +++ /dev/null @@ -1,144 +0,0 @@ -/* - * usefull_macros.h - a set of usefull macros: memory, color etc - * - * Copyright 2013 Edward V. Emelianoff - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#pragma once -#ifndef __USEFULL_MACROS_H__ -#define __USEFULL_MACROS_H__ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#if defined GETTEXT_PACKAGE && defined LOCALEDIR -/* - * GETTEXT - */ -#include -#define _(String) gettext(String) -#define gettext_noop(String) String -#define N_(String) gettext_noop(String) -#else -#define _(String) (String) -#define N_(String) (String) -#endif - -#define STR_HELPER(s) #s -#define STR(s) STR_HELPER(s) - -#include -#include -#include -#include -#include -#include - - -// unused arguments with -Wall -Werror -#define _U_ __attribute__((__unused__)) - -/* - * Coloured messages output - */ -#define RED "\033[1;31;40m" -#define GREEN "\033[1;32;40m" -#define OLDCOLOR "\033[0;0;0m" - -#ifndef FALSE -#define FALSE (0) -#endif - -#ifndef TRUE -#define TRUE (1) -#endif - -/* - * ERROR/WARNING messages - */ -extern int globErr; -extern void signals(int sig); -#define ERR(...) do{globErr=errno; _WARN(__VA_ARGS__); signals(9);}while(0) -#define ERRX(...) do{globErr=0; _WARN(__VA_ARGS__); signals(9);}while(0) -#define WARN(...) do{globErr=errno; _WARN(__VA_ARGS__);}while(0) -#define WARNX(...) do{globErr=0; _WARN(__VA_ARGS__);}while(0) - -/* - * print function name, debug messages - * debug mode, -DEBUG - */ -#ifdef EBUG - #define FNAME() fprintf(stderr, "\n%s (%s, line %d)\n", __func__, __FILE__, __LINE__) - #define DBG(...) do{fprintf(stderr, "%s (%s, line %d): ", __func__, __FILE__, __LINE__); \ - fprintf(stderr, __VA_ARGS__); \ - fprintf(stderr, "\n");} while(0) -#else - #define FNAME() do{}while(0) - #define DBG(...) do{}while(0) -#endif //EBUG - -/* - * Memory allocation - */ -#define ALLOC(type, var, size) type * var = ((type *)my_alloc(size, sizeof(type))) -#define MALLOC(type, size) ((type *)my_alloc(size, sizeof(type))) -#define FREE(ptr) do{if(ptr){free(ptr); ptr = NULL;}}while(0) - -#ifndef DBL_EPSILON -#define DBL_EPSILON (2.2204460492503131e-16) -#endif - -double dtime(); - -// functions for color output in tty & no-color in pipes -extern int (*red)(const char *fmt, ...); -extern int (*_WARN)(const char *fmt, ...); -extern int (*green)(const char *fmt, ...); -void * my_alloc(size_t N, size_t S); -void initial_setup(); - -// mmap file -typedef struct{ - char *data; - size_t len; -} mmapbuf; -mmapbuf *My_mmap(char *filename); -void My_munmap(mmapbuf *b); - -void restore_console(); -void setup_con(); -int read_console(); -int mygetchar(); - -void restore_tty(); -void tty_init(char *comdev); -size_t read_tty(char *buff, size_t length); -int write_tty(const char *buff, size_t length); - -int str2double(double *num, const char *str); - -void openlogfile(char *name); -int putlog(const char *fmt, ...); -#endif // __USEFULL_MACROS_H__ diff --git a/astrosib_utils/mountdaemon/Makefile b/astrosib_utils/mountdaemon/Makefile deleted file mode 100644 index e0b65e9..0000000 --- a/astrosib_utils/mountdaemon/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -PROGRAM = stellariumdaemon -#LDFLAGS = -lcrypt -lm -SRCS = $(wildcard *.c) -CC = gcc -DEFINES = -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=1111 -DEFINES += -DCOM_SPD=B9600 -#DEFINES += -DEBUG -CXX = gcc -CFLAGS = -Wall -Werror -Wextra -Wno-trampolines $(DEFINES) -OBJS = $(SRCS:.c=.o) -all : $(PROGRAM) -$(PROGRAM) : $(OBJS) - $(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) -o $(PROGRAM) - -# some addition dependencies -# %.o: %.c -# $(CC) $(LDFLAGS) $(CFLAGS) $< -o $@ -#$(SRCS) : %.c : %.h $(INDEPENDENT_HEADERS) -# @touch $@ - -clean: - /bin/rm -f *.o *~ -depend: - $(CXX) -MM $(CXX.SRCS) diff --git a/astrosib_utils/mountdaemon/Readme b/astrosib_utils/mountdaemon/Readme deleted file mode 100644 index d81b392..0000000 --- a/astrosib_utils/mountdaemon/Readme +++ /dev/null @@ -1 +0,0 @@ -Stellarium control of 10-micron mount diff --git a/astrosib_utils/mountdaemon/cmdlnopts.c b/astrosib_utils/mountdaemon/cmdlnopts.c deleted file mode 100644 index ce12256..0000000 --- a/astrosib_utils/mountdaemon/cmdlnopts.c +++ /dev/null @@ -1,96 +0,0 @@ -/* geany_encoding=koi8-r - * cmdlnopts.c - the only function that parse cmdln args and returns glob parameters - * - * Copyright 2013 Edward V. Emelianoff - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -#include -#include -#include -#include -#include -#include "cmdlnopts.h" -#include "usefull_macros.h" - -/* - * here are global parameters initialisation - */ -int help; -glob_pars G; - -#define DEFAULT_COMDEV "/dev/ttyUSB0" -// port for connections -#define DEFAULT_PORT "10000" -// accept only local connections -//#define ACCEPT_IP "192.168.3.225" -// default PID filename: -#define DEFAULT_PIDFILE "/tmp/stellariumdaemon.pid" - -// DEFAULTS -// default global parameters -glob_pars const Gdefault = { - .device = DEFAULT_COMDEV, - .port = DEFAULT_PORT, - .pidfile = DEFAULT_PIDFILE, - .emulation = 0, - .logfile = NULL // don't save logs -}; - -/* - * Define command line options by filling structure: - * name has_arg flag val type argptr help -*/ -myoption cmdlnopts[] = { -// common options - {"help", NO_ARGS, NULL, 'h', arg_int, APTR(&help), _("show this help")}, - {"device", NEED_ARG, NULL, 'd', arg_string, APTR(&G.device), _("serial device name (default: " DEFAULT_COMDEV ")")}, - {"emulation",NO_ARGS, NULL, 'e', arg_int, APTR(&G.emulation), _("run in emulation mode")}, - //{"hostname",NEED_ARG, NULL, 'H', arg_string, APTR(&G.hostname), _("hostname to connect (default: localhost)")}, - {"logfile", NEED_ARG, NULL, 'l', arg_string, APTR(&G.logfile), _("file to save logs")}, - {"pidfile", NEED_ARG, NULL, 'P', arg_string, APTR(&G.pidfile), _("pidfile (default: " DEFAULT_PIDFILE ")")}, - {"port", NEED_ARG, NULL, 'p', arg_string, APTR(&G.port), _("port to connect (default: " DEFAULT_PORT ")")}, - end_option -}; - -/** - * Parse command line options and return dynamically allocated structure - * to global parameters - * @param argc - copy of argc from main - * @param argv - copy of argv from main - * @return allocated structure with global parameters - */ -glob_pars *parse_args(int argc, char **argv){ - int i; - void *ptr; - ptr = memcpy(&G, &Gdefault, sizeof(G)); assert(ptr); - size_t hlen = 1024; - char helpstring[1024], *hptr = helpstring; - snprintf(hptr, hlen, "Usage: %%s [args]\n\n\tWhere args are:\n"); - // format of help: "Usage: progname [args]\n" - change_helpstring(helpstring); - // parse arguments - parseargs(&argc, &argv, cmdlnopts); - if(help) showhelp(-1, cmdlnopts); - if(argc > 0){ - G.rest_pars_num = argc; - G.rest_pars = calloc(argc, sizeof(char*)); - for (i = 0; i < argc; i++) - G.rest_pars[i] = strdup(argv[i]); - } - return &G; -} - diff --git a/astrosib_utils/mountdaemon/cmdlnopts.h b/astrosib_utils/mountdaemon/cmdlnopts.h deleted file mode 100644 index cfcafee..0000000 --- a/astrosib_utils/mountdaemon/cmdlnopts.h +++ /dev/null @@ -1,43 +0,0 @@ -/* geany_encoding=koi8-r - * cmdlnopts.h - comand line options for parceargs - * - * Copyright 2013 Edward V. Emelianoff - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#pragma once -#ifndef __CMDLNOPTS_H__ -#define __CMDLNOPTS_H__ - -#include "parseargs.h" - -/* - * here are some typedef's for global data - */ -typedef struct{ - char *device; // serial device name - char *port; // port to connect - char *pidfile; // name of PID file - char *logfile; // logging to this file - int emulation; // run in emulation mode - int rest_pars_num; // number of rest parameters - char** rest_pars; // the rest parameters: array of char* -} glob_pars; - - -glob_pars *parse_args(int argc, char **argv); -#endif // __CMDLNOPTS_H__ diff --git a/astrosib_utils/mountdaemon/daemon.c b/astrosib_utils/mountdaemon/daemon.c deleted file mode 100644 index fbb6200..0000000 --- a/astrosib_utils/mountdaemon/daemon.c +++ /dev/null @@ -1,144 +0,0 @@ -/* - * daemon.c - functions for running in background like a daemon - * - * Copyright 2013 Edward V. Emelianoff - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#define PROC_BASE "/proc" - -#include // printf, fopen, ... -#include // getpid -#include // perror -#include // opendir -#include // opendir -#include // stat -#include // fcntl -#include // exit -#include // memset - -/** - * read process name from /proc/PID/cmdline - * @param pid - PID of interesting process - * @return filename or NULL if not found - * don't use this function twice for different names without copying - * its returning by strdup, because `name` contains in static array - */ -char *readname(pid_t pid){ - static char name[256]; - char *pp = name, byte, path[256]; - FILE *file; - int cntr = 0; - size_t sz; - snprintf (path, 255, PROC_BASE "/%d/cmdline", pid); - file = fopen(path, "r"); - if(!file) return NULL; // there's no such file - do{ // read basename - sz = fread(&byte, 1, 1, file); - if(sz != 1) break; - if(byte != '/') *pp++ = byte; - else{ - pp = name; - cntr = 0; - } - }while(byte && cntr++ < 255); - name[cntr] = 0; - fclose(file); - return name; -} - -void iffound_default(pid_t pid){ - fprintf(stderr, "\nFound running process (pid=%d), exit.\n", pid); - exit(0); -} - -/** - * check wether there is a same running process - * exit if there is a running process or error - * Checking have 3 steps: - * 1) lock executable file - * 2) check pidfile (if you run a copy?) - * 3) check /proc for executables with the same name (no/wrong pidfile) - * @param selfname - argv[0] or NULL for non-locking - * @param pidfilename - name of pidfile or NULL if none - * @param iffound - action to run if file found or NULL for exit(0) - */ -void check4running(char *selfname, char *pidfilename, void (*iffound)(pid_t pid)){ - DIR *dir; - FILE *pidfile, *fself; - struct dirent *de; - struct stat s_buf; - pid_t pid = 0, self; - struct flock fl; - char *name, *myname; - if(!iffound) iffound = iffound_default; - if(selfname){ // block self - fself = fopen(selfname, "r"); // open self binary to lock - if(!fself){ - perror("fopen"); - goto selfpid; - } - memset(&fl, 0, sizeof(struct flock)); - fl.l_type = F_WRLCK; - if(fcntl(fileno(fself), F_GETLK, &fl) == -1){ // check locking - perror("fcntl"); - goto selfpid; - } - if(fl.l_type != F_UNLCK){ // file is locking - exit - printf("Found locker, PID = %d!\n", fl.l_pid); - exit(1); - } - fl.l_type = F_RDLCK; - if(fcntl(fileno(fself), F_SETLKW, &fl) == -1){ - perror("fcntl"); - } - } - selfpid: - self = getpid(); // get self PID - if(!(dir = opendir(PROC_BASE))){ // open /proc directory - perror(PROC_BASE); - } - if(!(name = readname(self))){ // error reading self name - perror("Can't read self name"); - exit(1); - } - myname = strdup(name); - if(pidfilename && stat(pidfilename, &s_buf) == 0){ // pidfile exists - pidfile = fopen(pidfilename, "r"); - if(pidfile){ - if(fscanf(pidfile, "%d", &pid) > 0){ // read PID of (possibly) running process - if((name = readname(pid)) && strncmp(name, myname, 255) == 0) - iffound(pid); - } - fclose(pidfile); - } - } - // There is no pidfile or it consists a wrong record - while((de = readdir(dir))){ // scan /proc - if(!(pid = (pid_t)atoi(de->d_name)) || pid == self) // pass non-PID files and self - continue; - if((name = readname(pid)) && strncmp(name, myname, 255) == 0) - iffound(pid); - } - closedir(dir); - if(pidfilename){ - pidfile = fopen(pidfilename, "w"); - fprintf(pidfile, "%d\n", self); // write self PID to pidfile - fclose(pidfile); - } - free(myname); -} diff --git a/astrosib_utils/mountdaemon/emulation.c b/astrosib_utils/mountdaemon/emulation.c deleted file mode 100644 index a96640f..0000000 --- a/astrosib_utils/mountdaemon/emulation.c +++ /dev/null @@ -1,103 +0,0 @@ -/* - * geany_encoding=koi8-r - * emulation.c - * - * Copyright 2018 Edward V. Emelianov - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - * - */ -#include "math.h" -#include "emulation.h" -#include "usefull_macros.h" - -// emulation speed over RA & DEC (0.5 degr per sec) -#define RA_SPEED (0.033) -#define DECL_SPEED (0.5) - -// current coordinates -static double RA = 0., DECL = 0.; -// target coordinates -static double RAtarg = 0., DECLtarg = 0.; -// coordinates @ guiding start -static double RA0 = 0., DECL0 = 0.; -static double raspeed = 0.; -// ==1 if pointing -static int pointing = 0; -// pointing start time -static double tstart = -1.; - -/** - * send coordinates to telescope emulation - * @param ra - right ascention (hours) - * @param decl - declination (degrees) - * @return 1 if all OK - */ -int point_emulation(double ra, double decl){ - DBG("(emul) Send ra=%g, decl=%g", ra, decl); - putlog("(emul) Send ra=%g, decl=%g", ra, decl); - RAtarg = ra; DECLtarg = decl; - RA0 = RA; DECL0 = DECL; - raspeed = (RAtarg > RA) ? RA_SPEED : -RA_SPEED; - if(fabs(RAtarg - RA) > 12.){ // go to opposite direction - raspeed = -raspeed; - } - tstart = dtime(); - pointing = 1; - return 0; -} - -static double getradiff(){ - double diff = RAtarg - RA; - if(raspeed < 0.) diff = -diff; - if(diff > 12.) diff -= 24.; - else if(diff < -12.) diff += 24.; - return fabs(diff); -} - -/** - * get coordinates (emulation) - * @return 1 if all OK - */ -int get_emul_coords(double *ra, double *decl){ - if(pointing){ - DBG("RA/DEC: targ: %g/%g, cur: %g/%g, start: %g/%g", RAtarg, DECLtarg, RA, DECL, RA0, DECL0); - // diff < speed? stop - if((fabs(RAtarg - RA) < RA_SPEED && fabs(DECLtarg - DECL) < DECL_SPEED)){ - RA = RAtarg; - DECL = DECLtarg; - pointing = 0; // guiding - DBG("@ target"); - }else{ // calculate new coordinates - double radiff = getradiff(), decldiff = fabs(DECLtarg - DECL); - double tdiff = dtime() - tstart; - RA = RA0 + raspeed * tdiff; - DBG("RA=%g", RA); - if(getradiff() > radiff) RA = RAtarg; - DBG("RA=%g", RA); - if(RA < 0.) RA += 24.; - else if(RA > 24.) RA -= 24.; - DBG("RA=%g", RA); - double sign = (DECLtarg > DECL) ? 1. : -1.; - DECL = DECL0 + sign * DECL_SPEED * tdiff; - if(fabs(DECLtarg - DECL) > decldiff) DECL = DECLtarg; - DBG("RA/DEC: targ: %g/%g, cur: %g/%g, start: %g/%g", RAtarg, DECLtarg, RA, DECL, RA0, DECL0); - } - } - if(ra) *ra = RA; - if(decl) *decl = DECL; - return 1; -} diff --git a/astrosib_utils/mountdaemon/emulation.h b/astrosib_utils/mountdaemon/emulation.h deleted file mode 100644 index c15fa71..0000000 --- a/astrosib_utils/mountdaemon/emulation.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * geany_encoding=koi8-r - * emulation.h - * - * Copyright 2018 Edward V. Emelianov - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - * - */ -#pragma once -#ifndef __EMULATION_H__ -#define __EMULATION_H__ - -int point_emulation(double ra, double decl); -int get_emul_coords(double *ra, double *decl); - -#endif // __EMULATION_H__ diff --git a/astrosib_utils/mountdaemon/main.c b/astrosib_utils/mountdaemon/main.c deleted file mode 100644 index f0e1172..0000000 --- a/astrosib_utils/mountdaemon/main.c +++ /dev/null @@ -1,399 +0,0 @@ -/* - * main.c - * - * Copyright 2014 Edward V. Emelianov - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -// for pthread_kill -//#define _XOPEN_SOURCE 666 -#include -#include -#include -#include -#include -#include -#include -#include - -#include "usefull_macros.h" -#include "cmdlnopts.h" -#include "emulation.h" -#include "telescope.h" - -// daemon.c -extern void check4running(char *self, char *pidfilename, void (*iffound)(pid_t pid)); - -// Max amount of connections -#define BACKLOG (1) -#define BUFLEN (1024) -// pause for incoming message waiting (out coordinates sent after that timeout) -#define SOCK_TMOUT (1) - -static uint8_t buff[BUFLEN+1]; -// global parameters -static glob_pars *GP = NULL; - -static volatile int global_quit = 0; -// quit by signal -void signals(int sig){ - signal(sig, SIG_IGN); - restore_console(); - restore_tty(); - DBG("Get signal %d, quit.\n", sig); - global_quit = 1; - sleep(1); - putlog("PID %d exit with status %d", getpid(), sig); - exit(sig); -} - -// search a first word after needle without spaces -char* stringscan(char *str, char *needle){ - char *a, *e; - char *end = str + strlen(str); - a = strstr(str, needle); - if(!a) return NULL; - a += strlen(needle); - while (a < end && (*a == ' ' || *a == '\r' || *a == '\t')) a++; - if(a >= end) return NULL; - e = strchr(a, ' '); - if(e) *e = 0; - return a; -} - -/** - * Send data to user - * @param data - data to send - * @param dlen - data length - * @param sockfd - socket fd for sending data - * @return 0 if failed - */ -int send_data(uint8_t *data, size_t dlen, int sockfd){ - size_t sent = write(sockfd, data, dlen); - if(sent != dlen){ - WARN("write()"); - return 0; - } - return 1; -} - -//read: 0x14 0x0 0x0 0x0 0x5b 0x5a 0x2e 0xc6 0x8c 0x23 0x5 0x0 0x23 0x9 0xe5 0xaf 0x23 0x2e 0x34 0xed -// command: goto 16h29 24.45 -26d25 55.62 -/* - LITTLE-ENDIAN!!! - from client: -LENGTH (2 bytes, integer): length of the message -TYPE (2 bytes, integer): 0 -TIME (8 bytes, integer): current time on the server computer in microseconds - since 1970.01.01 UT. Currently unused. -RA (4 bytes, unsigned integer): right ascension of the telescope (J2000) - a value of 0x100000000 = 0x0 means 24h=0h, - a value of 0x80000000 means 12h -DEC (4 bytes, signed integer): declination of the telescope (J2000) - a value of -0x40000000 means -90degrees, - a value of 0x0 means 0degrees, - a value of 0x40000000 means 90degrees - -to client: -LENGTH (2 bytes, integer): length of the message -TYPE (2 bytes, integer): 0 -TIME (8 bytes, integer): current time on the server computer in microseconds - since 1970.01.01 UT. Currently unused. -RA (4 bytes, unsigned integer): right ascension of the telescope (J2000) - a value of 0x100000000 = 0x0 means 24h=0h, - a value of 0x80000000 means 12h -DEC (4 bytes, signed integer): declination of the telescope (J2000) - a value of -0x40000000 means -90degrees, - a value of 0x0 means 0degrees, - a value of 0x40000000 means 90degrees -STATUS (4 bytes, signed integer): status of the telescope, currently unused. - status=0 means ok, status<0 means some error -*/ - -#define DEG2DEC(degr) ((int32_t)(degr / 90. * ((double)0x40000000))) -#define HRS2RA(hrs) ((uint32_t)(hrs / 12. * ((double)0x80000000))) -#define DEC2DEG(i32) (((double)i32)*90./((double)0x40000000)) -#define RA2HRS(u32) (((double)u32)*12. /((double)0x80000000)) - -typedef struct __attribute__((__packed__)){ - uint16_t len; - uint16_t type; - uint64_t time; - uint32_t ra; - int32_t dec; -} indata; - -typedef struct __attribute__((__packed__)){ - uint16_t len; - uint16_t type; - uint64_t time; - uint32_t ra; - int32_t dec; - int32_t status; -} outdata; - -double glob_RA, glob_Decl; // global variables: RA & declination (hours & degrees) - -/** - * convert RA/DEC to string in forman RA: HH:MM:SS.SS, DEC: DD:MM:SS.S - */ -char *radec2str(double ra, double dec){ - static char buf[1024]; - char sign = '+'; - if(dec < 0){ - sign = '-'; - dec = -dec; - } - - int h = (int)ra; - ra -= h; ra *= 60.; - int m = (int)ra; - ra -= m; ra *= 60.; - - int d = (int) dec; - dec -= d; dec *= 60.; - int dm = (int)dec; - dec -= dm; dec *= 60.; - snprintf(buf, 1024, "%d:%d:%.2f %c%d:%d:%.1f", h,m,ra, sign,d,dm,dec); - return buf; -} - -/** - * send input RA/Decl (j2000!) coordinates to tel - * ra in hours (0..24), decl in degrees (-90..90) - * @return 1 if all OK - */ -int setCoords(double ra, double dec){ - char *radec = radec2str(ra, dec); - DBG("Set RA/Decl to %s", radec); - putlog("try to set RA/Decl to %s", radec); - int (*pointfunction)(double, double) = point_telescope; - if(GP->emulation) pointfunction = point_emulation; - return pointfunction(ra, dec); -} - -int proc_data(uint8_t *data, ssize_t len){ - FNAME(); - if(len != sizeof(indata)){ - WARN("Bad data size: got %zd instead of %zd!", len, sizeof(indata)); - return 0; - } - indata *dat = (indata*)data; - uint16_t L, T; - //uint64_t tim; - uint32_t ra; - int32_t dec; -#if __BYTE_ORDER__ != __ORDER_LITTLE_ENDIAN__ - L = le16toh(dat->len); T = le16toh(dat->type); - //tim = le64toh(dat->time); - ra = le32toh(dat->ra); - dec = (int32_t)le32toh((uint32_t)dat->dec); -#else - L = dat->len; T = dat->type; - //tim = dat->time; - ra = dat->ra; dec = dat->dec; -#endif - WARN("got message with len %u & type %u", L, T); - double tagRA = RA2HRS(ra), tagDec = DEC2DEG(dec); - WARN("RA: %u (%g), DEC: %d (%g)", ra, tagRA, - dec, tagDec); - if(!setCoords(tagRA, tagDec)) return 0; - return 1; -} - -/** - * main socket service procedure - */ -void handle_socket(int sock){ - FNAME(); - if(global_quit) return; - ssize_t rd; - outdata dout; - dout.len = htole16(sizeof(outdata)); - dout.type = 0; - dout.status = 0; - int (*getcoords)(double*, double*) = get_telescope_coords; - if(GP->emulation) getcoords = get_emul_coords; - while(!global_quit){ - // get coordinates - if(!getcoords(&glob_RA, &glob_Decl)){ - WARNX("Error: can't get coordinates"); - continue; - } - DBG("got : %g/%g", glob_RA, glob_Decl); - dout.ra = htole32(HRS2RA(glob_RA)); - dout.dec = (int32_t)htole32(DEG2DEC(glob_Decl)); - if(!send_data((uint8_t*)&dout, sizeof(outdata), sock)) break; - DBG("sent ra = %g, dec = %g", RA2HRS(dout.ra), DEC2DEG(dout.dec)); - fd_set readfds; - struct timeval timeout; - FD_ZERO(&readfds); - FD_SET(sock, &readfds); - timeout.tv_sec = SOCK_TMOUT; // wait not more than SOCK_TMOUT second - timeout.tv_usec = 0; - int sel = select(sock + 1 , &readfds , NULL , NULL , &timeout); - if(sel < 0){ - if(errno != EINTR) - WARN("select()"); - continue; - } - if(!(FD_ISSET(sock, &readfds))) continue; - // fill incoming buffer - rd = read(sock, buff, BUFLEN); - DBG("read %zd", rd); - if(rd <= 0){ // error or disconnect - DBG("Nothing to read from fd %d (ret: %zd)", sock, rd); - break; - } - /************************************** - * DO SOMETHING WITH DATA * - **************************************/ - if(!proc_data(buff, rd)) dout.status = -1; - else dout.status = 0; - } - close(sock); -} - -static inline void main_proc(){ - int sock; - int reuseaddr = 1; - // connect to telescope - if(!GP->emulation){ - if(!connect_telescope(GP->device)){ - ERRX(_("Can't connect to telescope device")); - } - } - // open socket - struct addrinfo hints, *res, *p; - memset(&hints, 0, sizeof(hints)); - hints.ai_family = AF_INET; - hints.ai_socktype = SOCK_STREAM; - hints.ai_flags = AI_PASSIVE; - DBG("try to open port %s", GP->port); - if(getaddrinfo(NULL, GP->port, &hints, &res) != 0){ - ERR("getaddrinfo"); - } - struct sockaddr_in *ia = (struct sockaddr_in*)res->ai_addr; - char str[INET_ADDRSTRLEN]; - inet_ntop(AF_INET, &(ia->sin_addr), str, INET_ADDRSTRLEN); - // loop through all the results and bind to the first we can - for(p = res; p != NULL; p = p->ai_next){ - if((sock = socket(p->ai_family, p->ai_socktype, p->ai_protocol)) == -1){ - WARN("socket"); - continue; - } - if(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &reuseaddr, sizeof(int)) == -1){ - ERR("setsockopt"); - } - if(bind(sock, p->ai_addr, p->ai_addrlen) == -1){ - close(sock); - WARN("bind"); - continue; - } - break; // if we get here, we must have connected successfully - } - // Listen - if(listen(sock, BACKLOG) == -1){ - putlog("listen() error"); - ERR("listen"); - } - DBG("listen at %s", GP->port); - putlog("listen at %s", GP->port); - //freeaddrinfo(res); - // Main loop - while(!global_quit){ - socklen_t size = sizeof(struct sockaddr_in); - struct sockaddr_in myaddr; - int newsock; - newsock = accept(sock, (struct sockaddr*)&myaddr, &size); - if(newsock <= 0){ - WARN("accept()"); - continue; - } - struct sockaddr_in peer; - socklen_t peer_len = sizeof(peer); - if (getpeername(newsock, &peer, &peer_len) == -1) { - WARN("getpeername()"); - close(newsock); - continue; - } - char *peerIP = inet_ntoa(peer.sin_addr); - putlog("Got connection from %s", peerIP); - DBG("Peer's IP address is: %s\n", peerIP); - /*if(strcmp(peerIP, ACCEPT_IP) && strcmp(peerIP, "127.0.0.1")){ - WARNX("Wrong IP"); - close(newsock); - continue; - }*/ - handle_socket(newsock); - } - close(sock); -} - -int main(int argc, char **argv){ - char *self = strdup(argv[0]); - GP = parse_args(argc, argv); - initial_setup(); - check4running(self, GP->pidfile, NULL); - if(GP->logfile) openlogfile(GP->logfile); - - signal(SIGTERM, signals); // kill (-15) - quit - signal(SIGHUP, SIG_IGN); // hup - ignore - signal(SIGINT, signals); // ctrl+C - quit - signal(SIGQUIT, signals); // ctrl+\ - quit - signal(SIGTSTP, SIG_IGN); // ignore ctrl+Z - - printf(_("Start socket\n")); - putlog("Starting, master PID=%d", getpid()); -#ifndef EBUG // daemonize only in release mode - if(daemon(1, 0)){ - putlog("Err: daemon()"); - ERR("daemon()"); - } -#endif // EBUG - - while(1){ - pid_t childpid = fork(); - if(childpid < 0){ - putlog("fork() error"); - ERR("ERROR on fork"); - } - if(childpid){ - putlog("Created child with PID %d\n", childpid); - DBG("Created child with PID %d\n", childpid); - wait(NULL); - putlog("Child %d died\n", childpid); - DBG("Child %d died\n", childpid); - }else{ - prctl(PR_SET_PDEATHSIG, SIGTERM); // send SIGTERM to child when parent dies - main_proc(); - return 0; - } - } - - return 0; -} diff --git a/astrosib_utils/mountdaemon/main.h b/astrosib_utils/mountdaemon/main.h deleted file mode 100644 index ec6d9c1..0000000 --- a/astrosib_utils/mountdaemon/main.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * main.h - * - * Copyright 2014 Edward V. Emelianov - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -#pragma once -#ifndef __MAIN_H__ -#define __MAIN_H__ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cmdlnopts.h" -#include "usefull_macros.h" - -// global parameters -extern glob_pars *Global_parameters; - -#endif // __MAIN_H__ diff --git a/astrosib_utils/mountdaemon/parseargs.c b/astrosib_utils/mountdaemon/parseargs.c deleted file mode 100644 index b235752..0000000 --- a/astrosib_utils/mountdaemon/parseargs.c +++ /dev/null @@ -1,497 +0,0 @@ -/* geany_encoding=koi8-r - * parseargs.c - parsing command line arguments & print help - * - * Copyright 2013 Edward V. Emelianoff - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#include // printf -#include // getopt_long -#include // calloc, exit, strtoll -#include // assert -#include // strdup, strchr, strlen -#include // strcasecmp -#include // INT_MAX & so on -#include // gettext -#include // isalpha -#include "parseargs.h" -#include "usefull_macros.h" - -char *helpstring = "%s\n"; - -/** - * Change standard help header - * MAY consist ONE "%s" for progname - * @param str (i) - new format - */ -void change_helpstring(char *s){ - int pcount = 0, scount = 0; - char *str = s; - // check `helpstring` and set it to default in case of error - for(; pcount < 2; str += 2){ - if(!(str = strchr(str, '%'))) break; - if(str[1] != '%') pcount++; // increment '%' counter if it isn't "%%" - else{ - str += 2; // pass next '%' - continue; - } - if(str[1] == 's') scount++; // increment "%s" counter - }; - if(pcount > 1 || pcount != scount){ // amount of pcount and/or scount wrong - /// "îÅÐÒÁ×ÉÌØÎÙÊ ÆÏÒÍÁÔ ÓÔÒÏËÉ ÐÏÍÏÝÉ" - ERRX(_("Wrong helpstring!")); - } - helpstring = s; -} - -/** - * Carefull atoll/atoi - * @param num (o) - returning value (or NULL if you wish only check number) - allocated by user - * @param str (i) - string with number must not be NULL - * @param t (i) - T_INT for integer or T_LLONG for long long (if argtype would be wided, may add more) - * @return TRUE if conversion sone without errors, FALSE otherwise - */ -static bool myatoll(void *num, char *str, argtype t){ - long long tmp, *llptr; - int *iptr; - char *endptr; - assert(str); - assert(num); - tmp = strtoll(str, &endptr, 0); - if(endptr == str || *str == '\0' || *endptr != '\0') - return FALSE; - switch(t){ - case arg_longlong: - llptr = (long long*) num; - *llptr = tmp; - break; - case arg_int: - default: - if(tmp < INT_MIN || tmp > INT_MAX){ - /// "ãÅÌÏÅ ×ÎÅ ÄÏÐÕÓÔÉÍÏÇÏ ÄÉÁÐÁÚÏÎÁ" - WARNX(_("Integer out of range")); - return FALSE; - } - iptr = (int*)num; - *iptr = (int)tmp; - } - return TRUE; -} - -// the same as myatoll but for double -// There's no NAN & INF checking here (what if they would be needed?) -static bool myatod(void *num, const char *str, argtype t){ - double tmp, *dptr; - float *fptr; - char *endptr; - assert(str); - tmp = strtod(str, &endptr); - if(endptr == str || *str == '\0' || *endptr != '\0') - return FALSE; - switch(t){ - case arg_double: - dptr = (double *) num; - *dptr = tmp; - break; - case arg_float: - default: - fptr = (float *) num; - *fptr = (float)tmp; - break; - } - return TRUE; -} - -/** - * Get index of current option in array options - * @param opt (i) - returning val of getopt_long - * @param options (i) - array of options - * @return index in array - */ -static int get_optind(int opt, myoption *options){ - int oind; - myoption *opts = options; - assert(opts); - for(oind = 0; opts->name && opts->val != opt; oind++, opts++); - if(!opts->name || opts->val != opt) // no such parameter - showhelp(-1, options); - return oind; -} - -/** - * reallocate new value in array of multiple repeating arguments - * @arg paptr - address of pointer to array (**void) - * @arg type - its type (for realloc) - * @return pointer to new (next) value - */ -void *get_aptr(void *paptr, argtype type){ - int i = 1; - void **aptr = *((void***)paptr); - if(aptr){ // there's something in array - void **p = aptr; - while(*p++) ++i; - } - size_t sz = 0; - switch(type){ - default: - case arg_none: - /// "îÅ ÍÏÇÕ ÉÓÐÏÌØÚÏ×ÁÔØ ÎÅÓËÏÌØËÏ ÐÁÒÁÍÅÔÒÏ× ÂÅÚ ÁÒÇÕÍÅÎÔÏ×!" - ERRX("Can't use multiple args with arg_none!"); - break; - case arg_int: - sz = sizeof(int); - break; - case arg_longlong: - sz = sizeof(long long); - break; - case arg_double: - sz = sizeof(double); - break; - case arg_float: - sz = sizeof(float); - break; - case arg_string: - sz = 0; - break; - /* case arg_function: - sz = sizeof(argfn *); - break;*/ - } - aptr = realloc(aptr, (i + 1) * sizeof(void*)); - *((void***)paptr) = aptr; - aptr[i] = NULL; - if(sz){ - aptr[i - 1] = malloc(sz); - }else - aptr[i - 1] = &aptr[i - 1]; - return aptr[i - 1]; -} - - -/** - * Parse command line arguments - * ! If arg is string, then value will be strdup'ed! - * - * @param argc (io) - address of argc of main(), return value of argc stay after `getopt` - * @param argv (io) - address of argv of main(), return pointer to argv stay after `getopt` - * BE CAREFUL! if you wanna use full argc & argv, save their original values before - * calling this function - * @param options (i) - array of `myoption` for arguments parcing - * - * @exit: in case of error this function show help & make `exit(-1)` - */ -void parseargs(int *argc, char ***argv, myoption *options){ - char *short_options, *soptr; - struct option *long_options, *loptr; - size_t optsize, i; - myoption *opts = options; - // check whether there is at least one options - assert(opts); - assert(opts[0].name); - // first we count how much values are in opts - for(optsize = 0; opts->name; optsize++, opts++); - // now we can allocate memory - short_options = calloc(optsize * 3 + 1, 1); // multiply by three for '::' in case of args in opts - long_options = calloc(optsize + 1, sizeof(struct option)); - opts = options; loptr = long_options; soptr = short_options; - // in debug mode check the parameters are not repeated -#ifdef EBUG - char **longlist = MALLOC(char*, optsize); - char *shortlist = MALLOC(char, optsize); -#endif - // fill short/long parameters and make a simple checking - for(i = 0; i < optsize; i++, loptr++, opts++){ - // check - assert(opts->name); // check name -#ifdef EBUG - longlist[i] = strdup(opts->name); -#endif - if(opts->has_arg){ - assert(opts->type != arg_none); // check error with arg type - assert(opts->argptr); // check pointer - } - if(opts->type != arg_none) // if there is a flag without arg, check its pointer - assert(opts->argptr); - // fill long_options - // don't do memcmp: what if there would be different alignment? - loptr->name = opts->name; - loptr->has_arg = (opts->has_arg < MULT_PAR) ? opts->has_arg : 1; - loptr->flag = opts->flag; - loptr->val = opts->val; - // fill short options if they are: - if(!opts->flag && opts->val){ -#ifdef EBUG - shortlist[i] = (char) opts->val; -#endif - *soptr++ = opts->val; - if(loptr->has_arg) // add ':' if option has required argument - *soptr++ = ':'; - if(loptr->has_arg == 2) // add '::' if option has optional argument - *soptr++ = ':'; - } - } - // sort all lists & check for repeating -#ifdef EBUG - int cmpstringp(const void *p1, const void *p2){ - return strcmp(* (char * const *) p1, * (char * const *) p2); - } - int cmpcharp(const void *p1, const void *p2){ - return (int)(*(char * const)p1 - *(char *const)p2); - } - qsort(longlist, optsize, sizeof(char *), cmpstringp); - qsort(shortlist,optsize, sizeof(char), cmpcharp); - char *prevl = longlist[0], prevshrt = shortlist[0]; - for(i = 1; i < optsize; ++i){ - if(longlist[i]){ - if(prevl){ - if(strcmp(prevl, longlist[i]) == 0) ERRX("double long arguments: --%s", prevl); - } - prevl = longlist[i]; - } - if(shortlist[i]){ - if(prevshrt){ - if(prevshrt == shortlist[i]) ERRX("double short arguments: -%c", prevshrt); - } - prevshrt = shortlist[i]; - } - } -#endif - // now we have both long_options & short_options and can parse `getopt_long` - while(1){ - int opt; - int oindex = 0, optind = 0; // oindex - number of option in argv, optind - number in options[] - if((opt = getopt_long(*argc, *argv, short_options, long_options, &oindex)) == -1) break; - if(opt == '?'){ - opt = optopt; - optind = get_optind(opt, options); - if(options[optind].has_arg == NEED_ARG || options[optind].has_arg == MULT_PAR) - showhelp(optind, options); // need argument - } - else{ - if(opt == 0 || oindex > 0) optind = oindex; - else optind = get_optind(opt, options); - } - opts = &options[optind]; - // if(opt == 0 && opts->has_arg == NO_ARGS) continue; // only long option changing integer flag - // now check option - if(opts->has_arg == NEED_ARG || opts->has_arg == MULT_PAR) - if(!optarg) showhelp(optind, options); // need argument - void *aptr; - if(opts->has_arg == MULT_PAR){ - aptr = get_aptr(opts->argptr, opts->type); - }else - aptr = opts->argptr; - bool result = TRUE; - // even if there is no argument, but argptr != NULL, think that optarg = "1" - if(!optarg) optarg = "1"; - switch(opts->type){ - default: - case arg_none: - if(opts->argptr) *((int*)aptr) += 1; // increment value - break; - case arg_int: - result = myatoll(aptr, optarg, arg_int); - break; - case arg_longlong: - result = myatoll(aptr, optarg, arg_longlong); - break; - case arg_double: - result = myatod(aptr, optarg, arg_double); - break; - case arg_float: - result = myatod(aptr, optarg, arg_float); - break; - case arg_string: - result = (*((void**)aptr) = (void*)strdup(optarg)); - break; - case arg_function: - result = ((argfn)aptr)(optarg); - break; - } - if(!result){ - showhelp(optind, options); - } - } - *argc -= optind; - *argv += optind; -} - -/** - * compare function for qsort - * first - sort by short options; second - sort arguments without sort opts (by long options) - */ -static int argsort(const void *a1, const void *a2){ - const myoption *o1 = (myoption*)a1, *o2 = (myoption*)a2; - const char *l1 = o1->name, *l2 = o2->name; - int s1 = o1->val, s2 = o2->val; - int *f1 = o1->flag, *f2 = o2->flag; - // check if both options has short arg - if(f1 == NULL && f2 == NULL && s1 && s2){ // both have short arg - return (s1 - s2); - }else if((f1 != NULL || !s1) && (f2 != NULL || !s2)){ // both don't have short arg - sort by long - return strcmp(l1, l2); - }else{ // only one have short arg -- return it - if(f2 || !s2) return -1; // a1 have short - it is 'lesser' - else return 1; - } -} - -/** - * Show help information based on myoption->help values - * @param oindex (i) - if non-negative, show only help by myoption[oindex].help - * @param options (i) - array of `myoption` - * - * @exit: run `exit(-1)` !!! - */ -void showhelp(int oindex, myoption *options){ - int max_opt_len = 0; // max len of options substring - for right indentation - const int bufsz = 255; - char buf[bufsz+1]; - myoption *opts = options; - assert(opts); - assert(opts[0].name); // check whether there is at least one options - if(oindex > -1){ // print only one message - opts = &options[oindex]; - printf(" "); - if(!opts->flag && isalpha(opts->val)) printf("-%c, ", opts->val); - printf("--%s", opts->name); - if(opts->has_arg == 1) printf("=arg"); - else if(opts->has_arg == 2) printf("[=arg]"); - printf(" %s\n", _(opts->help)); - exit(-1); - } - // header, by default is just "progname\n" - printf("\n"); - if(strstr(helpstring, "%s")) // print progname - printf(helpstring, __progname); - else // only text - printf("%s", helpstring); - printf("\n"); - // count max_opt_len - do{ - int L = strlen(opts->name); - if(max_opt_len < L) max_opt_len = L; - }while((++opts)->name); - max_opt_len += 14; // format: '-S , --long[=arg]' - get addition 13 symbols - opts = options; - // count amount of options - int N; for(N = 0; opts->name; ++N, ++opts); - if(N == 0) exit(-2); - // Now print all help (sorted) - opts = options; - qsort(opts, N, sizeof(myoption), argsort); - do{ - int p = sprintf(buf, " "); // a little indent - if(!opts->flag && opts->val) // .val is short argument - p += snprintf(buf+p, bufsz-p, "-%c, ", opts->val); - p += snprintf(buf+p, bufsz-p, "--%s", opts->name); - if(opts->has_arg == 1) // required argument - p += snprintf(buf+p, bufsz-p, "=arg"); - else if(opts->has_arg == 2) // optional argument - p += snprintf(buf+p, bufsz-p, "[=arg]"); - assert(p < max_opt_len); // there would be magic if p >= max_opt_len - printf("%-*s%s\n", max_opt_len+1, buf, _(opts->help)); // write options & at least 2 spaces after - ++opts; - }while(--N); - printf("\n\n"); - exit(-1); -} - -/** - * get suboptions from parameter string - * @param str - parameter string - * @param opt - pointer to suboptions structure - * @return TRUE if all OK - */ -bool get_suboption(char *str, mysuboption *opt){ - int findsubopt(char *par, mysuboption *so){ - int idx = 0; - if(!par) return -1; - while(so[idx].name){ - if(strcasecmp(par, so[idx].name) == 0) return idx; - ++idx; - } - return -1; // badarg - } - bool opt_setarg(mysuboption *so, int idx, char *val){ - mysuboption *soptr = &so[idx]; - bool result = FALSE; - void *aptr = soptr->argptr; - switch(soptr->type){ - default: - case arg_none: - if(soptr->argptr) *((int*)aptr) += 1; // increment value - result = TRUE; - break; - case arg_int: - result = myatoll(aptr, val, arg_int); - break; - case arg_longlong: - result = myatoll(aptr, val, arg_longlong); - break; - case arg_double: - result = myatod(aptr, val, arg_double); - break; - case arg_float: - result = myatod(aptr, val, arg_float); - break; - case arg_string: - result = (*((void**)aptr) = (void*)strdup(val)); - break; - case arg_function: - result = ((argfn)aptr)(val); - break; - } - return result; - } - char *tok; - bool ret = FALSE; - char *tmpbuf; - tok = strtok_r(str, ":,", &tmpbuf); - do{ - char *val = strchr(tok, '='); - int noarg = 0; - if(val == NULL){ // no args - val = "1"; - noarg = 1; - }else{ - *val++ = '\0'; - if(!*val || *val == ':' || *val == ','){ // no argument - delimeter after = - val = "1"; noarg = 1; - } - } - int idx = findsubopt(tok, opt); - if(idx < 0){ - /// "îÅÐÒÁ×ÉÌØÎÙÊ ÐÁÒÁÍÅÔÒ: %s" - WARNX(_("Wrong parameter: %s"), tok); - goto returning; - } - if(noarg && opt[idx].has_arg == NEED_ARG){ - /// "%s: ÎÅÏÂÈÏÄÉÍ ÁÒÇÕÍÅÎÔ!" - WARNX(_("%s: argument needed!"), tok); - goto returning; - } - if(!opt_setarg(opt, idx, val)){ - /// "îÅÐÒÁ×ÉÌØÎÙÊ ÁÒÇÕÍÅÎÔ \"%s\" ÐÁÒÁÍÅÔÒÁ \"%s\"" - WARNX(_("Wrong argument \"%s\" of parameter \"%s\""), val, tok); - goto returning; - } - }while((tok = strtok_r(NULL, ":,", &tmpbuf))); - ret = TRUE; -returning: - return ret; -} diff --git a/astrosib_utils/mountdaemon/parseargs.h b/astrosib_utils/mountdaemon/parseargs.h deleted file mode 100644 index 537fc5b..0000000 --- a/astrosib_utils/mountdaemon/parseargs.h +++ /dev/null @@ -1,124 +0,0 @@ -/* geany_encoding=koi8-r - * parseargs.h - headers for parsing command line arguments - * - * Copyright 2013 Edward V. Emelianoff - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -#pragma once -#ifndef __PARSEARGS_H__ -#define __PARSEARGS_H__ - -#include // bool -#include - -#ifndef TRUE - #define TRUE true -#endif - -#ifndef FALSE - #define FALSE false -#endif - -// macro for argptr -#define APTR(x) ((void*)x) - -// if argptr is a function: -typedef bool(*argfn)(void *arg); - -/* - * type of getopt's argument - * WARNING! - * My function change value of flags by pointer, so if you want to use another type - * make a latter conversion, example: - * char charg; - * int iarg; - * myoption opts[] = { - * {"value", 1, NULL, 'v', arg_int, &iarg, "char val"}, ..., end_option}; - * ..(parse args).. - * charg = (char) iarg; - */ -typedef enum { - arg_none = 0, // no arg - arg_int, // integer - arg_longlong, // long long - arg_double, // double - arg_float, // float - arg_string, // char * - arg_function // parse_args will run function `bool (*fn)(char *optarg, int N)` -} argtype; - -/* - * Structure for getopt_long & help - * BE CAREFUL: .argptr is pointer to data or pointer to function, - * conversion depends on .type - * - * ATTENTION: string `help` prints through macro PRNT(), bu default it is gettext, - * but you can redefine it before `#include "parseargs.h"` - * - * if arg is string, then value wil be strdup'ed like that: - * char *str; - * myoption opts[] = {{"string", 1, NULL, 's', arg_string, &str, "string val"}, ..., end_option}; - * *(opts[1].str) = strdup(optarg); - * in other cases argptr should be address of some variable (or pointer to allocated memory) - * - * NON-NULL argptr should be written inside macro APTR(argptr) or directly: (void*)argptr - * - * !!!LAST VALUE OF ARRAY SHOULD BE `end_option` or ZEROS !!! - * - */ -typedef enum{ - NO_ARGS = 0, // first three are the same as in getopt_long - NEED_ARG = 1, - OPT_ARG = 2, - MULT_PAR -} hasarg; - -typedef struct{ - // these are from struct option: - const char *name; // long option's name - hasarg has_arg; // 0 - no args, 1 - nesessary arg, 2 - optionally arg, 4 - need arg & key can repeat (args are stored in null-terminated array) - int *flag; // NULL to return val, pointer to int - to set its value of val (function returns 0) - int val; // short opt name (if flag == NULL) or flag's value - // and these are mine: - argtype type; // type of argument - void *argptr; // pointer to variable to assign optarg value or function `bool (*fn)(char *optarg, int N)` - const char *help; // help string which would be shown in function `showhelp` or NULL -} myoption; - -/* - * Suboptions structure, almost the same like myoption - * used in parse_subopts() - */ -typedef struct{ - const char *name; - hasarg has_arg; - argtype type; - void *argptr; -} mysuboption; - -// last string of array (all zeros) -#define end_option {0,0,0,0,0,0,0} -#define end_suboption {0,0,0,0} - -extern const char *__progname; - -void showhelp(int oindex, myoption *options); -void parseargs(int *argc, char ***argv, myoption *options); -void change_helpstring(char *s); -bool get_suboption(char *str, mysuboption *opt); - -#endif // __PARSEARGS_H__ diff --git a/astrosib_utils/mountdaemon/stellariumdaemon.geany b/astrosib_utils/mountdaemon/stellariumdaemon.geany deleted file mode 100644 index a410871..0000000 --- a/astrosib_utils/mountdaemon/stellariumdaemon.geany +++ /dev/null @@ -1,32 +0,0 @@ -[editor] -line_wrapping=false -line_break_column=80 -auto_continue_multiline=true - -[file_prefs] -final_new_line=true -ensure_convert_new_lines=false -strip_trailing_spaces=true -replace_tabs=true - -[indentation] -indent_width=4 -indent_type=0 -indent_hard_tab_width=4 -detect_indent=false -detect_indent_width=false -indent_mode=3 - -[project] -name=stellariumdaemon -base_path=/tmp/f/10micron_stellarium/ - -[long line marker] -long_line_behaviour=1 -long_line_column=80 - -[files] -current_page=0 - -[VTE] -last_dir=/home/eddy diff --git a/astrosib_utils/mountdaemon/telescope.c b/astrosib_utils/mountdaemon/telescope.c deleted file mode 100644 index 3b9a07d..0000000 --- a/astrosib_utils/mountdaemon/telescope.c +++ /dev/null @@ -1,212 +0,0 @@ -/* - * geany_encoding=koi8-r - * telescope.c - * - * Copyright 2018 Edward V. Emelianov - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - * - */ -#include "telescope.h" -#include "usefull_macros.h" - -// polling timeout for answer from mount -#ifndef T_POLLING_TMOUT -#define T_POLLING_TMOUT (1.5) -#endif -#ifndef WAIT_TMOUT -#define WAIT_TMOUT (0.5) -#endif - - -#define BUFLEN 80 - -/** - * read strings from terminal (ending with '\n') with timeout - * @return NULL if nothing was read or pointer to static buffer - */ -static char *read_string(){ - static char buf[BUFLEN]; - size_t r = 0, l; - int LL = BUFLEN - 1; - char *ptr = NULL; - static char *optr = NULL; - if(optr && *optr){ - ptr = optr; - optr = strchr(optr, '\n'); - if(optr) ++optr; - return ptr; - } - ptr = buf; - double d0 = dtime(); - do{ - if((l = read_tty(ptr, LL))){ - r += l; LL -= l; ptr += l; - if(ptr[-1] == '\n') break; - d0 = dtime(); - } - }while(dtime() - d0 < WAIT_TMOUT && LL); - if(r){ - buf[r] = 0; - optr = strchr(buf, '\n'); - if(optr) ++optr; - return buf; - } - return NULL; -} - -/** - * write command - * @return answer or NULL if error occured (or no answer) - */ -static char *write_cmd(const char *cmd){ - DBG("Write %s", cmd); - if(write_tty(cmd, strlen(cmd))) return NULL; - double t0 = dtime(); - static char *ans; - while(dtime() - t0 < T_POLLING_TMOUT){ // read answer - if((ans = read_string())){ // parse new data - DBG("got answer: %s", ans); - return ans; - } - } - return NULL; -} - -/** - * connect telescope device - * @param dev (i) - device name to connect - * @return 1 if all OK - */ -int connect_telescope(char *dev){ - if(!dev) return 0; - DBG("Connection to device %s...", dev); - putlog("Try to connect to device %s...", dev); - char tmpbuf[4096]; - fflush(stdout); - #ifndef COM_SPEED - #define COM_SPEED B9600 - #endif - tty_init(dev, COM_SPEED); - read_tty(tmpbuf, 4096); // clear rbuf - write_cmd(":U2#"); - write_cmd(":U2#"); - if(!write_cmd(":GR#")) return 0; - putlog("connected", dev); - DBG("connected"); - return 1; -} - -/* -:MS# - move to target, return: 0 if all OK or text with error -:SrHH:MM:SS.SS# - set target RA (return 1 if all OK) -:SdsDD*MM:SS.S# - set target DECL (return 1 if all OK) -*/ - -/** - * send coordinates to telescope - * @param ra - right ascention (hours) - * @param dec - declination (degrees) - * @return 1 if all OK - */ -int point_telescope(double ra, double dec){ - DBG("try to send ra=%g, decl=%g", ra, dec); - int err = 0; - static char buf[80]; - char sign = '+'; - if(dec < 0){ - sign = '-'; - dec = -dec; - } - - int h = (int)ra; - ra -= h; ra *= 60.; - int m = (int)ra; - ra -= m; ra *= 60.; - - int d = (int) dec; - dec -= d; dec *= 60.; - int dm = (int)dec; - dec -= dm; dec *= 60.; - snprintf(buf, 80, ":Sr%d:%d:%.2f#", h,m,ra); - char *ans = write_cmd(buf); - if(!ans || *ans != '1'){ - err = 1; - goto ret; - } - snprintf(buf, 80, ":Sd%c%d:%d:%.1f#", sign,d,dm,dec); - ans = write_cmd(buf); - if(!ans || *ans != '1'){ - err = 2; - goto ret; - } - ans = write_cmd(":MS#"); - if(!ans || *ans != '0'){ - putlog("move error, answer: %s", ans); - err = 2; - goto ret; - } - ret: - if(err){ - putlog("error sending coordinates (err = %d: RA/DEC/MOVE)!", err); - return 0; - }else{ - putlog("Send ra=%g, dec=%g", ra, dec); - } - return 1; -} - -/** - * convert str into RA/DEC coordinate - * @param str (i) - string with angle - * @param val (o) - output angle value - * @return 1 if all OK - */ -static int str2coord(char *str, double *val){ - if(!str || !val) return 0; - int d, m; - float s; - int sign = 1; - if(*str == '+') ++str; - else if(*str == '-'){ - sign = -1; - ++str; - } - int n = sscanf(str, "%d:%d:%f#", &d, &m, &s); - if(n != 3) return 0; - double ang = d + ((double)m)/60. + s/3600.; - if(sign == -1) *val = -ang; - else *val = ang; - return 1; -} - -/** - * get coordinates - * @return 1 if all OK - */ -int get_telescope_coords(double *ra, double *decl){ - double r, d; - char *ans; - // :GR# -> 11:05:26.16# - ans = write_cmd(":GR#"); - if(!str2coord(ans, &r)) return 0; - // :GD# -> +44:14:10.7# - ans = write_cmd(":GD#"); - if(!str2coord(ans, &d)) return 0; - if(ra) *ra = r; - if(decl) *decl = d; - return 1; -} diff --git a/astrosib_utils/mountdaemon/telescope.h b/astrosib_utils/mountdaemon/telescope.h deleted file mode 100644 index 836d224..0000000 --- a/astrosib_utils/mountdaemon/telescope.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * geany_encoding=koi8-r - * telescope.h - * - * Copyright 2018 Edward V. Emelianov - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - * - */ -#pragma once -#ifndef __TELESCOPE_H__ -#define __TELESCOPE_H__ - -int connect_telescope(char *dev); -int point_telescope(double ra, double decl); -int get_telescope_coords(double *ra, double *decl); - -#endif // __TELESCOPE_H__ diff --git a/astrosib_utils/mountdaemon/usefull_macros.c b/astrosib_utils/mountdaemon/usefull_macros.c deleted file mode 100644 index ac70ffa..0000000 --- a/astrosib_utils/mountdaemon/usefull_macros.c +++ /dev/null @@ -1,442 +0,0 @@ -/* geany_encoding=koi8-r - * usefull_macros.h - a set of usefull functions: memory, color etc - * - * Copyright 2013 Edward V. Emelianoff - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#include "usefull_macros.h" -#include // PATH_MAX - -/** - * function for different purposes that need to know time intervals - * @return double value: time in seconds - */ -double dtime(){ - double t; - struct timeval tv; - gettimeofday(&tv, NULL); - t = tv.tv_sec + ((double)tv.tv_usec)/1e6; - return t; -} - -/******************************************************************************\ - * Coloured terminal -\******************************************************************************/ -int globErr = 0; // errno for WARN/ERR - -// pointers to coloured output printf -int (*red)(const char *fmt, ...); -int (*green)(const char *fmt, ...); -int (*_WARN)(const char *fmt, ...); - -/* - * format red / green messages - * name: r_pr_, g_pr_ - * @param fmt ... - printf-like format - * @return number of printed symbols - */ -int r_pr_(const char *fmt, ...){ - va_list ar; int i; - printf(RED); - va_start(ar, fmt); - i = vprintf(fmt, ar); - va_end(ar); - printf(OLDCOLOR); - return i; -} -int g_pr_(const char *fmt, ...){ - va_list ar; int i; - printf(GREEN); - va_start(ar, fmt); - i = vprintf(fmt, ar); - va_end(ar); - printf(OLDCOLOR); - return i; -} -/* - * print red error/warning messages (if output is a tty) - * @param fmt ... - printf-like format - * @return number of printed symbols - */ -int r_WARN(const char *fmt, ...){ - va_list ar; int i = 1; - fprintf(stderr, RED); - va_start(ar, fmt); - if(globErr){ - errno = globErr; - vwarn(fmt, ar); - errno = 0; - }else - i = vfprintf(stderr, fmt, ar); - va_end(ar); - i++; - fprintf(stderr, OLDCOLOR "\n"); - return i; -} - -static const char stars[] = "****************************************"; -/* - * notty variants of coloured printf - * name: s_WARN, r_pr_notty - * @param fmt ... - printf-like format - * @return number of printed symbols - */ -int s_WARN(const char *fmt, ...){ - va_list ar; int i; - i = fprintf(stderr, "\n%s\n", stars); - va_start(ar, fmt); - if(globErr){ - errno = globErr; - vwarn(fmt, ar); - errno = 0; - }else - i = +vfprintf(stderr, fmt, ar); - va_end(ar); - i += fprintf(stderr, "\n%s\n", stars); - i += fprintf(stderr, "\n"); - return i; -} -int r_pr_notty(const char *fmt, ...){ - va_list ar; int i; - i = printf("\n%s\n", stars); - va_start(ar, fmt); - i += vprintf(fmt, ar); - va_end(ar); - i += printf("\n%s\n", stars); - return i; -} - -/** - * Run this function in the beginning of main() to setup locale & coloured output - */ -void initial_setup(){ - // setup coloured output - if(isatty(STDOUT_FILENO)){ // make color output in tty - red = r_pr_; green = g_pr_; - }else{ // no colors in case of pipe - red = r_pr_notty; green = printf; - } - if(isatty(STDERR_FILENO)) _WARN = r_WARN; - else _WARN = s_WARN; - // Setup locale - setlocale(LC_ALL, ""); - setlocale(LC_NUMERIC, "C"); -#if defined GETTEXT_PACKAGE && defined LOCALEDIR - bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR); - textdomain(GETTEXT_PACKAGE); -#endif -} - -/******************************************************************************\ - * Memory -\******************************************************************************/ -/* - * safe memory allocation for macro ALLOC - * @param N - number of elements to allocate - * @param S - size of single element (typically sizeof) - * @return pointer to allocated memory area - */ -void *my_alloc(size_t N, size_t S){ - void *p = calloc(N, S); - if(!p) ERR("malloc"); - //assert(p); - return p; -} - -/** - * Mmap file to a memory area - * - * @param filename (i) - name of file to mmap - * @return stuct with mmap'ed file or die - */ -mmapbuf *My_mmap(char *filename){ - int fd; - char *ptr; - size_t Mlen; - struct stat statbuf; - /// "îÅ ÚÁÄÁÎÏ ÉÍÑ ÆÁÊÌÁ!" - if(!filename){ - WARNX(_("No filename given!")); - return NULL; - } - if((fd = open(filename, O_RDONLY)) < 0){ - /// "îÅ ÍÏÇÕ ÏÔËÒÙÔØ %s ÄÌÑ ÞÔÅÎÉÑ" - WARN(_("Can't open %s for reading"), filename); - return NULL; - } - if(fstat (fd, &statbuf) < 0){ - /// "îÅ ÍÏÇÕ ×ÙÐÏÌÎÉÔØ stat %s" - WARN(_("Can't stat %s"), filename); - close(fd); - return NULL; - } - Mlen = statbuf.st_size; - if((ptr = mmap (0, Mlen, PROT_READ, MAP_PRIVATE, fd, 0)) == MAP_FAILED){ - /// "ïÛÉÂËÁ mmap" - WARN(_("Mmap error for input")); - close(fd); - return NULL; - } - /// "îÅ ÍÏÇÕ ÚÁËÒÙÔØ mmap'ÎÕÔÙÊ ÆÁÊÌ" - if(close(fd)) WARN(_("Can't close mmap'ed file")); - mmapbuf *ret = MALLOC(mmapbuf, 1); - ret->data = ptr; - ret->len = Mlen; - return ret; -} - -void My_munmap(mmapbuf *b){ - if(munmap(b->data, b->len)){ - /// "îÅ ÍÏÇÕ munmap" - ERR(_("Can't munmap")); - } - FREE(b); -} - - -/******************************************************************************\ - * Terminal in no-echo mode -\******************************************************************************/ -static struct termios oldt, newt; // terminal flags -static int console_changed = 0; -// run on exit: -void restore_console(){ - if(console_changed) - tcsetattr(STDIN_FILENO, TCSANOW, &oldt); // return terminal to previous state - console_changed = 0; -} - -// initial setup: -void setup_con(){ - if(console_changed) return; - tcgetattr(STDIN_FILENO, &oldt); - newt = oldt; - newt.c_lflag &= ~(ICANON | ECHO); - if(tcsetattr(STDIN_FILENO, TCSANOW, &newt) < 0){ - /// "îÅ ÍÏÇÕ ÎÁÓÔÒÏÉÔØ ËÏÎÓÏÌØ" - WARN(_("Can't setup console")); - tcsetattr(STDIN_FILENO, TCSANOW, &oldt); - signals(0); //quit? - } - console_changed = 1; -} - -/** - * Read character from console without echo - * @return char readed - */ -int read_console(){ - int rb; - struct timeval tv; - int retval; - fd_set rfds; - FD_ZERO(&rfds); - FD_SET(STDIN_FILENO, &rfds); - tv.tv_sec = 0; tv.tv_usec = 10000; - retval = select(1, &rfds, NULL, NULL, &tv); - if(!retval) rb = 0; - else { - if(FD_ISSET(STDIN_FILENO, &rfds)) rb = getchar(); - else rb = 0; - } - return rb; -} - -/** - * getchar() without echo - * wait until at least one character pressed - * @return character readed - */ -int mygetchar(){ // getchar() without need of pressing ENTER - int ret; - do ret = read_console(); - while(ret == 0); - return ret; -} - - -/******************************************************************************\ - * TTY with select() -\******************************************************************************/ -static struct termio oldtty, tty; // TTY flags -static int comfd = -1; // TTY fd - -// run on exit: -void restore_tty(){ - if(comfd == -1) return; - ioctl(comfd, TCSANOW, &oldtty ); // return TTY to previous state - close(comfd); - comfd = -1; -} - -#ifndef BAUD_RATE -#define BAUD_RATE B9600 -#endif -// init: (speed = B9600 etc) -void tty_init(char *comdev, tcflag_t speed){ - if(comfd == -1){ // not opened - if(!comdev){ - WARNX("comdev == NULL"); - signals(11); - } - DBG("Open port..."); - do{ - comfd = open(comdev,O_RDWR|O_NOCTTY|O_NONBLOCK); - }while (comfd == -1 && errno == EINTR); - if(comfd < 0){ - WARN(_("Can't open port %s"),comdev); - signals(2); - } - /* DBG("OK\nGet current settings..."); - if(ioctl(comfd, TCGETA, &oldtty) < 0){ // Get settings - /// "îÅ ÍÏÇÕ ÐÏÌÕÞÉÔØ ÎÁÓÔÒÏÊËÉ" - WARN(_("Can't get settings")); - signals(2); - }*/ - DBG("Make exclusive"); - // make exclusive open - if(ioctl(comfd, TIOCEXCL)){ - WARN(_("Can't do exclusive open")); - close(comfd); - signals(2); - } - } - tty = oldtty; - tty.c_lflag = 0; // ~(ICANON | ECHO | ECHOE | ISIG) - tty.c_oflag = 0; - tty.c_cflag = speed|CS8|CREAD|CLOCAL; // 9.6k, 8N1, RW, ignore line ctrl - tty.c_cc[VMIN] = 0; // non-canonical mode - tty.c_cc[VTIME] = 5; - if(ioctl(comfd, TCSETA, &tty) < 0){ - /// "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÎÁÓÔÒÏÊËÉ" - WARN(_("Can't set settings")); - signals(0); - } - DBG("OK"); -} - -/** - * Read data from TTY - * @param buff (o) - buffer for data read - * @param length - buffer len - * @return amount of bytes read - */ -size_t read_tty(char *buff, size_t length){ - if(comfd < 0) return 0; - ssize_t L = 0, l; - char *ptr = buff; - fd_set rfds; - struct timeval tv; - int retval; - do{ - l = 0; - FD_ZERO(&rfds); - FD_SET(comfd, &rfds); - // wait for 10ms - tv.tv_sec = 0; tv.tv_usec = 10000; - retval = select(comfd + 1, &rfds, NULL, NULL, &tv); - if (!retval) break; - if(FD_ISSET(comfd, &rfds)){ - if((l = read(comfd, ptr, length)) < 1){ - return 0; - } - ptr += l; L += l; - length -= l; - } - }while(l); - return (size_t)L; -} - -int write_tty(const char *buff, size_t length){ - ssize_t L = write(comfd, buff, length); - if((size_t)L != length){ - /// "ïÛÉÂËÁ ÚÁÐÉÓÉ!" - WARN("Write error"); - return 1; - } - return 0; -} - -/** - * Safely convert data from string to double - * - * @param num (o) - double number read from string - * @param str (i) - input string - * @return 1 if success, 0 if fails - */ -int str2double(double *num, const char *str){ - double res; - char *endptr; - if(!str) return 0; - res = strtod(str, &endptr); - if(endptr == str || *str == '\0' || *endptr != '\0'){ - /// "îÅÐÒÁ×ÉÌØÎÙÊ ÆÏÒÍÁÔ ÞÉÓÌÁ double!" - WARNX("Wrong double number format!"); - return FALSE; - } - if(num) *num = res; // you may run it like myatod(NULL, str) to test wether str is double number - return TRUE; -} - -FILE *Flog = NULL; // log file descriptor -char *logname = NULL; -time_t log_open_time = 0; -/** - * Try to open log file - * if failed show warning message - */ -void openlogfile(char *name){ - if(!name){ - WARNX(_("Need filename for log file")); - return; - } - green(_("Try to open log file %s in append mode\n"), name); - fflush(stdout); - if(!(Flog = fopen(name, "a"))){ - WARN(_("Can't open log file")); - return; - } - DBG("here"); - log_open_time = time(NULL); - logname = name; -} - -/** - * Save message to log file, rotate logs every 24 hours - */ -int putlog(const char *fmt, ...){ - if(!Flog) return 0; - time_t t_now = time(NULL); - if(t_now - log_open_time > 86400){ // rotate log - fprintf(Flog, "\n\t\t%sRotate log\n", ctime(&t_now)); - fclose(Flog); - char newname[PATH_MAX]; - snprintf(newname, PATH_MAX, "%s.old", logname); - if(rename(logname, newname)) WARN("rename()"); - openlogfile(logname); - if(!Flog) return 0; - } - int i = fprintf(Flog, "\n\t\t%s", ctime(&t_now)); - va_list ar; - va_start(ar, fmt); - i = vfprintf(Flog, fmt, ar); - va_end(ar); - fprintf(Flog, "\n"); - fflush(Flog); - return i; -} diff --git a/astrosib_utils/mountdaemon/usefull_macros.h b/astrosib_utils/mountdaemon/usefull_macros.h deleted file mode 100644 index 7d88ac5..0000000 --- a/astrosib_utils/mountdaemon/usefull_macros.h +++ /dev/null @@ -1,144 +0,0 @@ -/* geany_encoding=koi8-r - * usefull_macros.h - a set of usefull macros: memory, color etc - * - * Copyright 2013 Edward V. Emelianoff - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#pragma once -#ifndef __USEFULL_MACROS_H__ -#define __USEFULL_MACROS_H__ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#if defined GETTEXT_PACKAGE && defined LOCALEDIR -/* - * GETTEXT - */ -#include -#define _(String) gettext(String) -#define gettext_noop(String) String -#define N_(String) gettext_noop(String) -#else -#define _(String) (String) -#define N_(String) (String) -#endif -#include -#include -#include -#include -#include -#include -#include - - -// unused arguments with -Wall -Werror -#define _U_ __attribute__((__unused__)) - -/* - * Coloured messages output - */ -#define RED "\033[1;31;40m" -#define GREEN "\033[1;32;40m" -#define OLDCOLOR "\033[0;0;0m" - -#ifndef FALSE -#define FALSE (0) -#endif - -#ifndef TRUE -#define TRUE (1) -#endif - -/* - * ERROR/WARNING messages - */ -extern int globErr; -extern void signals(int sig); -#define ERR(...) do{globErr=errno; _WARN(__VA_ARGS__); signals(9);}while(0) -#define ERRX(...) do{globErr=0; _WARN(__VA_ARGS__); signals(9);}while(0) -#define WARN(...) do{globErr=errno; _WARN(__VA_ARGS__);}while(0) -#define WARNX(...) do{globErr=0; _WARN(__VA_ARGS__);}while(0) - -/* - * print function name, debug messages - * debug mode, -DEBUG - */ -#ifdef EBUG - #define FNAME() do{ fprintf(stderr, OLDCOLOR); \ - fprintf(stderr, "\n%s (%s, line %d)\n", __func__, __FILE__, __LINE__);} while(0) - #define DBG(...) do{ fprintf(stderr, OLDCOLOR); \ - fprintf(stderr, "%s (%s, line %d): ", __func__, __FILE__, __LINE__); \ - fprintf(stderr, __VA_ARGS__); \ - fprintf(stderr, "\n");} while(0) -#else - #define FNAME() do{}while(0) - #define DBG(...) do{}while(0) -#endif //EBUG - -/* - * Memory allocation - */ -#define ALLOC(type, var, size) type * var = ((type *)my_alloc(size, sizeof(type))) -#define MALLOC(type, size) ((type *)my_alloc(size, sizeof(type))) -#define FREE(ptr) do{if(ptr){free(ptr); ptr = NULL;}}while(0) - -#ifndef DBL_EPSILON -#define DBL_EPSILON (2.2204460492503131e-16) -#endif - -double dtime(); - -// functions for color output in tty & no-color in pipes -extern int (*red)(const char *fmt, ...); -extern int (*_WARN)(const char *fmt, ...); -extern int (*green)(const char *fmt, ...); -void * my_alloc(size_t N, size_t S); -void initial_setup(); - -// mmap file -typedef struct{ - char *data; - size_t len; -} mmapbuf; -mmapbuf *My_mmap(char *filename); -void My_munmap(mmapbuf *b); - -void restore_console(); -void setup_con(); -int read_console(); -int mygetchar(); - -void restore_tty(); -void tty_init(char *comdev, tcflag_t speed); -size_t read_tty(char *buff, size_t length); -int write_tty(const char *buff, size_t length); - -int str2double(double *num, const char *str); - -void openlogfile(char *name); -int putlog(const char *fmt, ...); - -#endif // __USEFULL_MACROS_H__ diff --git a/astrosib_utils/teldaemon/Makefile b/astrosib_utils/teldaemon/Makefile deleted file mode 100644 index efc0459..0000000 --- a/astrosib_utils/teldaemon/Makefile +++ /dev/null @@ -1,43 +0,0 @@ -# run `make DEF=...` to add extra defines -PROGRAM := teldaemon -LDFLAGS := -fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,--discard-all -pthread -SRCS := $(wildcard *.c) -DEFINES := $(DEF) -D_GNU_SOURCE -D_XOPEN_SOURCE=1111 -#DEFINES += -DEBUG -# baudrate for USB<->UART converter -DEFINES += -DBAUD_RATE=B9600 -OBJDIR := mk -CFLAGS += -O2 -Wall -Werror -Wextra -Wno-trampolines -OBJS := $(addprefix $(OBJDIR)/, $(SRCS:%.c=%.o)) -DEPS := $(OBJS:.o=.d) -CC = gcc - -all : $(OBJDIR) $(PROGRAM) - -$(PROGRAM) : $(OBJS) - @echo -e "\t\tLD $(PROGRAM)" - $(CC) $(LDFLAGS) $(OBJS) -o $(PROGRAM) - -$(OBJDIR): - mkdir $(OBJDIR) - -ifneq ($(MAKECMDGOALS),clean) --include $(DEPS) -endif - -$(OBJDIR)/%.o: %.c - @echo -e "\t\tCC $<" - $(CC) -MD -c $(LDFLAGS) $(CFLAGS) $(DEFINES) -o $@ $< - -clean: - @echo -e "\t\tCLEAN" - @rm -f $(OBJS) $(DEPS) - @rmdir $(OBJDIR) 2>/dev/null || true - -xclean: clean - @rm -f $(PROGRAM) - -gentags: - CFLAGS="$(CFLAGS) $(DEFINES)" geany -g $(PROGRAM).c.tags *[hc] 2>/dev/null - -.PHONY: gentags clean xclean diff --git a/astrosib_utils/teldaemon/Readme.md b/astrosib_utils/teldaemon/Readme.md deleted file mode 100644 index 6b2084f..0000000 --- a/astrosib_utils/teldaemon/Readme.md +++ /dev/null @@ -1,12 +0,0 @@ -Astrosib telescope control network daemon -================== - -Open a socket at given port (default: 4444), works with http & direct requests. - -**Protocol** - -Send requests over socket (by curl or something else) or http requests (in browser). - -* *open* - open telescope shutters; -* *close* - close shutters; -* *status* - shutters' state (return "open", "closed" or "intermediate"). diff --git a/astrosib_utils/teldaemon/cmdlnopts.c b/astrosib_utils/teldaemon/cmdlnopts.c deleted file mode 100644 index b8c24d3..0000000 --- a/astrosib_utils/teldaemon/cmdlnopts.c +++ /dev/null @@ -1,89 +0,0 @@ -/* geany_encoding=koi8-r - * cmdlnopts.c - the only function that parse cmdln args and returns glob parameters - * - * Copyright 2018 Edward V. Emelianoff - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -#include -#include -#include -#include -#include -#include "cmdlnopts.h" -#include "usefull_macros.h" - -/* - * here are global parameters initialisation - */ -int help; -static glob_pars G; - -// default values for Gdefault & help -#define DEFAULT_PORT "4444" - -// DEFAULTS -// default global parameters -glob_pars const Gdefault = { - .device = NULL, - .port = DEFAULT_PORT, - .terminal = 0, - .echo = 0, - .logfile = NULL, - .rest_pars = NULL, - .rest_pars_num = 0 -}; - -/* - * Define command line options by filling structure: - * name has_arg flag val type argptr help -*/ -myoption cmdlnopts[] = { -// common options - {"help", NO_ARGS, NULL, 'h', arg_int, APTR(&help), _("show this help")}, - {"device", NEED_ARG, NULL, 'd', arg_string, APTR(&G.device), _("serial device name (default: none)")}, - {"port", NEED_ARG, NULL, 'p', arg_string, APTR(&G.port), _("network port to connect (default: " DEFAULT_PORT ")")}, - {"logfile", NEED_ARG, NULL, 'l', arg_string, APTR(&G.logfile), _("save logs to file (default: none)")}, - {"terminal",NO_ARGS, NULL, 't', arg_int, APTR(&G.terminal), _("run as terminal")}, - {"echo", NO_ARGS, NULL, 'e', arg_int, APTR(&G.echo), _("echo users commands back")}, - end_option -}; - -/** - * Parse command line options and return dynamically allocated structure - * to global parameters - * @param argc - copy of argc from main - * @param argv - copy of argv from main - * @return allocated structure with global parameters - */ -glob_pars *parse_args(int argc, char **argv){ - int i; - void *ptr; - ptr = memcpy(&G, &Gdefault, sizeof(G)); assert(ptr); - // format of help: "Usage: progname [args]\n" - change_helpstring("Usage: %s [args]\n\n\tWhere args are:\n"); - // parse arguments - parseargs(&argc, &argv, cmdlnopts); - if(help) showhelp(-1, cmdlnopts); - if(argc > 0){ - G.rest_pars_num = argc; - G.rest_pars = calloc(argc, sizeof(char*)); - for (i = 0; i < argc; i++) - G.rest_pars[i] = strdup(argv[i]); - } - return &G; -} - diff --git a/astrosib_utils/teldaemon/cmdlnopts.h b/astrosib_utils/teldaemon/cmdlnopts.h deleted file mode 100644 index 712e140..0000000 --- a/astrosib_utils/teldaemon/cmdlnopts.h +++ /dev/null @@ -1,44 +0,0 @@ -/* geany_encoding=koi8-r - * cmdlnopts.h - comand line options for parceargs - * - * Copyright 2018 Edward V. Emelianoff - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#pragma once -#ifndef __CMDLNOPTS_H__ -#define __CMDLNOPTS_H__ - -#include "parseargs.h" -#include "term.h" - -/* - * here are some typedef's for global data - */ -typedef struct{ - char *device; // serial device name - char *port; // port to connect - char *logfile; // logfile name - int terminal; // run as terminal - int echo; // echo user commands back - int rest_pars_num; // number of rest parameters - char** rest_pars; // the rest parameters: array of char* (path to logfile and thrash) -} glob_pars; - - -glob_pars *parse_args(int argc, char **argv); -#endif // __CMDLNOPTS_H__ diff --git a/astrosib_utils/teldaemon/main.c b/astrosib_utils/teldaemon/main.c deleted file mode 100644 index 373f77c..0000000 --- a/astrosib_utils/teldaemon/main.c +++ /dev/null @@ -1,83 +0,0 @@ -/* geany_encoding=koi8-r - * main.c - * - * Copyright 2018 Edward V. Emelianov - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -#include "usefull_macros.h" -#include -#include // wait -#include //prctl -#include "cmdlnopts.h" -#include "socket.h" - -// telescope @ /dev/ttyS0 - -glob_pars *GP; - -void signals(int signo){ - restore_console(); - restore_tty(); - putlog("exit with status %d", signo); - exit(signo); -} - -int main(int argc, char **argv){ - initial_setup(); - signal(SIGTERM, signals); // kill (-15) - quit - signal(SIGHUP, SIG_IGN); // hup - ignore - signal(SIGINT, signals); // ctrl+C - quit - signal(SIGQUIT, signals); // ctrl+\ - quit - signal(SIGTSTP, SIG_IGN); // ignore ctrl+Z - GP = parse_args(argc, argv); - if(GP->terminal){ - if(!GP->device) ERRX(_("Point serial device name")); - try_connect(GP->device); - run_terminal(); - signals(0); // never reached! - } - if(GP->logfile) - openlogfile(GP->logfile); - #ifndef EBUG - if(daemon(1, 0)){ - ERR("daemon()"); - } - while(1){ // guard for dead processes - pid_t childpid = fork(); - if(childpid){ - putlog("create child with PID %d\n", childpid); - DBG("Created child with PID %d\n", childpid); - wait(NULL); - putlog("child %d died\n", childpid); - WARNX("Child %d died\n", childpid); - sleep(1); - }else{ - prctl(PR_SET_PDEATHSIG, SIGTERM); // send SIGTERM to child when parent dies - break; // go out to normal functional - } - } - #endif - - if(GP->device) try_connect(GP->device); - if(ping()){ - putlog("Can't write command PING"); - ERRX(_("Can't write command PING")); - } - daemonize(GP->port); - signals(0); // newer reached - return 0; -} diff --git a/astrosib_utils/teldaemon/parseargs.c b/astrosib_utils/teldaemon/parseargs.c deleted file mode 100644 index b235752..0000000 --- a/astrosib_utils/teldaemon/parseargs.c +++ /dev/null @@ -1,497 +0,0 @@ -/* geany_encoding=koi8-r - * parseargs.c - parsing command line arguments & print help - * - * Copyright 2013 Edward V. Emelianoff - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#include // printf -#include // getopt_long -#include // calloc, exit, strtoll -#include // assert -#include // strdup, strchr, strlen -#include // strcasecmp -#include // INT_MAX & so on -#include // gettext -#include // isalpha -#include "parseargs.h" -#include "usefull_macros.h" - -char *helpstring = "%s\n"; - -/** - * Change standard help header - * MAY consist ONE "%s" for progname - * @param str (i) - new format - */ -void change_helpstring(char *s){ - int pcount = 0, scount = 0; - char *str = s; - // check `helpstring` and set it to default in case of error - for(; pcount < 2; str += 2){ - if(!(str = strchr(str, '%'))) break; - if(str[1] != '%') pcount++; // increment '%' counter if it isn't "%%" - else{ - str += 2; // pass next '%' - continue; - } - if(str[1] == 's') scount++; // increment "%s" counter - }; - if(pcount > 1 || pcount != scount){ // amount of pcount and/or scount wrong - /// "îÅÐÒÁ×ÉÌØÎÙÊ ÆÏÒÍÁÔ ÓÔÒÏËÉ ÐÏÍÏÝÉ" - ERRX(_("Wrong helpstring!")); - } - helpstring = s; -} - -/** - * Carefull atoll/atoi - * @param num (o) - returning value (or NULL if you wish only check number) - allocated by user - * @param str (i) - string with number must not be NULL - * @param t (i) - T_INT for integer or T_LLONG for long long (if argtype would be wided, may add more) - * @return TRUE if conversion sone without errors, FALSE otherwise - */ -static bool myatoll(void *num, char *str, argtype t){ - long long tmp, *llptr; - int *iptr; - char *endptr; - assert(str); - assert(num); - tmp = strtoll(str, &endptr, 0); - if(endptr == str || *str == '\0' || *endptr != '\0') - return FALSE; - switch(t){ - case arg_longlong: - llptr = (long long*) num; - *llptr = tmp; - break; - case arg_int: - default: - if(tmp < INT_MIN || tmp > INT_MAX){ - /// "ãÅÌÏÅ ×ÎÅ ÄÏÐÕÓÔÉÍÏÇÏ ÄÉÁÐÁÚÏÎÁ" - WARNX(_("Integer out of range")); - return FALSE; - } - iptr = (int*)num; - *iptr = (int)tmp; - } - return TRUE; -} - -// the same as myatoll but for double -// There's no NAN & INF checking here (what if they would be needed?) -static bool myatod(void *num, const char *str, argtype t){ - double tmp, *dptr; - float *fptr; - char *endptr; - assert(str); - tmp = strtod(str, &endptr); - if(endptr == str || *str == '\0' || *endptr != '\0') - return FALSE; - switch(t){ - case arg_double: - dptr = (double *) num; - *dptr = tmp; - break; - case arg_float: - default: - fptr = (float *) num; - *fptr = (float)tmp; - break; - } - return TRUE; -} - -/** - * Get index of current option in array options - * @param opt (i) - returning val of getopt_long - * @param options (i) - array of options - * @return index in array - */ -static int get_optind(int opt, myoption *options){ - int oind; - myoption *opts = options; - assert(opts); - for(oind = 0; opts->name && opts->val != opt; oind++, opts++); - if(!opts->name || opts->val != opt) // no such parameter - showhelp(-1, options); - return oind; -} - -/** - * reallocate new value in array of multiple repeating arguments - * @arg paptr - address of pointer to array (**void) - * @arg type - its type (for realloc) - * @return pointer to new (next) value - */ -void *get_aptr(void *paptr, argtype type){ - int i = 1; - void **aptr = *((void***)paptr); - if(aptr){ // there's something in array - void **p = aptr; - while(*p++) ++i; - } - size_t sz = 0; - switch(type){ - default: - case arg_none: - /// "îÅ ÍÏÇÕ ÉÓÐÏÌØÚÏ×ÁÔØ ÎÅÓËÏÌØËÏ ÐÁÒÁÍÅÔÒÏ× ÂÅÚ ÁÒÇÕÍÅÎÔÏ×!" - ERRX("Can't use multiple args with arg_none!"); - break; - case arg_int: - sz = sizeof(int); - break; - case arg_longlong: - sz = sizeof(long long); - break; - case arg_double: - sz = sizeof(double); - break; - case arg_float: - sz = sizeof(float); - break; - case arg_string: - sz = 0; - break; - /* case arg_function: - sz = sizeof(argfn *); - break;*/ - } - aptr = realloc(aptr, (i + 1) * sizeof(void*)); - *((void***)paptr) = aptr; - aptr[i] = NULL; - if(sz){ - aptr[i - 1] = malloc(sz); - }else - aptr[i - 1] = &aptr[i - 1]; - return aptr[i - 1]; -} - - -/** - * Parse command line arguments - * ! If arg is string, then value will be strdup'ed! - * - * @param argc (io) - address of argc of main(), return value of argc stay after `getopt` - * @param argv (io) - address of argv of main(), return pointer to argv stay after `getopt` - * BE CAREFUL! if you wanna use full argc & argv, save their original values before - * calling this function - * @param options (i) - array of `myoption` for arguments parcing - * - * @exit: in case of error this function show help & make `exit(-1)` - */ -void parseargs(int *argc, char ***argv, myoption *options){ - char *short_options, *soptr; - struct option *long_options, *loptr; - size_t optsize, i; - myoption *opts = options; - // check whether there is at least one options - assert(opts); - assert(opts[0].name); - // first we count how much values are in opts - for(optsize = 0; opts->name; optsize++, opts++); - // now we can allocate memory - short_options = calloc(optsize * 3 + 1, 1); // multiply by three for '::' in case of args in opts - long_options = calloc(optsize + 1, sizeof(struct option)); - opts = options; loptr = long_options; soptr = short_options; - // in debug mode check the parameters are not repeated -#ifdef EBUG - char **longlist = MALLOC(char*, optsize); - char *shortlist = MALLOC(char, optsize); -#endif - // fill short/long parameters and make a simple checking - for(i = 0; i < optsize; i++, loptr++, opts++){ - // check - assert(opts->name); // check name -#ifdef EBUG - longlist[i] = strdup(opts->name); -#endif - if(opts->has_arg){ - assert(opts->type != arg_none); // check error with arg type - assert(opts->argptr); // check pointer - } - if(opts->type != arg_none) // if there is a flag without arg, check its pointer - assert(opts->argptr); - // fill long_options - // don't do memcmp: what if there would be different alignment? - loptr->name = opts->name; - loptr->has_arg = (opts->has_arg < MULT_PAR) ? opts->has_arg : 1; - loptr->flag = opts->flag; - loptr->val = opts->val; - // fill short options if they are: - if(!opts->flag && opts->val){ -#ifdef EBUG - shortlist[i] = (char) opts->val; -#endif - *soptr++ = opts->val; - if(loptr->has_arg) // add ':' if option has required argument - *soptr++ = ':'; - if(loptr->has_arg == 2) // add '::' if option has optional argument - *soptr++ = ':'; - } - } - // sort all lists & check for repeating -#ifdef EBUG - int cmpstringp(const void *p1, const void *p2){ - return strcmp(* (char * const *) p1, * (char * const *) p2); - } - int cmpcharp(const void *p1, const void *p2){ - return (int)(*(char * const)p1 - *(char *const)p2); - } - qsort(longlist, optsize, sizeof(char *), cmpstringp); - qsort(shortlist,optsize, sizeof(char), cmpcharp); - char *prevl = longlist[0], prevshrt = shortlist[0]; - for(i = 1; i < optsize; ++i){ - if(longlist[i]){ - if(prevl){ - if(strcmp(prevl, longlist[i]) == 0) ERRX("double long arguments: --%s", prevl); - } - prevl = longlist[i]; - } - if(shortlist[i]){ - if(prevshrt){ - if(prevshrt == shortlist[i]) ERRX("double short arguments: -%c", prevshrt); - } - prevshrt = shortlist[i]; - } - } -#endif - // now we have both long_options & short_options and can parse `getopt_long` - while(1){ - int opt; - int oindex = 0, optind = 0; // oindex - number of option in argv, optind - number in options[] - if((opt = getopt_long(*argc, *argv, short_options, long_options, &oindex)) == -1) break; - if(opt == '?'){ - opt = optopt; - optind = get_optind(opt, options); - if(options[optind].has_arg == NEED_ARG || options[optind].has_arg == MULT_PAR) - showhelp(optind, options); // need argument - } - else{ - if(opt == 0 || oindex > 0) optind = oindex; - else optind = get_optind(opt, options); - } - opts = &options[optind]; - // if(opt == 0 && opts->has_arg == NO_ARGS) continue; // only long option changing integer flag - // now check option - if(opts->has_arg == NEED_ARG || opts->has_arg == MULT_PAR) - if(!optarg) showhelp(optind, options); // need argument - void *aptr; - if(opts->has_arg == MULT_PAR){ - aptr = get_aptr(opts->argptr, opts->type); - }else - aptr = opts->argptr; - bool result = TRUE; - // even if there is no argument, but argptr != NULL, think that optarg = "1" - if(!optarg) optarg = "1"; - switch(opts->type){ - default: - case arg_none: - if(opts->argptr) *((int*)aptr) += 1; // increment value - break; - case arg_int: - result = myatoll(aptr, optarg, arg_int); - break; - case arg_longlong: - result = myatoll(aptr, optarg, arg_longlong); - break; - case arg_double: - result = myatod(aptr, optarg, arg_double); - break; - case arg_float: - result = myatod(aptr, optarg, arg_float); - break; - case arg_string: - result = (*((void**)aptr) = (void*)strdup(optarg)); - break; - case arg_function: - result = ((argfn)aptr)(optarg); - break; - } - if(!result){ - showhelp(optind, options); - } - } - *argc -= optind; - *argv += optind; -} - -/** - * compare function for qsort - * first - sort by short options; second - sort arguments without sort opts (by long options) - */ -static int argsort(const void *a1, const void *a2){ - const myoption *o1 = (myoption*)a1, *o2 = (myoption*)a2; - const char *l1 = o1->name, *l2 = o2->name; - int s1 = o1->val, s2 = o2->val; - int *f1 = o1->flag, *f2 = o2->flag; - // check if both options has short arg - if(f1 == NULL && f2 == NULL && s1 && s2){ // both have short arg - return (s1 - s2); - }else if((f1 != NULL || !s1) && (f2 != NULL || !s2)){ // both don't have short arg - sort by long - return strcmp(l1, l2); - }else{ // only one have short arg -- return it - if(f2 || !s2) return -1; // a1 have short - it is 'lesser' - else return 1; - } -} - -/** - * Show help information based on myoption->help values - * @param oindex (i) - if non-negative, show only help by myoption[oindex].help - * @param options (i) - array of `myoption` - * - * @exit: run `exit(-1)` !!! - */ -void showhelp(int oindex, myoption *options){ - int max_opt_len = 0; // max len of options substring - for right indentation - const int bufsz = 255; - char buf[bufsz+1]; - myoption *opts = options; - assert(opts); - assert(opts[0].name); // check whether there is at least one options - if(oindex > -1){ // print only one message - opts = &options[oindex]; - printf(" "); - if(!opts->flag && isalpha(opts->val)) printf("-%c, ", opts->val); - printf("--%s", opts->name); - if(opts->has_arg == 1) printf("=arg"); - else if(opts->has_arg == 2) printf("[=arg]"); - printf(" %s\n", _(opts->help)); - exit(-1); - } - // header, by default is just "progname\n" - printf("\n"); - if(strstr(helpstring, "%s")) // print progname - printf(helpstring, __progname); - else // only text - printf("%s", helpstring); - printf("\n"); - // count max_opt_len - do{ - int L = strlen(opts->name); - if(max_opt_len < L) max_opt_len = L; - }while((++opts)->name); - max_opt_len += 14; // format: '-S , --long[=arg]' - get addition 13 symbols - opts = options; - // count amount of options - int N; for(N = 0; opts->name; ++N, ++opts); - if(N == 0) exit(-2); - // Now print all help (sorted) - opts = options; - qsort(opts, N, sizeof(myoption), argsort); - do{ - int p = sprintf(buf, " "); // a little indent - if(!opts->flag && opts->val) // .val is short argument - p += snprintf(buf+p, bufsz-p, "-%c, ", opts->val); - p += snprintf(buf+p, bufsz-p, "--%s", opts->name); - if(opts->has_arg == 1) // required argument - p += snprintf(buf+p, bufsz-p, "=arg"); - else if(opts->has_arg == 2) // optional argument - p += snprintf(buf+p, bufsz-p, "[=arg]"); - assert(p < max_opt_len); // there would be magic if p >= max_opt_len - printf("%-*s%s\n", max_opt_len+1, buf, _(opts->help)); // write options & at least 2 spaces after - ++opts; - }while(--N); - printf("\n\n"); - exit(-1); -} - -/** - * get suboptions from parameter string - * @param str - parameter string - * @param opt - pointer to suboptions structure - * @return TRUE if all OK - */ -bool get_suboption(char *str, mysuboption *opt){ - int findsubopt(char *par, mysuboption *so){ - int idx = 0; - if(!par) return -1; - while(so[idx].name){ - if(strcasecmp(par, so[idx].name) == 0) return idx; - ++idx; - } - return -1; // badarg - } - bool opt_setarg(mysuboption *so, int idx, char *val){ - mysuboption *soptr = &so[idx]; - bool result = FALSE; - void *aptr = soptr->argptr; - switch(soptr->type){ - default: - case arg_none: - if(soptr->argptr) *((int*)aptr) += 1; // increment value - result = TRUE; - break; - case arg_int: - result = myatoll(aptr, val, arg_int); - break; - case arg_longlong: - result = myatoll(aptr, val, arg_longlong); - break; - case arg_double: - result = myatod(aptr, val, arg_double); - break; - case arg_float: - result = myatod(aptr, val, arg_float); - break; - case arg_string: - result = (*((void**)aptr) = (void*)strdup(val)); - break; - case arg_function: - result = ((argfn)aptr)(val); - break; - } - return result; - } - char *tok; - bool ret = FALSE; - char *tmpbuf; - tok = strtok_r(str, ":,", &tmpbuf); - do{ - char *val = strchr(tok, '='); - int noarg = 0; - if(val == NULL){ // no args - val = "1"; - noarg = 1; - }else{ - *val++ = '\0'; - if(!*val || *val == ':' || *val == ','){ // no argument - delimeter after = - val = "1"; noarg = 1; - } - } - int idx = findsubopt(tok, opt); - if(idx < 0){ - /// "îÅÐÒÁ×ÉÌØÎÙÊ ÐÁÒÁÍÅÔÒ: %s" - WARNX(_("Wrong parameter: %s"), tok); - goto returning; - } - if(noarg && opt[idx].has_arg == NEED_ARG){ - /// "%s: ÎÅÏÂÈÏÄÉÍ ÁÒÇÕÍÅÎÔ!" - WARNX(_("%s: argument needed!"), tok); - goto returning; - } - if(!opt_setarg(opt, idx, val)){ - /// "îÅÐÒÁ×ÉÌØÎÙÊ ÁÒÇÕÍÅÎÔ \"%s\" ÐÁÒÁÍÅÔÒÁ \"%s\"" - WARNX(_("Wrong argument \"%s\" of parameter \"%s\""), val, tok); - goto returning; - } - }while((tok = strtok_r(NULL, ":,", &tmpbuf))); - ret = TRUE; -returning: - return ret; -} diff --git a/astrosib_utils/teldaemon/parseargs.h b/astrosib_utils/teldaemon/parseargs.h deleted file mode 100644 index 537fc5b..0000000 --- a/astrosib_utils/teldaemon/parseargs.h +++ /dev/null @@ -1,124 +0,0 @@ -/* geany_encoding=koi8-r - * parseargs.h - headers for parsing command line arguments - * - * Copyright 2013 Edward V. Emelianoff - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -#pragma once -#ifndef __PARSEARGS_H__ -#define __PARSEARGS_H__ - -#include // bool -#include - -#ifndef TRUE - #define TRUE true -#endif - -#ifndef FALSE - #define FALSE false -#endif - -// macro for argptr -#define APTR(x) ((void*)x) - -// if argptr is a function: -typedef bool(*argfn)(void *arg); - -/* - * type of getopt's argument - * WARNING! - * My function change value of flags by pointer, so if you want to use another type - * make a latter conversion, example: - * char charg; - * int iarg; - * myoption opts[] = { - * {"value", 1, NULL, 'v', arg_int, &iarg, "char val"}, ..., end_option}; - * ..(parse args).. - * charg = (char) iarg; - */ -typedef enum { - arg_none = 0, // no arg - arg_int, // integer - arg_longlong, // long long - arg_double, // double - arg_float, // float - arg_string, // char * - arg_function // parse_args will run function `bool (*fn)(char *optarg, int N)` -} argtype; - -/* - * Structure for getopt_long & help - * BE CAREFUL: .argptr is pointer to data or pointer to function, - * conversion depends on .type - * - * ATTENTION: string `help` prints through macro PRNT(), bu default it is gettext, - * but you can redefine it before `#include "parseargs.h"` - * - * if arg is string, then value wil be strdup'ed like that: - * char *str; - * myoption opts[] = {{"string", 1, NULL, 's', arg_string, &str, "string val"}, ..., end_option}; - * *(opts[1].str) = strdup(optarg); - * in other cases argptr should be address of some variable (or pointer to allocated memory) - * - * NON-NULL argptr should be written inside macro APTR(argptr) or directly: (void*)argptr - * - * !!!LAST VALUE OF ARRAY SHOULD BE `end_option` or ZEROS !!! - * - */ -typedef enum{ - NO_ARGS = 0, // first three are the same as in getopt_long - NEED_ARG = 1, - OPT_ARG = 2, - MULT_PAR -} hasarg; - -typedef struct{ - // these are from struct option: - const char *name; // long option's name - hasarg has_arg; // 0 - no args, 1 - nesessary arg, 2 - optionally arg, 4 - need arg & key can repeat (args are stored in null-terminated array) - int *flag; // NULL to return val, pointer to int - to set its value of val (function returns 0) - int val; // short opt name (if flag == NULL) or flag's value - // and these are mine: - argtype type; // type of argument - void *argptr; // pointer to variable to assign optarg value or function `bool (*fn)(char *optarg, int N)` - const char *help; // help string which would be shown in function `showhelp` or NULL -} myoption; - -/* - * Suboptions structure, almost the same like myoption - * used in parse_subopts() - */ -typedef struct{ - const char *name; - hasarg has_arg; - argtype type; - void *argptr; -} mysuboption; - -// last string of array (all zeros) -#define end_option {0,0,0,0,0,0,0} -#define end_suboption {0,0,0,0} - -extern const char *__progname; - -void showhelp(int oindex, myoption *options); -void parseargs(int *argc, char ***argv, myoption *options); -void change_helpstring(char *s); -bool get_suboption(char *str, mysuboption *opt); - -#endif // __PARSEARGS_H__ diff --git a/astrosib_utils/teldaemon/socket.c b/astrosib_utils/teldaemon/socket.c deleted file mode 100644 index db13ca7..0000000 --- a/astrosib_utils/teldaemon/socket.c +++ /dev/null @@ -1,326 +0,0 @@ -/* - * geany_encoding=koi8-r - * socket.c - socket IO - * - * Copyright 2018 Edward V. Emelianov - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - * - */ -#include "usefull_macros.h" -#include "socket.h" -#include "term.h" -#include // addrinfo -#include // inet_ntop -#include -#include // INT_xxx -#include // pthread_kill -#include // daemon -#include // syscall - -#include "cmdlnopts.h" // glob_pars - -#define BUFLEN (10240) -// Max amount of connections -#define BACKLOG (30) - -extern glob_pars *GP; - -static char *status; // global variable with device status - -typedef enum{ - CMD_OPEN, - CMD_CLOSE, - CMD_NONE -} commands; - -static commands cmd = CMD_NONE; - -/* - * Define global data buffers here - */ - -/**************** COMMON FUNCTIONS ****************/ -/** - * wait for answer from socket - * @param sock - socket fd - * @return 0 in case of error or timeout, 1 in case of socket ready - */ -static int waittoread(int sock){ - fd_set fds; - struct timeval timeout; - int rc; - timeout.tv_sec = 1; // wait not more than 1 second - timeout.tv_usec = 0; - FD_ZERO(&fds); - FD_SET(sock, &fds); - do{ - rc = select(sock+1, &fds, NULL, NULL, &timeout); - if(rc < 0){ - if(errno != EINTR){ - WARN("select()"); - return 0; - } - continue; - } - break; - }while(1); - if(FD_ISSET(sock, &fds)) return 1; - return 0; -} - -/**************** SERVER FUNCTIONS ****************/ -pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; -/** - * Send data over socket - * @param sock - socket fd - * @param webquery - ==1 if this is web query - * @param textbuf - zero-trailing buffer with data to send - * @return 1 if all OK - */ -static int send_data(int sock, int webquery, const char *textbuf){ - ssize_t L, Len; - char tbuf[BUFLEN]; - Len = strlen(textbuf); - // OK buffer ready, prepare to send it - if(webquery){ - L = snprintf((char*)tbuf, BUFLEN, - "HTTP/2.0 200 OK\r\n" - "Access-Control-Allow-Origin: *\r\n" - "Access-Control-Allow-Methods: GET, POST\r\n" - "Access-Control-Allow-Credentials: true\r\n" - "Content-type: text/plain\r\nContent-Length: %zd\r\n\r\n", Len); - if(L < 0){ - WARN("sprintf()"); - return 0; - } - if(L != write(sock, tbuf, L)){ - WARN("write"); - return 0; - } - } - // send data - //DBG("send %zd bytes\nBUF: %s", Len, buf); - if(Len != write(sock, textbuf, Len)){ - WARN("write()"); - return 0; - } - return 1; -} - -// search a first word after needle without spaces -static char* stringscan(char *str, char *needle){ - char *a, *e; - char *end = str + strlen(str); - a = strstr(str, needle); - if(!a) return NULL; - a += strlen(needle); - while (a < end && (*a == ' ' || *a == '\r' || *a == '\t' || *a == '\r')) a++; - if(a >= end) return NULL; - e = strchr(a, ' '); - if(e) *e = 0; - return a; -} - -static void *handle_socket(void *asock){ - FNAME(); - int sock = *((int*)asock); - int webquery = 0; // whether query is web or regular - char buff[BUFLEN]; - ssize_t rd; - double t0 = dtime(); - while(dtime() - t0 < SOCKET_TIMEOUT){ - if(!waittoread(sock)){ // no data incoming - continue; - } - if(!(rd = read(sock, buff, BUFLEN-1))){ - break; - } - DBG("Got %zd bytes", rd); - if(rd < 0){ // error - DBG("Nothing to read from fd %d (ret: %zd)", sock, rd); - break; - } - // add trailing zero to be on the safe side - buff[rd] = 0; - // now we should check what do user want - char *got, *found = buff; - if((got = stringscan(buff, "GET")) || (got = stringscan(buff, "POST"))){ // web query - webquery = 1; - char *slash = strchr(got, '/'); - if(slash) found = slash + 1; - // web query have format GET /some.resource - } - // here we can process user data - DBG("user send: %s\nfound=%s", buff, found); - if(GP->echo){ - if(!send_data(sock, webquery, found)){ - putlog("can't send data, some error occured"); - } - } - pthread_mutex_lock(&mutex); - const char *proto = "Commands: open, close, status"; - if(strstr(found, "open")){ - DBG("User asks 2 open"); - putlog("User asks to open"); - cmd = CMD_OPEN; - send_data(sock, webquery, "OK\n"); - }else if(strstr(found, "close")){ - DBG("User asks 2 close"); - putlog("User asks to close"); - cmd = CMD_CLOSE; - send_data(sock, webquery, "OK\n"); - }else if(strstr(found, "status")){ - DBG("User asks 4 status"); - send_data(sock, webquery, status); - }else send_data(sock, webquery, proto); - pthread_mutex_unlock(&mutex); - break; - } - close(sock); - pthread_exit(NULL); - return NULL; -} - -// main socket server -static void *server(void *asock){ - putlog("server(): getpid: %d, pthread_self: %lu, tid: %lu",getpid(), pthread_self(), syscall(SYS_gettid)); - int sock = *((int*)asock); - if(listen(sock, BACKLOG) == -1){ - putlog("listen() failed"); - WARN("listen"); - return NULL; - } - while(1){ - socklen_t size = sizeof(struct sockaddr_in); - struct sockaddr_in their_addr; - int newsock; - if(!waittoread(sock)) continue; - newsock = accept(sock, (struct sockaddr*)&their_addr, &size); - if(newsock <= 0){ - putlog("accept() failed"); - WARN("accept()"); - continue; - } - struct sockaddr_in* pV4Addr = (struct sockaddr_in*)&their_addr; - struct in_addr ipAddr = pV4Addr->sin_addr; - char str[INET_ADDRSTRLEN]; - inet_ntop(AF_INET, &ipAddr, str, INET_ADDRSTRLEN); - putlog("Got connection from %s", str); - DBG("Got connection from %s\n", str); - pthread_t handler_thread; - if(pthread_create(&handler_thread, NULL, handle_socket, (void*) &newsock)){ - putlog("server(): pthread_create() failed"); - WARN("pthread_create()"); - }else{ - DBG("Thread created, detouch"); - pthread_detach(handler_thread); // don't care about thread state - } - } - putlog("server(): UNREACHABLE CODE REACHED!"); -} - -// data gathering & socket management -static void daemon_(int sock){ - if(sock < 0) return; - pthread_t sock_thread; - if(pthread_create(&sock_thread, NULL, server, (void*) &sock)){ - putlog("daemon_(): pthread_create() failed"); - ERR("pthread_create()"); - } - double tgot = 0.; - do{ - if(pthread_kill(sock_thread, 0) == ESRCH){ // died - WARNX("Sockets thread died"); - putlog("Sockets thread died"); - pthread_join(sock_thread, NULL); - if(pthread_create(&sock_thread, NULL, server, (void*) &sock)){ - putlog("daemon_(): new pthread_create() failed"); - ERR("pthread_create()"); - } - } - usleep(1000); // sleep a little or thread's won't be able to lock mutex - if(dtime() - tgot < T_INTERVAL) continue; - tgot = dtime(); - // copy temporary buffers to main - pthread_mutex_lock(&mutex); - char *pollans = poll_device(); - if(pollans) status = pollans; - if(cmd != CMD_NONE){ - switch (cmd){ - case CMD_OPEN: - DBG("received command: open"); - if(write_cmd("SHUTTEROPEN?1,1,1,1,1") == 0) cmd = CMD_NONE; - break; - case CMD_CLOSE: - DBG("received command: close"); - if(write_cmd("SHUTTERCLOSE?1,1,1,1,1") == 0) cmd = CMD_NONE; - break; - default: - DBG("WTF?"); - } - } - pthread_mutex_unlock(&mutex); - }while(1); - putlog("daemon_(): UNREACHABLE CODE REACHED!"); -} - -/** - * Run daemon service - */ -void daemonize(char *port){ - FNAME(); - int sock = -1; - struct addrinfo hints, *res, *p; - memset(&hints, 0, sizeof(hints)); - hints.ai_family = AF_INET; - hints.ai_socktype = SOCK_STREAM; - hints.ai_flags = AI_PASSIVE; - if(getaddrinfo(NULL, port, &hints, &res) != 0){ - ERR("getaddrinfo"); - } - struct sockaddr_in *ia = (struct sockaddr_in*)res->ai_addr; - char str[INET_ADDRSTRLEN]; - inet_ntop(AF_INET, &(ia->sin_addr), str, INET_ADDRSTRLEN); - // loop through all the results and bind to the first we can - for(p = res; p != NULL; p = p->ai_next){ - if((sock = socket(p->ai_family, p->ai_socktype, p->ai_protocol)) == -1){ - WARN("socket"); - continue; - } - int reuseaddr = 1; - if(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &reuseaddr, sizeof(int)) == -1){ - ERR("setsockopt"); - } - if(bind(sock, p->ai_addr, p->ai_addrlen) == -1){ - close(sock); - WARN("bind"); - continue; - } - break; // if we get here, we have a successfull connection - } - if(p == NULL){ - putlog("failed to bind socket, exit"); - // looped off the end of the list with no successful bind - ERRX("failed to bind socket"); - } - freeaddrinfo(res); - daemon_(sock); - close(sock); - putlog("socket closed, exit"); - signals(0); -} - diff --git a/astrosib_utils/teldaemon/socket.h b/astrosib_utils/teldaemon/socket.h deleted file mode 100644 index 5d0c407..0000000 --- a/astrosib_utils/teldaemon/socket.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * geany_encoding=koi8-r - * socket.h - * - * Copyright 2017 Edward V. Emelianov - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - * - */ -#pragma once -#ifndef __SOCKET_H__ -#define __SOCKET_H__ - -// timeout for socket closing -#define SOCKET_TIMEOUT (5.0) -// time interval for data polling (seconds) -#define T_INTERVAL (2.) - -void daemonize(char *port); - -#endif // __SOCKET_H__ diff --git a/astrosib_utils/teldaemon/teldaemon.c.tags b/astrosib_utils/teldaemon/teldaemon.c.tags deleted file mode 100644 index ea45c00..0000000 --- a/astrosib_utils/teldaemon/teldaemon.c.tags +++ /dev/null @@ -1,5076 +0,0 @@ -# format=tagmanager -ACCESSPERMSÌ65536Ö0 -ADJ_ESTERRORÌ65536Ö0 -ADJ_FREQUENCYÌ65536Ö0 -ADJ_MAXERRORÌ65536Ö0 -ADJ_MICROÌ65536Ö0 -ADJ_NANOÌ65536Ö0 -ADJ_OFFSETÌ65536Ö0 -ADJ_OFFSET_SINGLESHOTÌ65536Ö0 -ADJ_OFFSET_SS_READÌ65536Ö0 -ADJ_SETOFFSETÌ65536Ö0 -ADJ_STATUSÌ65536Ö0 -ADJ_TAIÌ65536Ö0 -ADJ_TICKÌ65536Ö0 -ADJ_TIMECONSTÌ65536Ö0 -AF_ALGÌ65536Ö0 -AF_APPLETALKÌ65536Ö0 -AF_ASHÌ65536Ö0 -AF_ATMPVCÌ65536Ö0 -AF_ATMSVCÌ65536Ö0 -AF_AX25Ì65536Ö0 -AF_BLUETOOTHÌ65536Ö0 -AF_BRIDGEÌ65536Ö0 -AF_CAIFÌ65536Ö0 -AF_CANÌ65536Ö0 -AF_DECnetÌ65536Ö0 -AF_ECONETÌ65536Ö0 -AF_FILEÌ65536Ö0 -AF_IBÌ65536Ö0 -AF_IEEE802154Ì65536Ö0 -AF_INETÌ65536Ö0 -AF_INET6Ì65536Ö0 -AF_IPXÌ65536Ö0 -AF_IRDAÌ65536Ö0 -AF_ISDNÌ65536Ö0 -AF_IUCVÌ65536Ö0 -AF_KCMÌ65536Ö0 -AF_KEYÌ65536Ö0 -AF_LLCÌ65536Ö0 -AF_LOCALÌ65536Ö0 -AF_MAXÌ65536Ö0 -AF_MPLSÌ65536Ö0 -AF_NETBEUIÌ65536Ö0 -AF_NETLINKÌ65536Ö0 -AF_NETROMÌ65536Ö0 -AF_NFCÌ65536Ö0 -AF_PACKETÌ65536Ö0 -AF_PHONETÌ65536Ö0 -AF_PPPOXÌ65536Ö0 -AF_QIPCRTRÌ65536Ö0 -AF_RDSÌ65536Ö0 -AF_ROSEÌ65536Ö0 -AF_ROUTEÌ65536Ö0 -AF_RXRPCÌ65536Ö0 -AF_SECURITYÌ65536Ö0 -AF_SNAÌ65536Ö0 -AF_TIPCÌ65536Ö0 -AF_UNIXÌ65536Ö0 -AF_UNSPECÌ65536Ö0 -AF_VSOCKÌ65536Ö0 -AF_WANPIPEÌ65536Ö0 -AF_X25Ì65536Ö0 -AIO_PRIO_DELTA_MAXÌ65536Ö0 -AI_ADDRCONFIGÌ65536Ö0 -AI_ALLÌ65536Ö0 -AI_CANONIDNÌ65536Ö0 -AI_CANONNAMEÌ65536Ö0 -AI_IDNÌ65536Ö0 -AI_IDN_ALLOW_UNASSIGNEDÌ65536Ö0 -AI_IDN_USE_STD3_ASCII_RULESÌ65536Ö0 -AI_NUMERICHOSTÌ65536Ö0 -AI_NUMERICSERVÌ65536Ö0 -AI_PASSIVEÌ65536Ö0 -AI_V4MAPPEDÌ65536Ö0 -ALLOCÌ131072Í(type,var,size)Ö0 -ALLPERMSÌ65536Ö0 -APTRÌ131072Í(x)Ö0 -ARG_MAXÌ65536Ö0 -AT_EACCESSÌ65536Ö0 -AT_EMPTY_PATHÌ65536Ö0 -AT_FDCWDÌ65536Ö0 -AT_NO_AUTOMOUNTÌ65536Ö0 -AT_REMOVEDIRÌ65536Ö0 -AT_SYMLINK_FOLLOWÌ65536Ö0 -AT_SYMLINK_NOFOLLOWÌ65536Ö0 -B0Ì65536Ö0 -B1000000Ì65536Ö0 -B110Ì65536Ö0 -B115200Ì65536Ö0 -B1152000Ì65536Ö0 -B1200Ì65536Ö0 -B134Ì65536Ö0 -B150Ì65536Ö0 -B1500000Ì65536Ö0 -B1800Ì65536Ö0 -B19200Ì65536Ö0 -B200Ì65536Ö0 -B2000000Ì65536Ö0 -B230400Ì65536Ö0 -B2400Ì65536Ö0 -B2500000Ì65536Ö0 -B300Ì65536Ö0 -B3000000Ì65536Ö0 -B3500000Ì65536Ö0 -B38400Ì65536Ö0 -B4000000Ì65536Ö0 -B460800Ì65536Ö0 -B4800Ì65536Ö0 -B50Ì65536Ö0 -B500000Ì65536Ö0 -B57600Ì65536Ö0 -B576000Ì65536Ö0 -B600Ì65536Ö0 -B75Ì65536Ö0 -B921600Ì65536Ö0 -B9600Ì65536Ö0 -BACKLOGÌ65536Ö0 -BAUD_RATEÌ65536Ö0 -BC_BASE_MAXÌ65536Ö0 -BC_DIM_MAXÌ65536Ö0 -BC_SCALE_MAXÌ65536Ö0 -BC_STRING_MAXÌ65536Ö0 -BIG_ENDIANÌ65536Ö0 -BRKINTÌ65536Ö0 -BS0Ì65536Ö0 -BS1Ì65536Ö0 -BSDLYÌ65536Ö0 -BUFLENÌ65536Ö0 -BUFSIZÌ65536Ö0 -BUS_ADRALNÌ65536Ö0 -BUS_ADRERRÌ65536Ö0 -BUS_MCEERR_AOÌ65536Ö0 -BUS_MCEERR_ARÌ65536Ö0 -BUS_OBJERRÌ65536Ö0 -BYTE_ORDERÌ65536Ö0 -CBAUDÌ65536Ö0 -CBAUDEXÌ65536Ö0 -CBRKÌ65536Ö0 -CCEQÌ131072Í(val,c)Ö0 -CDISCARDÌ65536Ö0 -CDSUSPÌ65536Ö0 -CEOFÌ65536Ö0 -CEOLÌ65536Ö0 -CEOTÌ65536Ö0 -CERASEÌ65536Ö0 -CFLUSHÌ65536Ö0 -CHARCLASS_NAME_MAXÌ65536Ö0 -CHAR_BITÌ65536Ö0 -CHAR_MAXÌ65536Ö0 -CHAR_MINÌ65536Ö0 -CHAR_WIDTHÌ65536Ö0 -CIBAUDÌ65536Ö0 -CINTRÌ65536Ö0 -CKILLÌ65536Ö0 -CLD_CONTINUEDÌ65536Ö0 -CLD_DUMPEDÌ65536Ö0 -CLD_EXITEDÌ65536Ö0 -CLD_KILLEDÌ65536Ö0 -CLD_STOPPEDÌ65536Ö0 -CLD_TRAPPEDÌ65536Ö0 -CLNEXTÌ65536Ö0 -CLOCALÌ65536Ö0 -CLOCKS_PER_SECÌ65536Ö0 -CLOCK_BOOTTIMEÌ65536Ö0 -CLOCK_BOOTTIME_ALARMÌ65536Ö0 -CLOCK_MONOTONICÌ65536Ö0 -CLOCK_MONOTONIC_COARSEÌ65536Ö0 -CLOCK_MONOTONIC_RAWÌ65536Ö0 -CLOCK_PROCESS_CPUTIME_IDÌ65536Ö0 -CLOCK_REALTIMEÌ65536Ö0 -CLOCK_REALTIME_ALARMÌ65536Ö0 -CLOCK_REALTIME_COARSEÌ65536Ö0 -CLOCK_TAIÌ65536Ö0 -CLOCK_THREAD_CPUTIME_IDÌ65536Ö0 -CLONE_CHILD_CLEARTIDÌ65536Ö0 -CLONE_CHILD_SETTIDÌ65536Ö0 -CLONE_DETACHEDÌ65536Ö0 -CLONE_FILESÌ65536Ö0 -CLONE_FSÌ65536Ö0 -CLONE_IOÌ65536Ö0 -CLONE_NEWCGROUPÌ65536Ö0 -CLONE_NEWIPCÌ65536Ö0 -CLONE_NEWNETÌ65536Ö0 -CLONE_NEWNSÌ65536Ö0 -CLONE_NEWPIDÌ65536Ö0 -CLONE_NEWUSERÌ65536Ö0 -CLONE_NEWUTSÌ65536Ö0 -CLONE_PARENTÌ65536Ö0 -CLONE_PARENT_SETTIDÌ65536Ö0 -CLONE_PTRACEÌ65536Ö0 -CLONE_SETTLSÌ65536Ö0 -CLONE_SIGHANDÌ65536Ö0 -CLONE_SYSVSEMÌ65536Ö0 -CLONE_THREADÌ65536Ö0 -CLONE_UNTRACEDÌ65536Ö0 -CLONE_VFORKÌ65536Ö0 -CLONE_VMÌ65536Ö0 -CMDGETLENÌ65536Ö0 -CMD_CLOSEÌ4Îanon_enum_20Ö0 -CMD_NONEÌ4Îanon_enum_20Ö0 -CMD_OPENÌ4Îanon_enum_20Ö0 -CMINÌ65536Ö0 -CMSG_ALIGNÌ131072Í(len)Ö0 -CMSG_DATAÌ131072Í(cmsg)Ö0 -CMSG_FIRSTHDRÌ131072Í(mhdr)Ö0 -CMSG_LENÌ131072Í(len)Ö0 -CMSG_NXTHDRÌ131072Í(mhdr,cmsg)Ö0 -CMSG_SPACEÌ131072Í(len)Ö0 -CMSPARÌ65536Ö0 -COLL_WEIGHTS_MAXÌ65536Ö0 -CPU_ALLOCÌ131072Í(count)Ö0 -CPU_ALLOC_SIZEÌ131072Í(count)Ö0 -CPU_ANDÌ131072Í(destset,srcset1,srcset2)Ö0 -CPU_AND_SÌ131072Í(setsize,destset,srcset1,srcset2)Ö0 -CPU_CLRÌ131072Í(cpu,cpusetp)Ö0 -CPU_CLR_SÌ131072Í(cpu,setsize,cpusetp)Ö0 -CPU_COUNTÌ131072Í(cpusetp)Ö0 -CPU_COUNT_SÌ131072Í(setsize,cpusetp)Ö0 -CPU_EQUALÌ131072Í(cpusetp1,cpusetp2)Ö0 -CPU_EQUAL_SÌ131072Í(setsize,cpusetp1,cpusetp2)Ö0 -CPU_FREEÌ131072Í(cpuset)Ö0 -CPU_ISSETÌ131072Í(cpu,cpusetp)Ö0 -CPU_ISSET_SÌ131072Í(cpu,setsize,cpusetp)Ö0 -CPU_ORÌ131072Í(destset,srcset1,srcset2)Ö0 -CPU_OR_SÌ131072Í(setsize,destset,srcset1,srcset2)Ö0 -CPU_SETÌ131072Í(cpu,cpusetp)Ö0 -CPU_SETSIZEÌ65536Ö0 -CPU_SET_SÌ131072Í(cpu,setsize,cpusetp)Ö0 -CPU_XORÌ131072Í(destset,srcset1,srcset2)Ö0 -CPU_XOR_SÌ131072Í(setsize,destset,srcset1,srcset2)Ö0 -CPU_ZEROÌ131072Í(cpusetp)Ö0 -CPU_ZERO_SÌ131072Í(setsize,cpusetp)Ö0 -CQUITÌ65536Ö0 -CR0Ì65536Ö0 -CR1Ì65536Ö0 -CR2Ì65536Ö0 -CR3Ì65536Ö0 -CRDLYÌ65536Ö0 -CREADÌ65536Ö0 -CREPRINTÌ65536Ö0 -CRPRNTÌ65536Ö0 -CRTSCTSÌ65536Ö0 -CS5Ì65536Ö0 -CS6Ì65536Ö0 -CS7Ì65536Ö0 -CS8Ì65536Ö0 -CSIGNALÌ65536Ö0 -CSIZEÌ65536Ö0 -CSTARTÌ65536Ö0 -CSTATUSÌ65536Ö0 -CSTOPÌ65536Ö0 -CSTOPBÌ65536Ö0 -CSUSPÌ65536Ö0 -CTIMEÌ65536Ö0 -CTRLÌ131072Í(x)Ö0 -CWERASEÌ65536Ö0 -DBGÌ131072Í(...)Ö0 -DBL_EPSILONÌ65536Ö0 -DEFAULT_PORTÌ65536Ö0 -DEFFILEMODEÌ65536Ö0 -DELAYTIMER_MAXÌ65536Ö0 -DN_ACCESSÌ65536Ö0 -DN_ATTRIBÌ65536Ö0 -DN_CREATEÌ65536Ö0 -DN_DELETEÌ65536Ö0 -DN_MODIFYÌ65536Ö0 -DN_MULTISHOTÌ65536Ö0 -DN_RENAMEÌ65536Ö0 -DOMAINÌ65536Ö0 -E2BIGÌ65536Ö0 -EACCESÌ65536Ö0 -EADDRINUSEÌ65536Ö0 -EADDRNOTAVAILÌ65536Ö0 -EADVÌ65536Ö0 -EAFNOSUPPORTÌ65536Ö0 -EAGAINÌ65536Ö0 -EAI_ADDRFAMILYÌ65536Ö0 -EAI_AGAINÌ65536Ö0 -EAI_ALLDONEÌ65536Ö0 -EAI_BADFLAGSÌ65536Ö0 -EAI_CANCELEDÌ65536Ö0 -EAI_FAILÌ65536Ö0 -EAI_FAMILYÌ65536Ö0 -EAI_IDN_ENCODEÌ65536Ö0 -EAI_INPROGRESSÌ65536Ö0 -EAI_INTRÌ65536Ö0 -EAI_MEMORYÌ65536Ö0 -EAI_NODATAÌ65536Ö0 -EAI_NONAMEÌ65536Ö0 -EAI_NOTCANCELEDÌ65536Ö0 -EAI_OVERFLOWÌ65536Ö0 -EAI_SERVICEÌ65536Ö0 -EAI_SOCKTYPEÌ65536Ö0 -EAI_SYSTEMÌ65536Ö0 -EALREADYÌ65536Ö0 -EBADEÌ65536Ö0 -EBADFÌ65536Ö0 -EBADFDÌ65536Ö0 -EBADMSGÌ65536Ö0 -EBADRÌ65536Ö0 -EBADRQCÌ65536Ö0 -EBADSLTÌ65536Ö0 -EBFONTÌ65536Ö0 -EBUSYÌ65536Ö0 -ECANCELEDÌ65536Ö0 -ECHILDÌ65536Ö0 -ECHOÌ65536Ö0 -ECHOCTLÌ65536Ö0 -ECHOEÌ65536Ö0 -ECHOKÌ65536Ö0 -ECHOKEÌ65536Ö0 -ECHONLÌ65536Ö0 -ECHOPRTÌ65536Ö0 -ECHRNGÌ65536Ö0 -ECOMMÌ65536Ö0 -ECONNABORTEDÌ65536Ö0 -ECONNREFUSEDÌ65536Ö0 -ECONNRESETÌ65536Ö0 -EDEADLKÌ65536Ö0 -EDEADLOCKÌ65536Ö0 -EDESTADDRREQÌ65536Ö0 -EDOMÌ65536Ö0 -EDOTDOTÌ65536Ö0 -EDQUOTÌ65536Ö0 -EEXISTÌ65536Ö0 -EFAULTÌ65536Ö0 -EFBIGÌ65536Ö0 -EHOSTDOWNÌ65536Ö0 -EHOSTUNREACHÌ65536Ö0 -EHWPOISONÌ65536Ö0 -EIDRMÌ65536Ö0 -EILSEQÌ65536Ö0 -EINPROGRESSÌ65536Ö0 -EINTRÌ65536Ö0 -EINVALÌ65536Ö0 -EIOÌ65536Ö0 -EISCONNÌ65536Ö0 -EISDIRÌ65536Ö0 -EISNAMÌ65536Ö0 -EKEYEXPIREDÌ65536Ö0 -EKEYREJECTEDÌ65536Ö0 -EKEYREVOKEDÌ65536Ö0 -EL2HLTÌ65536Ö0 -EL2NSYNCÌ65536Ö0 -EL3HLTÌ65536Ö0 -EL3RSTÌ65536Ö0 -ELIBACCÌ65536Ö0 -ELIBBADÌ65536Ö0 -ELIBEXECÌ65536Ö0 -ELIBMAXÌ65536Ö0 -ELIBSCNÌ65536Ö0 -ELNRNGÌ65536Ö0 -ELOOPÌ65536Ö0 -EMEDIUMTYPEÌ65536Ö0 -EMFILEÌ65536Ö0 -EMLINKÌ65536Ö0 -EMSGSIZEÌ65536Ö0 -EMULTIHOPÌ65536Ö0 -ENAMETOOLONGÌ65536Ö0 -ENAVAILÌ65536Ö0 -ENETDOWNÌ65536Ö0 -ENETRESETÌ65536Ö0 -ENETUNREACHÌ65536Ö0 -ENFILEÌ65536Ö0 -ENOANOÌ65536Ö0 -ENOBUFSÌ65536Ö0 -ENOCSIÌ65536Ö0 -ENODATAÌ65536Ö0 -ENODEVÌ65536Ö0 -ENOENTÌ65536Ö0 -ENOEXECÌ65536Ö0 -ENOKEYÌ65536Ö0 -ENOLCKÌ65536Ö0 -ENOLINKÌ65536Ö0 -ENOMEDIUMÌ65536Ö0 -ENOMEMÌ65536Ö0 -ENOMSGÌ65536Ö0 -ENONETÌ65536Ö0 -ENOPKGÌ65536Ö0 -ENOPROTOOPTÌ65536Ö0 -ENOSPCÌ65536Ö0 -ENOSRÌ65536Ö0 -ENOSTRÌ65536Ö0 -ENOSYSÌ65536Ö0 -ENOTBLKÌ65536Ö0 -ENOTCONNÌ65536Ö0 -ENOTDIRÌ65536Ö0 -ENOTEMPTYÌ65536Ö0 -ENOTNAMÌ65536Ö0 -ENOTRECOVERABLEÌ65536Ö0 -ENOTSOCKÌ65536Ö0 -ENOTSUPÌ65536Ö0 -ENOTTYÌ65536Ö0 -ENOTUNIQÌ65536Ö0 -ENXIOÌ65536Ö0 -EOFÌ65536Ö0 -EOPNOTSUPPÌ65536Ö0 -EOVERFLOWÌ65536Ö0 -EOWNERDEADÌ65536Ö0 -EPERMÌ65536Ö0 -EPFNOSUPPORTÌ65536Ö0 -EPIPEÌ65536Ö0 -EPROTOÌ65536Ö0 -EPROTONOSUPPORTÌ65536Ö0 -EPROTOTYPEÌ65536Ö0 -ERANGEÌ65536Ö0 -EREMCHGÌ65536Ö0 -EREMOTEÌ65536Ö0 -EREMOTEIOÌ65536Ö0 -ERESTARTÌ65536Ö0 -ERFKILLÌ65536Ö0 -EROFSÌ65536Ö0 -ERRÌ131072Í(...)Ö0 -ERRXÌ131072Í(...)Ö0 -ESHUTDOWNÌ65536Ö0 -ESOCKTNOSUPPORTÌ65536Ö0 -ESPIPEÌ65536Ö0 -ESRCHÌ65536Ö0 -ESRMNTÌ65536Ö0 -ESTALEÌ65536Ö0 -ESTRPIPEÌ65536Ö0 -ETIMEÌ65536Ö0 -ETIMEDOUTÌ65536Ö0 -ETOOMANYREFSÌ65536Ö0 -ETXTBSYÌ65536Ö0 -EUCLEANÌ65536Ö0 -EUNATCHÌ65536Ö0 -EUSERSÌ65536Ö0 -EWOULDBLOCKÌ65536Ö0 -EXDEVÌ65536Ö0 -EXFULLÌ65536Ö0 -EXIT_FAILUREÌ65536Ö0 -EXIT_SUCCESSÌ65536Ö0 -EXPR_NEST_MAXÌ65536Ö0 -EXTAÌ65536Ö0 -EXTBÌ65536Ö0 -EXTPROCÌ65536Ö0 -FALLOC_FL_COLLAPSE_RANGEÌ65536Ö0 -FALLOC_FL_INSERT_RANGEÌ65536Ö0 -FALLOC_FL_KEEP_SIZEÌ65536Ö0 -FALLOC_FL_NO_HIDE_STALEÌ65536Ö0 -FALLOC_FL_PUNCH_HOLEÌ65536Ö0 -FALLOC_FL_UNSHARE_RANGEÌ65536Ö0 -FALLOC_FL_ZERO_RANGEÌ65536Ö0 -FALSEÌ65536Ö0 -FAPPENDÌ65536Ö0 -FASYNCÌ65536Ö0 -FD_CLOEXECÌ65536Ö0 -FD_CLRÌ131072Í(fd,fdsetp)Ö0 -FD_ISSETÌ131072Í(fd,fdsetp)Ö0 -FD_SETÌ131072Í(fd,fdsetp)Ö0 -FD_SETSIZEÌ65536Ö0 -FD_ZEROÌ131072Í(fdsetp)Ö0 -FF0Ì65536Ö0 -FF1Ì65536Ö0 -FFDLYÌ65536Ö0 -FFSYNCÌ65536Ö0 -FILENAME_MAXÌ65536Ö0 -FIOASYNCÌ65536Ö0 -FIOCLEXÌ65536Ö0 -FIOGETOWNÌ65536Ö0 -FIONBIOÌ65536Ö0 -FIONCLEXÌ65536Ö0 -FIONREADÌ65536Ö0 -FIOQSIZEÌ65536Ö0 -FIOSETOWNÌ65536Ö0 -FLUSHOÌ65536Ö0 -FNAMEÌ131072Í()Ö0 -FNDELAYÌ65536Ö0 -FNONBLOCKÌ65536Ö0 -FOPEN_MAXÌ65536Ö0 -FPE_FLTDIVÌ65536Ö0 -FPE_FLTINVÌ65536Ö0 -FPE_FLTOVFÌ65536Ö0 -FPE_FLTRESÌ65536Ö0 -FPE_FLTSUBÌ65536Ö0 -FPE_FLTUNDÌ65536Ö0 -FPE_INTDIVÌ65536Ö0 -FPE_INTOVFÌ65536Ö0 -FP_ILOGB0Ì65536Ö0 -FP_ILOGBNANÌ65536Ö0 -FP_INFINITEÌ65536Ö0 -FP_INT_DOWNWARDÌ65536Ö0 -FP_INT_TONEARESTÌ65536Ö0 -FP_INT_TONEARESTFROMZEROÌ65536Ö0 -FP_INT_TOWARDZEROÌ65536Ö0 -FP_INT_UPWARDÌ65536Ö0 -FP_LLOGB0Ì65536Ö0 -FP_LLOGBNANÌ65536Ö0 -FP_NANÌ65536Ö0 -FP_NORMALÌ65536Ö0 -FP_SUBNORMALÌ65536Ö0 -FP_XSTATE_MAGIC1Ì65536Ö0 -FP_XSTATE_MAGIC2Ì65536Ö0 -FP_XSTATE_MAGIC2_SIZEÌ65536Ö0 -FP_ZEROÌ65536Ö0 -FRAME_MAX_LENGTHÌ65536Ö0 -FREEÌ131072Í(ptr)Ö0 -F_DUPFDÌ65536Ö0 -F_DUPFD_CLOEXECÌ65536Ö0 -F_EXLCKÌ65536Ö0 -F_GETFDÌ65536Ö0 -F_GETFLÌ65536Ö0 -F_GETLEASEÌ65536Ö0 -F_GETLKÌ65536Ö0 -F_GETLK64Ì65536Ö0 -F_GETOWNÌ65536Ö0 -F_GETOWN_EXÌ65536Ö0 -F_GETPIPE_SZÌ65536Ö0 -F_GETSIGÌ65536Ö0 -F_LOCKÌ65536Ö0 -F_NOTIFYÌ65536Ö0 -F_OFD_GETLKÌ65536Ö0 -F_OFD_SETLKÌ65536Ö0 -F_OFD_SETLKWÌ65536Ö0 -F_OKÌ65536Ö0 -F_RDLCKÌ65536Ö0 -F_SETFDÌ65536Ö0 -F_SETFLÌ65536Ö0 -F_SETLEASEÌ65536Ö0 -F_SETLKÌ65536Ö0 -F_SETLK64Ì65536Ö0 -F_SETLKWÌ65536Ö0 -F_SETLKW64Ì65536Ö0 -F_SETOWNÌ65536Ö0 -F_SETOWN_EXÌ65536Ö0 -F_SETPIPE_SZÌ65536Ö0 -F_SETSIGÌ65536Ö0 -F_SHLCKÌ65536Ö0 -F_TESTÌ65536Ö0 -F_TLOCKÌ65536Ö0 -F_ULOCKÌ65536Ö0 -F_UNLCKÌ65536Ö0 -F_WRLCKÌ65536Ö0 -FlogÌ16384Ö0ÏFILE * -GÌ16384Ö0Ïglob_pars -GAI_NOWAITÌ65536Ö0 -GAI_WAITÌ65536Ö0 -GPÌ16384Ö0Ïglob_pars * -GPÌ32768Ö0Ïglob_pars * -GREENÌ65536Ö0 -GROUP_FILTER_SIZEÌ131072Í(numsrc)Ö0 -GdefaultÌ16384Ö0Ïglob_pars const -HOST_NAME_MAXÌ65536Ö0 -HOST_NOT_FOUNDÌ65536Ö0 -HUGEÌ65536Ö0 -HUGE_VALÌ65536Ö0 -HUGE_VALFÌ65536Ö0 -HUGE_VALLÌ65536Ö0 -HUPCLÌ65536Ö0 -ICANONÌ65536Ö0 -ICRNLÌ65536Ö0 -IEXTENÌ65536Ö0 -IGNBRKÌ65536Ö0 -IGNCRÌ65536Ö0 -IGNPARÌ65536Ö0 -ILL_BADSTKÌ65536Ö0 -ILL_COPROCÌ65536Ö0 -ILL_ILLADRÌ65536Ö0 -ILL_ILLOPCÌ65536Ö0 -ILL_ILLOPNÌ65536Ö0 -ILL_ILLTRPÌ65536Ö0 -ILL_PRVOPCÌ65536Ö0 -ILL_PRVREGÌ65536Ö0 -IMAXBELÌ65536Ö0 -IN6ADDR_ANY_INITÌ65536Ö0 -IN6ADDR_LOOPBACK_INITÌ65536Ö0 -IN6_ARE_ADDR_EQUALÌ131072Í(a,b)Ö0 -IN6_IS_ADDR_LINKLOCALÌ131072Í(a)Ö0 -IN6_IS_ADDR_LOOPBACKÌ131072Í(a)Ö0 -IN6_IS_ADDR_MC_GLOBALÌ131072Í(a)Ö0 -IN6_IS_ADDR_MC_LINKLOCALÌ131072Í(a)Ö0 -IN6_IS_ADDR_MC_NODELOCALÌ131072Í(a)Ö0 -IN6_IS_ADDR_MC_ORGLOCALÌ131072Í(a)Ö0 -IN6_IS_ADDR_MC_SITELOCALÌ131072Í(a)Ö0 -IN6_IS_ADDR_MULTICASTÌ131072Í(a)Ö0 -IN6_IS_ADDR_SITELOCALÌ131072Í(a)Ö0 -IN6_IS_ADDR_UNSPECIFIEDÌ131072Í(a)Ö0 -IN6_IS_ADDR_V4COMPATÌ131072Í(a)Ö0 -IN6_IS_ADDR_V4MAPPEDÌ131072Í(a)Ö0 -INADDR_ALLHOSTS_GROUPÌ65536Ö0 -INADDR_ALLRTRS_GROUPÌ65536Ö0 -INADDR_ANYÌ65536Ö0 -INADDR_BROADCASTÌ65536Ö0 -INADDR_LOOPBACKÌ65536Ö0 -INADDR_MAX_LOCAL_GROUPÌ65536Ö0 -INADDR_NONEÌ65536Ö0 -INADDR_UNSPEC_GROUPÌ65536Ö0 -INET6_ADDRSTRLENÌ65536Ö0 -INET_ADDRSTRLENÌ65536Ö0 -INFINITYÌ65536Ö0 -INLCRÌ65536Ö0 -INPCKÌ65536Ö0 -INT16_CÌ131072Í(c)Ö0 -INT16_MAXÌ65536Ö0 -INT16_MINÌ65536Ö0 -INT16_WIDTHÌ65536Ö0 -INT32_CÌ131072Í(c)Ö0 -INT32_MAXÌ65536Ö0 -INT32_MINÌ65536Ö0 -INT32_WIDTHÌ65536Ö0 -INT64_CÌ131072Í(c)Ö0 -INT64_MAXÌ65536Ö0 -INT64_MINÌ65536Ö0 -INT64_WIDTHÌ65536Ö0 -INT8_CÌ131072Í(c)Ö0 -INT8_MAXÌ65536Ö0 -INT8_MINÌ65536Ö0 -INT8_WIDTHÌ65536Ö0 -INTMAX_CÌ131072Í(c)Ö0 -INTMAX_MAXÌ65536Ö0 -INTMAX_MINÌ65536Ö0 -INTMAX_WIDTHÌ65536Ö0 -INTPTR_MAXÌ65536Ö0 -INTPTR_MINÌ65536Ö0 -INTPTR_WIDTHÌ65536Ö0 -INT_FAST16_MAXÌ65536Ö0 -INT_FAST16_MINÌ65536Ö0 -INT_FAST16_WIDTHÌ65536Ö0 -INT_FAST32_MAXÌ65536Ö0 -INT_FAST32_MINÌ65536Ö0 -INT_FAST32_WIDTHÌ65536Ö0 -INT_FAST64_MAXÌ65536Ö0 -INT_FAST64_MINÌ65536Ö0 -INT_FAST64_WIDTHÌ65536Ö0 -INT_FAST8_MAXÌ65536Ö0 -INT_FAST8_MINÌ65536Ö0 -INT_FAST8_WIDTHÌ65536Ö0 -INT_LEAST16_MAXÌ65536Ö0 -INT_LEAST16_MINÌ65536Ö0 -INT_LEAST16_WIDTHÌ65536Ö0 -INT_LEAST32_MAXÌ65536Ö0 -INT_LEAST32_MINÌ65536Ö0 -INT_LEAST32_WIDTHÌ65536Ö0 -INT_LEAST64_MAXÌ65536Ö0 -INT_LEAST64_MINÌ65536Ö0 -INT_LEAST64_WIDTHÌ65536Ö0 -INT_LEAST8_MAXÌ65536Ö0 -INT_LEAST8_MINÌ65536Ö0 -INT_LEAST8_WIDTHÌ65536Ö0 -INT_MAXÌ65536Ö0 -INT_MINÌ65536Ö0 -INT_WIDTHÌ65536Ö0 -IN_BADCLASSÌ131072Í(a)Ö0 -IN_CLASSAÌ131072Í(a)Ö0 -IN_CLASSA_HOSTÌ65536Ö0 -IN_CLASSA_MAXÌ65536Ö0 -IN_CLASSA_NETÌ65536Ö0 -IN_CLASSA_NSHIFTÌ65536Ö0 -IN_CLASSBÌ131072Í(a)Ö0 -IN_CLASSB_HOSTÌ65536Ö0 -IN_CLASSB_MAXÌ65536Ö0 -IN_CLASSB_NETÌ65536Ö0 -IN_CLASSB_NSHIFTÌ65536Ö0 -IN_CLASSCÌ131072Í(a)Ö0 -IN_CLASSC_HOSTÌ65536Ö0 -IN_CLASSC_NETÌ65536Ö0 -IN_CLASSC_NSHIFTÌ65536Ö0 -IN_CLASSDÌ131072Í(a)Ö0 -IN_EXPERIMENTALÌ131072Í(a)Ö0 -IN_LOOPBACKNETÌ65536Ö0 -IN_MULTICASTÌ131072Í(a)Ö0 -IOCSIZE_MASKÌ65536Ö0 -IOCSIZE_SHIFTÌ65536Ö0 -IOC_INÌ65536Ö0 -IOC_INOUTÌ65536Ö0 -IOC_OUTÌ65536Ö0 -IOV_MAXÌ65536Ö0 -IPPORT_RESERVEDÌ65536Ö0 -IPPROTO_AHÌ65536Ö0 -IPPROTO_BEETPHÌ65536Ö0 -IPPROTO_COMPÌ65536Ö0 -IPPROTO_DCCPÌ65536Ö0 -IPPROTO_DSTOPTSÌ65536Ö0 -IPPROTO_EGPÌ65536Ö0 -IPPROTO_ENCAPÌ65536Ö0 -IPPROTO_ESPÌ65536Ö0 -IPPROTO_FRAGMENTÌ65536Ö0 -IPPROTO_GREÌ65536Ö0 -IPPROTO_HOPOPTSÌ65536Ö0 -IPPROTO_ICMPÌ65536Ö0 -IPPROTO_ICMPV6Ì65536Ö0 -IPPROTO_IDPÌ65536Ö0 -IPPROTO_IGMPÌ65536Ö0 -IPPROTO_IPÌ65536Ö0 -IPPROTO_IPIPÌ65536Ö0 -IPPROTO_IPV6Ì65536Ö0 -IPPROTO_MHÌ65536Ö0 -IPPROTO_MPLSÌ65536Ö0 -IPPROTO_MTPÌ65536Ö0 -IPPROTO_NONEÌ65536Ö0 -IPPROTO_PIMÌ65536Ö0 -IPPROTO_PUPÌ65536Ö0 -IPPROTO_RAWÌ65536Ö0 -IPPROTO_ROUTINGÌ65536Ö0 -IPPROTO_RSVPÌ65536Ö0 -IPPROTO_SCTPÌ65536Ö0 -IPPROTO_TCPÌ65536Ö0 -IPPROTO_TPÌ65536Ö0 -IPPROTO_UDPÌ65536Ö0 -IPPROTO_UDPLITEÌ65536Ö0 -IPV6_2292DSTOPTSÌ65536Ö0 -IPV6_2292HOPLIMITÌ65536Ö0 -IPV6_2292HOPOPTSÌ65536Ö0 -IPV6_2292PKTINFOÌ65536Ö0 -IPV6_2292PKTOPTIONSÌ65536Ö0 -IPV6_2292RTHDRÌ65536Ö0 -IPV6_ADDRFORMÌ65536Ö0 -IPV6_ADD_MEMBERSHIPÌ65536Ö0 -IPV6_AUTHHDRÌ65536Ö0 -IPV6_CHECKSUMÌ65536Ö0 -IPV6_DONTFRAGÌ65536Ö0 -IPV6_DROP_MEMBERSHIPÌ65536Ö0 -IPV6_DSTOPTSÌ65536Ö0 -IPV6_HDRINCLÌ65536Ö0 -IPV6_HOPLIMITÌ65536Ö0 -IPV6_HOPOPTSÌ65536Ö0 -IPV6_IPSEC_POLICYÌ65536Ö0 -IPV6_JOIN_ANYCASTÌ65536Ö0 -IPV6_JOIN_GROUPÌ65536Ö0 -IPV6_LEAVE_ANYCASTÌ65536Ö0 -IPV6_LEAVE_GROUPÌ65536Ö0 -IPV6_MTUÌ65536Ö0 -IPV6_MTU_DISCOVERÌ65536Ö0 -IPV6_MULTICAST_HOPSÌ65536Ö0 -IPV6_MULTICAST_IFÌ65536Ö0 -IPV6_MULTICAST_LOOPÌ65536Ö0 -IPV6_NEXTHOPÌ65536Ö0 -IPV6_PATHMTUÌ65536Ö0 -IPV6_PKTINFOÌ65536Ö0 -IPV6_PMTUDISC_DOÌ65536Ö0 -IPV6_PMTUDISC_DONTÌ65536Ö0 -IPV6_PMTUDISC_INTERFACEÌ65536Ö0 -IPV6_PMTUDISC_OMITÌ65536Ö0 -IPV6_PMTUDISC_PROBEÌ65536Ö0 -IPV6_PMTUDISC_WANTÌ65536Ö0 -IPV6_RECVDSTOPTSÌ65536Ö0 -IPV6_RECVERRÌ65536Ö0 -IPV6_RECVHOPLIMITÌ65536Ö0 -IPV6_RECVHOPOPTSÌ65536Ö0 -IPV6_RECVPATHMTUÌ65536Ö0 -IPV6_RECVPKTINFOÌ65536Ö0 -IPV6_RECVRTHDRÌ65536Ö0 -IPV6_RECVTCLASSÌ65536Ö0 -IPV6_ROUTER_ALERTÌ65536Ö0 -IPV6_RTHDRÌ65536Ö0 -IPV6_RTHDRDSTOPTSÌ65536Ö0 -IPV6_RTHDR_LOOSEÌ65536Ö0 -IPV6_RTHDR_STRICTÌ65536Ö0 -IPV6_RTHDR_TYPE_0Ì65536Ö0 -IPV6_RXDSTOPTSÌ65536Ö0 -IPV6_RXHOPOPTSÌ65536Ö0 -IPV6_TCLASSÌ65536Ö0 -IPV6_UNICAST_HOPSÌ65536Ö0 -IPV6_V6ONLYÌ65536Ö0 -IPV6_XFRM_POLICYÌ65536Ö0 -IP_ADD_MEMBERSHIPÌ65536Ö0 -IP_ADD_SOURCE_MEMBERSHIPÌ65536Ö0 -IP_BIND_ADDRESS_NO_PORTÌ65536Ö0 -IP_BLOCK_SOURCEÌ65536Ö0 -IP_CHECKSUMÌ65536Ö0 -IP_DEFAULT_MULTICAST_LOOPÌ65536Ö0 -IP_DEFAULT_MULTICAST_TTLÌ65536Ö0 -IP_DROP_MEMBERSHIPÌ65536Ö0 -IP_DROP_SOURCE_MEMBERSHIPÌ65536Ö0 -IP_FREEBINDÌ65536Ö0 -IP_HDRINCLÌ65536Ö0 -IP_IPSEC_POLICYÌ65536Ö0 -IP_MAX_MEMBERSHIPSÌ65536Ö0 -IP_MINTTLÌ65536Ö0 -IP_MSFILTERÌ65536Ö0 -IP_MSFILTER_SIZEÌ131072Í(numsrc)Ö0 -IP_MTUÌ65536Ö0 -IP_MTU_DISCOVERÌ65536Ö0 -IP_MULTICAST_ALLÌ65536Ö0 -IP_MULTICAST_IFÌ65536Ö0 -IP_MULTICAST_LOOPÌ65536Ö0 -IP_MULTICAST_TTLÌ65536Ö0 -IP_NODEFRAGÌ65536Ö0 -IP_OPTIONSÌ65536Ö0 -IP_ORIGDSTADDRÌ65536Ö0 -IP_PASSSECÌ65536Ö0 -IP_PKTINFOÌ65536Ö0 -IP_PKTOPTIONSÌ65536Ö0 -IP_PMTUDISCÌ65536Ö0 -IP_PMTUDISC_DOÌ65536Ö0 -IP_PMTUDISC_DONTÌ65536Ö0 -IP_PMTUDISC_INTERFACEÌ65536Ö0 -IP_PMTUDISC_OMITÌ65536Ö0 -IP_PMTUDISC_PROBEÌ65536Ö0 -IP_PMTUDISC_WANTÌ65536Ö0 -IP_RECVERRÌ65536Ö0 -IP_RECVOPTSÌ65536Ö0 -IP_RECVORIGDSTADDRÌ65536Ö0 -IP_RECVRETOPTSÌ65536Ö0 -IP_RECVTOSÌ65536Ö0 -IP_RECVTTLÌ65536Ö0 -IP_RETOPTSÌ65536Ö0 -IP_ROUTER_ALERTÌ65536Ö0 -IP_TOSÌ65536Ö0 -IP_TRANSPARENTÌ65536Ö0 -IP_TTLÌ65536Ö0 -IP_UNBLOCK_SOURCEÌ65536Ö0 -IP_UNICAST_IFÌ65536Ö0 -IP_XFRM_POLICYÌ65536Ö0 -ISIGÌ65536Ö0 -ISTRIPÌ65536Ö0 -ITIMER_PROFÌ65536Ö0 -ITIMER_REALÌ65536Ö0 -ITIMER_VIRTUALÌ65536Ö0 -IUCLCÌ65536Ö0 -IUTF8Ì65536Ö0 -IXANYÌ65536Ö0 -IXOFFÌ65536Ö0 -IXONÌ65536Ö0 -LC_ADDRESSÌ65536Ö0 -LC_ADDRESS_MASKÌ65536Ö0 -LC_ALLÌ65536Ö0 -LC_ALL_MASKÌ65536Ö0 -LC_COLLATEÌ65536Ö0 -LC_COLLATE_MASKÌ65536Ö0 -LC_CTYPEÌ65536Ö0 -LC_CTYPE_MASKÌ65536Ö0 -LC_GLOBAL_LOCALEÌ65536Ö0 -LC_IDENTIFICATIONÌ65536Ö0 -LC_IDENTIFICATION_MASKÌ65536Ö0 -LC_MEASUREMENTÌ65536Ö0 -LC_MEASUREMENT_MASKÌ65536Ö0 -LC_MESSAGESÌ65536Ö0 -LC_MESSAGES_MASKÌ65536Ö0 -LC_MONETARYÌ65536Ö0 -LC_MONETARY_MASKÌ65536Ö0 -LC_NAMEÌ65536Ö0 -LC_NAME_MASKÌ65536Ö0 -LC_NUMERICÌ65536Ö0 -LC_NUMERIC_MASKÌ65536Ö0 -LC_PAPERÌ65536Ö0 -LC_PAPER_MASKÌ65536Ö0 -LC_TELEPHONEÌ65536Ö0 -LC_TELEPHONE_MASKÌ65536Ö0 -LC_TIMEÌ65536Ö0 -LC_TIME_MASKÌ65536Ö0 -LINE_MAXÌ65536Ö0 -LINK_MAXÌ65536Ö0 -LITTLE_ENDIANÌ65536Ö0 -LLONG_MAXÌ65536Ö0 -LLONG_MINÌ65536Ö0 -LLONG_WIDTHÌ65536Ö0 -LOCK_EXÌ65536Ö0 -LOCK_MANDÌ65536Ö0 -LOCK_NBÌ65536Ö0 -LOCK_READÌ65536Ö0 -LOCK_RWÌ65536Ö0 -LOCK_SHÌ65536Ö0 -LOCK_UNÌ65536Ö0 -LOCK_WRITEÌ65536Ö0 -LOGIN_NAME_MAXÌ65536Ö0 -LONG_BITÌ65536Ö0 -LONG_LONG_MAXÌ65536Ö0 -LONG_LONG_MINÌ65536Ö0 -LONG_MAXÌ65536Ö0 -LONG_MINÌ65536Ö0 -LONG_WIDTHÌ65536Ö0 -LT_OBJDIRÌ65536Ö0 -L_INCRÌ65536Ö0 -L_SETÌ65536Ö0 -L_XTNDÌ65536Ö0 -L_ctermidÌ65536Ö0 -L_cuseridÌ65536Ö0 -L_tmpnamÌ65536Ö0 -MADV_DODUMPÌ65536Ö0 -MADV_DOFORKÌ65536Ö0 -MADV_DONTDUMPÌ65536Ö0 -MADV_DONTFORKÌ65536Ö0 -MADV_DONTNEEDÌ65536Ö0 -MADV_FREEÌ65536Ö0 -MADV_HUGEPAGEÌ65536Ö0 -MADV_HWPOISONÌ65536Ö0 -MADV_MERGEABLEÌ65536Ö0 -MADV_NOHUGEPAGEÌ65536Ö0 -MADV_NORMALÌ65536Ö0 -MADV_RANDOMÌ65536Ö0 -MADV_REMOVEÌ65536Ö0 -MADV_SEQUENTIALÌ65536Ö0 -MADV_UNMERGEABLEÌ65536Ö0 -MADV_WILLNEEDÌ65536Ö0 -MALLOCÌ131072Í(type,size)Ö0 -MAP_32BITÌ65536Ö0 -MAP_ANONÌ65536Ö0 -MAP_ANONYMOUSÌ65536Ö0 -MAP_DENYWRITEÌ65536Ö0 -MAP_EXECUTABLEÌ65536Ö0 -MAP_FAILEDÌ65536Ö0 -MAP_FILEÌ65536Ö0 -MAP_FIXEDÌ65536Ö0 -MAP_GROWSDOWNÌ65536Ö0 -MAP_HUGETLBÌ65536Ö0 -MAP_HUGE_MASKÌ65536Ö0 -MAP_HUGE_SHIFTÌ65536Ö0 -MAP_LOCKEDÌ65536Ö0 -MAP_NONBLOCKÌ65536Ö0 -MAP_NORESERVEÌ65536Ö0 -MAP_POPULATEÌ65536Ö0 -MAP_PRIVATEÌ65536Ö0 -MAP_SHAREDÌ65536Ö0 -MAP_STACKÌ65536Ö0 -MAP_TYPEÌ65536Ö0 -MATH_ERREXCEPTÌ65536Ö0 -MATH_ERRNOÌ65536Ö0 -MAX_CANONÌ65536Ö0 -MAX_HANDLE_SZÌ65536Ö0 -MAX_INPUTÌ65536Ö0 -MAX_MEMORY_DUMP_SIZEÌ65536Ö0 -MB_CUR_MAXÌ65536Ö0 -MB_LEN_MAXÌ65536Ö0 -MCAST_BLOCK_SOURCEÌ65536Ö0 -MCAST_EXCLUDEÌ65536Ö0 -MCAST_INCLUDEÌ65536Ö0 -MCAST_JOIN_GROUPÌ65536Ö0 -MCAST_JOIN_SOURCE_GROUPÌ65536Ö0 -MCAST_LEAVE_GROUPÌ65536Ö0 -MCAST_LEAVE_SOURCE_GROUPÌ65536Ö0 -MCAST_MSFILTERÌ65536Ö0 -MCAST_UNBLOCK_SOURCEÌ65536Ö0 -MCL_CURRENTÌ65536Ö0 -MCL_FUTUREÌ65536Ö0 -MCL_ONFAULTÌ65536Ö0 -MINSIGSTKSZÌ65536Ö0 -MOD_CLKAÌ65536Ö0 -MOD_CLKBÌ65536Ö0 -MOD_ESTERRORÌ65536Ö0 -MOD_FREQUENCYÌ65536Ö0 -MOD_MAXERRORÌ65536Ö0 -MOD_MICROÌ65536Ö0 -MOD_NANOÌ65536Ö0 -MOD_OFFSETÌ65536Ö0 -MOD_STATUSÌ65536Ö0 -MOD_TAIÌ65536Ö0 -MOD_TIMECONSTÌ65536Ö0 -MQ_PRIO_MAXÌ65536Ö0 -MREMAP_FIXEDÌ65536Ö0 -MREMAP_MAYMOVEÌ65536Ö0 -MSG_BATCHÌ65536Ö0 -MSG_CMSG_CLOEXECÌ65536Ö0 -MSG_CONFIRMÌ65536Ö0 -MSG_CTRUNCÌ65536Ö0 -MSG_DONTROUTEÌ65536Ö0 -MSG_DONTWAITÌ65536Ö0 -MSG_EORÌ65536Ö0 -MSG_ERRQUEUEÌ65536Ö0 -MSG_FASTOPENÌ65536Ö0 -MSG_FINÌ65536Ö0 -MSG_MOREÌ65536Ö0 -MSG_NOSIGNALÌ65536Ö0 -MSG_OOBÌ65536Ö0 -MSG_PEEKÌ65536Ö0 -MSG_PROXYÌ65536Ö0 -MSG_RSTÌ65536Ö0 -MSG_SYNÌ65536Ö0 -MSG_TRUNCÌ65536Ö0 -MSG_TRYHARDÌ65536Ö0 -MSG_WAITALLÌ65536Ö0 -MSG_WAITFORONEÌ65536Ö0 -MS_ASYNCÌ65536Ö0 -MS_INVALIDATEÌ65536Ö0 -MS_SYNCÌ65536Ö0 -MULT_PARÌ4Îanon_enum_1Ö0 -M_1_PIÌ65536Ö0 -M_1_PIlÌ65536Ö0 -M_2_PIÌ65536Ö0 -M_2_PIlÌ65536Ö0 -M_2_SQRTPIÌ65536Ö0 -M_2_SQRTPIlÌ65536Ö0 -M_EÌ65536Ö0 -M_ElÌ65536Ö0 -M_LN10Ì65536Ö0 -M_LN10lÌ65536Ö0 -M_LN2Ì65536Ö0 -M_LN2lÌ65536Ö0 -M_LOG10EÌ65536Ö0 -M_LOG10ElÌ65536Ö0 -M_LOG2EÌ65536Ö0 -M_LOG2ElÌ65536Ö0 -M_PIÌ65536Ö0 -M_PI_2Ì65536Ö0 -M_PI_2lÌ65536Ö0 -M_PI_4Ì65536Ö0 -M_PI_4lÌ65536Ö0 -M_PIlÌ65536Ö0 -M_SQRT1_2Ì65536Ö0 -M_SQRT1_2lÌ65536Ö0 -M_SQRT2Ì65536Ö0 -M_SQRT2lÌ65536Ö0 -My_mmapÌ16Í(char *filename)Ö0Ïmmapbuf * -My_mmapÌ1024Í(char *filename)Ö0Ïmmapbuf * -My_munmapÌ16Í(mmapbuf *b)Ö0Ïvoid -My_munmapÌ1024Í(mmapbuf *b)Ö0Ïvoid -NAME_MAXÌ65536Ö0 -NANÌ65536Ö0 -NCCÌ65536Ö0 -NCCSÌ65536Ö0 -NEED_ARGÌ4Îanon_enum_1Ö0 -NETDB_INTERNALÌ65536Ö0 -NETDB_SUCCESSÌ65536Ö0 -NFDBITSÌ65536Ö0 -NGREGÌ65536Ö0 -NGROUPS_MAXÌ65536Ö0 -NI_DGRAMÌ65536Ö0 -NI_IDNÌ65536Ö0 -NI_IDN_ALLOW_UNASSIGNEDÌ65536Ö0 -NI_IDN_USE_STD3_ASCII_RULESÌ65536Ö0 -NI_MAXHOSTÌ65536Ö0 -NI_MAXSERVÌ65536Ö0 -NI_NAMEREQDÌ65536Ö0 -NI_NOFQDNÌ65536Ö0 -NI_NUMERICHOSTÌ65536Ö0 -NI_NUMERICSERVÌ65536Ö0 -NL0Ì65536Ö0 -NL1Ì65536Ö0 -NLDLYÌ65536Ö0 -NL_ARGMAXÌ65536Ö0 -NL_LANGMAXÌ65536Ö0 -NL_MSGMAXÌ65536Ö0 -NL_NMAXÌ65536Ö0 -NL_SETMAXÌ65536Ö0 -NL_TEXTMAXÌ65536Ö0 -NOFLSHÌ65536Ö0 -NO_ADDRESSÌ65536Ö0 -NO_ARGSÌ4Îanon_enum_1Ö0 -NO_DATAÌ65536Ö0 -NO_RECOVERYÌ65536Ö0 -NR_OPENÌ65536Ö0 -NSIGÌ65536Ö0 -NULLÌ65536Ö0 -NZEROÌ65536Ö0 -N_Ì131072Í(String)Ö0 -N_6PACKÌ65536Ö0 -N_AX25Ì65536Ö0 -N_HCIÌ65536Ö0 -N_HDLCÌ65536Ö0 -N_IRDAÌ65536Ö0 -N_MASCÌ65536Ö0 -N_MOUSEÌ65536Ö0 -N_PPPÌ65536Ö0 -N_PROFIBUS_FDLÌ65536Ö0 -N_R3964Ì65536Ö0 -N_SLIPÌ65536Ö0 -N_SMSBLOCKÌ65536Ö0 -N_STRIPÌ65536Ö0 -N_SYNC_PPPÌ65536Ö0 -N_TTYÌ65536Ö0 -N_X25Ì65536Ö0 -OCRNLÌ65536Ö0 -OFDELÌ65536Ö0 -OFILLÌ65536Ö0 -OLCUCÌ65536Ö0 -OLDCOLORÌ65536Ö0 -ONLCRÌ65536Ö0 -ONLRETÌ65536Ö0 -ONOCRÌ65536Ö0 -OPEN_MAXÌ65536Ö0 -OPOSTÌ65536Ö0 -OPT_ARGÌ4Îanon_enum_1Ö0 -OVERFLOWÌ65536Ö0 -O_ACCMODEÌ65536Ö0 -O_APPENDÌ65536Ö0 -O_ASYNCÌ65536Ö0 -O_CLOEXECÌ65536Ö0 -O_CREATÌ65536Ö0 -O_DIRECTÌ65536Ö0 -O_DIRECTORYÌ65536Ö0 -O_DSYNCÌ65536Ö0 -O_EXCLÌ65536Ö0 -O_FSYNCÌ65536Ö0 -O_LARGEFILEÌ65536Ö0 -O_NDELAYÌ65536Ö0 -O_NOATIMEÌ65536Ö0 -O_NOCTTYÌ65536Ö0 -O_NOFOLLOWÌ65536Ö0 -O_NONBLOCKÌ65536Ö0 -O_PATHÌ65536Ö0 -O_RDONLYÌ65536Ö0 -O_RDWRÌ65536Ö0 -O_RSYNCÌ65536Ö0 -O_SYNCÌ65536Ö0 -O_TMPFILEÌ65536Ö0 -O_TRUNCÌ65536Ö0 -O_WRONLYÌ65536Ö0 -PARENBÌ65536Ö0 -PARMRKÌ65536Ö0 -PARODDÌ65536Ö0 -PATH_MAXÌ65536Ö0 -PDP_ENDIANÌ65536Ö0 -PENDINÌ65536Ö0 -PF_ALGÌ65536Ö0 -PF_APPLETALKÌ65536Ö0 -PF_ASHÌ65536Ö0 -PF_ATMPVCÌ65536Ö0 -PF_ATMSVCÌ65536Ö0 -PF_AX25Ì65536Ö0 -PF_BLUETOOTHÌ65536Ö0 -PF_BRIDGEÌ65536Ö0 -PF_CAIFÌ65536Ö0 -PF_CANÌ65536Ö0 -PF_DECnetÌ65536Ö0 -PF_ECONETÌ65536Ö0 -PF_FILEÌ65536Ö0 -PF_IBÌ65536Ö0 -PF_IEEE802154Ì65536Ö0 -PF_INETÌ65536Ö0 -PF_INET6Ì65536Ö0 -PF_IPXÌ65536Ö0 -PF_IRDAÌ65536Ö0 -PF_ISDNÌ65536Ö0 -PF_IUCVÌ65536Ö0 -PF_KCMÌ65536Ö0 -PF_KEYÌ65536Ö0 -PF_LLCÌ65536Ö0 -PF_LOCALÌ65536Ö0 -PF_MAXÌ65536Ö0 -PF_MPLSÌ65536Ö0 -PF_NETBEUIÌ65536Ö0 -PF_NETLINKÌ65536Ö0 -PF_NETROMÌ65536Ö0 -PF_NFCÌ65536Ö0 -PF_PACKETÌ65536Ö0 -PF_PHONETÌ65536Ö0 -PF_PPPOXÌ65536Ö0 -PF_QIPCRTRÌ65536Ö0 -PF_RDSÌ65536Ö0 -PF_ROSEÌ65536Ö0 -PF_ROUTEÌ65536Ö0 -PF_RXRPCÌ65536Ö0 -PF_SECURITYÌ65536Ö0 -PF_SNAÌ65536Ö0 -PF_TIPCÌ65536Ö0 -PF_UNIXÌ65536Ö0 -PF_UNSPECÌ65536Ö0 -PF_VSOCKÌ65536Ö0 -PF_WANPIPEÌ65536Ö0 -PF_X25Ì65536Ö0 -PIPE_BUFÌ65536Ö0 -PLOSSÌ65536Ö0 -POLL_ERRÌ65536Ö0 -POLL_HUPÌ65536Ö0 -POLL_INÌ65536Ö0 -POLL_MSGÌ65536Ö0 -POLL_OUTÌ65536Ö0 -POLL_PRIÌ65536Ö0 -POSIX_FADV_DONTNEEDÌ65536Ö0 -POSIX_FADV_NOREUSEÌ65536Ö0 -POSIX_FADV_NORMALÌ65536Ö0 -POSIX_FADV_RANDOMÌ65536Ö0 -POSIX_FADV_SEQUENTIALÌ65536Ö0 -POSIX_FADV_WILLNEEDÌ65536Ö0 -POSIX_MADV_DONTNEEDÌ65536Ö0 -POSIX_MADV_NORMALÌ65536Ö0 -POSIX_MADV_RANDOMÌ65536Ö0 -POSIX_MADV_SEQUENTIALÌ65536Ö0 -POSIX_MADV_WILLNEEDÌ65536Ö0 -PROT_EXECÌ65536Ö0 -PROT_GROWSDOWNÌ65536Ö0 -PROT_GROWSUPÌ65536Ö0 -PROT_NONEÌ65536Ö0 -PROT_READÌ65536Ö0 -PROT_WRITEÌ65536Ö0 -PR_CAPBSET_DROPÌ65536Ö0 -PR_CAPBSET_READÌ65536Ö0 -PR_CAP_AMBIENTÌ65536Ö0 -PR_CAP_AMBIENT_CLEAR_ALLÌ65536Ö0 -PR_CAP_AMBIENT_IS_SETÌ65536Ö0 -PR_CAP_AMBIENT_LOWERÌ65536Ö0 -PR_CAP_AMBIENT_RAISEÌ65536Ö0 -PR_ENDIAN_BIGÌ65536Ö0 -PR_ENDIAN_LITTLEÌ65536Ö0 -PR_ENDIAN_PPC_LITTLEÌ65536Ö0 -PR_FPEMU_NOPRINTÌ65536Ö0 -PR_FPEMU_SIGFPEÌ65536Ö0 -PR_FP_EXC_ASYNCÌ65536Ö0 -PR_FP_EXC_DISABLEDÌ65536Ö0 -PR_FP_EXC_DIVÌ65536Ö0 -PR_FP_EXC_INVÌ65536Ö0 -PR_FP_EXC_NONRECOVÌ65536Ö0 -PR_FP_EXC_OVFÌ65536Ö0 -PR_FP_EXC_PRECISEÌ65536Ö0 -PR_FP_EXC_RESÌ65536Ö0 -PR_FP_EXC_SW_ENABLEÌ65536Ö0 -PR_FP_EXC_UNDÌ65536Ö0 -PR_FP_MODE_FRÌ65536Ö0 -PR_FP_MODE_FREÌ65536Ö0 -PR_GET_CHILD_SUBREAPERÌ65536Ö0 -PR_GET_DUMPABLEÌ65536Ö0 -PR_GET_ENDIANÌ65536Ö0 -PR_GET_FPEMUÌ65536Ö0 -PR_GET_FPEXCÌ65536Ö0 -PR_GET_FP_MODEÌ65536Ö0 -PR_GET_KEEPCAPSÌ65536Ö0 -PR_GET_NAMEÌ65536Ö0 -PR_GET_NO_NEW_PRIVSÌ65536Ö0 -PR_GET_PDEATHSIGÌ65536Ö0 -PR_GET_SECCOMPÌ65536Ö0 -PR_GET_SECUREBITSÌ65536Ö0 -PR_GET_THP_DISABLEÌ65536Ö0 -PR_GET_TID_ADDRESSÌ65536Ö0 -PR_GET_TIMERSLACKÌ65536Ö0 -PR_GET_TIMINGÌ65536Ö0 -PR_GET_TSCÌ65536Ö0 -PR_GET_UNALIGNÌ65536Ö0 -PR_MCE_KILLÌ65536Ö0 -PR_MCE_KILL_CLEARÌ65536Ö0 -PR_MCE_KILL_DEFAULTÌ65536Ö0 -PR_MCE_KILL_EARLYÌ65536Ö0 -PR_MCE_KILL_GETÌ65536Ö0 -PR_MCE_KILL_LATEÌ65536Ö0 -PR_MCE_KILL_SETÌ65536Ö0 -PR_MPX_DISABLE_MANAGEMENTÌ65536Ö0 -PR_MPX_ENABLE_MANAGEMENTÌ65536Ö0 -PR_SET_CHILD_SUBREAPERÌ65536Ö0 -PR_SET_DUMPABLEÌ65536Ö0 -PR_SET_ENDIANÌ65536Ö0 -PR_SET_FPEMUÌ65536Ö0 -PR_SET_FPEXCÌ65536Ö0 -PR_SET_FP_MODEÌ65536Ö0 -PR_SET_KEEPCAPSÌ65536Ö0 -PR_SET_MMÌ65536Ö0 -PR_SET_MM_ARG_ENDÌ65536Ö0 -PR_SET_MM_ARG_STARTÌ65536Ö0 -PR_SET_MM_AUXVÌ65536Ö0 -PR_SET_MM_BRKÌ65536Ö0 -PR_SET_MM_END_CODEÌ65536Ö0 -PR_SET_MM_END_DATAÌ65536Ö0 -PR_SET_MM_ENV_ENDÌ65536Ö0 -PR_SET_MM_ENV_STARTÌ65536Ö0 -PR_SET_MM_EXE_FILEÌ65536Ö0 -PR_SET_MM_MAPÌ65536Ö0 -PR_SET_MM_MAP_SIZEÌ65536Ö0 -PR_SET_MM_START_BRKÌ65536Ö0 -PR_SET_MM_START_CODEÌ65536Ö0 -PR_SET_MM_START_DATAÌ65536Ö0 -PR_SET_MM_START_STACKÌ65536Ö0 -PR_SET_NAMEÌ65536Ö0 -PR_SET_NO_NEW_PRIVSÌ65536Ö0 -PR_SET_PDEATHSIGÌ65536Ö0 -PR_SET_PTRACERÌ65536Ö0 -PR_SET_PTRACER_ANYÌ65536Ö0 -PR_SET_SECCOMPÌ65536Ö0 -PR_SET_SECUREBITSÌ65536Ö0 -PR_SET_THP_DISABLEÌ65536Ö0 -PR_SET_TIMERSLACKÌ65536Ö0 -PR_SET_TIMINGÌ65536Ö0 -PR_SET_TSCÌ65536Ö0 -PR_SET_UNALIGNÌ65536Ö0 -PR_TASK_PERF_EVENTS_DISABLEÌ65536Ö0 -PR_TASK_PERF_EVENTS_ENABLEÌ65536Ö0 -PR_TIMING_STATISTICALÌ65536Ö0 -PR_TIMING_TIMESTAMPÌ65536Ö0 -PR_TSC_ENABLEÌ65536Ö0 -PR_TSC_SIGSEGVÌ65536Ö0 -PR_UNALIGN_NOPRINTÌ65536Ö0 -PR_UNALIGN_SIGBUSÌ65536Ö0 -PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NPÌ65536Ö0 -PTHREAD_BARRIER_SERIAL_THREADÌ65536Ö0 -PTHREAD_CANCELEDÌ65536Ö0 -PTHREAD_CANCEL_ASYNCHRONOUSÌ4Îanon_enum_19Ö0 -PTHREAD_CANCEL_ASYNCHRONOUSÌ65536Ö0 -PTHREAD_CANCEL_DEFERREDÌ4Îanon_enum_19Ö0 -PTHREAD_CANCEL_DEFERREDÌ65536Ö0 -PTHREAD_CANCEL_DISABLEÌ4Îanon_enum_18Ö0 -PTHREAD_CANCEL_DISABLEÌ65536Ö0 -PTHREAD_CANCEL_ENABLEÌ4Îanon_enum_18Ö0 -PTHREAD_CANCEL_ENABLEÌ65536Ö0 -PTHREAD_COND_INITIALIZERÌ65536Ö0 -PTHREAD_CREATE_DETACHEDÌ4Îanon_enum_10Ö0 -PTHREAD_CREATE_DETACHEDÌ65536Ö0 -PTHREAD_CREATE_JOINABLEÌ4Îanon_enum_10Ö0 -PTHREAD_CREATE_JOINABLEÌ65536Ö0 -PTHREAD_DESTRUCTOR_ITERATIONSÌ65536Ö0 -PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NPÌ65536Ö0 -PTHREAD_EXPLICIT_SCHEDÌ4Îanon_enum_15Ö0 -PTHREAD_EXPLICIT_SCHEDÌ65536Ö0 -PTHREAD_INHERIT_SCHEDÌ4Îanon_enum_15Ö0 -PTHREAD_INHERIT_SCHEDÌ65536Ö0 -PTHREAD_KEYS_MAXÌ65536Ö0 -PTHREAD_MUTEX_ADAPTIVE_NPÌ4Îanon_enum_11Ö0 -PTHREAD_MUTEX_DEFAULTÌ4Îanon_enum_11Ö0 -PTHREAD_MUTEX_ERRORCHECKÌ4Îanon_enum_11Ö0 -PTHREAD_MUTEX_ERRORCHECK_NPÌ4Îanon_enum_11Ö0 -PTHREAD_MUTEX_FAST_NPÌ4Îanon_enum_11Ö0 -PTHREAD_MUTEX_INITIALIZERÌ65536Ö0 -PTHREAD_MUTEX_NORMALÌ4Îanon_enum_11Ö0 -PTHREAD_MUTEX_RECURSIVEÌ4Îanon_enum_11Ö0 -PTHREAD_MUTEX_RECURSIVE_NPÌ4Îanon_enum_11Ö0 -PTHREAD_MUTEX_ROBUSTÌ4Îanon_enum_12Ö0 -PTHREAD_MUTEX_ROBUST_NPÌ4Îanon_enum_12Ö0 -PTHREAD_MUTEX_STALLEDÌ4Îanon_enum_12Ö0 -PTHREAD_MUTEX_STALLED_NPÌ4Îanon_enum_12Ö0 -PTHREAD_MUTEX_TIMED_NPÌ4Îanon_enum_11Ö0 -PTHREAD_ONCE_INITÌ65536Ö0 -PTHREAD_PRIO_INHERITÌ4Îanon_enum_13Ö0 -PTHREAD_PRIO_NONEÌ4Îanon_enum_13Ö0 -PTHREAD_PRIO_PROTECTÌ4Îanon_enum_13Ö0 -PTHREAD_PROCESS_PRIVATEÌ4Îanon_enum_17Ö0 -PTHREAD_PROCESS_PRIVATEÌ65536Ö0 -PTHREAD_PROCESS_SHAREDÌ4Îanon_enum_17Ö0 -PTHREAD_PROCESS_SHAREDÌ65536Ö0 -PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NPÌ65536Ö0 -PTHREAD_RWLOCK_DEFAULT_NPÌ4Îanon_enum_14Ö0 -PTHREAD_RWLOCK_INITIALIZERÌ65536Ö0 -PTHREAD_RWLOCK_PREFER_READER_NPÌ4Îanon_enum_14Ö0 -PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NPÌ4Îanon_enum_14Ö0 -PTHREAD_RWLOCK_PREFER_WRITER_NPÌ4Îanon_enum_14Ö0 -PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NPÌ65536Ö0 -PTHREAD_SCOPE_PROCESSÌ4Îanon_enum_16Ö0 -PTHREAD_SCOPE_PROCESSÌ65536Ö0 -PTHREAD_SCOPE_SYSTEMÌ4Îanon_enum_16Ö0 -PTHREAD_SCOPE_SYSTEMÌ65536Ö0 -PTHREAD_STACK_MINÌ65536Ö0 -PTHREAD_THREADS_MAXÌ65536Ö0 -PTRDIFF_MAXÌ65536Ö0 -PTRDIFF_MINÌ65536Ö0 -PTRDIFF_WIDTHÌ65536Ö0 -P_tmpdirÌ65536Ö0 -RAND_MAXÌ65536Ö0 -REDÌ65536Ö0 -REG_CR2Ì65536Ö0 -REG_CSGSFSÌ65536Ö0 -REG_EFLÌ65536Ö0 -REG_ERRÌ65536Ö0 -REG_OLDMASKÌ65536Ö0 -REG_R10Ì65536Ö0 -REG_R11Ì65536Ö0 -REG_R12Ì65536Ö0 -REG_R13Ì65536Ö0 -REG_R14Ì65536Ö0 -REG_R15Ì65536Ö0 -REG_R8Ì65536Ö0 -REG_R9Ì65536Ö0 -REG_RAXÌ65536Ö0 -REG_RBPÌ65536Ö0 -REG_RBXÌ65536Ö0 -REG_RCXÌ65536Ö0 -REG_RDIÌ65536Ö0 -REG_RDXÌ65536Ö0 -REG_RIPÌ65536Ö0 -REG_RSIÌ65536Ö0 -REG_RSPÌ65536Ö0 -REG_TRAPNOÌ65536Ö0 -RE_DUP_MAXÌ65536Ö0 -RTSIG_MAXÌ65536Ö0 -R_OKÌ65536Ö0 -SA_INTERRUPTÌ65536Ö0 -SA_NOCLDSTOPÌ65536Ö0 -SA_NOCLDWAITÌ65536Ö0 -SA_NODEFERÌ65536Ö0 -SA_NOMASKÌ65536Ö0 -SA_ONESHOTÌ65536Ö0 -SA_ONSTACKÌ65536Ö0 -SA_RESETHANDÌ65536Ö0 -SA_RESTARTÌ65536Ö0 -SA_SIGINFOÌ65536Ö0 -SA_STACKÌ65536Ö0 -SCHAR_MAXÌ65536Ö0 -SCHAR_MINÌ65536Ö0 -SCHAR_WIDTHÌ65536Ö0 -SCHED_BATCHÌ65536Ö0 -SCHED_FIFOÌ65536Ö0 -SCHED_IDLEÌ65536Ö0 -SCHED_OTHERÌ65536Ö0 -SCHED_RESET_ON_FORKÌ65536Ö0 -SCHED_RRÌ65536Ö0 -SCM_CREDENTIALSÌ65536Ö0 -SCM_RIGHTSÌ65536Ö0 -SCM_SRCRTÌ65536Ö0 -SCM_TIMESTAMPÌ65536Ö0 -SCM_TIMESTAMPINGÌ65536Ö0 -SCM_TIMESTAMPING_OPT_STATSÌ65536Ö0 -SCM_TIMESTAMPING_PKTINFOÌ65536Ö0 -SCM_TIMESTAMPNSÌ65536Ö0 -SCM_WIFI_STATUSÌ65536Ö0 -SCOPE_DELIMITERÌ65536Ö0 -SEEK_CURÌ65536Ö0 -SEEK_DATAÌ65536Ö0 -SEEK_ENDÌ65536Ö0 -SEEK_HOLEÌ65536Ö0 -SEEK_SETÌ65536Ö0 -SEGV_ACCERRÌ65536Ö0 -SEGV_MAPERRÌ65536Ö0 -SEM_VALUE_MAXÌ65536Ö0 -SHRT_MAXÌ65536Ö0 -SHRT_MINÌ65536Ö0 -SHRT_WIDTHÌ65536Ö0 -SHUT_RDÌ65536Ö0 -SHUT_RDWRÌ65536Ö0 -SHUT_WRÌ65536Ö0 -SIGABRTÌ65536Ö0 -SIGALRMÌ65536Ö0 -SIGBUSÌ65536Ö0 -SIGCHLDÌ65536Ö0 -SIGCLDÌ65536Ö0 -SIGCONTÌ65536Ö0 -SIGEV_NONEÌ4Îanon_enum_8Ö0 -SIGEV_NONEÌ65536Ö0 -SIGEV_SIGNALÌ4Îanon_enum_8Ö0 -SIGEV_SIGNALÌ65536Ö0 -SIGEV_THREADÌ4Îanon_enum_8Ö0 -SIGEV_THREADÌ65536Ö0 -SIGEV_THREAD_IDÌ4Îanon_enum_8Ö0 -SIGEV_THREAD_IDÌ65536Ö0 -SIGFPEÌ65536Ö0 -SIGHUPÌ65536Ö0 -SIGILLÌ65536Ö0 -SIGINTÌ65536Ö0 -SIGIOÌ65536Ö0 -SIGIOTÌ65536Ö0 -SIGKILLÌ65536Ö0 -SIGPIPEÌ65536Ö0 -SIGPOLLÌ65536Ö0 -SIGPROFÌ65536Ö0 -SIGPWRÌ65536Ö0 -SIGQUITÌ65536Ö0 -SIGRTMAXÌ65536Ö0 -SIGRTMINÌ65536Ö0 -SIGSEGVÌ65536Ö0 -SIGSTKFLTÌ65536Ö0 -SIGSTKSZÌ65536Ö0 -SIGSTOPÌ65536Ö0 -SIGSYSÌ65536Ö0 -SIGTERMÌ65536Ö0 -SIGTRAPÌ65536Ö0 -SIGTSTPÌ65536Ö0 -SIGTTINÌ65536Ö0 -SIGTTOUÌ65536Ö0 -SIGUNUSEDÌ65536Ö0 -SIGURGÌ65536Ö0 -SIGUSR1Ì65536Ö0 -SIGUSR2Ì65536Ö0 -SIGVTALRMÌ65536Ö0 -SIGWINCHÌ65536Ö0 -SIGXCPUÌ65536Ö0 -SIGXFSZÌ65536Ö0 -SIG_ATOMIC_MAXÌ65536Ö0 -SIG_ATOMIC_MINÌ65536Ö0 -SIG_ATOMIC_WIDTHÌ65536Ö0 -SIG_BLOCKÌ65536Ö0 -SIG_DFLÌ65536Ö0 -SIG_ERRÌ65536Ö0 -SIG_HOLDÌ65536Ö0 -SIG_IGNÌ65536Ö0 -SIG_SETMASKÌ65536Ö0 -SIG_UNBLOCKÌ65536Ö0 -SINGÌ65536Ö0 -SIOCADDDLCIÌ65536Ö0 -SIOCADDMULTIÌ65536Ö0 -SIOCADDRTÌ65536Ö0 -SIOCATMARKÌ65536Ö0 -SIOCDARPÌ65536Ö0 -SIOCDELDLCIÌ65536Ö0 -SIOCDELMULTIÌ65536Ö0 -SIOCDELRTÌ65536Ö0 -SIOCDEVPRIVATEÌ65536Ö0 -SIOCDIFADDRÌ65536Ö0 -SIOCDRARPÌ65536Ö0 -SIOCGARPÌ65536Ö0 -SIOCGIFADDRÌ65536Ö0 -SIOCGIFBRÌ65536Ö0 -SIOCGIFBRDADDRÌ65536Ö0 -SIOCGIFCONFÌ65536Ö0 -SIOCGIFCOUNTÌ65536Ö0 -SIOCGIFDSTADDRÌ65536Ö0 -SIOCGIFENCAPÌ65536Ö0 -SIOCGIFFLAGSÌ65536Ö0 -SIOCGIFHWADDRÌ65536Ö0 -SIOCGIFINDEXÌ65536Ö0 -SIOCGIFMAPÌ65536Ö0 -SIOCGIFMEMÌ65536Ö0 -SIOCGIFMETRICÌ65536Ö0 -SIOCGIFMTUÌ65536Ö0 -SIOCGIFNAMEÌ65536Ö0 -SIOCGIFNETMASKÌ65536Ö0 -SIOCGIFPFLAGSÌ65536Ö0 -SIOCGIFSLAVEÌ65536Ö0 -SIOCGIFTXQLENÌ65536Ö0 -SIOCGPGRPÌ65536Ö0 -SIOCGRARPÌ65536Ö0 -SIOCGSTAMPÌ65536Ö0 -SIOCGSTAMPNSÌ65536Ö0 -SIOCPROTOPRIVATEÌ65536Ö0 -SIOCRTMSGÌ65536Ö0 -SIOCSARPÌ65536Ö0 -SIOCSIFADDRÌ65536Ö0 -SIOCSIFBRÌ65536Ö0 -SIOCSIFBRDADDRÌ65536Ö0 -SIOCSIFDSTADDRÌ65536Ö0 -SIOCSIFENCAPÌ65536Ö0 -SIOCSIFFLAGSÌ65536Ö0 -SIOCSIFHWADDRÌ65536Ö0 -SIOCSIFHWBROADCASTÌ65536Ö0 -SIOCSIFLINKÌ65536Ö0 -SIOCSIFMAPÌ65536Ö0 -SIOCSIFMEMÌ65536Ö0 -SIOCSIFMETRICÌ65536Ö0 -SIOCSIFMTUÌ65536Ö0 -SIOCSIFNAMEÌ65536Ö0 -SIOCSIFNETMASKÌ65536Ö0 -SIOCSIFPFLAGSÌ65536Ö0 -SIOCSIFSLAVEÌ65536Ö0 -SIOCSIFTXQLENÌ65536Ö0 -SIOCSPGRPÌ65536Ö0 -SIOCSRARPÌ65536Ö0 -SIOGIFINDEXÌ65536Ö0 -SIZE_MAXÌ65536Ö0 -SIZE_WIDTHÌ65536Ö0 -SI_ASYNCIOÌ65536Ö0 -SI_ASYNCNLÌ65536Ö0 -SI_KERNELÌ65536Ö0 -SI_MESGQÌ65536Ö0 -SI_QUEUEÌ65536Ö0 -SI_SIGIOÌ65536Ö0 -SI_TIMERÌ65536Ö0 -SI_TKILLÌ65536Ö0 -SI_USERÌ65536Ö0 -SNANÌ65536Ö0 -SNANFÌ65536Ö0 -SNANLÌ65536Ö0 -SOCKET_TIMEOUTÌ65536Ö0 -SOCK_CLOEXECÌ65536Ö0 -SOCK_DCCPÌ65536Ö0 -SOCK_DGRAMÌ65536Ö0 -SOCK_NONBLOCKÌ65536Ö0 -SOCK_PACKETÌ65536Ö0 -SOCK_RAWÌ65536Ö0 -SOCK_RDMÌ65536Ö0 -SOCK_SEQPACKETÌ65536Ö0 -SOCK_STREAMÌ65536Ö0 -SOL_AALÌ65536Ö0 -SOL_ALGÌ65536Ö0 -SOL_ATMÌ65536Ö0 -SOL_BLUETOOTHÌ65536Ö0 -SOL_CAIFÌ65536Ö0 -SOL_DCCPÌ65536Ö0 -SOL_DECNETÌ65536Ö0 -SOL_ICMPV6Ì65536Ö0 -SOL_IPÌ65536Ö0 -SOL_IPV6Ì65536Ö0 -SOL_IRDAÌ65536Ö0 -SOL_IUCVÌ65536Ö0 -SOL_KCMÌ65536Ö0 -SOL_LLCÌ65536Ö0 -SOL_NETBEUIÌ65536Ö0 -SOL_NETLINKÌ65536Ö0 -SOL_NFCÌ65536Ö0 -SOL_PACKETÌ65536Ö0 -SOL_PNPIPEÌ65536Ö0 -SOL_PPPOL2TPÌ65536Ö0 -SOL_RAWÌ65536Ö0 -SOL_RDSÌ65536Ö0 -SOL_RXRPCÌ65536Ö0 -SOL_SOCKETÌ65536Ö0 -SOL_TIPCÌ65536Ö0 -SOL_X25Ì65536Ö0 -SOMAXCONNÌ65536Ö0 -SO_ACCEPTCONNÌ65536Ö0 -SO_ATTACH_BPFÌ65536Ö0 -SO_ATTACH_FILTERÌ65536Ö0 -SO_ATTACH_REUSEPORT_CBPFÌ65536Ö0 -SO_ATTACH_REUSEPORT_EBPFÌ65536Ö0 -SO_BINDTODEVICEÌ65536Ö0 -SO_BPF_EXTENSIONSÌ65536Ö0 -SO_BROADCASTÌ65536Ö0 -SO_BSDCOMPATÌ65536Ö0 -SO_BUSY_POLLÌ65536Ö0 -SO_CNX_ADVICEÌ65536Ö0 -SO_COOKIEÌ65536Ö0 -SO_DEBUGÌ65536Ö0 -SO_DETACH_BPFÌ65536Ö0 -SO_DETACH_FILTERÌ65536Ö0 -SO_DOMAINÌ65536Ö0 -SO_DONTROUTEÌ65536Ö0 -SO_ERRORÌ65536Ö0 -SO_GET_FILTERÌ65536Ö0 -SO_INCOMING_CPUÌ65536Ö0 -SO_INCOMING_NAPI_IDÌ65536Ö0 -SO_KEEPALIVEÌ65536Ö0 -SO_LINGERÌ65536Ö0 -SO_LOCK_FILTERÌ65536Ö0 -SO_MARKÌ65536Ö0 -SO_MAX_PACING_RATEÌ65536Ö0 -SO_MEMINFOÌ65536Ö0 -SO_NOFCSÌ65536Ö0 -SO_NO_CHECKÌ65536Ö0 -SO_OOBINLINEÌ65536Ö0 -SO_PASSCREDÌ65536Ö0 -SO_PASSSECÌ65536Ö0 -SO_PEEK_OFFÌ65536Ö0 -SO_PEERCREDÌ65536Ö0 -SO_PEERGROUPSÌ65536Ö0 -SO_PEERNAMEÌ65536Ö0 -SO_PEERSECÌ65536Ö0 -SO_PRIORITYÌ65536Ö0 -SO_PROTOCOLÌ65536Ö0 -SO_RCVBUFÌ65536Ö0 -SO_RCVBUFFORCEÌ65536Ö0 -SO_RCVLOWATÌ65536Ö0 -SO_RCVTIMEOÌ65536Ö0 -SO_REUSEADDRÌ65536Ö0 -SO_REUSEPORTÌ65536Ö0 -SO_RXQ_OVFLÌ65536Ö0 -SO_SECURITY_AUTHENTICATIONÌ65536Ö0 -SO_SECURITY_ENCRYPTION_NETWORKÌ65536Ö0 -SO_SECURITY_ENCRYPTION_TRANSPORTÌ65536Ö0 -SO_SELECT_ERR_QUEUEÌ65536Ö0 -SO_SNDBUFÌ65536Ö0 -SO_SNDBUFFORCEÌ65536Ö0 -SO_SNDLOWATÌ65536Ö0 -SO_SNDTIMEOÌ65536Ö0 -SO_TIMESTAMPÌ65536Ö0 -SO_TIMESTAMPINGÌ65536Ö0 -SO_TIMESTAMPNSÌ65536Ö0 -SO_TYPEÌ65536Ö0 -SO_WIFI_STATUSÌ65536Ö0 -SPLICE_F_GIFTÌ65536Ö0 -SPLICE_F_MOREÌ65536Ö0 -SPLICE_F_MOVEÌ65536Ö0 -SPLICE_F_NONBLOCKÌ65536Ö0 -SSIZE_MAXÌ65536Ö0 -SS_DISABLEÌ65536Ö0 -SS_ONSTACKÌ65536Ö0 -STA_CLKÌ65536Ö0 -STA_CLOCKERRÌ65536Ö0 -STA_DELÌ65536Ö0 -STA_FLLÌ65536Ö0 -STA_FREQHOLDÌ65536Ö0 -STA_INSÌ65536Ö0 -STA_MODEÌ65536Ö0 -STA_NANOÌ65536Ö0 -STA_PLLÌ65536Ö0 -STA_PPSERRORÌ65536Ö0 -STA_PPSFREQÌ65536Ö0 -STA_PPSJITTERÌ65536Ö0 -STA_PPSSIGNALÌ65536Ö0 -STA_PPSTIMEÌ65536Ö0 -STA_PPSWANDERÌ65536Ö0 -STA_RONLYÌ65536Ö0 -STA_UNSYNCÌ65536Ö0 -STDC_HEADERSÌ65536Ö0 -STDERR_FILENOÌ65536Ö0 -STDIN_FILENOÌ65536Ö0 -STDOUT_FILENOÌ65536Ö0 -STRÌ131072Í(s)Ö0 -STR_HELPERÌ131072Í(s)Ö0 -SYNC_FILE_RANGE_WAIT_AFTERÌ65536Ö0 -SYNC_FILE_RANGE_WAIT_BEFOREÌ65536Ö0 -SYNC_FILE_RANGE_WRITEÌ65536Ö0 -SYS__sysctlÌ65536Ö0 -SYS_acceptÌ65536Ö0 -SYS_accept4Ì65536Ö0 -SYS_accessÌ65536Ö0 -SYS_acctÌ65536Ö0 -SYS_add_keyÌ65536Ö0 -SYS_adjtimexÌ65536Ö0 -SYS_afs_syscallÌ65536Ö0 -SYS_alarmÌ65536Ö0 -SYS_arch_prctlÌ65536Ö0 -SYS_bindÌ65536Ö0 -SYS_bpfÌ65536Ö0 -SYS_brkÌ65536Ö0 -SYS_capgetÌ65536Ö0 -SYS_capsetÌ65536Ö0 -SYS_chdirÌ65536Ö0 -SYS_chmodÌ65536Ö0 -SYS_chownÌ65536Ö0 -SYS_chrootÌ65536Ö0 -SYS_clock_adjtimeÌ65536Ö0 -SYS_clock_getresÌ65536Ö0 -SYS_clock_gettimeÌ65536Ö0 -SYS_clock_nanosleepÌ65536Ö0 -SYS_clock_settimeÌ65536Ö0 -SYS_cloneÌ65536Ö0 -SYS_closeÌ65536Ö0 -SYS_connectÌ65536Ö0 -SYS_copy_file_rangeÌ65536Ö0 -SYS_creatÌ65536Ö0 -SYS_create_moduleÌ65536Ö0 -SYS_delete_moduleÌ65536Ö0 -SYS_dupÌ65536Ö0 -SYS_dup2Ì65536Ö0 -SYS_dup3Ì65536Ö0 -SYS_epoll_createÌ65536Ö0 -SYS_epoll_create1Ì65536Ö0 -SYS_epoll_ctlÌ65536Ö0 -SYS_epoll_ctl_oldÌ65536Ö0 -SYS_epoll_pwaitÌ65536Ö0 -SYS_epoll_waitÌ65536Ö0 -SYS_epoll_wait_oldÌ65536Ö0 -SYS_eventfdÌ65536Ö0 -SYS_eventfd2Ì65536Ö0 -SYS_execveÌ65536Ö0 -SYS_execveatÌ65536Ö0 -SYS_exitÌ65536Ö0 -SYS_exit_groupÌ65536Ö0 -SYS_faccessatÌ65536Ö0 -SYS_fadvise64Ì65536Ö0 -SYS_fallocateÌ65536Ö0 -SYS_fanotify_initÌ65536Ö0 -SYS_fanotify_markÌ65536Ö0 -SYS_fchdirÌ65536Ö0 -SYS_fchmodÌ65536Ö0 -SYS_fchmodatÌ65536Ö0 -SYS_fchownÌ65536Ö0 -SYS_fchownatÌ65536Ö0 -SYS_fcntlÌ65536Ö0 -SYS_fdatasyncÌ65536Ö0 -SYS_fgetxattrÌ65536Ö0 -SYS_finit_moduleÌ65536Ö0 -SYS_flistxattrÌ65536Ö0 -SYS_flockÌ65536Ö0 -SYS_forkÌ65536Ö0 -SYS_fremovexattrÌ65536Ö0 -SYS_fsetxattrÌ65536Ö0 -SYS_fstatÌ65536Ö0 -SYS_fstatfsÌ65536Ö0 -SYS_fsyncÌ65536Ö0 -SYS_ftruncateÌ65536Ö0 -SYS_futexÌ65536Ö0 -SYS_futimesatÌ65536Ö0 -SYS_get_kernel_symsÌ65536Ö0 -SYS_get_mempolicyÌ65536Ö0 -SYS_get_robust_listÌ65536Ö0 -SYS_get_thread_areaÌ65536Ö0 -SYS_getcpuÌ65536Ö0 -SYS_getcwdÌ65536Ö0 -SYS_getdentsÌ65536Ö0 -SYS_getdents64Ì65536Ö0 -SYS_getegidÌ65536Ö0 -SYS_geteuidÌ65536Ö0 -SYS_getgidÌ65536Ö0 -SYS_getgroupsÌ65536Ö0 -SYS_getitimerÌ65536Ö0 -SYS_getpeernameÌ65536Ö0 -SYS_getpgidÌ65536Ö0 -SYS_getpgrpÌ65536Ö0 -SYS_getpidÌ65536Ö0 -SYS_getpmsgÌ65536Ö0 -SYS_getppidÌ65536Ö0 -SYS_getpriorityÌ65536Ö0 -SYS_getrandomÌ65536Ö0 -SYS_getresgidÌ65536Ö0 -SYS_getresuidÌ65536Ö0 -SYS_getrlimitÌ65536Ö0 -SYS_getrusageÌ65536Ö0 -SYS_getsidÌ65536Ö0 -SYS_getsocknameÌ65536Ö0 -SYS_getsockoptÌ65536Ö0 -SYS_gettidÌ65536Ö0 -SYS_gettimeofdayÌ65536Ö0 -SYS_getuidÌ65536Ö0 -SYS_getxattrÌ65536Ö0 -SYS_init_moduleÌ65536Ö0 -SYS_inotify_add_watchÌ65536Ö0 -SYS_inotify_initÌ65536Ö0 -SYS_inotify_init1Ì65536Ö0 -SYS_inotify_rm_watchÌ65536Ö0 -SYS_io_cancelÌ65536Ö0 -SYS_io_destroyÌ65536Ö0 -SYS_io_geteventsÌ65536Ö0 -SYS_io_setupÌ65536Ö0 -SYS_io_submitÌ65536Ö0 -SYS_ioctlÌ65536Ö0 -SYS_iopermÌ65536Ö0 -SYS_ioplÌ65536Ö0 -SYS_ioprio_getÌ65536Ö0 -SYS_ioprio_setÌ65536Ö0 -SYS_kcmpÌ65536Ö0 -SYS_kexec_file_loadÌ65536Ö0 -SYS_kexec_loadÌ65536Ö0 -SYS_keyctlÌ65536Ö0 -SYS_killÌ65536Ö0 -SYS_lchownÌ65536Ö0 -SYS_lgetxattrÌ65536Ö0 -SYS_linkÌ65536Ö0 -SYS_linkatÌ65536Ö0 -SYS_listenÌ65536Ö0 -SYS_listxattrÌ65536Ö0 -SYS_llistxattrÌ65536Ö0 -SYS_lookup_dcookieÌ65536Ö0 -SYS_lremovexattrÌ65536Ö0 -SYS_lseekÌ65536Ö0 -SYS_lsetxattrÌ65536Ö0 -SYS_lstatÌ65536Ö0 -SYS_madviseÌ65536Ö0 -SYS_mbindÌ65536Ö0 -SYS_membarrierÌ65536Ö0 -SYS_memfd_createÌ65536Ö0 -SYS_migrate_pagesÌ65536Ö0 -SYS_mincoreÌ65536Ö0 -SYS_mkdirÌ65536Ö0 -SYS_mkdiratÌ65536Ö0 -SYS_mknodÌ65536Ö0 -SYS_mknodatÌ65536Ö0 -SYS_mlockÌ65536Ö0 -SYS_mlock2Ì65536Ö0 -SYS_mlockallÌ65536Ö0 -SYS_mmapÌ65536Ö0 -SYS_modify_ldtÌ65536Ö0 -SYS_mountÌ65536Ö0 -SYS_move_pagesÌ65536Ö0 -SYS_mprotectÌ65536Ö0 -SYS_mq_getsetattrÌ65536Ö0 -SYS_mq_notifyÌ65536Ö0 -SYS_mq_openÌ65536Ö0 -SYS_mq_timedreceiveÌ65536Ö0 -SYS_mq_timedsendÌ65536Ö0 -SYS_mq_unlinkÌ65536Ö0 -SYS_mremapÌ65536Ö0 -SYS_msgctlÌ65536Ö0 -SYS_msggetÌ65536Ö0 -SYS_msgrcvÌ65536Ö0 -SYS_msgsndÌ65536Ö0 -SYS_msyncÌ65536Ö0 -SYS_munlockÌ65536Ö0 -SYS_munlockallÌ65536Ö0 -SYS_munmapÌ65536Ö0 -SYS_name_to_handle_atÌ65536Ö0 -SYS_nanosleepÌ65536Ö0 -SYS_newfstatatÌ65536Ö0 -SYS_nfsservctlÌ65536Ö0 -SYS_openÌ65536Ö0 -SYS_open_by_handle_atÌ65536Ö0 -SYS_openatÌ65536Ö0 -SYS_pauseÌ65536Ö0 -SYS_perf_event_openÌ65536Ö0 -SYS_personalityÌ65536Ö0 -SYS_pipeÌ65536Ö0 -SYS_pipe2Ì65536Ö0 -SYS_pivot_rootÌ65536Ö0 -SYS_pkey_allocÌ65536Ö0 -SYS_pkey_freeÌ65536Ö0 -SYS_pkey_mprotectÌ65536Ö0 -SYS_pollÌ65536Ö0 -SYS_ppollÌ65536Ö0 -SYS_prctlÌ65536Ö0 -SYS_pread64Ì65536Ö0 -SYS_preadvÌ65536Ö0 -SYS_preadv2Ì65536Ö0 -SYS_prlimit64Ì65536Ö0 -SYS_process_vm_readvÌ65536Ö0 -SYS_process_vm_writevÌ65536Ö0 -SYS_pselect6Ì65536Ö0 -SYS_ptraceÌ65536Ö0 -SYS_putpmsgÌ65536Ö0 -SYS_pwrite64Ì65536Ö0 -SYS_pwritevÌ65536Ö0 -SYS_pwritev2Ì65536Ö0 -SYS_query_moduleÌ65536Ö0 -SYS_quotactlÌ65536Ö0 -SYS_readÌ65536Ö0 -SYS_readaheadÌ65536Ö0 -SYS_readlinkÌ65536Ö0 -SYS_readlinkatÌ65536Ö0 -SYS_readvÌ65536Ö0 -SYS_rebootÌ65536Ö0 -SYS_recvfromÌ65536Ö0 -SYS_recvmmsgÌ65536Ö0 -SYS_recvmsgÌ65536Ö0 -SYS_remap_file_pagesÌ65536Ö0 -SYS_removexattrÌ65536Ö0 -SYS_renameÌ65536Ö0 -SYS_renameatÌ65536Ö0 -SYS_renameat2Ì65536Ö0 -SYS_request_keyÌ65536Ö0 -SYS_restart_syscallÌ65536Ö0 -SYS_rmdirÌ65536Ö0 -SYS_rt_sigactionÌ65536Ö0 -SYS_rt_sigpendingÌ65536Ö0 -SYS_rt_sigprocmaskÌ65536Ö0 -SYS_rt_sigqueueinfoÌ65536Ö0 -SYS_rt_sigreturnÌ65536Ö0 -SYS_rt_sigsuspendÌ65536Ö0 -SYS_rt_sigtimedwaitÌ65536Ö0 -SYS_rt_tgsigqueueinfoÌ65536Ö0 -SYS_sched_get_priority_maxÌ65536Ö0 -SYS_sched_get_priority_minÌ65536Ö0 -SYS_sched_getaffinityÌ65536Ö0 -SYS_sched_getattrÌ65536Ö0 -SYS_sched_getparamÌ65536Ö0 -SYS_sched_getschedulerÌ65536Ö0 -SYS_sched_rr_get_intervalÌ65536Ö0 -SYS_sched_setaffinityÌ65536Ö0 -SYS_sched_setattrÌ65536Ö0 -SYS_sched_setparamÌ65536Ö0 -SYS_sched_setschedulerÌ65536Ö0 -SYS_sched_yieldÌ65536Ö0 -SYS_seccompÌ65536Ö0 -SYS_securityÌ65536Ö0 -SYS_selectÌ65536Ö0 -SYS_semctlÌ65536Ö0 -SYS_semgetÌ65536Ö0 -SYS_semopÌ65536Ö0 -SYS_semtimedopÌ65536Ö0 -SYS_sendfileÌ65536Ö0 -SYS_sendmmsgÌ65536Ö0 -SYS_sendmsgÌ65536Ö0 -SYS_sendtoÌ65536Ö0 -SYS_set_mempolicyÌ65536Ö0 -SYS_set_robust_listÌ65536Ö0 -SYS_set_thread_areaÌ65536Ö0 -SYS_set_tid_addressÌ65536Ö0 -SYS_setdomainnameÌ65536Ö0 -SYS_setfsgidÌ65536Ö0 -SYS_setfsuidÌ65536Ö0 -SYS_setgidÌ65536Ö0 -SYS_setgroupsÌ65536Ö0 -SYS_sethostnameÌ65536Ö0 -SYS_setitimerÌ65536Ö0 -SYS_setnsÌ65536Ö0 -SYS_setpgidÌ65536Ö0 -SYS_setpriorityÌ65536Ö0 -SYS_setregidÌ65536Ö0 -SYS_setresgidÌ65536Ö0 -SYS_setresuidÌ65536Ö0 -SYS_setreuidÌ65536Ö0 -SYS_setrlimitÌ65536Ö0 -SYS_setsidÌ65536Ö0 -SYS_setsockoptÌ65536Ö0 -SYS_settimeofdayÌ65536Ö0 -SYS_setuidÌ65536Ö0 -SYS_setxattrÌ65536Ö0 -SYS_shmatÌ65536Ö0 -SYS_shmctlÌ65536Ö0 -SYS_shmdtÌ65536Ö0 -SYS_shmgetÌ65536Ö0 -SYS_shutdownÌ65536Ö0 -SYS_sigaltstackÌ65536Ö0 -SYS_signalfdÌ65536Ö0 -SYS_signalfd4Ì65536Ö0 -SYS_socketÌ65536Ö0 -SYS_socketpairÌ65536Ö0 -SYS_spliceÌ65536Ö0 -SYS_statÌ65536Ö0 -SYS_statfsÌ65536Ö0 -SYS_statxÌ65536Ö0 -SYS_swapoffÌ65536Ö0 -SYS_swaponÌ65536Ö0 -SYS_symlinkÌ65536Ö0 -SYS_symlinkatÌ65536Ö0 -SYS_syncÌ65536Ö0 -SYS_sync_file_rangeÌ65536Ö0 -SYS_syncfsÌ65536Ö0 -SYS_sysfsÌ65536Ö0 -SYS_sysinfoÌ65536Ö0 -SYS_syslogÌ65536Ö0 -SYS_teeÌ65536Ö0 -SYS_tgkillÌ65536Ö0 -SYS_timeÌ65536Ö0 -SYS_timer_createÌ65536Ö0 -SYS_timer_deleteÌ65536Ö0 -SYS_timer_getoverrunÌ65536Ö0 -SYS_timer_gettimeÌ65536Ö0 -SYS_timer_settimeÌ65536Ö0 -SYS_timerfd_createÌ65536Ö0 -SYS_timerfd_gettimeÌ65536Ö0 -SYS_timerfd_settimeÌ65536Ö0 -SYS_timesÌ65536Ö0 -SYS_tkillÌ65536Ö0 -SYS_truncateÌ65536Ö0 -SYS_tuxcallÌ65536Ö0 -SYS_umaskÌ65536Ö0 -SYS_umount2Ì65536Ö0 -SYS_unameÌ65536Ö0 -SYS_unlinkÌ65536Ö0 -SYS_unlinkatÌ65536Ö0 -SYS_unshareÌ65536Ö0 -SYS_uselibÌ65536Ö0 -SYS_userfaultfdÌ65536Ö0 -SYS_ustatÌ65536Ö0 -SYS_utimeÌ65536Ö0 -SYS_utimensatÌ65536Ö0 -SYS_utimesÌ65536Ö0 -SYS_vforkÌ65536Ö0 -SYS_vhangupÌ65536Ö0 -SYS_vmspliceÌ65536Ö0 -SYS_vserverÌ65536Ö0 -SYS_wait4Ì65536Ö0 -SYS_waitidÌ65536Ö0 -SYS_writeÌ65536Ö0 -SYS_writevÌ65536Ö0 -S_BLKSIZEÌ65536Ö0 -S_IEXECÌ65536Ö0 -S_IFBLKÌ65536Ö0 -S_IFCHRÌ65536Ö0 -S_IFDIRÌ65536Ö0 -S_IFIFOÌ65536Ö0 -S_IFLNKÌ65536Ö0 -S_IFMTÌ65536Ö0 -S_IFREGÌ65536Ö0 -S_IFSOCKÌ65536Ö0 -S_IREADÌ65536Ö0 -S_IRGRPÌ65536Ö0 -S_IROTHÌ65536Ö0 -S_IRUSRÌ65536Ö0 -S_IRWXGÌ65536Ö0 -S_IRWXOÌ65536Ö0 -S_IRWXUÌ65536Ö0 -S_ISBLKÌ131072Í(mode)Ö0 -S_ISCHRÌ131072Í(mode)Ö0 -S_ISDIRÌ131072Í(mode)Ö0 -S_ISFIFOÌ131072Í(mode)Ö0 -S_ISGIDÌ65536Ö0 -S_ISLNKÌ131072Í(mode)Ö0 -S_ISREGÌ131072Í(mode)Ö0 -S_ISSOCKÌ131072Í(mode)Ö0 -S_ISUIDÌ65536Ö0 -S_ISVTXÌ65536Ö0 -S_IWGRPÌ65536Ö0 -S_IWOTHÌ65536Ö0 -S_IWRITEÌ65536Ö0 -S_IWUSRÌ65536Ö0 -S_IXGRPÌ65536Ö0 -S_IXOTHÌ65536Ö0 -S_IXUSRÌ65536Ö0 -S_TYPEISMQÌ131072Í(buf)Ö0 -S_TYPEISSEMÌ131072Í(buf)Ö0 -S_TYPEISSHMÌ131072Í(buf)Ö0 -TAB0Ì65536Ö0 -TAB1Ì65536Ö0 -TAB2Ì65536Ö0 -TAB3Ì65536Ö0 -TABDLYÌ65536Ö0 -TCFLSHÌ65536Ö0 -TCGETAÌ65536Ö0 -TCGETSÌ65536Ö0 -TCGETS2Ì65536Ö0 -TCGETXÌ65536Ö0 -TCIFLUSHÌ65536Ö0 -TCIOFFÌ65536Ö0 -TCIOFLUSHÌ65536Ö0 -TCIONÌ65536Ö0 -TCOFLUSHÌ65536Ö0 -TCOOFFÌ65536Ö0 -TCOONÌ65536Ö0 -TCSADRAINÌ65536Ö0 -TCSAFLUSHÌ65536Ö0 -TCSANOWÌ65536Ö0 -TCSBRKÌ65536Ö0 -TCSBRKPÌ65536Ö0 -TCSETAÌ65536Ö0 -TCSETAFÌ65536Ö0 -TCSETAWÌ65536Ö0 -TCSETSÌ65536Ö0 -TCSETS2Ì65536Ö0 -TCSETSFÌ65536Ö0 -TCSETSF2Ì65536Ö0 -TCSETSWÌ65536Ö0 -TCSETSW2Ì65536Ö0 -TCSETXÌ65536Ö0 -TCSETXFÌ65536Ö0 -TCSETXWÌ65536Ö0 -TCXONCÌ65536Ö0 -TEMP_FAILURE_RETRYÌ131072Í(expression)Ö0 -TIMER_ABSTIMEÌ65536Ö0 -TIMESPEC_TO_TIMEVALÌ131072Í(tv,ts)Ö0 -TIMEVAL_TO_TIMESPECÌ131072Í(tv,ts)Ö0 -TIME_UTCÌ65536Ö0 -TIOCCBRKÌ65536Ö0 -TIOCCONSÌ65536Ö0 -TIOCEXCLÌ65536Ö0 -TIOCGDEVÌ65536Ö0 -TIOCGETDÌ65536Ö0 -TIOCGEXCLÌ65536Ö0 -TIOCGICOUNTÌ65536Ö0 -TIOCGLCKTRMIOSÌ65536Ö0 -TIOCGPGRPÌ65536Ö0 -TIOCGPKTÌ65536Ö0 -TIOCGPTLCKÌ65536Ö0 -TIOCGPTNÌ65536Ö0 -TIOCGPTPEERÌ65536Ö0 -TIOCGRS485Ì65536Ö0 -TIOCGSERIALÌ65536Ö0 -TIOCGSIDÌ65536Ö0 -TIOCGSOFTCARÌ65536Ö0 -TIOCGWINSZÌ65536Ö0 -TIOCINQÌ65536Ö0 -TIOCLINUXÌ65536Ö0 -TIOCMBICÌ65536Ö0 -TIOCMBISÌ65536Ö0 -TIOCMGETÌ65536Ö0 -TIOCMIWAITÌ65536Ö0 -TIOCMSETÌ65536Ö0 -TIOCM_CARÌ65536Ö0 -TIOCM_CDÌ65536Ö0 -TIOCM_CTSÌ65536Ö0 -TIOCM_DSRÌ65536Ö0 -TIOCM_DTRÌ65536Ö0 -TIOCM_LEÌ65536Ö0 -TIOCM_RIÌ65536Ö0 -TIOCM_RNGÌ65536Ö0 -TIOCM_RTSÌ65536Ö0 -TIOCM_SRÌ65536Ö0 -TIOCM_STÌ65536Ö0 -TIOCNOTTYÌ65536Ö0 -TIOCNXCLÌ65536Ö0 -TIOCOUTQÌ65536Ö0 -TIOCPKTÌ65536Ö0 -TIOCPKT_DATAÌ65536Ö0 -TIOCPKT_DOSTOPÌ65536Ö0 -TIOCPKT_FLUSHREADÌ65536Ö0 -TIOCPKT_FLUSHWRITEÌ65536Ö0 -TIOCPKT_IOCTLÌ65536Ö0 -TIOCPKT_NOSTOPÌ65536Ö0 -TIOCPKT_STARTÌ65536Ö0 -TIOCPKT_STOPÌ65536Ö0 -TIOCSBRKÌ65536Ö0 -TIOCSCTTYÌ65536Ö0 -TIOCSERCONFIGÌ65536Ö0 -TIOCSERGETLSRÌ65536Ö0 -TIOCSERGETMULTIÌ65536Ö0 -TIOCSERGSTRUCTÌ65536Ö0 -TIOCSERGWILDÌ65536Ö0 -TIOCSERSETMULTIÌ65536Ö0 -TIOCSERSWILDÌ65536Ö0 -TIOCSER_TEMTÌ65536Ö0 -TIOCSETDÌ65536Ö0 -TIOCSIGÌ65536Ö0 -TIOCSLCKTRMIOSÌ65536Ö0 -TIOCSPGRPÌ65536Ö0 -TIOCSPTLCKÌ65536Ö0 -TIOCSRS485Ì65536Ö0 -TIOCSSERIALÌ65536Ö0 -TIOCSSOFTCARÌ65536Ö0 -TIOCSTIÌ65536Ö0 -TIOCSWINSZÌ65536Ö0 -TIOCVHANGUPÌ65536Ö0 -TLOSSÌ65536Ö0 -TMP_MAXÌ65536Ö0 -TOSTOPÌ65536Ö0 -TRAP_BRKPTÌ65536Ö0 -TRAP_TRACEÌ65536Ö0 -TRUEÌ65536Ö0 -TRY_AGAINÌ65536Ö0 -TTYDEF_CFLAGÌ65536Ö0 -TTYDEF_IFLAGÌ65536Ö0 -TTYDEF_LFLAGÌ65536Ö0 -TTYDEF_OFLAGÌ65536Ö0 -TTYDEF_SPEEDÌ65536Ö0 -TTY_NAME_MAXÌ65536Ö0 -T_INTERVALÌ65536Ö0 -T_POLLING_TMOUTÌ65536Ö0 -UCHAR_MAXÌ65536Ö0 -UCHAR_WIDTHÌ65536Ö0 -UINT16_CÌ131072Í(c)Ö0 -UINT16_MAXÌ65536Ö0 -UINT16_WIDTHÌ65536Ö0 -UINT32_CÌ131072Í(c)Ö0 -UINT32_MAXÌ65536Ö0 -UINT32_WIDTHÌ65536Ö0 -UINT64_CÌ131072Í(c)Ö0 -UINT64_MAXÌ65536Ö0 -UINT64_WIDTHÌ65536Ö0 -UINT8_CÌ131072Í(c)Ö0 -UINT8_MAXÌ65536Ö0 -UINT8_WIDTHÌ65536Ö0 -UINTMAX_CÌ131072Í(c)Ö0 -UINTMAX_MAXÌ65536Ö0 -UINTMAX_WIDTHÌ65536Ö0 -UINTPTR_MAXÌ65536Ö0 -UINTPTR_WIDTHÌ65536Ö0 -UINT_FAST16_MAXÌ65536Ö0 -UINT_FAST16_WIDTHÌ65536Ö0 -UINT_FAST32_MAXÌ65536Ö0 -UINT_FAST32_WIDTHÌ65536Ö0 -UINT_FAST64_MAXÌ65536Ö0 -UINT_FAST64_WIDTHÌ65536Ö0 -UINT_FAST8_MAXÌ65536Ö0 -UINT_FAST8_WIDTHÌ65536Ö0 -UINT_LEAST16_MAXÌ65536Ö0 -UINT_LEAST16_WIDTHÌ65536Ö0 -UINT_LEAST32_MAXÌ65536Ö0 -UINT_LEAST32_WIDTHÌ65536Ö0 -UINT_LEAST64_MAXÌ65536Ö0 -UINT_LEAST64_WIDTHÌ65536Ö0 -UINT_LEAST8_MAXÌ65536Ö0 -UINT_LEAST8_WIDTHÌ65536Ö0 -UINT_MAXÌ65536Ö0 -UINT_WIDTHÌ65536Ö0 -UIO_MAXIOVÌ65536Ö0 -ULLONG_MAXÌ65536Ö0 -ULLONG_WIDTHÌ65536Ö0 -ULONG_LONG_MAXÌ65536Ö0 -ULONG_MAXÌ65536Ö0 -ULONG_WIDTHÌ65536Ö0 -UNDERFLOWÌ65536Ö0 -USHRT_MAXÌ65536Ö0 -USHRT_WIDTHÌ65536Ö0 -UTIME_NOWÌ65536Ö0 -UTIME_OMITÌ65536Ö0 -VDISCARDÌ65536Ö0 -VEOFÌ65536Ö0 -VEOLÌ65536Ö0 -VEOL2Ì65536Ö0 -VERASEÌ65536Ö0 -VINTRÌ65536Ö0 -VKILLÌ65536Ö0 -VLNEXTÌ65536Ö0 -VMINÌ65536Ö0 -VQUITÌ65536Ö0 -VREPRINTÌ65536Ö0 -VSTARTÌ65536Ö0 -VSTOPÌ65536Ö0 -VSUSPÌ65536Ö0 -VSWTCÌ65536Ö0 -VT0Ì65536Ö0 -VT1Ì65536Ö0 -VTDLYÌ65536Ö0 -VTIMEÌ65536Ö0 -VWERASEÌ65536Ö0 -WAIT_ANYÌ65536Ö0 -WAIT_MYPGRPÌ65536Ö0 -WAIT_TMOUTÌ65536Ö0 -WARNÌ131072Í(...)Ö0 -WARNXÌ131072Í(...)Ö0 -WCHAR_MAXÌ65536Ö0 -WCHAR_MINÌ65536Ö0 -WCHAR_WIDTHÌ65536Ö0 -WCONTINUEDÌ65536Ö0 -WCOREDUMPÌ131072Í(status)Ö0 -WCOREFLAGÌ65536Ö0 -WEXITEDÌ65536Ö0 -WEXITSTATUSÌ131072Í(status)Ö0 -WIFCONTINUEDÌ131072Í(status)Ö0 -WIFEXITEDÌ131072Í(status)Ö0 -WIFSIGNALEDÌ131072Í(status)Ö0 -WIFSTOPPEDÌ131072Í(status)Ö0 -WINT_MAXÌ65536Ö0 -WINT_MINÌ65536Ö0 -WINT_WIDTHÌ65536Ö0 -WNOHANGÌ65536Ö0 -WNOWAITÌ65536Ö0 -WORD_BITÌ65536Ö0 -WSTOPPEDÌ65536Ö0 -WSTOPSIGÌ131072Í(status)Ö0 -WTERMSIGÌ131072Í(status)Ö0 -WUNTRACEDÌ65536Ö0 -W_EXITCODEÌ131072Í(ret,sig)Ö0 -W_OKÌ65536Ö0 -W_STOPCODEÌ131072Í(sig)Ö0 -XATTR_LIST_MAXÌ65536Ö0 -XATTR_NAME_MAXÌ65536Ö0 -XATTR_SIZE_MAXÌ65536Ö0 -XCASEÌ65536Ö0 -XTABSÌ65536Ö0 -X_OKÌ65536Ö0 -X_TLOSSÌ65536Ö0 -_Ì131072Í(String)Ö0 -_ALLOCA_HÌ65536Ö0 -_ANSI_STDARG_H_Ì65536Ö0 -_ARPA_INET_HÌ65536Ö0 -_ASM_GENERIC_ERRNO_BASE_HÌ65536Ö0 -_ASM_GENERIC_ERRNO_HÌ65536Ö0 -_ASM_GENERIC_INT_LL64_HÌ65536Ö0 -_ASM_GENERIC_IOCTL_HÌ65536Ö0 -_ASM_GENERIC_TYPES_HÌ65536Ö0 -_ASM_X86_POSIX_TYPES_64_HÌ65536Ö0 -_ASM_X86_TYPES_HÌ65536Ö0 -_ASM_X86_UNISTD_64_HÌ65536Ö0 -_ASM_X86_UNISTD_HÌ65536Ö0 -_ASSERT_HÌ65536Ö0 -_ATFILE_SOURCEÌ65536Ö0 -_BITS_BYTESWAP_HÌ65536Ö0 -_BITS_LIBM_SIMD_DECL_STUBS_HÌ65536Ö0 -_BITS_LOCALE_HÌ65536Ö0 -_BITS_POSIX1_LIM_HÌ65536Ö0 -_BITS_POSIX2_LIM_HÌ65536Ö0 -_BITS_POSIX_OPT_HÌ65536Ö0 -_BITS_PTHREADTYPES_HÌ65536Ö0 -_BITS_SETJMP_HÌ65536Ö0 -_BITS_SIGCONTEXT_HÌ65536Ö0 -_BITS_SIGSTACK_HÌ65536Ö0 -_BITS_SIGTHREAD_HÌ65536Ö0 -_BITS_SOCKADDR_HÌ65536Ö0 -_BITS_STAT_HÌ65536Ö0 -_BITS_SYSMACROS_HÌ65536Ö0 -_BITS_TIMEX_HÌ65536Ö0 -_BITS_TIME_HÌ65536Ö0 -_BITS_TYPESIZES_HÌ65536Ö0 -_BITS_TYPES_HÌ65536Ö0 -_BITS_UINTN_IDENTITY_HÌ65536Ö0 -_BITS_UIO_HÌ65536Ö0 -_BITS_UIO_H_FOR_SYS_UIO_HÌ65536Ö0 -_BITS_WCHAR_HÌ65536Ö0 -_BSD_SIZE_T_Ì65536Ö0 -_BSD_SIZE_T_DEFINED_Ì65536Ö0 -_BSD_WCHAR_T_Ì65536Ö0 -_BoolÌ65536Ö0 -_CPP_TYPE_TRAITS_HÌ65536Ö0 -_CS_GNU_LIBC_VERSIONÌ65536Ö0 -_CS_GNU_LIBPTHREAD_VERSIONÌ65536Ö0 -_CS_LFS64_CFLAGSÌ65536Ö0 -_CS_LFS64_LDFLAGSÌ65536Ö0 -_CS_LFS64_LIBSÌ65536Ö0 -_CS_LFS64_LINTFLAGSÌ65536Ö0 -_CS_LFS_CFLAGSÌ65536Ö0 -_CS_LFS_LDFLAGSÌ65536Ö0 -_CS_LFS_LIBSÌ65536Ö0 -_CS_LFS_LINTFLAGSÌ65536Ö0 -_CS_PATHÌ65536Ö0 -_CS_POSIX_V5_WIDTH_RESTRICTED_ENVSÌ65536Ö0 -_CS_POSIX_V6_ILP32_OFF32_CFLAGSÌ65536Ö0 -_CS_POSIX_V6_ILP32_OFF32_LDFLAGSÌ65536Ö0 -_CS_POSIX_V6_ILP32_OFF32_LIBSÌ65536Ö0 -_CS_POSIX_V6_ILP32_OFF32_LINTFLAGSÌ65536Ö0 -_CS_POSIX_V6_ILP32_OFFBIG_CFLAGSÌ65536Ö0 -_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGSÌ65536Ö0 -_CS_POSIX_V6_ILP32_OFFBIG_LIBSÌ65536Ö0 -_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGSÌ65536Ö0 -_CS_POSIX_V6_LP64_OFF64_CFLAGSÌ65536Ö0 -_CS_POSIX_V6_LP64_OFF64_LDFLAGSÌ65536Ö0 -_CS_POSIX_V6_LP64_OFF64_LIBSÌ65536Ö0 -_CS_POSIX_V6_LP64_OFF64_LINTFLAGSÌ65536Ö0 -_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGSÌ65536Ö0 -_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGSÌ65536Ö0 -_CS_POSIX_V6_LPBIG_OFFBIG_LIBSÌ65536Ö0 -_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGSÌ65536Ö0 -_CS_POSIX_V6_WIDTH_RESTRICTED_ENVSÌ65536Ö0 -_CS_POSIX_V7_ILP32_OFF32_CFLAGSÌ65536Ö0 -_CS_POSIX_V7_ILP32_OFF32_LDFLAGSÌ65536Ö0 -_CS_POSIX_V7_ILP32_OFF32_LIBSÌ65536Ö0 -_CS_POSIX_V7_ILP32_OFF32_LINTFLAGSÌ65536Ö0 -_CS_POSIX_V7_ILP32_OFFBIG_CFLAGSÌ65536Ö0 -_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGSÌ65536Ö0 -_CS_POSIX_V7_ILP32_OFFBIG_LIBSÌ65536Ö0 -_CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGSÌ65536Ö0 -_CS_POSIX_V7_LP64_OFF64_CFLAGSÌ65536Ö0 -_CS_POSIX_V7_LP64_OFF64_LDFLAGSÌ65536Ö0 -_CS_POSIX_V7_LP64_OFF64_LIBSÌ65536Ö0 -_CS_POSIX_V7_LP64_OFF64_LINTFLAGSÌ65536Ö0 -_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGSÌ65536Ö0 -_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGSÌ65536Ö0 -_CS_POSIX_V7_LPBIG_OFFBIG_LIBSÌ65536Ö0 -_CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGSÌ65536Ö0 -_CS_POSIX_V7_WIDTH_RESTRICTED_ENVSÌ65536Ö0 -_CS_V5_WIDTH_RESTRICTED_ENVSÌ65536Ö0 -_CS_V6_ENVÌ65536Ö0 -_CS_V6_WIDTH_RESTRICTED_ENVSÌ65536Ö0 -_CS_V7_ENVÌ65536Ö0 -_CS_V7_WIDTH_RESTRICTED_ENVSÌ65536Ö0 -_CS_XBS5_ILP32_OFF32_CFLAGSÌ65536Ö0 -_CS_XBS5_ILP32_OFF32_LDFLAGSÌ65536Ö0 -_CS_XBS5_ILP32_OFF32_LIBSÌ65536Ö0 -_CS_XBS5_ILP32_OFF32_LINTFLAGSÌ65536Ö0 -_CS_XBS5_ILP32_OFFBIG_CFLAGSÌ65536Ö0 -_CS_XBS5_ILP32_OFFBIG_LDFLAGSÌ65536Ö0 -_CS_XBS5_ILP32_OFFBIG_LIBSÌ65536Ö0 -_CS_XBS5_ILP32_OFFBIG_LINTFLAGSÌ65536Ö0 -_CS_XBS5_LP64_OFF64_CFLAGSÌ65536Ö0 -_CS_XBS5_LP64_OFF64_LDFLAGSÌ65536Ö0 -_CS_XBS5_LP64_OFF64_LIBSÌ65536Ö0 -_CS_XBS5_LP64_OFF64_LINTFLAGSÌ65536Ö0 -_CS_XBS5_LPBIG_OFFBIG_CFLAGSÌ65536Ö0 -_CS_XBS5_LPBIG_OFFBIG_LDFLAGSÌ65536Ö0 -_CS_XBS5_LPBIG_OFFBIG_LIBSÌ65536Ö0 -_CS_XBS5_LPBIG_OFFBIG_LINTFLAGSÌ65536Ö0 -_CTYPE_HÌ65536Ö0 -_DEFAULT_SOURCEÌ65536Ö0 -_ENDIAN_HÌ65536Ö0 -_ERRNO_HÌ65536Ö0 -_ERR_HÌ65536Ö0 -_EXTERN_INLINEÌ65536Ö0 -_EXT_TYPE_TRAITSÌ65536Ö0 -_ExitÌ65536Ö0 -_FALLOC_H_Ì65536Ö0 -_FCNTL_HÌ65536Ö0 -_FEATURES_HÌ65536Ö0 -_FORTIFY_SOURCEÌ65536Ö0 -_GCC_LIMITS_H_Ì65536Ö0 -_GCC_NEXT_LIMITS_HÌ65536Ö0 -_GCC_SIZE_TÌ65536Ö0 -_GCC_WCHAR_TÌ65536Ö0 -_GCC_WRAP_STDINT_HÌ65536Ö0 -_GETOPT_HÌ65536Ö0 -_GLIBCXX11_USE_C99_COMPLEXÌ65536Ö0 -_GLIBCXX11_USE_C99_MATHÌ65536Ö0 -_GLIBCXX11_USE_C99_STDIOÌ65536Ö0 -_GLIBCXX11_USE_C99_STDLIBÌ65536Ö0 -_GLIBCXX11_USE_C99_WCHARÌ65536Ö0 -_GLIBCXX14_CONSTEXPRÌ65536Ö0 -_GLIBCXX98_USE_C99_COMPLEXÌ65536Ö0 -_GLIBCXX98_USE_C99_MATHÌ65536Ö0 -_GLIBCXX98_USE_C99_STDIOÌ65536Ö0 -_GLIBCXX98_USE_C99_STDLIBÌ65536Ö0 -_GLIBCXX98_USE_C99_WCHARÌ65536Ö0 -_GLIBCXX_ABI_TAG_CXX11Ì65536Ö0 -_GLIBCXX_ATOMIC_BUILTINSÌ65536Ö0 -_GLIBCXX_BEGIN_EXTERN_CÌ65536Ö0 -_GLIBCXX_BEGIN_NAMESPACE_ALGOÌ65536Ö0 -_GLIBCXX_BEGIN_NAMESPACE_CONTAINERÌ65536Ö0 -_GLIBCXX_BEGIN_NAMESPACE_CXX11Ì65536Ö0 -_GLIBCXX_BEGIN_NAMESPACE_LDBLÌ65536Ö0 -_GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11Ì65536Ö0 -_GLIBCXX_BEGIN_NAMESPACE_VERSIONÌ65536Ö0 -_GLIBCXX_CMATHÌ65536Ö0 -_GLIBCXX_CONSTÌ65536Ö0 -_GLIBCXX_CONSTEXPRÌ65536Ö0 -_GLIBCXX_CPU_DEFINESÌ65536Ö0 -_GLIBCXX_CSTDLIBÌ65536Ö0 -_GLIBCXX_CXX_CONFIG_HÌ65536Ö0 -_GLIBCXX_DEFAULT_ABI_TAGÌ65536Ö0 -_GLIBCXX_DEPRECATEDÌ65536Ö0 -_GLIBCXX_END_EXTERN_CÌ65536Ö0 -_GLIBCXX_END_NAMESPACE_ALGOÌ65536Ö0 -_GLIBCXX_END_NAMESPACE_CONTAINERÌ65536Ö0 -_GLIBCXX_END_NAMESPACE_CXX11Ì65536Ö0 -_GLIBCXX_END_NAMESPACE_LDBLÌ65536Ö0 -_GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11Ì65536Ö0 -_GLIBCXX_END_NAMESPACE_VERSIONÌ65536Ö0 -_GLIBCXX_EXTERN_TEMPLATEÌ65536Ö0 -_GLIBCXX_FAST_MATHÌ65536Ö0 -_GLIBCXX_FULLY_DYNAMIC_STRINGÌ65536Ö0 -_GLIBCXX_HAS_GTHREADSÌ65536Ö0 -_GLIBCXX_HAVE_ACOSFÌ65536Ö0 -_GLIBCXX_HAVE_ACOSLÌ65536Ö0 -_GLIBCXX_HAVE_ASINFÌ65536Ö0 -_GLIBCXX_HAVE_ASINLÌ65536Ö0 -_GLIBCXX_HAVE_AS_SYMVER_DIRECTIVEÌ65536Ö0 -_GLIBCXX_HAVE_ATAN2FÌ65536Ö0 -_GLIBCXX_HAVE_ATAN2LÌ65536Ö0 -_GLIBCXX_HAVE_ATANFÌ65536Ö0 -_GLIBCXX_HAVE_ATANLÌ65536Ö0 -_GLIBCXX_HAVE_ATTRIBUTE_VISIBILITYÌ65536Ö0 -_GLIBCXX_HAVE_AT_QUICK_EXITÌ65536Ö0 -_GLIBCXX_HAVE_CEILFÌ65536Ö0 -_GLIBCXX_HAVE_CEILLÌ65536Ö0 -_GLIBCXX_HAVE_COMPLEX_HÌ65536Ö0 -_GLIBCXX_HAVE_COSFÌ65536Ö0 -_GLIBCXX_HAVE_COSHFÌ65536Ö0 -_GLIBCXX_HAVE_COSHLÌ65536Ö0 -_GLIBCXX_HAVE_COSLÌ65536Ö0 -_GLIBCXX_HAVE_DIRENT_HÌ65536Ö0 -_GLIBCXX_HAVE_DLFCN_HÌ65536Ö0 -_GLIBCXX_HAVE_EBADMSGÌ65536Ö0 -_GLIBCXX_HAVE_ECANCELEDÌ65536Ö0 -_GLIBCXX_HAVE_ECHILDÌ65536Ö0 -_GLIBCXX_HAVE_EIDRMÌ65536Ö0 -_GLIBCXX_HAVE_ENDIAN_HÌ65536Ö0 -_GLIBCXX_HAVE_ENODATAÌ65536Ö0 -_GLIBCXX_HAVE_ENOLINKÌ65536Ö0 -_GLIBCXX_HAVE_ENOSPCÌ65536Ö0 -_GLIBCXX_HAVE_ENOSRÌ65536Ö0 -_GLIBCXX_HAVE_ENOSTRÌ65536Ö0 -_GLIBCXX_HAVE_ENOTRECOVERABLEÌ65536Ö0 -_GLIBCXX_HAVE_ENOTSUPÌ65536Ö0 -_GLIBCXX_HAVE_EOVERFLOWÌ65536Ö0 -_GLIBCXX_HAVE_EOWNERDEADÌ65536Ö0 -_GLIBCXX_HAVE_EPERMÌ65536Ö0 -_GLIBCXX_HAVE_EPROTOÌ65536Ö0 -_GLIBCXX_HAVE_ETIMEÌ65536Ö0 -_GLIBCXX_HAVE_ETIMEDOUTÌ65536Ö0 -_GLIBCXX_HAVE_ETXTBSYÌ65536Ö0 -_GLIBCXX_HAVE_EWOULDBLOCKÌ65536Ö0 -_GLIBCXX_HAVE_EXECINFO_HÌ65536Ö0 -_GLIBCXX_HAVE_EXPFÌ65536Ö0 -_GLIBCXX_HAVE_EXPLÌ65536Ö0 -_GLIBCXX_HAVE_FABSFÌ65536Ö0 -_GLIBCXX_HAVE_FABSLÌ65536Ö0 -_GLIBCXX_HAVE_FCNTL_HÌ65536Ö0 -_GLIBCXX_HAVE_FENV_HÌ65536Ö0 -_GLIBCXX_HAVE_FINITEÌ65536Ö0 -_GLIBCXX_HAVE_FINITEFÌ65536Ö0 -_GLIBCXX_HAVE_FINITELÌ65536Ö0 -_GLIBCXX_HAVE_FLOAT_HÌ65536Ö0 -_GLIBCXX_HAVE_FLOORFÌ65536Ö0 -_GLIBCXX_HAVE_FLOORLÌ65536Ö0 -_GLIBCXX_HAVE_FMODFÌ65536Ö0 -_GLIBCXX_HAVE_FMODLÌ65536Ö0 -_GLIBCXX_HAVE_FREXPFÌ65536Ö0 -_GLIBCXX_HAVE_FREXPLÌ65536Ö0 -_GLIBCXX_HAVE_GETIPINFOÌ65536Ö0 -_GLIBCXX_HAVE_GETSÌ65536Ö0 -_GLIBCXX_HAVE_HYPOTÌ65536Ö0 -_GLIBCXX_HAVE_HYPOTFÌ65536Ö0 -_GLIBCXX_HAVE_HYPOTLÌ65536Ö0 -_GLIBCXX_HAVE_ICONVÌ65536Ö0 -_GLIBCXX_HAVE_INT64_TÌ65536Ö0 -_GLIBCXX_HAVE_INT64_T_LONGÌ65536Ö0 -_GLIBCXX_HAVE_INTTYPES_HÌ65536Ö0 -_GLIBCXX_HAVE_ISINFFÌ65536Ö0 -_GLIBCXX_HAVE_ISINFLÌ65536Ö0 -_GLIBCXX_HAVE_ISNANFÌ65536Ö0 -_GLIBCXX_HAVE_ISNANLÌ65536Ö0 -_GLIBCXX_HAVE_ISWBLANKÌ65536Ö0 -_GLIBCXX_HAVE_LC_MESSAGESÌ65536Ö0 -_GLIBCXX_HAVE_LDEXPFÌ65536Ö0 -_GLIBCXX_HAVE_LDEXPLÌ65536Ö0 -_GLIBCXX_HAVE_LIBINTL_HÌ65536Ö0 -_GLIBCXX_HAVE_LIMIT_ASÌ65536Ö0 -_GLIBCXX_HAVE_LIMIT_DATAÌ65536Ö0 -_GLIBCXX_HAVE_LIMIT_FSIZEÌ65536Ö0 -_GLIBCXX_HAVE_LIMIT_RSSÌ65536Ö0 -_GLIBCXX_HAVE_LIMIT_VMEMÌ65536Ö0 -_GLIBCXX_HAVE_LINUX_FUTEXÌ65536Ö0 -_GLIBCXX_HAVE_LOCALE_HÌ65536Ö0 -_GLIBCXX_HAVE_LOG10FÌ65536Ö0 -_GLIBCXX_HAVE_LOG10LÌ65536Ö0 -_GLIBCXX_HAVE_LOGFÌ65536Ö0 -_GLIBCXX_HAVE_LOGLÌ65536Ö0 -_GLIBCXX_HAVE_MBSTATE_TÌ65536Ö0 -_GLIBCXX_HAVE_MEMORY_HÌ65536Ö0 -_GLIBCXX_HAVE_MODFÌ65536Ö0 -_GLIBCXX_HAVE_MODFFÌ65536Ö0 -_GLIBCXX_HAVE_MODFLÌ65536Ö0 -_GLIBCXX_HAVE_POLLÌ65536Ö0 -_GLIBCXX_HAVE_POWFÌ65536Ö0 -_GLIBCXX_HAVE_POWLÌ65536Ö0 -_GLIBCXX_HAVE_QUICK_EXITÌ65536Ö0 -_GLIBCXX_HAVE_SETENVÌ65536Ö0 -_GLIBCXX_HAVE_SINCOSÌ65536Ö0 -_GLIBCXX_HAVE_SINCOSFÌ65536Ö0 -_GLIBCXX_HAVE_SINCOSLÌ65536Ö0 -_GLIBCXX_HAVE_SINFÌ65536Ö0 -_GLIBCXX_HAVE_SINHFÌ65536Ö0 -_GLIBCXX_HAVE_SINHLÌ65536Ö0 -_GLIBCXX_HAVE_SINLÌ65536Ö0 -_GLIBCXX_HAVE_SQRTFÌ65536Ö0 -_GLIBCXX_HAVE_SQRTLÌ65536Ö0 -_GLIBCXX_HAVE_STDALIGN_HÌ65536Ö0 -_GLIBCXX_HAVE_STDBOOL_HÌ65536Ö0 -_GLIBCXX_HAVE_STDINT_HÌ65536Ö0 -_GLIBCXX_HAVE_STDLIB_HÌ65536Ö0 -_GLIBCXX_HAVE_STRERROR_LÌ65536Ö0 -_GLIBCXX_HAVE_STRERROR_RÌ65536Ö0 -_GLIBCXX_HAVE_STRINGS_HÌ65536Ö0 -_GLIBCXX_HAVE_STRING_HÌ65536Ö0 -_GLIBCXX_HAVE_STRTOFÌ65536Ö0 -_GLIBCXX_HAVE_STRTOLDÌ65536Ö0 -_GLIBCXX_HAVE_STRUCT_DIRENT_D_TYPEÌ65536Ö0 -_GLIBCXX_HAVE_STRXFRM_LÌ65536Ö0 -_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORTÌ65536Ö0 -_GLIBCXX_HAVE_SYS_IOCTL_HÌ65536Ö0 -_GLIBCXX_HAVE_SYS_IPC_HÌ65536Ö0 -_GLIBCXX_HAVE_SYS_PARAM_HÌ65536Ö0 -_GLIBCXX_HAVE_SYS_RESOURCE_HÌ65536Ö0 -_GLIBCXX_HAVE_SYS_SEM_HÌ65536Ö0 -_GLIBCXX_HAVE_SYS_STATVFS_HÌ65536Ö0 -_GLIBCXX_HAVE_SYS_STAT_HÌ65536Ö0 -_GLIBCXX_HAVE_SYS_SYSINFO_HÌ65536Ö0 -_GLIBCXX_HAVE_SYS_TIME_HÌ65536Ö0 -_GLIBCXX_HAVE_SYS_TYPES_HÌ65536Ö0 -_GLIBCXX_HAVE_SYS_UIO_HÌ65536Ö0 -_GLIBCXX_HAVE_S_ISREGÌ65536Ö0 -_GLIBCXX_HAVE_TANFÌ65536Ö0 -_GLIBCXX_HAVE_TANHFÌ65536Ö0 -_GLIBCXX_HAVE_TANHLÌ65536Ö0 -_GLIBCXX_HAVE_TANLÌ65536Ö0 -_GLIBCXX_HAVE_TGMATH_HÌ65536Ö0 -_GLIBCXX_HAVE_TLSÌ65536Ö0 -_GLIBCXX_HAVE_UCHAR_HÌ65536Ö0 -_GLIBCXX_HAVE_UNISTD_HÌ65536Ö0 -_GLIBCXX_HAVE_UTIME_HÌ65536Ö0 -_GLIBCXX_HAVE_VFWSCANFÌ65536Ö0 -_GLIBCXX_HAVE_VSWSCANFÌ65536Ö0 -_GLIBCXX_HAVE_VWSCANFÌ65536Ö0 -_GLIBCXX_HAVE_WCHAR_HÌ65536Ö0 -_GLIBCXX_HAVE_WCSTOFÌ65536Ö0 -_GLIBCXX_HAVE_WCTYPE_HÌ65536Ö0 -_GLIBCXX_HAVE_WRITEVÌ65536Ö0 -_GLIBCXX_HAVE___CXA_THREAD_ATEXIT_IMPLÌ65536Ö0 -_GLIBCXX_HOSTEDÌ65536Ö0 -_GLIBCXX_ICONV_CONSTÌ65536Ö0 -_GLIBCXX_INCLUDE_NEXT_C_HEADERSÌ65536Ö0 -_GLIBCXX_INLINE_VERSIONÌ65536Ö0 -_GLIBCXX_LONG_DOUBLE_COMPATÌ65536Ö0 -_GLIBCXX_MANGLE_SIZE_TÌ65536Ö0 -_GLIBCXX_MATH_HÌ65536Ö0 -_GLIBCXX_NAMESPACE_CXX11Ì65536Ö0 -_GLIBCXX_NAMESPACE_LDBLÌ65536Ö0 -_GLIBCXX_NAMESPACE_LDBL_OR_CXX11Ì65536Ö0 -_GLIBCXX_NOEXCEPTÌ65536Ö0 -_GLIBCXX_NOEXCEPT_IFÌ131072Í(_COND)Ö0 -_GLIBCXX_NORETURNÌ65536Ö0 -_GLIBCXX_NOTHROWÌ65536Ö0 -_GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMICÌ65536Ö0 -_GLIBCXX_OS_DEFINESÌ65536Ö0 -_GLIBCXX_PACKAGE_BUGREPORTÌ65536Ö0 -_GLIBCXX_PACKAGE_NAMEÌ65536Ö0 -_GLIBCXX_PACKAGE_STRINGÌ65536Ö0 -_GLIBCXX_PACKAGE_TARNAMEÌ65536Ö0 -_GLIBCXX_PACKAGE_URLÌ65536Ö0 -_GLIBCXX_PACKAGE__GLIBCXX_VERSIONÌ65536Ö0 -_GLIBCXX_PSEUDO_VISIBILITYÌ131072Í(V)Ö0 -_GLIBCXX_PUREÌ65536Ö0 -_GLIBCXX_RES_LIMITSÌ65536Ö0 -_GLIBCXX_STDIO_EOFÌ65536Ö0 -_GLIBCXX_STDIO_SEEK_CURÌ65536Ö0 -_GLIBCXX_STDIO_SEEK_ENDÌ65536Ö0 -_GLIBCXX_STDLIB_HÌ65536Ö0 -_GLIBCXX_STD_AÌ65536Ö0 -_GLIBCXX_STD_CÌ65536Ö0 -_GLIBCXX_SYMVERÌ65536Ö0 -_GLIBCXX_SYMVER_GNUÌ65536Ö0 -_GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTERÌ131072Í(A)Ö0 -_GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFOREÌ131072Í(A)Ö0 -_GLIBCXX_THROWÌ131072Í(_EXC)Ö0 -_GLIBCXX_THROW_OR_ABORTÌ131072Í(_EXC)Ö0 -_GLIBCXX_TXN_SAFEÌ65536Ö0 -_GLIBCXX_TXN_SAFE_DYNÌ65536Ö0 -_GLIBCXX_USE_ALLOCATOR_NEWÌ65536Ö0 -_GLIBCXX_USE_C11_UCHAR_CXX11Ì65536Ö0 -_GLIBCXX_USE_C99Ì65536Ö0 -_GLIBCXX_USE_C99_COMPLEXÌ65536Ö0 -_GLIBCXX_USE_C99_COMPLEX_TR1Ì65536Ö0 -_GLIBCXX_USE_C99_CTYPE_TR1Ì65536Ö0 -_GLIBCXX_USE_C99_FENV_TR1Ì65536Ö0 -_GLIBCXX_USE_C99_INTTYPES_TR1Ì65536Ö0 -_GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1Ì65536Ö0 -_GLIBCXX_USE_C99_MATHÌ65536Ö0 -_GLIBCXX_USE_C99_MATH_TR1Ì65536Ö0 -_GLIBCXX_USE_C99_STDINT_TR1Ì65536Ö0 -_GLIBCXX_USE_C99_STDIOÌ65536Ö0 -_GLIBCXX_USE_C99_STDLIBÌ65536Ö0 -_GLIBCXX_USE_C99_WCHARÌ65536Ö0 -_GLIBCXX_USE_CLOCK_MONOTONICÌ65536Ö0 -_GLIBCXX_USE_CLOCK_REALTIMEÌ65536Ö0 -_GLIBCXX_USE_CONSTEXPRÌ65536Ö0 -_GLIBCXX_USE_CXX11_ABIÌ65536Ö0 -_GLIBCXX_USE_DECIMAL_FLOATÌ65536Ö0 -_GLIBCXX_USE_DEPRECATEDÌ65536Ö0 -_GLIBCXX_USE_DUAL_ABIÌ65536Ö0 -_GLIBCXX_USE_FCHMODÌ65536Ö0 -_GLIBCXX_USE_FCHMODATÌ65536Ö0 -_GLIBCXX_USE_FLOAT128Ì65536Ö0 -_GLIBCXX_USE_GETTIMEOFDAYÌ65536Ö0 -_GLIBCXX_USE_GET_NPROCSÌ65536Ö0 -_GLIBCXX_USE_INT128Ì65536Ö0 -_GLIBCXX_USE_LFSÌ65536Ö0 -_GLIBCXX_USE_LONG_LONGÌ65536Ö0 -_GLIBCXX_USE_NANOSLEEPÌ65536Ö0 -_GLIBCXX_USE_NLSÌ65536Ö0 -_GLIBCXX_USE_NOEXCEPTÌ65536Ö0 -_GLIBCXX_USE_PTHREAD_RWLOCK_TÌ65536Ö0 -_GLIBCXX_USE_RANDOM_TR1Ì65536Ö0 -_GLIBCXX_USE_REALPATHÌ65536Ö0 -_GLIBCXX_USE_SCHED_YIELDÌ65536Ö0 -_GLIBCXX_USE_SC_NPROCESSORS_ONLNÌ65536Ö0 -_GLIBCXX_USE_SENDFILEÌ65536Ö0 -_GLIBCXX_USE_ST_MTIMÌ65536Ö0 -_GLIBCXX_USE_TMPNAMÌ65536Ö0 -_GLIBCXX_USE_UTIMENSATÌ65536Ö0 -_GLIBCXX_USE_WCHAR_TÌ65536Ö0 -_GLIBCXX_USE_WEAK_REFÌ65536Ö0 -_GLIBCXX_VERBOSEÌ65536Ö0 -_GLIBCXX_VISIBILITYÌ131072Í(V)Ö0 -_GLIBCXX_WEAK_DEFINITIONÌ65536Ö0 -_GLIBCXX_X86_RDRANDÌ65536Ö0 -_GNU_SOURCEÌ65536Ö0 -_GTHREAD_USE_MUTEX_TIMEDLOCKÌ65536Ö0 -_G_BUFSIZÌ65536Ö0 -_G_HAVE_MMAPÌ65536Ö0 -_G_HAVE_MREMAPÌ65536Ö0 -_G_HAVE_ST_BLKSIZEÌ65536Ö0 -_G_IO_IO_FILE_VERSIONÌ65536Ö0 -_G_config_hÌ65536Ö0 -_G_va_listÌ65536Ö0 -_HAVE_STRUCT_TERMIOS_C_ISPEEDÌ65536Ö0 -_HAVE_STRUCT_TERMIOS_C_OSPEEDÌ65536Ö0 -_IOÌ131072Í(type,nr)Ö0 -_IOCÌ131072Í(dir,type,nr,size)Ö0 -_IOC_DIRÌ131072Í(nr)Ö0 -_IOC_DIRBITSÌ65536Ö0 -_IOC_DIRMASKÌ65536Ö0 -_IOC_DIRSHIFTÌ65536Ö0 -_IOC_NONEÌ65536Ö0 -_IOC_NRÌ131072Í(nr)Ö0 -_IOC_NRBITSÌ65536Ö0 -_IOC_NRMASKÌ65536Ö0 -_IOC_NRSHIFTÌ65536Ö0 -_IOC_READÌ65536Ö0 -_IOC_SIZEÌ131072Í(nr)Ö0 -_IOC_SIZEBITSÌ65536Ö0 -_IOC_SIZEMASKÌ65536Ö0 -_IOC_SIZESHIFTÌ65536Ö0 -_IOC_TYPEÌ131072Í(nr)Ö0 -_IOC_TYPEBITSÌ65536Ö0 -_IOC_TYPECHECKÌ131072Í(t)Ö0 -_IOC_TYPEMASKÌ65536Ö0 -_IOC_TYPESHIFTÌ65536Ö0 -_IOC_WRITEÌ65536Ö0 -_IOFBFÌ65536Ö0 -_IOLBFÌ65536Ö0 -_IONBFÌ65536Ö0 -_IORÌ131072Í(type,nr,size)Ö0 -_IOR_BADÌ131072Í(type,nr,size)Ö0 -_IOS_APPENDÌ65536Ö0 -_IOS_ATENDÌ65536Ö0 -_IOS_BINÌ65536Ö0 -_IOS_INPUTÌ65536Ö0 -_IOS_NOCREATEÌ65536Ö0 -_IOS_NOREPLACEÌ65536Ö0 -_IOS_OUTPUTÌ65536Ö0 -_IOS_TRUNCÌ65536Ö0 -_IOT_termiosÌ65536Ö0 -_IOWÌ131072Í(type,nr,size)Ö0 -_IOWRÌ131072Í(type,nr,size)Ö0 -_IOWR_BADÌ131072Í(type,nr,size)Ö0 -_IOW_BADÌ131072Í(type,nr,size)Ö0 -_IO_BAD_SEENÌ65536Ö0 -_IO_BEÌ131072Í(expr,res)Ö0 -_IO_BOOLALPHAÌ65536Ö0 -_IO_BUFSIZÌ65536Ö0 -_IO_CURRENTLY_PUTTINGÌ65536Ö0 -_IO_DECÌ65536Ö0 -_IO_DELETE_DONT_CLOSEÌ65536Ö0 -_IO_DONT_CLOSEÌ65536Ö0 -_IO_EOF_SEENÌ65536Ö0 -_IO_ERR_SEENÌ65536Ö0 -_IO_FIXEDÌ65536Ö0 -_IO_FLAGS2_MMAPÌ65536Ö0 -_IO_FLAGS2_NOTCANCELÌ65536Ö0 -_IO_FLAGS2_USER_WBUFÌ65536Ö0 -_IO_HAVE_ST_BLKSIZEÌ65536Ö0 -_IO_HEXÌ65536Ö0 -_IO_INTERNALÌ65536Ö0 -_IO_IN_BACKUPÌ65536Ö0 -_IO_IS_APPENDINGÌ65536Ö0 -_IO_IS_FILEBUFÌ65536Ö0 -_IO_LEFTÌ65536Ö0 -_IO_LINE_BUFÌ65536Ö0 -_IO_LINKEDÌ65536Ö0 -_IO_MAGICÌ65536Ö0 -_IO_MAGIC_MASKÌ65536Ö0 -_IO_NO_READSÌ65536Ö0 -_IO_NO_WRITESÌ65536Ö0 -_IO_OCTÌ65536Ö0 -_IO_PENDING_OUTPUT_COUNTÌ131072Í(_fp)Ö0 -_IO_RIGHTÌ65536Ö0 -_IO_SCIENTIFICÌ65536Ö0 -_IO_SHOWBASEÌ65536Ö0 -_IO_SHOWPOINTÌ65536Ö0 -_IO_SHOWPOSÌ65536Ö0 -_IO_SKIPWSÌ65536Ö0 -_IO_STDIOÌ65536Ö0 -_IO_STDIO_HÌ65536Ö0 -_IO_TIED_PUT_GETÌ65536Ö0 -_IO_UNBUFFEREDÌ65536Ö0 -_IO_UNIFIED_JUMPTABLESÌ65536Ö0 -_IO_UNITBUFÌ65536Ö0 -_IO_UPPERCASEÌ65536Ö0 -_IO_USER_BUFÌ65536Ö0 -_IO_USER_LOCKÌ65536Ö0 -_IO_cleanup_region_endÌ131072Í(_Doit)Ö0 -_IO_cleanup_region_startÌ131072Í(_fct,_fp)Ö0 -_IO_feof_unlockedÌ131072Í(__fp)Ö0 -_IO_ferror_unlockedÌ131072Í(__fp)Ö0 -_IO_file_flagsÌ65536Ö0 -_IO_flockfileÌ131072Í(_fp)Ö0 -_IO_fpos64_tÌ65536Ö0 -_IO_fpos_tÌ65536Ö0 -_IO_ftrylockfileÌ131072Í(_fp)Ö0 -_IO_funlockfileÌ131072Í(_fp)Ö0 -_IO_getc_unlockedÌ131072Í(_fp)Ö0 -_IO_iconv_tÌ65536Ö0 -_IO_off64_tÌ65536Ö0 -_IO_off_tÌ65536Ö0 -_IO_peekcÌ131072Í(_fp)Ö0 -_IO_peekc_unlockedÌ131072Í(_fp)Ö0 -_IO_pid_tÌ65536Ö0 -_IO_putc_unlockedÌ131072Í(_ch,_fp)Ö0 -_IO_size_tÌ65536Ö0 -_IO_ssize_tÌ65536Ö0 -_IO_stderrÌ65536Ö0 -_IO_stdinÌ65536Ö0 -_IO_stdoutÌ65536Ö0 -_IO_uid_tÌ65536Ö0 -_IO_va_listÌ65536Ö0 -_IO_wint_tÌ65536Ö0 -_ISOC11_SOURCEÌ65536Ö0 -_ISOC95_SOURCEÌ65536Ö0 -_ISOC99_SOURCEÌ65536Ö0 -_ISbitÌ131072Í(bit)Ö0 -_LARGEFILE64_SOURCEÌ65536Ö0 -_LARGEFILE_SOURCEÌ65536Ö0 -_LFS64_ASYNCHRONOUS_IOÌ65536Ö0 -_LFS64_LARGEFILEÌ65536Ö0 -_LFS64_STDIOÌ65536Ö0 -_LFS_ASYNCHRONOUS_IOÌ65536Ö0 -_LFS_LARGEFILEÌ65536Ö0 -_LIBC_LIMITS_H_Ì65536Ö0 -_LIBINTL_HÌ65536Ö0 -_LIMITS_H___Ì65536Ö0 -_LINUX_IOCTL_HÌ65536Ö0 -_LINUX_LIMITS_HÌ65536Ö0 -_LINUX_POSIX_TYPES_HÌ65536Ö0 -_LINUX_PRCTL_HÌ65536Ö0 -_LINUX_TYPES_HÌ65536Ö0 -_LOCALE_HÌ65536Ö0 -_LP64Ì65536Ö0 -_MATH_HÌ65536Ö0 -_MKNOD_VERÌ65536Ö0 -_MKNOD_VER_LINUXÌ65536Ö0 -_Mdouble_Ì65536Ö0 -_Mdouble_BEGIN_NAMESPACEÌ65536Ö0 -_Mdouble_END_NAMESPACEÌ65536Ö0 -_Mfloat_Ì65536Ö0 -_Mlong_double_Ì65536Ö0 -_NETDB_HÌ65536Ö0 -_NETINET_IN_HÌ65536Ö0 -_NSIGÌ65536Ö0 -_OLD_STDIO_MAGICÌ65536Ö0 -_PATH_HEQUIVÌ65536Ö0 -_PATH_HOSTSÌ65536Ö0 -_PATH_NETWORKSÌ65536Ö0 -_PATH_NSSWITCH_CONFÌ65536Ö0 -_PATH_PROTOCOLSÌ65536Ö0 -_PATH_SERVICESÌ65536Ö0 -_PC_2_SYMLINKSÌ65536Ö0 -_PC_ALLOC_SIZE_MINÌ65536Ö0 -_PC_ASYNC_IOÌ65536Ö0 -_PC_CHOWN_RESTRICTEDÌ65536Ö0 -_PC_FILESIZEBITSÌ65536Ö0 -_PC_LINK_MAXÌ65536Ö0 -_PC_MAX_CANONÌ65536Ö0 -_PC_MAX_INPUTÌ65536Ö0 -_PC_NAME_MAXÌ65536Ö0 -_PC_NO_TRUNCÌ65536Ö0 -_PC_PATH_MAXÌ65536Ö0 -_PC_PIPE_BUFÌ65536Ö0 -_PC_PRIO_IOÌ65536Ö0 -_PC_REC_INCR_XFER_SIZEÌ65536Ö0 -_PC_REC_MAX_XFER_SIZEÌ65536Ö0 -_PC_REC_MIN_XFER_SIZEÌ65536Ö0 -_PC_REC_XFER_ALIGNÌ65536Ö0 -_PC_SOCK_MAXBUFÌ65536Ö0 -_PC_SYMLINK_MAXÌ65536Ö0 -_PC_SYNC_IOÌ65536Ö0 -_PC_VDISABLEÌ65536Ö0 -_POSIX2_BC_BASE_MAXÌ65536Ö0 -_POSIX2_BC_DIM_MAXÌ65536Ö0 -_POSIX2_BC_SCALE_MAXÌ65536Ö0 -_POSIX2_BC_STRING_MAXÌ65536Ö0 -_POSIX2_CHARCLASS_NAME_MAXÌ65536Ö0 -_POSIX2_CHAR_TERMÌ65536Ö0 -_POSIX2_COLL_WEIGHTS_MAXÌ65536Ö0 -_POSIX2_C_BINDÌ65536Ö0 -_POSIX2_C_DEVÌ65536Ö0 -_POSIX2_C_VERSIONÌ65536Ö0 -_POSIX2_EXPR_NEST_MAXÌ65536Ö0 -_POSIX2_LINE_MAXÌ65536Ö0 -_POSIX2_LOCALEDEFÌ65536Ö0 -_POSIX2_RE_DUP_MAXÌ65536Ö0 -_POSIX2_SW_DEVÌ65536Ö0 -_POSIX2_VERSIONÌ65536Ö0 -_POSIX_ADVISORY_INFOÌ65536Ö0 -_POSIX_AIO_LISTIO_MAXÌ65536Ö0 -_POSIX_AIO_MAXÌ65536Ö0 -_POSIX_ARG_MAXÌ65536Ö0 -_POSIX_ASYNCHRONOUS_IOÌ65536Ö0 -_POSIX_ASYNC_IOÌ65536Ö0 -_POSIX_BARRIERSÌ65536Ö0 -_POSIX_CHILD_MAXÌ65536Ö0 -_POSIX_CHOWN_RESTRICTEDÌ65536Ö0 -_POSIX_CLOCKRES_MINÌ65536Ö0 -_POSIX_CLOCK_SELECTIONÌ65536Ö0 -_POSIX_CPUTIMEÌ65536Ö0 -_POSIX_C_SOURCEÌ65536Ö0 -_POSIX_DELAYTIMER_MAXÌ65536Ö0 -_POSIX_FD_SETSIZEÌ65536Ö0 -_POSIX_FSYNCÌ65536Ö0 -_POSIX_HIWATÌ65536Ö0 -_POSIX_HOST_NAME_MAXÌ65536Ö0 -_POSIX_IPV6Ì65536Ö0 -_POSIX_JOB_CONTROLÌ65536Ö0 -_POSIX_LINK_MAXÌ65536Ö0 -_POSIX_LOGIN_NAME_MAXÌ65536Ö0 -_POSIX_MAPPED_FILESÌ65536Ö0 -_POSIX_MAX_CANONÌ65536Ö0 -_POSIX_MAX_INPUTÌ65536Ö0 -_POSIX_MEMLOCKÌ65536Ö0 -_POSIX_MEMLOCK_RANGEÌ65536Ö0 -_POSIX_MEMORY_PROTECTIONÌ65536Ö0 -_POSIX_MESSAGE_PASSINGÌ65536Ö0 -_POSIX_MONOTONIC_CLOCKÌ65536Ö0 -_POSIX_MQ_OPEN_MAXÌ65536Ö0 -_POSIX_MQ_PRIO_MAXÌ65536Ö0 -_POSIX_NAME_MAXÌ65536Ö0 -_POSIX_NGROUPS_MAXÌ65536Ö0 -_POSIX_NO_TRUNCÌ65536Ö0 -_POSIX_OPEN_MAXÌ65536Ö0 -_POSIX_PATH_MAXÌ65536Ö0 -_POSIX_PIPE_BUFÌ65536Ö0 -_POSIX_PRIORITIZED_IOÌ65536Ö0 -_POSIX_PRIORITY_SCHEDULINGÌ65536Ö0 -_POSIX_QLIMITÌ65536Ö0 -_POSIX_RAW_SOCKETSÌ65536Ö0 -_POSIX_READER_WRITER_LOCKSÌ65536Ö0 -_POSIX_REALTIME_SIGNALSÌ65536Ö0 -_POSIX_REENTRANT_FUNCTIONSÌ65536Ö0 -_POSIX_REGEXPÌ65536Ö0 -_POSIX_RE_DUP_MAXÌ65536Ö0 -_POSIX_RTSIG_MAXÌ65536Ö0 -_POSIX_SAVED_IDSÌ65536Ö0 -_POSIX_SEMAPHORESÌ65536Ö0 -_POSIX_SEM_NSEMS_MAXÌ65536Ö0 -_POSIX_SEM_VALUE_MAXÌ65536Ö0 -_POSIX_SHARED_MEMORY_OBJECTSÌ65536Ö0 -_POSIX_SHELLÌ65536Ö0 -_POSIX_SIGQUEUE_MAXÌ65536Ö0 -_POSIX_SOURCEÌ65536Ö0 -_POSIX_SPAWNÌ65536Ö0 -_POSIX_SPIN_LOCKSÌ65536Ö0 -_POSIX_SPORADIC_SERVERÌ65536Ö0 -_POSIX_SSIZE_MAXÌ65536Ö0 -_POSIX_STREAM_MAXÌ65536Ö0 -_POSIX_SYMLINK_MAXÌ65536Ö0 -_POSIX_SYMLOOP_MAXÌ65536Ö0 -_POSIX_SYNCHRONIZED_IOÌ65536Ö0 -_POSIX_THREADSÌ65536Ö0 -_POSIX_THREAD_ATTR_STACKADDRÌ65536Ö0 -_POSIX_THREAD_ATTR_STACKSIZEÌ65536Ö0 -_POSIX_THREAD_CPUTIMEÌ65536Ö0 -_POSIX_THREAD_DESTRUCTOR_ITERATIONSÌ65536Ö0 -_POSIX_THREAD_KEYS_MAXÌ65536Ö0 -_POSIX_THREAD_PRIORITY_SCHEDULINGÌ65536Ö0 -_POSIX_THREAD_PRIO_INHERITÌ65536Ö0 -_POSIX_THREAD_PRIO_PROTECTÌ65536Ö0 -_POSIX_THREAD_PROCESS_SHAREDÌ65536Ö0 -_POSIX_THREAD_ROBUST_PRIO_INHERITÌ65536Ö0 -_POSIX_THREAD_ROBUST_PRIO_PROTECTÌ65536Ö0 -_POSIX_THREAD_SAFE_FUNCTIONSÌ65536Ö0 -_POSIX_THREAD_SPORADIC_SERVERÌ65536Ö0 -_POSIX_THREAD_THREADS_MAXÌ65536Ö0 -_POSIX_TIMEOUTSÌ65536Ö0 -_POSIX_TIMERSÌ65536Ö0 -_POSIX_TIMER_MAXÌ65536Ö0 -_POSIX_TRACEÌ65536Ö0 -_POSIX_TRACE_EVENT_FILTERÌ65536Ö0 -_POSIX_TRACE_INHERITÌ65536Ö0 -_POSIX_TRACE_LOGÌ65536Ö0 -_POSIX_TTY_NAME_MAXÌ65536Ö0 -_POSIX_TYPED_MEMORY_OBJECTSÌ65536Ö0 -_POSIX_TZNAME_MAXÌ65536Ö0 -_POSIX_UIO_MAXIOVÌ65536Ö0 -_POSIX_V6_LP64_OFF64Ì65536Ö0 -_POSIX_V6_LPBIG_OFFBIGÌ65536Ö0 -_POSIX_V7_LP64_OFF64Ì65536Ö0 -_POSIX_V7_LPBIG_OFFBIGÌ65536Ö0 -_POSIX_VDISABLEÌ65536Ö0 -_POSIX_VERSIONÌ65536Ö0 -_PTHREAD_HÌ65536Ö0 -_RPC_NETDB_HÌ65536Ö0 -_SCHED_HÌ65536Ö0 -_SC_2_CHAR_TERMÌ65536Ö0 -_SC_2_C_BINDÌ65536Ö0 -_SC_2_C_DEVÌ65536Ö0 -_SC_2_C_VERSIONÌ65536Ö0 -_SC_2_FORT_DEVÌ65536Ö0 -_SC_2_FORT_RUNÌ65536Ö0 -_SC_2_LOCALEDEFÌ65536Ö0 -_SC_2_PBSÌ65536Ö0 -_SC_2_PBS_ACCOUNTINGÌ65536Ö0 -_SC_2_PBS_CHECKPOINTÌ65536Ö0 -_SC_2_PBS_LOCATEÌ65536Ö0 -_SC_2_PBS_MESSAGEÌ65536Ö0 -_SC_2_PBS_TRACKÌ65536Ö0 -_SC_2_SW_DEVÌ65536Ö0 -_SC_2_UPEÌ65536Ö0 -_SC_2_VERSIONÌ65536Ö0 -_SC_ADVISORY_INFOÌ65536Ö0 -_SC_AIO_LISTIO_MAXÌ65536Ö0 -_SC_AIO_MAXÌ65536Ö0 -_SC_AIO_PRIO_DELTA_MAXÌ65536Ö0 -_SC_ARG_MAXÌ65536Ö0 -_SC_ASYNCHRONOUS_IOÌ65536Ö0 -_SC_ATEXIT_MAXÌ65536Ö0 -_SC_AVPHYS_PAGESÌ65536Ö0 -_SC_BARRIERSÌ65536Ö0 -_SC_BASEÌ65536Ö0 -_SC_BC_BASE_MAXÌ65536Ö0 -_SC_BC_DIM_MAXÌ65536Ö0 -_SC_BC_SCALE_MAXÌ65536Ö0 -_SC_BC_STRING_MAXÌ65536Ö0 -_SC_CHARCLASS_NAME_MAXÌ65536Ö0 -_SC_CHAR_BITÌ65536Ö0 -_SC_CHAR_MAXÌ65536Ö0 -_SC_CHAR_MINÌ65536Ö0 -_SC_CHILD_MAXÌ65536Ö0 -_SC_CLK_TCKÌ65536Ö0 -_SC_CLOCK_SELECTIONÌ65536Ö0 -_SC_COLL_WEIGHTS_MAXÌ65536Ö0 -_SC_CPUTIMEÌ65536Ö0 -_SC_C_LANG_SUPPORTÌ65536Ö0 -_SC_C_LANG_SUPPORT_RÌ65536Ö0 -_SC_DELAYTIMER_MAXÌ65536Ö0 -_SC_DEVICE_IOÌ65536Ö0 -_SC_DEVICE_SPECIFICÌ65536Ö0 -_SC_DEVICE_SPECIFIC_RÌ65536Ö0 -_SC_EQUIV_CLASS_MAXÌ65536Ö0 -_SC_EXPR_NEST_MAXÌ65536Ö0 -_SC_FD_MGMTÌ65536Ö0 -_SC_FIFOÌ65536Ö0 -_SC_FILE_ATTRIBUTESÌ65536Ö0 -_SC_FILE_LOCKINGÌ65536Ö0 -_SC_FILE_SYSTEMÌ65536Ö0 -_SC_FSYNCÌ65536Ö0 -_SC_GETGR_R_SIZE_MAXÌ65536Ö0 -_SC_GETPW_R_SIZE_MAXÌ65536Ö0 -_SC_HOST_NAME_MAXÌ65536Ö0 -_SC_INT_MAXÌ65536Ö0 -_SC_INT_MINÌ65536Ö0 -_SC_IOV_MAXÌ65536Ö0 -_SC_IPV6Ì65536Ö0 -_SC_JOB_CONTROLÌ65536Ö0 -_SC_LEVEL1_DCACHE_ASSOCÌ65536Ö0 -_SC_LEVEL1_DCACHE_LINESIZEÌ65536Ö0 -_SC_LEVEL1_DCACHE_SIZEÌ65536Ö0 -_SC_LEVEL1_ICACHE_ASSOCÌ65536Ö0 -_SC_LEVEL1_ICACHE_LINESIZEÌ65536Ö0 -_SC_LEVEL1_ICACHE_SIZEÌ65536Ö0 -_SC_LEVEL2_CACHE_ASSOCÌ65536Ö0 -_SC_LEVEL2_CACHE_LINESIZEÌ65536Ö0 -_SC_LEVEL2_CACHE_SIZEÌ65536Ö0 -_SC_LEVEL3_CACHE_ASSOCÌ65536Ö0 -_SC_LEVEL3_CACHE_LINESIZEÌ65536Ö0 -_SC_LEVEL3_CACHE_SIZEÌ65536Ö0 -_SC_LEVEL4_CACHE_ASSOCÌ65536Ö0 -_SC_LEVEL4_CACHE_LINESIZEÌ65536Ö0 -_SC_LEVEL4_CACHE_SIZEÌ65536Ö0 -_SC_LINE_MAXÌ65536Ö0 -_SC_LOGIN_NAME_MAXÌ65536Ö0 -_SC_LONG_BITÌ65536Ö0 -_SC_MAPPED_FILESÌ65536Ö0 -_SC_MB_LEN_MAXÌ65536Ö0 -_SC_MEMLOCKÌ65536Ö0 -_SC_MEMLOCK_RANGEÌ65536Ö0 -_SC_MEMORY_PROTECTIONÌ65536Ö0 -_SC_MESSAGE_PASSINGÌ65536Ö0 -_SC_MONOTONIC_CLOCKÌ65536Ö0 -_SC_MQ_OPEN_MAXÌ65536Ö0 -_SC_MQ_PRIO_MAXÌ65536Ö0 -_SC_MULTI_PROCESSÌ65536Ö0 -_SC_NETWORKINGÌ65536Ö0 -_SC_NGROUPS_MAXÌ65536Ö0 -_SC_NL_ARGMAXÌ65536Ö0 -_SC_NL_LANGMAXÌ65536Ö0 -_SC_NL_MSGMAXÌ65536Ö0 -_SC_NL_NMAXÌ65536Ö0 -_SC_NL_SETMAXÌ65536Ö0 -_SC_NL_TEXTMAXÌ65536Ö0 -_SC_NPROCESSORS_CONFÌ65536Ö0 -_SC_NPROCESSORS_ONLNÌ65536Ö0 -_SC_NZEROÌ65536Ö0 -_SC_OPEN_MAXÌ65536Ö0 -_SC_PAGESIZEÌ65536Ö0 -_SC_PAGE_SIZEÌ65536Ö0 -_SC_PASS_MAXÌ65536Ö0 -_SC_PHYS_PAGESÌ65536Ö0 -_SC_PIIÌ65536Ö0 -_SC_PII_INTERNETÌ65536Ö0 -_SC_PII_INTERNET_DGRAMÌ65536Ö0 -_SC_PII_INTERNET_STREAMÌ65536Ö0 -_SC_PII_OSIÌ65536Ö0 -_SC_PII_OSI_CLTSÌ65536Ö0 -_SC_PII_OSI_COTSÌ65536Ö0 -_SC_PII_OSI_MÌ65536Ö0 -_SC_PII_SOCKETÌ65536Ö0 -_SC_PII_XTIÌ65536Ö0 -_SC_PIPEÌ65536Ö0 -_SC_POLLÌ65536Ö0 -_SC_PRIORITIZED_IOÌ65536Ö0 -_SC_PRIORITY_SCHEDULINGÌ65536Ö0 -_SC_RAW_SOCKETSÌ65536Ö0 -_SC_READER_WRITER_LOCKSÌ65536Ö0 -_SC_REALTIME_SIGNALSÌ65536Ö0 -_SC_REGEXPÌ65536Ö0 -_SC_REGEX_VERSIONÌ65536Ö0 -_SC_RE_DUP_MAXÌ65536Ö0 -_SC_RTSIG_MAXÌ65536Ö0 -_SC_SAVED_IDSÌ65536Ö0 -_SC_SCHAR_MAXÌ65536Ö0 -_SC_SCHAR_MINÌ65536Ö0 -_SC_SELECTÌ65536Ö0 -_SC_SEMAPHORESÌ65536Ö0 -_SC_SEM_NSEMS_MAXÌ65536Ö0 -_SC_SEM_VALUE_MAXÌ65536Ö0 -_SC_SHARED_MEMORY_OBJECTSÌ65536Ö0 -_SC_SHELLÌ65536Ö0 -_SC_SHRT_MAXÌ65536Ö0 -_SC_SHRT_MINÌ65536Ö0 -_SC_SIGNALSÌ65536Ö0 -_SC_SIGQUEUE_MAXÌ65536Ö0 -_SC_SINGLE_PROCESSÌ65536Ö0 -_SC_SPAWNÌ65536Ö0 -_SC_SPIN_LOCKSÌ65536Ö0 -_SC_SPORADIC_SERVERÌ65536Ö0 -_SC_SSIZE_MAXÌ65536Ö0 -_SC_SS_REPL_MAXÌ65536Ö0 -_SC_STREAMSÌ65536Ö0 -_SC_STREAM_MAXÌ65536Ö0 -_SC_SYMLOOP_MAXÌ65536Ö0 -_SC_SYNCHRONIZED_IOÌ65536Ö0 -_SC_SYSTEM_DATABASEÌ65536Ö0 -_SC_SYSTEM_DATABASE_RÌ65536Ö0 -_SC_THREADSÌ65536Ö0 -_SC_THREAD_ATTR_STACKADDRÌ65536Ö0 -_SC_THREAD_ATTR_STACKSIZEÌ65536Ö0 -_SC_THREAD_CPUTIMEÌ65536Ö0 -_SC_THREAD_DESTRUCTOR_ITERATIONSÌ65536Ö0 -_SC_THREAD_KEYS_MAXÌ65536Ö0 -_SC_THREAD_PRIORITY_SCHEDULINGÌ65536Ö0 -_SC_THREAD_PRIO_INHERITÌ65536Ö0 -_SC_THREAD_PRIO_PROTECTÌ65536Ö0 -_SC_THREAD_PROCESS_SHAREDÌ65536Ö0 -_SC_THREAD_ROBUST_PRIO_INHERITÌ65536Ö0 -_SC_THREAD_ROBUST_PRIO_PROTECTÌ65536Ö0 -_SC_THREAD_SAFE_FUNCTIONSÌ65536Ö0 -_SC_THREAD_SPORADIC_SERVERÌ65536Ö0 -_SC_THREAD_STACK_MINÌ65536Ö0 -_SC_THREAD_THREADS_MAXÌ65536Ö0 -_SC_TIMEOUTSÌ65536Ö0 -_SC_TIMERSÌ65536Ö0 -_SC_TIMER_MAXÌ65536Ö0 -_SC_TRACEÌ65536Ö0 -_SC_TRACE_EVENT_FILTERÌ65536Ö0 -_SC_TRACE_EVENT_NAME_MAXÌ65536Ö0 -_SC_TRACE_INHERITÌ65536Ö0 -_SC_TRACE_LOGÌ65536Ö0 -_SC_TRACE_NAME_MAXÌ65536Ö0 -_SC_TRACE_SYS_MAXÌ65536Ö0 -_SC_TRACE_USER_EVENT_MAXÌ65536Ö0 -_SC_TTY_NAME_MAXÌ65536Ö0 -_SC_TYPED_MEMORY_OBJECTSÌ65536Ö0 -_SC_TZNAME_MAXÌ65536Ö0 -_SC_T_IOV_MAXÌ65536Ö0 -_SC_UCHAR_MAXÌ65536Ö0 -_SC_UINT_MAXÌ65536Ö0 -_SC_UIO_MAXIOVÌ65536Ö0 -_SC_ULONG_MAXÌ65536Ö0 -_SC_USER_GROUPSÌ65536Ö0 -_SC_USER_GROUPS_RÌ65536Ö0 -_SC_USHRT_MAXÌ65536Ö0 -_SC_V6_ILP32_OFF32Ì65536Ö0 -_SC_V6_ILP32_OFFBIGÌ65536Ö0 -_SC_V6_LP64_OFF64Ì65536Ö0 -_SC_V6_LPBIG_OFFBIGÌ65536Ö0 -_SC_V7_ILP32_OFF32Ì65536Ö0 -_SC_V7_ILP32_OFFBIGÌ65536Ö0 -_SC_V7_LP64_OFF64Ì65536Ö0 -_SC_V7_LPBIG_OFFBIGÌ65536Ö0 -_SC_VERSIONÌ65536Ö0 -_SC_WORD_BITÌ65536Ö0 -_SC_XBS5_ILP32_OFF32Ì65536Ö0 -_SC_XBS5_ILP32_OFFBIGÌ65536Ö0 -_SC_XBS5_LP64_OFF64Ì65536Ö0 -_SC_XBS5_LPBIG_OFFBIGÌ65536Ö0 -_SC_XOPEN_CRYPTÌ65536Ö0 -_SC_XOPEN_ENH_I18NÌ65536Ö0 -_SC_XOPEN_LEGACYÌ65536Ö0 -_SC_XOPEN_REALTIMEÌ65536Ö0 -_SC_XOPEN_REALTIME_THREADSÌ65536Ö0 -_SC_XOPEN_SHMÌ65536Ö0 -_SC_XOPEN_STREAMSÌ65536Ö0 -_SC_XOPEN_UNIXÌ65536Ö0 -_SC_XOPEN_VERSIONÌ65536Ö0 -_SC_XOPEN_XCU_VERSIONÌ65536Ö0 -_SC_XOPEN_XPG2Ì65536Ö0 -_SC_XOPEN_XPG3Ì65536Ö0 -_SC_XOPEN_XPG4Ì65536Ö0 -_SIGNAL_HÌ65536Ö0 -_SIGSET_H_fnsÌ65536Ö0 -_SIGSET_H_typesÌ65536Ö0 -_SIGSET_NWORDSÌ65536Ö0 -_SIZET_Ì65536Ö0 -_SIZE_TÌ65536Ö0 -_SIZE_T_Ì65536Ö0 -_SIZE_T_DECLAREDÌ65536Ö0 -_SIZE_T_DEFINEDÌ65536Ö0 -_SIZE_T_DEFINED_Ì65536Ö0 -_SS_PADSIZEÌ65536Ö0 -_SS_SIZEÌ65536Ö0 -_STATBUF_ST_BLKSIZEÌ65536Ö0 -_STATBUF_ST_NSECÌ65536Ö0 -_STATBUF_ST_RDEVÌ65536Ö0 -_STAT_VERÌ65536Ö0 -_STAT_VER_KERNELÌ65536Ö0 -_STAT_VER_LINUXÌ65536Ö0 -_STDARG_HÌ65536Ö0 -_STDBOOL_HÌ65536Ö0 -_STDC_PREDEF_HÌ65536Ö0 -_STDINT_HÌ65536Ö0 -_STDIO_HÌ65536Ö0 -_STDIO_USES_IOSTREAMÌ65536Ö0 -_STDLIB_HÌ65536Ö0 -_STRINGS_HÌ65536Ö0 -_STRING_HÌ65536Ö0 -_SYSCALL_HÌ65536Ö0 -_SYS_CDEFS_HÌ65536Ö0 -_SYS_IOCTL_HÌ65536Ö0 -_SYS_MMAN_HÌ65536Ö0 -_SYS_PRCTL_HÌ65536Ö0 -_SYS_SELECT_HÌ65536Ö0 -_SYS_SIZE_T_HÌ65536Ö0 -_SYS_SOCKET_HÌ65536Ö0 -_SYS_STAT_HÌ65536Ö0 -_SYS_SYSMACROS_HÌ65536Ö0 -_SYS_TIME_HÌ65536Ö0 -_SYS_TTYDEFAULTS_H_Ì65536Ö0 -_SYS_TYPES_HÌ65536Ö0 -_SYS_UCONTEXT_HÌ65536Ö0 -_SYS_UIO_HÌ65536Ö0 -_SYS_WAIT_HÌ65536Ö0 -_TERMIOS_HÌ65536Ö0 -_TIME_HÌ65536Ö0 -_T_SIZEÌ65536Ö0 -_T_SIZE_Ì65536Ö0 -_T_WCHARÌ65536Ö0 -_T_WCHAR_Ì65536Ö0 -_UNISTD_HÌ65536Ö0 -_U_Ì65536Ö0 -_VA_LISTÌ65536Ö0 -_VA_LIST_Ì65536Ö0 -_VA_LIST_DEFINEDÌ65536Ö0 -_VA_LIST_T_HÌ65536Ö0 -_WARNÌ1024Í(const char *fmt, ...)Ö0Ïint -_WCHAR_TÌ65536Ö0 -_WCHAR_T_Ì65536Ö0 -_WCHAR_T_DECLAREDÌ65536Ö0 -_WCHAR_T_DEFINEDÌ65536Ö0 -_WCHAR_T_DEFINED_Ì65536Ö0 -_WCHAR_T_HÌ65536Ö0 -_XBS5_LP64_OFF64Ì65536Ö0 -_XBS5_LPBIG_OFFBIGÌ65536Ö0 -_XLOCALE_HÌ65536Ö0 -_XOPEN_CRYPTÌ65536Ö0 -_XOPEN_ENH_I18NÌ65536Ö0 -_XOPEN_IOV_MAXÌ65536Ö0 -_XOPEN_LEGACYÌ65536Ö0 -_XOPEN_LIM_HÌ65536Ö0 -_XOPEN_REALTIMEÌ65536Ö0 -_XOPEN_REALTIME_THREADSÌ65536Ö0 -_XOPEN_SHMÌ65536Ö0 -_XOPEN_SOURCEÌ65536Ö0 -_XOPEN_SOURCE_EXTENDEDÌ65536Ö0 -_XOPEN_UNIXÌ65536Ö0 -_XOPEN_VERSIONÌ65536Ö0 -_XOPEN_XCU_VERSIONÌ65536Ö0 -_XOPEN_XPG2Ì65536Ö0 -_XOPEN_XPG3Ì65536Ö0 -_XOPEN_XPG4Ì65536Ö0 -__ASMNAMEÌ131072Í(cname)Ö0 -__ASMNAME2Ì131072Í(prefix,cname)Ö0 -__ASM_GENERIC_BITS_PER_LONGÌ65536Ö0 -__ASM_GENERIC_IOCTLS_HÌ65536Ö0 -__ASM_GENERIC_POSIX_TYPES_HÌ65536Ö0 -__ASM_GENERIC_SOCKET_HÌ65536Ö0 -__ASM_GENERIC_SOCKIOS_HÌ65536Ö0 -__ASM_X86_BITSPERLONG_HÌ65536Ö0 -__ASSERT_FUNCTIONÌ65536Ö0 -__ASSERT_VOID_CASTÌ65536Ö0 -__ATOMIC_ACQUIREÌ65536Ö0 -__ATOMIC_ACQ_RELÌ65536Ö0 -__ATOMIC_CONSUMEÌ65536Ö0 -__ATOMIC_HLE_ACQUIREÌ65536Ö0 -__ATOMIC_HLE_RELEASEÌ65536Ö0 -__ATOMIC_RELAXEDÌ65536Ö0 -__ATOMIC_RELEASEÌ65536Ö0 -__ATOMIC_SEQ_CSTÌ65536Ö0 -__BEGIN_DECLSÌ65536Ö0 -__BEGIN_NAMESPACE_C99Ì65536Ö0 -__BEGIN_NAMESPACE_STDÌ65536Ö0 -__BIGGEST_ALIGNMENT__Ì65536Ö0 -__BIG_ENDIANÌ65536Ö0 -__BITS_PER_LONGÌ65536Ö0 -__BITS_SOCKET_HÌ65536Ö0 -__BIT_TYPES_DEFINED__Ì65536Ö0 -__BLKCNT64_T_TYPEÌ65536Ö0 -__BLKCNT_T_TYPEÌ65536Ö0 -__BLKSIZE_T_TYPEÌ65536Ö0 -__BYTE_ORDERÌ65536Ö0 -__BYTE_ORDER__Ì65536Ö0 -__CHAR16_TYPE__Ì65536Ö0 -__CHAR32_TYPE__Ì65536Ö0 -__CHAR_BIT__Ì65536Ö0 -__CLOCKID_T_TYPEÌ65536Ö0 -__CLOCK_T_TYPEÌ65536Ö0 -__CMDLNOPTS_H__Ì65536Ö0 -__COMPAR_FN_TÌ65536Ö0 -__CONCATÌ131072Í(x,y)Ö0 -__CONST_SOCKADDR_ARGÌ65536Ö0 -__CORRECT_ISO_CPP_STRING_H_PROTOÌ65536Ö0 -__CPUELTÌ131072Í(cpu)Ö0 -__CPUMASKÌ131072Í(cpu)Ö0 -__CPU_ALLOCÌ131072Í(count)Ö0 -__CPU_ALLOC_SIZEÌ131072Í(count)Ö0 -__CPU_CLR_SÌ131072Í(cpu,setsize,cpusetp)Ö0 -__CPU_COUNT_SÌ131072Í(setsize,cpusetp)Ö0 -__CPU_EQUAL_SÌ131072Í(setsize,cpusetp1,cpusetp2)Ö0 -__CPU_FREEÌ131072Í(cpuset)Ö0 -__CPU_ISSET_SÌ131072Í(cpu,setsize,cpusetp)Ö0 -__CPU_MASK_TYPEÌ65536Ö0 -__CPU_OP_SÌ131072Í(setsize,destset,srcset1,srcset2,op)Ö0 -__CPU_SETSIZEÌ65536Ö0 -__CPU_SET_SÌ131072Í(cpu,setsize,cpusetp)Ö0 -__CPU_ZERO_SÌ131072Í(setsize,cpusetp)Ö0 -__DADDR_T_TYPEÌ65536Ö0 -__DBL_DECIMAL_DIG__Ì65536Ö0 -__DBL_DENORM_MIN__Ì65536Ö0 -__DBL_DIG__Ì65536Ö0 -__DBL_EPSILON__Ì65536Ö0 -__DBL_HAS_DENORM__Ì65536Ö0 -__DBL_HAS_INFINITY__Ì65536Ö0 -__DBL_HAS_QUIET_NAN__Ì65536Ö0 -__DBL_MANT_DIG__Ì65536Ö0 -__DBL_MAX_10_EXP__Ì65536Ö0 -__DBL_MAX_EXP__Ì65536Ö0 -__DBL_MAX__Ì65536Ö0 -__DBL_MIN_10_EXP__Ì65536Ö0 -__DBL_MIN_EXP__Ì65536Ö0 -__DBL_MIN__Ì65536Ö0 -__DEC128_EPSILON__Ì65536Ö0 -__DEC128_MANT_DIG__Ì65536Ö0 -__DEC128_MAX_EXP__Ì65536Ö0 -__DEC128_MAX__Ì65536Ö0 -__DEC128_MIN_EXP__Ì65536Ö0 -__DEC128_MIN__Ì65536Ö0 -__DEC128_SUBNORMAL_MIN__Ì65536Ö0 -__DEC32_EPSILON__Ì65536Ö0 -__DEC32_MANT_DIG__Ì65536Ö0 -__DEC32_MAX_EXP__Ì65536Ö0 -__DEC32_MAX__Ì65536Ö0 -__DEC32_MIN_EXP__Ì65536Ö0 -__DEC32_MIN__Ì65536Ö0 -__DEC32_SUBNORMAL_MIN__Ì65536Ö0 -__DEC64_EPSILON__Ì65536Ö0 -__DEC64_MANT_DIG__Ì65536Ö0 -__DEC64_MAX_EXP__Ì65536Ö0 -__DEC64_MAX__Ì65536Ö0 -__DEC64_MIN_EXP__Ì65536Ö0 -__DEC64_MIN__Ì65536Ö0 -__DEC64_SUBNORMAL_MIN__Ì65536Ö0 -__DECIMAL_BID_FORMAT__Ì65536Ö0 -__DECIMAL_DIG__Ì65536Ö0 -__DECL_SIMD_cosÌ65536Ö0 -__DECL_SIMD_cosfÌ65536Ö0 -__DECL_SIMD_coslÌ65536Ö0 -__DECL_SIMD_expÌ65536Ö0 -__DECL_SIMD_expfÌ65536Ö0 -__DECL_SIMD_explÌ65536Ö0 -__DECL_SIMD_logÌ65536Ö0 -__DECL_SIMD_logfÌ65536Ö0 -__DECL_SIMD_loglÌ65536Ö0 -__DECL_SIMD_powÌ65536Ö0 -__DECL_SIMD_powfÌ65536Ö0 -__DECL_SIMD_powlÌ65536Ö0 -__DECL_SIMD_sinÌ65536Ö0 -__DECL_SIMD_sincosÌ65536Ö0 -__DECL_SIMD_sincosfÌ65536Ö0 -__DECL_SIMD_sincoslÌ65536Ö0 -__DECL_SIMD_sinfÌ65536Ö0 -__DECL_SIMD_sinlÌ65536Ö0 -__DEC_EVAL_METHOD__Ì65536Ö0 -__DEPRECATEDÌ65536Ö0 -__DEV_T_TYPEÌ65536Ö0 -__ELF__Ì65536Ö0 -__END_DECLSÌ65536Ö0 -__END_NAMESPACE_C99Ì65536Ö0 -__END_NAMESPACE_STDÌ65536Ö0 -__EXCEPTIONSÌ65536Ö0 -__FDS_BITSÌ131072Í(set)Ö0 -__FD_CLRÌ131072Í(d,set)Ö0 -__FD_ELTÌ65536Ö0 -__FD_ELTÌ131072Í(d)Ö0 -__FD_ISSETÌ131072Í(d,set)Ö0 -__FD_MASKÌ131072Í(d)Ö0 -__FD_SETÌ131072Í(d,set)Ö0 -__FD_SETSIZEÌ65536Ö0 -__FD_ZEROÌ131072Í(fdsp)Ö0 -__FD_ZERO_STOSÌ65536Ö0 -__FILE_definedÌ65536Ö0 -__FINITE_MATH_ONLY__Ì65536Ö0 -__FLOAT_WORD_ORDERÌ65536Ö0 -__FLOAT_WORD_ORDER__Ì65536Ö0 -__FLT_DECIMAL_DIG__Ì65536Ö0 -__FLT_DENORM_MIN__Ì65536Ö0 -__FLT_DIG__Ì65536Ö0 -__FLT_EPSILON__Ì65536Ö0 -__FLT_EVAL_METHOD__Ì65536Ö0 -__FLT_HAS_DENORM__Ì65536Ö0 -__FLT_HAS_INFINITY__Ì65536Ö0 -__FLT_HAS_QUIET_NAN__Ì65536Ö0 -__FLT_MANT_DIG__Ì65536Ö0 -__FLT_MAX_10_EXP__Ì65536Ö0 -__FLT_MAX_EXP__Ì65536Ö0 -__FLT_MAX__Ì65536Ö0 -__FLT_MIN_10_EXP__Ì65536Ö0 -__FLT_MIN_EXP__Ì65536Ö0 -__FLT_MIN__Ì65536Ö0 -__FLT_RADIX__Ì65536Ö0 -__FP_LOGB0_IS_MINÌ65536Ö0 -__FP_LOGBNAN_IS_MINÌ65536Ö0 -__FP_LONG_MAXÌ65536Ö0 -__FSBLKCNT64_T_TYPEÌ65536Ö0 -__FSBLKCNT_T_TYPEÌ65536Ö0 -__FSFILCNT64_T_TYPEÌ65536Ö0 -__FSFILCNT_T_TYPEÌ65536Ö0 -__FSID_T_TYPEÌ65536Ö0 -__FSWORD_T_TYPEÌ65536Ö0 -__FXSR__Ì65536Ö0 -__F_GETOWNÌ65536Ö0 -__F_GETOWN_EXÌ65536Ö0 -__F_GETSIGÌ65536Ö0 -__F_SETOWNÌ65536Ö0 -__F_SETOWN_EXÌ65536Ö0 -__F_SETSIGÌ65536Ö0 -__GCC_ASM_FLAG_OUTPUTS__Ì65536Ö0 -__GCC_ATOMIC_BOOL_LOCK_FREEÌ65536Ö0 -__GCC_ATOMIC_CHAR16_T_LOCK_FREEÌ65536Ö0 -__GCC_ATOMIC_CHAR32_T_LOCK_FREEÌ65536Ö0 -__GCC_ATOMIC_CHAR_LOCK_FREEÌ65536Ö0 -__GCC_ATOMIC_INT_LOCK_FREEÌ65536Ö0 -__GCC_ATOMIC_LLONG_LOCK_FREEÌ65536Ö0 -__GCC_ATOMIC_LONG_LOCK_FREEÌ65536Ö0 -__GCC_ATOMIC_POINTER_LOCK_FREEÌ65536Ö0 -__GCC_ATOMIC_SHORT_LOCK_FREEÌ65536Ö0 -__GCC_ATOMIC_TEST_AND_SET_TRUEVALÌ65536Ö0 -__GCC_ATOMIC_WCHAR_T_LOCK_FREEÌ65536Ö0 -__GCC_HAVE_DWARF2_CFI_ASMÌ65536Ö0 -__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1Ì65536Ö0 -__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2Ì65536Ö0 -__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4Ì65536Ö0 -__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8Ì65536Ö0 -__GCC_IEC_559Ì65536Ö0 -__GCC_IEC_559_COMPLEXÌ65536Ö0 -__GID_T_TYPEÌ65536Ö0 -__GLIBCXX_BITSIZE_INT_N_0Ì65536Ö0 -__GLIBCXX_TYPE_INT_N_0Ì65536Ö0 -__GLIBCXX__Ì65536Ö0 -__GLIBC_FLT_EVAL_METHODÌ65536Ö0 -__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATIONÌ65536Ö0 -__GLIBC_MINOR__Ì65536Ö0 -__GLIBC_PREREQÌ131072Í(maj,min)Ö0 -__GLIBC_USEÌ131072Í(F)Ö0 -__GLIBC_USE_IEC_60559_BFP_EXTÌ65536Ö0 -__GLIBC_USE_IEC_60559_FUNCS_EXTÌ65536Ö0 -__GLIBC_USE_LIB_EXT2Ì65536Ö0 -__GLIBC__Ì65536Ö0 -__GNUC_MINOR__Ì65536Ö0 -__GNUC_PATCHLEVEL__Ì65536Ö0 -__GNUC_PREREQÌ131072Í(maj,min)Ö0 -__GNUC_STDC_INLINE__Ì65536Ö0 -__GNUC_VA_LISTÌ65536Ö0 -__GNUC__Ì65536Ö0 -__GNUG__Ì65536Ö0 -__GNU_GETTEXT_SUPPORTED_REVISIONÌ131072Í(major)Ö0 -__GNU_LIBRARY__Ì65536Ö0 -__GXX_ABI_VERSIONÌ65536Ö0 -__GXX_EXPERIMENTAL_CXX0X__Ì65536Ö0 -__GXX_RTTIÌ65536Ö0 -__GXX_WEAK__Ì65536Ö0 -__HAVE_COLUMNÌ65536Ö0 -__ID_T_TYPEÌ65536Ö0 -__ILP32_OFF32_CFLAGSÌ65536Ö0 -__ILP32_OFF32_LDFLAGSÌ65536Ö0 -__ILP32_OFFBIG_CFLAGSÌ65536Ö0 -__ILP32_OFFBIG_LDFLAGSÌ65536Ö0 -__INO64_T_TYPEÌ65536Ö0 -__INO_T_MATCHES_INO64_TÌ65536Ö0 -__INO_T_TYPEÌ65536Ö0 -__INT16_CÌ131072Í(c)Ö0 -__INT16_MAX__Ì65536Ö0 -__INT16_TYPE__Ì65536Ö0 -__INT32_CÌ131072Í(c)Ö0 -__INT32_MAX__Ì65536Ö0 -__INT32_TYPE__Ì65536Ö0 -__INT64_CÌ131072Í(c)Ö0 -__INT64_MAX__Ì65536Ö0 -__INT64_TYPE__Ì65536Ö0 -__INT8_CÌ131072Í(c)Ö0 -__INT8_MAX__Ì65536Ö0 -__INT8_TYPE__Ì65536Ö0 -__INTMAX_CÌ131072Í(c)Ö0 -__INTMAX_MAX__Ì65536Ö0 -__INTMAX_TYPE__Ì65536Ö0 -__INTPTR_MAX__Ì65536Ö0 -__INTPTR_TYPE__Ì65536Ö0 -__INT_FAST16_MAX__Ì65536Ö0 -__INT_FAST16_TYPE__Ì65536Ö0 -__INT_FAST32_MAX__Ì65536Ö0 -__INT_FAST32_TYPE__Ì65536Ö0 -__INT_FAST64_MAX__Ì65536Ö0 -__INT_FAST64_TYPE__Ì65536Ö0 -__INT_FAST8_MAX__Ì65536Ö0 -__INT_FAST8_TYPE__Ì65536Ö0 -__INT_LEAST16_MAX__Ì65536Ö0 -__INT_LEAST16_TYPE__Ì65536Ö0 -__INT_LEAST32_MAX__Ì65536Ö0 -__INT_LEAST32_TYPE__Ì65536Ö0 -__INT_LEAST64_MAX__Ì65536Ö0 -__INT_LEAST64_TYPE__Ì65536Ö0 -__INT_LEAST8_MAX__Ì65536Ö0 -__INT_LEAST8_TYPE__Ì65536Ö0 -__INT_MAX__Ì65536Ö0 -__INT_NÌ65536Ö0 -__INT_NÌ131072Í(TYPE)Ö0 -__INT_WCHAR_T_HÌ65536Ö0 -__KERNEL_STRICT_NAMESÌ65536Ö0 -__KEY_T_TYPEÌ65536Ö0 -__LC_ADDRESSÌ65536Ö0 -__LC_ALLÌ65536Ö0 -__LC_COLLATEÌ65536Ö0 -__LC_CTYPEÌ65536Ö0 -__LC_IDENTIFICATIONÌ65536Ö0 -__LC_MEASUREMENTÌ65536Ö0 -__LC_MESSAGESÌ65536Ö0 -__LC_MONETARYÌ65536Ö0 -__LC_NAMEÌ65536Ö0 -__LC_NUMERICÌ65536Ö0 -__LC_PAPERÌ65536Ö0 -__LC_TELEPHONEÌ65536Ö0 -__LC_TIMEÌ65536Ö0 -__LDBL_DENORM_MIN__Ì65536Ö0 -__LDBL_DIG__Ì65536Ö0 -__LDBL_EPSILON__Ì65536Ö0 -__LDBL_HAS_DENORM__Ì65536Ö0 -__LDBL_HAS_INFINITY__Ì65536Ö0 -__LDBL_HAS_QUIET_NAN__Ì65536Ö0 -__LDBL_MANT_DIG__Ì65536Ö0 -__LDBL_MAX_10_EXP__Ì65536Ö0 -__LDBL_MAX_EXP__Ì65536Ö0 -__LDBL_MAX__Ì65536Ö0 -__LDBL_MIN_10_EXP__Ì65536Ö0 -__LDBL_MIN_EXP__Ì65536Ö0 -__LDBL_MIN__Ì65536Ö0 -__LDBL_REDIRÌ131072Í(name,proto)Ö0 -__LDBL_REDIR1Ì131072Í(name,proto,alias)Ö0 -__LDBL_REDIR1_NTHÌ131072Í(name,proto,alias)Ö0 -__LDBL_REDIR_DECLÌ131072Í(name)Ö0 -__LDBL_REDIR_NTHÌ131072Í(name,proto)Ö0 -__LEAFÌ65536Ö0 -__LEAF_ATTRÌ65536Ö0 -__LITTLE_ENDIANÌ65536Ö0 -__LONG_LONG_MAX__Ì65536Ö0 -__LONG_LONG_PAIRÌ131072Í(HI,LO)Ö0 -__LONG_MAX__Ì65536Ö0 -__LP64_OFF64_CFLAGSÌ65536Ö0 -__LP64_OFF64_LDFLAGSÌ65536Ö0 -__LP64__Ì65536Ö0 -__MATHCALLÌ65536Ö0 -__MATHCALLÌ131072Í(function,suffix,args)Ö0 -__MATHCALLXÌ131072Í(function,suffix,args,attrib)Ö0 -__MATHCALL_VECÌ131072Í(function,suffix,args)Ö0 -__MATHDECLÌ65536Ö0 -__MATHDECLÌ131072Í(type,function,suffix,args)Ö0 -__MATHDECLXÌ131072Í(type,function,suffix,args,attrib)Ö0 -__MATHDECL_1Ì65536Ö0 -__MATHDECL_1Ì131072Í(type,function,suffix,args)Ö0 -__MATHDECL_VECÌ131072Í(type,function,suffix,args)Ö0 -__MATH_DECLARE_LDOUBLEÌ65536Ö0 -__MATH_DECLARING_DOUBLEÌ65536Ö0 -__MATH_EVAL_FMT2Ì131072Í(x,y)Ö0 -__MATH_INLINEÌ65536Ö0 -__MATH_PRECNAMEÌ65536Ö0 -__MATH_PRECNAMEÌ131072Í(name,r)Ö0 -__MATH_TGÌ131072Í(TG_ARG,FUNC,ARGS)Ö0 -__MAX_BAUDÌ65536Ö0 -__MMX__Ì65536Ö0 -__MODE_T_TYPEÌ65536Ö0 -__NÌ131072Í(msgid)Ö0 -__NCPUBITSÌ65536Ö0 -__NFDBITSÌ65536Ö0 -__NLINK_T_TYPEÌ65536Ö0 -__NO_CTYPEÌ65536Ö0 -__NR__sysctlÌ65536Ö0 -__NR_acceptÌ65536Ö0 -__NR_accept4Ì65536Ö0 -__NR_accessÌ65536Ö0 -__NR_acctÌ65536Ö0 -__NR_add_keyÌ65536Ö0 -__NR_adjtimexÌ65536Ö0 -__NR_afs_syscallÌ65536Ö0 -__NR_alarmÌ65536Ö0 -__NR_arch_prctlÌ65536Ö0 -__NR_bindÌ65536Ö0 -__NR_bpfÌ65536Ö0 -__NR_brkÌ65536Ö0 -__NR_capgetÌ65536Ö0 -__NR_capsetÌ65536Ö0 -__NR_chdirÌ65536Ö0 -__NR_chmodÌ65536Ö0 -__NR_chownÌ65536Ö0 -__NR_chrootÌ65536Ö0 -__NR_clock_adjtimeÌ65536Ö0 -__NR_clock_getresÌ65536Ö0 -__NR_clock_gettimeÌ65536Ö0 -__NR_clock_nanosleepÌ65536Ö0 -__NR_clock_settimeÌ65536Ö0 -__NR_cloneÌ65536Ö0 -__NR_closeÌ65536Ö0 -__NR_connectÌ65536Ö0 -__NR_copy_file_rangeÌ65536Ö0 -__NR_creatÌ65536Ö0 -__NR_create_moduleÌ65536Ö0 -__NR_delete_moduleÌ65536Ö0 -__NR_dupÌ65536Ö0 -__NR_dup2Ì65536Ö0 -__NR_dup3Ì65536Ö0 -__NR_epoll_createÌ65536Ö0 -__NR_epoll_create1Ì65536Ö0 -__NR_epoll_ctlÌ65536Ö0 -__NR_epoll_ctl_oldÌ65536Ö0 -__NR_epoll_pwaitÌ65536Ö0 -__NR_epoll_waitÌ65536Ö0 -__NR_epoll_wait_oldÌ65536Ö0 -__NR_eventfdÌ65536Ö0 -__NR_eventfd2Ì65536Ö0 -__NR_execveÌ65536Ö0 -__NR_execveatÌ65536Ö0 -__NR_exitÌ65536Ö0 -__NR_exit_groupÌ65536Ö0 -__NR_faccessatÌ65536Ö0 -__NR_fadvise64Ì65536Ö0 -__NR_fallocateÌ65536Ö0 -__NR_fanotify_initÌ65536Ö0 -__NR_fanotify_markÌ65536Ö0 -__NR_fchdirÌ65536Ö0 -__NR_fchmodÌ65536Ö0 -__NR_fchmodatÌ65536Ö0 -__NR_fchownÌ65536Ö0 -__NR_fchownatÌ65536Ö0 -__NR_fcntlÌ65536Ö0 -__NR_fdatasyncÌ65536Ö0 -__NR_fgetxattrÌ65536Ö0 -__NR_finit_moduleÌ65536Ö0 -__NR_flistxattrÌ65536Ö0 -__NR_flockÌ65536Ö0 -__NR_forkÌ65536Ö0 -__NR_fremovexattrÌ65536Ö0 -__NR_fsetxattrÌ65536Ö0 -__NR_fstatÌ65536Ö0 -__NR_fstatfsÌ65536Ö0 -__NR_fsyncÌ65536Ö0 -__NR_ftruncateÌ65536Ö0 -__NR_futexÌ65536Ö0 -__NR_futimesatÌ65536Ö0 -__NR_get_kernel_symsÌ65536Ö0 -__NR_get_mempolicyÌ65536Ö0 -__NR_get_robust_listÌ65536Ö0 -__NR_get_thread_areaÌ65536Ö0 -__NR_getcpuÌ65536Ö0 -__NR_getcwdÌ65536Ö0 -__NR_getdentsÌ65536Ö0 -__NR_getdents64Ì65536Ö0 -__NR_getegidÌ65536Ö0 -__NR_geteuidÌ65536Ö0 -__NR_getgidÌ65536Ö0 -__NR_getgroupsÌ65536Ö0 -__NR_getitimerÌ65536Ö0 -__NR_getpeernameÌ65536Ö0 -__NR_getpgidÌ65536Ö0 -__NR_getpgrpÌ65536Ö0 -__NR_getpidÌ65536Ö0 -__NR_getpmsgÌ65536Ö0 -__NR_getppidÌ65536Ö0 -__NR_getpriorityÌ65536Ö0 -__NR_getrandomÌ65536Ö0 -__NR_getresgidÌ65536Ö0 -__NR_getresuidÌ65536Ö0 -__NR_getrlimitÌ65536Ö0 -__NR_getrusageÌ65536Ö0 -__NR_getsidÌ65536Ö0 -__NR_getsocknameÌ65536Ö0 -__NR_getsockoptÌ65536Ö0 -__NR_gettidÌ65536Ö0 -__NR_gettimeofdayÌ65536Ö0 -__NR_getuidÌ65536Ö0 -__NR_getxattrÌ65536Ö0 -__NR_init_moduleÌ65536Ö0 -__NR_inotify_add_watchÌ65536Ö0 -__NR_inotify_initÌ65536Ö0 -__NR_inotify_init1Ì65536Ö0 -__NR_inotify_rm_watchÌ65536Ö0 -__NR_io_cancelÌ65536Ö0 -__NR_io_destroyÌ65536Ö0 -__NR_io_geteventsÌ65536Ö0 -__NR_io_setupÌ65536Ö0 -__NR_io_submitÌ65536Ö0 -__NR_ioctlÌ65536Ö0 -__NR_iopermÌ65536Ö0 -__NR_ioplÌ65536Ö0 -__NR_ioprio_getÌ65536Ö0 -__NR_ioprio_setÌ65536Ö0 -__NR_kcmpÌ65536Ö0 -__NR_kexec_file_loadÌ65536Ö0 -__NR_kexec_loadÌ65536Ö0 -__NR_keyctlÌ65536Ö0 -__NR_killÌ65536Ö0 -__NR_lchownÌ65536Ö0 -__NR_lgetxattrÌ65536Ö0 -__NR_linkÌ65536Ö0 -__NR_linkatÌ65536Ö0 -__NR_listenÌ65536Ö0 -__NR_listxattrÌ65536Ö0 -__NR_llistxattrÌ65536Ö0 -__NR_lookup_dcookieÌ65536Ö0 -__NR_lremovexattrÌ65536Ö0 -__NR_lseekÌ65536Ö0 -__NR_lsetxattrÌ65536Ö0 -__NR_lstatÌ65536Ö0 -__NR_madviseÌ65536Ö0 -__NR_mbindÌ65536Ö0 -__NR_membarrierÌ65536Ö0 -__NR_memfd_createÌ65536Ö0 -__NR_migrate_pagesÌ65536Ö0 -__NR_mincoreÌ65536Ö0 -__NR_mkdirÌ65536Ö0 -__NR_mkdiratÌ65536Ö0 -__NR_mknodÌ65536Ö0 -__NR_mknodatÌ65536Ö0 -__NR_mlockÌ65536Ö0 -__NR_mlock2Ì65536Ö0 -__NR_mlockallÌ65536Ö0 -__NR_mmapÌ65536Ö0 -__NR_modify_ldtÌ65536Ö0 -__NR_mountÌ65536Ö0 -__NR_move_pagesÌ65536Ö0 -__NR_mprotectÌ65536Ö0 -__NR_mq_getsetattrÌ65536Ö0 -__NR_mq_notifyÌ65536Ö0 -__NR_mq_openÌ65536Ö0 -__NR_mq_timedreceiveÌ65536Ö0 -__NR_mq_timedsendÌ65536Ö0 -__NR_mq_unlinkÌ65536Ö0 -__NR_mremapÌ65536Ö0 -__NR_msgctlÌ65536Ö0 -__NR_msggetÌ65536Ö0 -__NR_msgrcvÌ65536Ö0 -__NR_msgsndÌ65536Ö0 -__NR_msyncÌ65536Ö0 -__NR_munlockÌ65536Ö0 -__NR_munlockallÌ65536Ö0 -__NR_munmapÌ65536Ö0 -__NR_name_to_handle_atÌ65536Ö0 -__NR_nanosleepÌ65536Ö0 -__NR_newfstatatÌ65536Ö0 -__NR_nfsservctlÌ65536Ö0 -__NR_openÌ65536Ö0 -__NR_open_by_handle_atÌ65536Ö0 -__NR_openatÌ65536Ö0 -__NR_pauseÌ65536Ö0 -__NR_perf_event_openÌ65536Ö0 -__NR_personalityÌ65536Ö0 -__NR_pipeÌ65536Ö0 -__NR_pipe2Ì65536Ö0 -__NR_pivot_rootÌ65536Ö0 -__NR_pkey_allocÌ65536Ö0 -__NR_pkey_freeÌ65536Ö0 -__NR_pkey_mprotectÌ65536Ö0 -__NR_pollÌ65536Ö0 -__NR_ppollÌ65536Ö0 -__NR_prctlÌ65536Ö0 -__NR_pread64Ì65536Ö0 -__NR_preadvÌ65536Ö0 -__NR_preadv2Ì65536Ö0 -__NR_prlimit64Ì65536Ö0 -__NR_process_vm_readvÌ65536Ö0 -__NR_process_vm_writevÌ65536Ö0 -__NR_pselect6Ì65536Ö0 -__NR_ptraceÌ65536Ö0 -__NR_putpmsgÌ65536Ö0 -__NR_pwrite64Ì65536Ö0 -__NR_pwritevÌ65536Ö0 -__NR_pwritev2Ì65536Ö0 -__NR_query_moduleÌ65536Ö0 -__NR_quotactlÌ65536Ö0 -__NR_readÌ65536Ö0 -__NR_readaheadÌ65536Ö0 -__NR_readlinkÌ65536Ö0 -__NR_readlinkatÌ65536Ö0 -__NR_readvÌ65536Ö0 -__NR_rebootÌ65536Ö0 -__NR_recvfromÌ65536Ö0 -__NR_recvmmsgÌ65536Ö0 -__NR_recvmsgÌ65536Ö0 -__NR_remap_file_pagesÌ65536Ö0 -__NR_removexattrÌ65536Ö0 -__NR_renameÌ65536Ö0 -__NR_renameatÌ65536Ö0 -__NR_renameat2Ì65536Ö0 -__NR_request_keyÌ65536Ö0 -__NR_restart_syscallÌ65536Ö0 -__NR_rmdirÌ65536Ö0 -__NR_rt_sigactionÌ65536Ö0 -__NR_rt_sigpendingÌ65536Ö0 -__NR_rt_sigprocmaskÌ65536Ö0 -__NR_rt_sigqueueinfoÌ65536Ö0 -__NR_rt_sigreturnÌ65536Ö0 -__NR_rt_sigsuspendÌ65536Ö0 -__NR_rt_sigtimedwaitÌ65536Ö0 -__NR_rt_tgsigqueueinfoÌ65536Ö0 -__NR_sched_get_priority_maxÌ65536Ö0 -__NR_sched_get_priority_minÌ65536Ö0 -__NR_sched_getaffinityÌ65536Ö0 -__NR_sched_getattrÌ65536Ö0 -__NR_sched_getparamÌ65536Ö0 -__NR_sched_getschedulerÌ65536Ö0 -__NR_sched_rr_get_intervalÌ65536Ö0 -__NR_sched_setaffinityÌ65536Ö0 -__NR_sched_setattrÌ65536Ö0 -__NR_sched_setparamÌ65536Ö0 -__NR_sched_setschedulerÌ65536Ö0 -__NR_sched_yieldÌ65536Ö0 -__NR_seccompÌ65536Ö0 -__NR_securityÌ65536Ö0 -__NR_selectÌ65536Ö0 -__NR_semctlÌ65536Ö0 -__NR_semgetÌ65536Ö0 -__NR_semopÌ65536Ö0 -__NR_semtimedopÌ65536Ö0 -__NR_sendfileÌ65536Ö0 -__NR_sendmmsgÌ65536Ö0 -__NR_sendmsgÌ65536Ö0 -__NR_sendtoÌ65536Ö0 -__NR_set_mempolicyÌ65536Ö0 -__NR_set_robust_listÌ65536Ö0 -__NR_set_thread_areaÌ65536Ö0 -__NR_set_tid_addressÌ65536Ö0 -__NR_setdomainnameÌ65536Ö0 -__NR_setfsgidÌ65536Ö0 -__NR_setfsuidÌ65536Ö0 -__NR_setgidÌ65536Ö0 -__NR_setgroupsÌ65536Ö0 -__NR_sethostnameÌ65536Ö0 -__NR_setitimerÌ65536Ö0 -__NR_setnsÌ65536Ö0 -__NR_setpgidÌ65536Ö0 -__NR_setpriorityÌ65536Ö0 -__NR_setregidÌ65536Ö0 -__NR_setresgidÌ65536Ö0 -__NR_setresuidÌ65536Ö0 -__NR_setreuidÌ65536Ö0 -__NR_setrlimitÌ65536Ö0 -__NR_setsidÌ65536Ö0 -__NR_setsockoptÌ65536Ö0 -__NR_settimeofdayÌ65536Ö0 -__NR_setuidÌ65536Ö0 -__NR_setxattrÌ65536Ö0 -__NR_shmatÌ65536Ö0 -__NR_shmctlÌ65536Ö0 -__NR_shmdtÌ65536Ö0 -__NR_shmgetÌ65536Ö0 -__NR_shutdownÌ65536Ö0 -__NR_sigaltstackÌ65536Ö0 -__NR_signalfdÌ65536Ö0 -__NR_signalfd4Ì65536Ö0 -__NR_socketÌ65536Ö0 -__NR_socketpairÌ65536Ö0 -__NR_spliceÌ65536Ö0 -__NR_statÌ65536Ö0 -__NR_statfsÌ65536Ö0 -__NR_statxÌ65536Ö0 -__NR_swapoffÌ65536Ö0 -__NR_swaponÌ65536Ö0 -__NR_symlinkÌ65536Ö0 -__NR_symlinkatÌ65536Ö0 -__NR_syncÌ65536Ö0 -__NR_sync_file_rangeÌ65536Ö0 -__NR_syncfsÌ65536Ö0 -__NR_sysfsÌ65536Ö0 -__NR_sysinfoÌ65536Ö0 -__NR_syslogÌ65536Ö0 -__NR_teeÌ65536Ö0 -__NR_tgkillÌ65536Ö0 -__NR_timeÌ65536Ö0 -__NR_timer_createÌ65536Ö0 -__NR_timer_deleteÌ65536Ö0 -__NR_timer_getoverrunÌ65536Ö0 -__NR_timer_gettimeÌ65536Ö0 -__NR_timer_settimeÌ65536Ö0 -__NR_timerfd_createÌ65536Ö0 -__NR_timerfd_gettimeÌ65536Ö0 -__NR_timerfd_settimeÌ65536Ö0 -__NR_timesÌ65536Ö0 -__NR_tkillÌ65536Ö0 -__NR_truncateÌ65536Ö0 -__NR_tuxcallÌ65536Ö0 -__NR_umaskÌ65536Ö0 -__NR_umount2Ì65536Ö0 -__NR_unameÌ65536Ö0 -__NR_unlinkÌ65536Ö0 -__NR_unlinkatÌ65536Ö0 -__NR_unshareÌ65536Ö0 -__NR_uselibÌ65536Ö0 -__NR_userfaultfdÌ65536Ö0 -__NR_ustatÌ65536Ö0 -__NR_utimeÌ65536Ö0 -__NR_utimensatÌ65536Ö0 -__NR_utimesÌ65536Ö0 -__NR_vforkÌ65536Ö0 -__NR_vhangupÌ65536Ö0 -__NR_vmspliceÌ65536Ö0 -__NR_vserverÌ65536Ö0 -__NR_wait4Ì65536Ö0 -__NR_waitidÌ65536Ö0 -__NR_writeÌ65536Ö0 -__NR_writevÌ65536Ö0 -__NTHÌ131072Í(fct)Ö0 -__OFF64_T_TYPEÌ65536Ö0 -__OFF_T_MATCHES_OFF64_TÌ65536Ö0 -__OFF_T_TYPEÌ65536Ö0 -__OPEN_NEEDS_MODEÌ131072Í(oflag)Ö0 -__OPTIMIZE__Ì65536Ö0 -__ORDER_BIG_ENDIAN__Ì65536Ö0 -__ORDER_LITTLE_ENDIAN__Ì65536Ö0 -__ORDER_PDP_ENDIAN__Ì65536Ö0 -__O_CLOEXECÌ65536Ö0 -__O_DIRECTÌ65536Ö0 -__O_DIRECTORYÌ65536Ö0 -__O_DSYNCÌ65536Ö0 -__O_LARGEFILEÌ65536Ö0 -__O_NOATIMEÌ65536Ö0 -__O_NOFOLLOWÌ65536Ö0 -__O_PATHÌ65536Ö0 -__O_TMPFILEÌ65536Ö0 -__PÌ65536Ö0 -__PÌ131072Í(args)Ö0 -__PARSEARGS_H__Ì65536Ö0 -__PDP_ENDIANÌ65536Ö0 -__PIC__Ì65536Ö0 -__PID_T_TYPEÌ65536Ö0 -__PIE__Ì65536Ö0 -__PMTÌ65536Ö0 -__PMTÌ131072Í(args)Ö0 -__POSIX2_THIS_VERSIONÌ65536Ö0 -__POSIX_FADV_DONTNEEDÌ65536Ö0 -__POSIX_FADV_NOREUSEÌ65536Ö0 -__PRAGMA_REDEFINE_EXTNAMEÌ65536Ö0 -__PTHREAD_MUTEX_HAVE_PREVÌ65536Ö0 -__PTHREAD_RWLOCK_ELISION_EXTRAÌ65536Ö0 -__PTHREAD_RWLOCK_INT_FLAGS_SHAREDÌ65536Ö0 -__PTHREAD_SPINSÌ65536Ö0 -__PTRDIFF_MAX__Ì65536Ö0 -__PTRDIFF_TYPE__Ì65536Ö0 -__REDIRECTÌ131072Í(name,proto,alias)Ö0 -__REDIRECT_LDBLÌ131072Í(name,proto,alias)Ö0 -__REDIRECT_NTHÌ131072Í(name,proto,alias)Ö0 -__REDIRECT_NTHNLÌ131072Í(name,proto,alias)Ö0 -__REDIRECT_NTH_LDBLÌ131072Í(name,proto,alias)Ö0 -__REGISTER_PREFIX__Ì65536Ö0 -__RLIM64_T_TYPEÌ65536Ö0 -__RLIM_T_MATCHES_RLIM64_TÌ65536Ö0 -__RLIM_T_TYPEÌ65536Ö0 -__S16_TYPEÌ65536Ö0 -__S32_TYPEÌ65536Ö0 -__S64_TYPEÌ65536Ö0 -__SCHAR_MAX__Ì65536Ö0 -__SEG_FSÌ65536Ö0 -__SEG_GSÌ65536Ö0 -__SHRT_MAX__Ì65536Ö0 -__SIGEV_MAX_SIZEÌ65536Ö0 -__SIGEV_PAD_SIZEÌ65536Ö0 -__SIGRTMAXÌ65536Ö0 -__SIGRTMINÌ65536Ö0 -__SIGSETFNÌ65536Ö0 -__SIGSETFNÌ131072Í(NAME,BODY,CONST)Ö0 -__SIG_ATOMIC_MAX__Ì65536Ö0 -__SIG_ATOMIC_MIN__Ì65536Ö0 -__SIG_ATOMIC_TYPE__Ì65536Ö0 -__SIMD_DECLÌ131072Í(function)Ö0 -__SIZEOF_DOUBLE__Ì65536Ö0 -__SIZEOF_FLOAT128__Ì65536Ö0 -__SIZEOF_FLOAT80__Ì65536Ö0 -__SIZEOF_FLOAT__Ì65536Ö0 -__SIZEOF_INT128__Ì65536Ö0 -__SIZEOF_INT__Ì65536Ö0 -__SIZEOF_LONG_DOUBLE__Ì65536Ö0 -__SIZEOF_LONG_LONG__Ì65536Ö0 -__SIZEOF_LONG__Ì65536Ö0 -__SIZEOF_POINTER__Ì65536Ö0 -__SIZEOF_PTHREAD_ATTR_TÌ65536Ö0 -__SIZEOF_PTHREAD_BARRIERATTR_TÌ65536Ö0 -__SIZEOF_PTHREAD_BARRIER_TÌ65536Ö0 -__SIZEOF_PTHREAD_CONDATTR_TÌ65536Ö0 -__SIZEOF_PTHREAD_COND_TÌ65536Ö0 -__SIZEOF_PTHREAD_MUTEXATTR_TÌ65536Ö0 -__SIZEOF_PTHREAD_MUTEX_TÌ65536Ö0 -__SIZEOF_PTHREAD_RWLOCKATTR_TÌ65536Ö0 -__SIZEOF_PTHREAD_RWLOCK_TÌ65536Ö0 -__SIZEOF_PTRDIFF_T__Ì65536Ö0 -__SIZEOF_SHORT__Ì65536Ö0 -__SIZEOF_SIZE_T__Ì65536Ö0 -__SIZEOF_WCHAR_T__Ì65536Ö0 -__SIZEOF_WINT_T__Ì65536Ö0 -__SIZE_MAX__Ì65536Ö0 -__SIZE_TÌ65536Ö0 -__SIZE_TYPE__Ì65536Ö0 -__SIZE_T__Ì65536Ö0 -__SI_ALIGNMENTÌ65536Ö0 -__SI_MAX_SIZEÌ65536Ö0 -__SI_PAD_SIZEÌ65536Ö0 -__SLONG32_TYPEÌ65536Ö0 -__SLONGWORD_TYPEÌ65536Ö0 -__SOCKADDR_ARGÌ65536Ö0 -__SOCKADDR_COMMONÌ131072Í(sa_prefix)Ö0 -__SOCKADDR_COMMON_SIZEÌ65536Ö0 -__SOCKET_H__Ì65536Ö0 -__SQUAD_TYPEÌ65536Ö0 -__SSE2_MATH__Ì65536Ö0 -__SSE2__Ì65536Ö0 -__SSE_MATH__Ì65536Ö0 -__SSE__Ì65536Ö0 -__SSIZE_T_TYPEÌ65536Ö0 -__SSP_STRONG__Ì65536Ö0 -__STDC_CONSTANT_MACROSÌ65536Ö0 -__STDC_HOSTED__Ì65536Ö0 -__STDC_IEC_559_COMPLEX__Ì65536Ö0 -__STDC_IEC_559__Ì65536Ö0 -__STDC_ISO_10646__Ì65536Ö0 -__STDC_LIMIT_MACROSÌ65536Ö0 -__STDC_NO_THREADS__Ì65536Ö0 -__STDC_UTF_16__Ì65536Ö0 -__STDC_UTF_32__Ì65536Ö0 -__STDC__Ì65536Ö0 -__STDIO_INLINEÌ65536Ö0 -__STDLIB_MB_LEN_MAXÌ65536Ö0 -__STD_TYPEÌ65536Ö0 -__STRINGÌ131072Í(x)Ö0 -__STRINGS_FORTIFIEDÌ65536Ö0 -__SUSECONDS_T_TYPEÌ65536Ö0 -__SWORD_TYPEÌ65536Ö0 -__SYSCALL_SLONG_TYPEÌ65536Ö0 -__SYSCALL_ULONG_TYPEÌ65536Ö0 -__SYSCALL_WORDSIZEÌ65536Ö0 -__SYSMACROS_DECLARE_MAJORÌ65536Ö0 -__SYSMACROS_DECLARE_MAJORÌ131072Í(DECL_TEMPL)Ö0 -__SYSMACROS_DECLARE_MAKEDEVÌ65536Ö0 -__SYSMACROS_DECLARE_MAKEDEVÌ131072Í(DECL_TEMPL)Ö0 -__SYSMACROS_DECLARE_MINORÌ65536Ö0 -__SYSMACROS_DECLARE_MINORÌ131072Í(DECL_TEMPL)Ö0 -__SYSMACROS_DECL_TEMPLÌ65536Ö0 -__SYSMACROS_DECL_TEMPLÌ131072Í(rtype,name,proto)Ö0 -__SYSMACROS_DEFINE_MAJORÌ65536Ö0 -__SYSMACROS_DEFINE_MAJORÌ131072Í(DECL_TEMPL)Ö0 -__SYSMACROS_DEFINE_MAKEDEVÌ65536Ö0 -__SYSMACROS_DEFINE_MAKEDEVÌ131072Í(DECL_TEMPL)Ö0 -__SYSMACROS_DEFINE_MINORÌ65536Ö0 -__SYSMACROS_DEFINE_MINORÌ131072Í(DECL_TEMPL)Ö0 -__SYSMACROS_DEPRECATED_INCLUSIONÌ65536Ö0 -__SYSMACROS_DMÌ131072Í(symbol)Ö0 -__SYSMACROS_DM1Ì131072Í(...)Ö0 -__SYSMACROS_IMPL_TEMPLÌ65536Ö0 -__SYSMACROS_IMPL_TEMPLÌ131072Í(rtype,name,proto)Ö0 -__S_IEXECÌ65536Ö0 -__S_IFBLKÌ65536Ö0 -__S_IFCHRÌ65536Ö0 -__S_IFDIRÌ65536Ö0 -__S_IFIFOÌ65536Ö0 -__S_IFLNKÌ65536Ö0 -__S_IFMTÌ65536Ö0 -__S_IFREGÌ65536Ö0 -__S_IFSOCKÌ65536Ö0 -__S_IREADÌ65536Ö0 -__S_ISGIDÌ65536Ö0 -__S_ISTYPEÌ131072Í(mode,mask)Ö0 -__S_ISUIDÌ65536Ö0 -__S_ISVTXÌ65536Ö0 -__S_IWRITEÌ65536Ö0 -__S_TYPEISMQÌ131072Í(buf)Ö0 -__S_TYPEISSEMÌ131072Í(buf)Ö0 -__S_TYPEISSHMÌ131072Í(buf)Ö0 -__TERM_H__Ì65536Ö0 -__THROWÌ65536Ö0 -__THROWNLÌ65536Ö0 -__TIMER_T_TYPEÌ65536Ö0 -__TIME_T_TYPEÌ65536Ö0 -__U16_TYPEÌ65536Ö0 -__U32_TYPEÌ65536Ö0 -__U64_TYPEÌ65536Ö0 -__UID_T_TYPEÌ65536Ö0 -__UINT16_CÌ131072Í(c)Ö0 -__UINT16_MAX__Ì65536Ö0 -__UINT16_TYPE__Ì65536Ö0 -__UINT32_CÌ131072Í(c)Ö0 -__UINT32_MAX__Ì65536Ö0 -__UINT32_TYPE__Ì65536Ö0 -__UINT64_CÌ131072Í(c)Ö0 -__UINT64_MAX__Ì65536Ö0 -__UINT64_TYPE__Ì65536Ö0 -__UINT8_CÌ131072Í(c)Ö0 -__UINT8_MAX__Ì65536Ö0 -__UINT8_TYPE__Ì65536Ö0 -__UINTMAX_CÌ131072Í(c)Ö0 -__UINTMAX_MAX__Ì65536Ö0 -__UINTMAX_TYPE__Ì65536Ö0 -__UINTPTR_MAX__Ì65536Ö0 -__UINTPTR_TYPE__Ì65536Ö0 -__UINT_FAST16_MAX__Ì65536Ö0 -__UINT_FAST16_TYPE__Ì65536Ö0 -__UINT_FAST32_MAX__Ì65536Ö0 -__UINT_FAST32_TYPE__Ì65536Ö0 -__UINT_FAST64_MAX__Ì65536Ö0 -__UINT_FAST64_TYPE__Ì65536Ö0 -__UINT_FAST8_MAX__Ì65536Ö0 -__UINT_FAST8_TYPE__Ì65536Ö0 -__UINT_LEAST16_MAX__Ì65536Ö0 -__UINT_LEAST16_TYPE__Ì65536Ö0 -__UINT_LEAST32_MAX__Ì65536Ö0 -__UINT_LEAST32_TYPE__Ì65536Ö0 -__UINT_LEAST64_MAX__Ì65536Ö0 -__UINT_LEAST64_TYPE__Ì65536Ö0 -__UINT_LEAST8_MAX__Ì65536Ö0 -__UINT_LEAST8_TYPE__Ì65536Ö0 -__ULONG32_TYPEÌ65536Ö0 -__ULONGWORD_TYPEÌ65536Ö0 -__UQUAD_TYPEÌ65536Ö0 -__USECONDS_T_TYPEÌ65536Ö0 -__USEFULL_MACROS_H__Ì65536Ö0 -__USER_LABEL_PREFIX__Ì65536Ö0 -__USE_ATFILEÌ65536Ö0 -__USE_EXTERN_INLINESÌ65536Ö0 -__USE_FILE_OFFSET64Ì65536Ö0 -__USE_FORTIFY_LEVELÌ65536Ö0 -__USE_GNUÌ65536Ö0 -__USE_GNU_GETTEXTÌ65536Ö0 -__USE_ISOC11Ì65536Ö0 -__USE_ISOC95Ì65536Ö0 -__USE_ISOC99Ì65536Ö0 -__USE_ISOCXX11Ì65536Ö0 -__USE_KERNEL_IPV6_DEFSÌ65536Ö0 -__USE_LARGEFILEÌ65536Ö0 -__USE_LARGEFILE64Ì65536Ö0 -__USE_MISCÌ65536Ö0 -__USE_POSIXÌ65536Ö0 -__USE_POSIX199309Ì65536Ö0 -__USE_POSIX199506Ì65536Ö0 -__USE_POSIX2Ì65536Ö0 -__USE_UNIX98Ì65536Ö0 -__USE_XOPENÌ65536Ö0 -__USE_XOPEN2KÌ65536Ö0 -__USE_XOPEN2K8Ì65536Ö0 -__USE_XOPEN2K8XSIÌ65536Ö0 -__USE_XOPEN2KXSIÌ65536Ö0 -__USE_XOPEN_EXTENDEDÌ65536Ö0 -__USING_NAMESPACE_C99Ì131072Í(name)Ö0 -__USING_NAMESPACE_STDÌ131072Í(name)Ö0 -__UWORD_TYPEÌ65536Ö0 -__VERSION__Ì65536Ö0 -__WALLÌ65536Ö0 -__WCHAR_MAXÌ65536Ö0 -__WCHAR_MAX__Ì65536Ö0 -__WCHAR_MINÌ65536Ö0 -__WCHAR_MIN__Ì65536Ö0 -__WCHAR_TÌ65536Ö0 -__WCHAR_TYPE__Ì65536Ö0 -__WCHAR_T__Ì65536Ö0 -__WCLONEÌ65536Ö0 -__WCOREDUMPÌ131072Í(status)Ö0 -__WCOREFLAGÌ65536Ö0 -__WEXITSTATUSÌ131072Í(status)Ö0 -__WIFCONTINUEDÌ131072Í(status)Ö0 -__WIFEXITEDÌ131072Í(status)Ö0 -__WIFSIGNALEDÌ131072Í(status)Ö0 -__WIFSTOPPEDÌ131072Í(status)Ö0 -__WINT_MAX__Ì65536Ö0 -__WINT_MIN__Ì65536Ö0 -__WINT_TYPE__Ì65536Ö0 -__WNOTHREADÌ65536Ö0 -__WORDSIZEÌ65536Ö0 -__WORDSIZE_TIME64_COMPAT32Ì65536Ö0 -__WSTOPSIGÌ131072Í(status)Ö0 -__WTERMSIGÌ131072Í(status)Ö0 -__W_CONTINUEDÌ65536Ö0 -__W_EXITCODEÌ131072Í(ret,sig)Ö0 -__W_STOPCODEÌ131072Í(sig)Ö0 -__X32_SYSCALL_BITÌ65536Ö0 -____FILE_definedÌ65536Ö0 -____mbstate_t_definedÌ65536Ö0 -___int_size_t_hÌ65536Ö0 -___int_wchar_t_hÌ65536Ö0 -__aligned_be64Ì65536Ö0 -__aligned_le64Ì65536Ö0 -__aligned_u64Ì65536Ö0 -__always_inlineÌ65536Ö0 -__amd64Ì65536Ö0 -__amd64__Ì65536Ö0 -__argÌ64Î_pthread_cleanup_bufferÖ0Ïvoid * -__attribute_alloc_size__Ì131072Í(params)Ö0 -__attribute_artificial__Ì65536Ö0 -__attribute_const__Ì65536Ö0 -__attribute_deprecated__Ì65536Ö0 -__attribute_deprecated_msg__Ì131072Í(msg)Ö0 -__attribute_format_arg__Ì131072Í(x)Ö0 -__attribute_format_strfmon__Ì131072Í(a,b)Ö0 -__attribute_malloc__Ì65536Ö0 -__attribute_noinline__Ì65536Ö0 -__attribute_pure__Ì65536Ö0 -__attribute_used__Ì65536Ö0 -__attribute_warn_unused_result__Ì65536Ö0 -__be16Ì4096Ö0Ï__u16 -__be32Ì4096Ö0Ï__u32 -__be64Ì4096Ö0Ï__u64 -__bitsÌ64Îanon_struct_9Ö0Ï__cpu_mask -__bitwiseÌ65536Ö0 -__bitwise__Ì65536Ö0 -__blkcnt_t_definedÌ65536Ö0 -__blksize_t_definedÌ65536Ö0 -__bool_true_false_are_definedÌ65536Ö0 -__bosÌ131072Í(ptr)Ö0 -__bos0Ì131072Í(ptr)Ö0 -__bswap_16Ì131072Í(x)Ö0 -__bswap_constant_16Ì131072Í(x)Ö0 -__bswap_constant_32Ì131072Í(x)Ö0 -__bswap_constant_64Ì131072Í(x)Ö0 -__canceltypeÌ64Î_pthread_cleanup_bufferÖ0Ïint -__cleanup_fct_attributeÌ65536Ö0 -__clock_t_definedÌ65536Ö0 -__clockid_t_definedÌ65536Ö0 -__code_model_small__Ì65536Ö0 -__cplusplusÌ65536Ö0 -__cpp_aggregate_nsdmiÌ65536Ö0 -__cpp_alias_templatesÌ65536Ö0 -__cpp_attributesÌ65536Ö0 -__cpp_binary_literalsÌ65536Ö0 -__cpp_constexprÌ65536Ö0 -__cpp_decltypeÌ65536Ö0 -__cpp_decltype_autoÌ65536Ö0 -__cpp_delegating_constructorsÌ65536Ö0 -__cpp_digit_separatorsÌ65536Ö0 -__cpp_exceptionsÌ65536Ö0 -__cpp_generic_lambdasÌ65536Ö0 -__cpp_hex_floatÌ65536Ö0 -__cpp_inheriting_constructorsÌ65536Ö0 -__cpp_init_capturesÌ65536Ö0 -__cpp_initializer_listsÌ65536Ö0 -__cpp_lambdasÌ65536Ö0 -__cpp_nsdmiÌ65536Ö0 -__cpp_range_based_forÌ65536Ö0 -__cpp_raw_stringsÌ65536Ö0 -__cpp_ref_qualifiersÌ65536Ö0 -__cpp_return_type_deductionÌ65536Ö0 -__cpp_rttiÌ65536Ö0 -__cpp_runtime_arraysÌ65536Ö0 -__cpp_rvalue_referenceÌ65536Ö0 -__cpp_rvalue_referencesÌ65536Ö0 -__cpp_sized_deallocationÌ65536Ö0 -__cpp_static_assertÌ65536Ö0 -__cpp_unicode_charactersÌ65536Ö0 -__cpp_unicode_literalsÌ65536Ö0 -__cpp_user_defined_literalsÌ65536Ö0 -__cpp_variable_templatesÌ65536Ö0 -__cpp_variadic_templatesÌ65536Ö0 -__cpu_maskÌ4096Ö0Ïunsigned long int -__cpu_set_t_definedÌ65536Ö0 -__daddr_t_definedÌ65536Ö0 -__defined_schedparamÌ65536Ö0 -__dev_t_definedÌ65536Ö0 -__error_t_definedÌ65536Ö0 -__errordeclÌ131072Í(name,msg)Ö0 -__exctypeÌ131072Í(name)Ö0 -__exctype_lÌ131072Í(name)Ö0 -__extern_always_inlineÌ65536Ö0 -__extern_inlineÌ65536Ö0 -__flexarrÌ65536Ö0 -__fortify_functionÌ65536Ö0 -__fsblkcnt_t_definedÌ65536Ö0 -__fsfilcnt_t_definedÌ65536Ö0 -__gid_t_definedÌ65536Ö0 -__glibc_c99_flexarr_availableÌ65536Ö0 -__glibc_clang_has_extensionÌ131072Í(ext)Ö0 -__glibc_clang_prereqÌ131072Í(maj,min)Ö0 -__glibc_likelyÌ131072Í(cond)Ö0 -__glibc_macro_warningÌ131072Í(message)Ö0 -__glibc_macro_warning1Ì131072Í(message)Ö0 -__glibc_unlikelyÌ131072Í(cond)Ö0 -__glibcxx_assertÌ131072Í(_Condition)Ö0 -__gnu_linux__Ì65536Ö0 -__has_includeÌ131072Í(STR)Ö0 -__has_include_nextÌ131072Í(STR)Ö0 -__have_pthread_attr_tÌ65536Ö0 -__have_sigevent_tÌ65536Ö0 -__have_siginfo_tÌ65536Ö0 -__have_sigval_tÌ65536Ö0 -__id_t_definedÌ65536Ö0 -__ino64_t_definedÌ65536Ö0 -__ino_t_definedÌ65536Ö0 -__int8_t_definedÌ65536Ö0 -__intN_tÌ131072Í(N,MODE)Ö0 -__intptr_t_definedÌ65536Ö0 -__isasciiÌ131072Í(c)Ö0 -__iscanonicalÌ131072Í(x)Ö0 -__iscanonicalfÌ131072Í(x)Ö0 -__isctype_fÌ131072Í(type)Ö0 -__isctype_lÌ131072Í(c,type,locale)Ö0 -__isleapÌ131072Í(year)Ö0 -__itimerspec_definedÌ65536Ö0 -__jmp_bufÌ4096Ö0Ïlong int -__k8Ì65536Ö0 -__k8__Ì65536Ö0 -__kernel_caddr_tÌ4096Ö0Ïchar * -__kernel_clock_tÌ4096Ö0Ï__kernel_long_t -__kernel_clockid_tÌ4096Ö0Ïint -__kernel_daddr_tÌ4096Ö0Ïint -__kernel_fd_setÌ4096Ö0Ïanon_struct_21 -__kernel_fsid_tÌ4096Ö0Ïanon_struct_22 -__kernel_gid16_tÌ4096Ö0Ïunsigned short -__kernel_gid32_tÌ4096Ö0Ïunsigned int -__kernel_gid_tÌ4096Ö0Ïunsigned int -__kernel_ino_tÌ4096Ö0Ï__kernel_ulong_t -__kernel_ipc_pid_tÌ4096Ö0Ïint -__kernel_key_tÌ4096Ö0Ïint -__kernel_loff_tÌ4096Ö0Ïlong long -__kernel_long_tÌ4096Ö0Ïlong -__kernel_mode_tÌ4096Ö0Ïunsigned int -__kernel_mqd_tÌ4096Ö0Ïint -__kernel_off_tÌ4096Ö0Ï__kernel_long_t -__kernel_old_dev_tÌ4096Ö0Ïunsigned long -__kernel_old_dev_tÌ65536Ö0 -__kernel_old_gid_tÌ4096Ö0Ïunsigned short -__kernel_old_uid_tÌ4096Ö0Ïunsigned short -__kernel_old_uid_tÌ65536Ö0 -__kernel_pid_tÌ4096Ö0Ïint -__kernel_ptrdiff_tÌ4096Ö0Ï__kernel_long_t -__kernel_sighandler_tÌ4096Ö0Ïtypedef void -__kernel_size_tÌ4096Ö0Ï__kernel_ulong_t -__kernel_ssize_tÌ4096Ö0Ï__kernel_long_t -__kernel_suseconds_tÌ4096Ö0Ï__kernel_long_t -__kernel_time_tÌ4096Ö0Ï__kernel_long_t -__kernel_timer_tÌ4096Ö0Ïint -__kernel_uid16_tÌ4096Ö0Ïunsigned short -__kernel_uid32_tÌ4096Ö0Ïunsigned int -__kernel_uid_tÌ4096Ö0Ïunsigned int -__kernel_ulong_tÌ4096Ö0Ïunsigned long -__key_t_definedÌ65536Ö0 -__ldiv_t_definedÌ65536Ö0 -__le16Ì4096Ö0Ï__u16 -__le32Ì4096Ö0Ï__u32 -__le64Ì4096Ö0Ï__u64 -__linuxÌ65536Ö0 -__linux__Ì65536Ö0 -__lldiv_t_definedÌ65536Ö0 -__long_double_tÌ65536Ö0 -__malloc_and_calloc_definedÌ65536Ö0 -__mempcpyÌ131072Í(dest,src,n)Ö0 -__mode_t_definedÌ65536Ö0 -__need_EmathÌ65536Ö0 -__need_FILEÌ65536Ö0 -__need_IOV_MAXÌ65536Ö0 -__need_NULLÌ65536Ö0 -__need___FILEÌ65536Ö0 -__need___va_listÌ65536Ö0 -__need_error_tÌ65536Ö0 -__need_getoptÌ65536Ö0 -__need_malloc_and_callocÌ65536Ö0 -__need_mbstate_tÌ65536Ö0 -__need_schedparamÌ65536Ö0 -__need_sig_atomic_tÌ65536Ö0 -__need_sigevent_tÌ65536Ö0 -__need_siginfo_tÌ65536Ö0 -__need_sigset_tÌ65536Ö0 -__need_size_tÌ65536Ö0 -__need_wchar_tÌ65536Ö0 -__need_wint_tÌ65536Ö0 -__nlink_t_definedÌ65536Ö0 -__nonnullÌ131072Í(params)Ö0 -__off64_t_definedÌ65536Ö0 -__off_t_definedÌ65536Ö0 -__osockaddr_definedÌ65536Ö0 -__pic__Ì65536Ö0 -__pid_t_definedÌ65536Ö0 -__pie__Ì65536Ö0 -__prevÌ64Î_pthread_cleanup_bufferÖ0Ï_pthread_cleanup_buffer -__prognameÌ32768Ö0Ïconst char * -__ptr_tÌ65536Ö0 -__restrict_arrÌ65536Ö0 -__routineÌ1024Í(void *)Î_pthread_cleanup_bufferÖ0Ïvoid -__s16Ì4096Ö0Ï__signed__short -__s32Ì4096Ö0Ï__signed__int -__s64Ì4096Ö0Ï__extension__ -__s8Ì4096Ö0Ï__signed__char -__sched_paramÌ2048Ö0 -__sched_priorityÌ64Î__sched_paramÖ0Ïint -__sched_priorityÌ64Îsched_paramÖ0Ïint -__sig_atomic_t_definedÌ65536Ö0 -__sigandsetÌ131072Í(dest,left,right)Ö0 -__sigemptysetÌ131072Í(set)Ö0 -__sigfillsetÌ131072Í(set)Ö0 -__sigisemptysetÌ131072Í(set)Ö0 -__sigmaskÌ131072Í(sig)Ö0 -__sigorsetÌ131072Í(dest,left,right)Ö0 -__sigset_t_definedÌ65536Ö0 -__sigwordÌ131072Í(sig)Ö0 -__size_tÌ65536Ö0 -__size_t__Ì65536Ö0 -__socklen_t_definedÌ65536Ö0 -__ss_aligntypeÌ65536Ö0 -__ssize_t_definedÌ65536Ö0 -__struct_tm_definedÌ65536Ö0 -__stub___compat_bdflushÌ65536Ö0 -__stub_chflagsÌ65536Ö0 -__stub_fattachÌ65536Ö0 -__stub_fchflagsÌ65536Ö0 -__stub_fdetachÌ65536Ö0 -__stub_getmsgÌ65536Ö0 -__stub_gttyÌ65536Ö0 -__stub_lchmodÌ65536Ö0 -__stub_putmsgÌ65536Ö0 -__stub_revokeÌ65536Ö0 -__stub_setloginÌ65536Ö0 -__stub_sigreturnÌ65536Ö0 -__stub_sstkÌ65536Ö0 -__stub_sttyÌ65536Ö0 -__sum16Ì4096Ö0Ï__u16 -__suseconds_t_definedÌ65536Ö0 -__time_t_definedÌ65536Ö0 -__timer_t_definedÌ65536Ö0 -__timespec_definedÌ65536Ö0 -__timeval_definedÌ65536Ö0 -__toasciiÌ131072Í(c)Ö0 -__tobodyÌ131072Í(c,f,a,args)Ö0 -__u16Ì4096Ö0Ïunsigned short -__u32Ì4096Ö0Ïunsigned int -__u64Ì4096Ö0Ï__extension__unsigned long long -__u8Ì4096Ö0Ïunsigned char -__u_char_definedÌ65536Ö0 -__u_intN_tÌ131072Í(N,MODE)Ö0 -__uid_t_definedÌ65536Ö0 -__uint32_t_definedÌ65536Ö0 -__undef_ARG_MAXÌ65536Ö0 -__undef_LINK_MAXÌ65536Ö0 -__undef_NR_OPENÌ65536Ö0 -__undef_OPEN_MAXÌ65536Ö0 -__unixÌ65536Ö0 -__unix__Ì65536Ö0 -__useconds_t_definedÌ65536Ö0 -__va_arg_packÌ131072Í()Ö0 -__va_arg_pack_lenÌ131072Í()Ö0 -__va_copyÌ131072Í(d,s)Ö0 -__va_list__Ì65536Ö0 -__warnattrÌ131072Í(msg)Ö0 -__warndeclÌ131072Í(name,msg)Ö0 -__wchar_t__Ì65536Ö0 -__wsumÌ4096Ö0Ï__u32 -__wurÌ65536Ö0 -__x86_64Ì65536Ö0 -__x86_64__Ì65536Ö0 -_attributeÌ64Îsigevent::anon_union_6::anon_struct_7Ö0Ïpthread_attr_t * -_functionÌ1024Í(sigval_t)Îsigevent::anon_union_6::anon_struct_7Ö0Ïvoid -_padÌ64Îsigevent::anon_union_6Ö0Ïint -_pthread_cleanup_bufferÌ2048Ö0 -_sigev_threadÌ64Îsigevent::anon_union_6Ö0Ïanon_struct_7 -_sigev_unÌ64ÎsigeventÖ0Ïanon_union_6 -_tidÌ64Îsigevent::anon_union_6Ö0Ï__pid_t -abortÌ64ÎstdÖ0Ïusing -abortÌ65536Ö0 -absÌ64ÎstdÖ0Ïusing -absÌ65536Ö0 -acosÌ64ÎstdÖ0Ïusing -acosÌ65536Ö0 -acoshÌ64ÎstdÖ0Ïusing -acoshÌ65536Ö0 -acoshfÌ65536Ö0 -acoshlÌ65536Ö0 -allocaÌ65536Ö0 -allocaÌ131072Í(size)Ö0 -anon_enum_0Ì2Ö0 -anon_enum_1Ì2Ö0 -anon_enum_10Ì2Ö0 -anon_enum_11Ì2Ö0 -anon_enum_12Ì2Ö0 -anon_enum_13Ì2Ö0 -anon_enum_14Ì2Ö0 -anon_enum_15Ì2Ö0 -anon_enum_16Ì2Ö0 -anon_enum_17Ì2Ö0 -anon_enum_18Ì2Ö0 -anon_enum_19Ì2Ö0 -anon_enum_20Ì2Ö0 -anon_enum_8Ì2Ö0 -anon_struct_2Ì2048Ö0 -anon_struct_21Ì2048Ö0 -anon_struct_22Ì2048Ö0 -anon_struct_3Ì2048Ö0 -anon_struct_4Ì2048Ö0 -anon_struct_5Ì2048Ö0 -anon_struct_7Ì2048Îsigevent::anon_union_6Ö0 -anon_struct_9Ì2048Ö0 -anon_union_6Ì8192ÎsigeventÖ0 -arg_doubleÌ4Îanon_enum_0Ö0 -arg_endÌ64Îprctl_mm_mapÖ0Ï__u64 -arg_floatÌ4Îanon_enum_0Ö0 -arg_functionÌ4Îanon_enum_0Ö0 -arg_intÌ4Îanon_enum_0Ö0 -arg_longlongÌ4Îanon_enum_0Ö0 -arg_noneÌ4Îanon_enum_0Ö0 -arg_startÌ64Îprctl_mm_mapÖ0Ï__u64 -arg_stringÌ4Îanon_enum_0Ö0 -argfnÌ4096Ö0Ïtypedef bool -argptrÌ64Îanon_struct_2Ö0Ïvoid * -argptrÌ64Îanon_struct_3Ö0Ïvoid * -argsortÌ16Í(const void *a1, const void *a2)Ö0Ïint -argtypeÌ4096Ö0Ïanon_enum_0 -asinÌ64ÎstdÖ0Ïusing -asinÌ65536Ö0 -asinhÌ64ÎstdÖ0Ïusing -asinhÌ65536Ö0 -asinhfÌ65536Ö0 -asinhlÌ65536Ö0 -assertÌ65536Ö0 -assertÌ131072Í(expr)Ö0 -assert_perrorÌ65536Ö0 -assert_perrorÌ131072Í(errnum)Ö0 -at_quick_exitÌ64ÎstdÖ0Ïusing -at_quick_exitÌ65536Ö0 -atanÌ64ÎstdÖ0Ïusing -atanÌ65536Ö0 -atan2Ì64ÎstdÖ0Ïusing -atan2Ì65536Ö0 -atanhÌ64ÎstdÖ0Ïusing -atanhÌ65536Ö0 -atanhfÌ65536Ö0 -atanhlÌ65536Ö0 -atexitÌ64ÎstdÖ0Ïusing -atexitÌ65536Ö0 -atofÌ64ÎstdÖ0Ïusing -atofÌ65536Ö0 -atoiÌ64ÎstdÖ0Ïusing -atoiÌ65536Ö0 -atolÌ64ÎstdÖ0Ïusing -atolÌ65536Ö0 -atollÌ65536Ö0 -auxvÌ64Îprctl_mm_mapÖ0Ï__u64 * -auxv_sizeÌ64Îprctl_mm_mapÖ0Ï__u32 -be16tohÌ131072Í(x)Ö0 -be32tohÌ131072Í(x)Ö0 -be64tohÌ131072Í(x)Ö0 -brkÌ64Îprctl_mm_mapÖ0Ï__u64 -bsearchÌ64ÎstdÖ0Ïusing -bsearchÌ65536Ö0 -bufÌ16384Ö0Ïchar -calcntÌ64ÎtimexÖ0Ï__syscall_slong_t -callocÌ64ÎstdÖ0Ïusing -callocÌ65536Ö0 -cbrtÌ64ÎstdÖ0Ïusing -cbrtÌ65536Ö0 -cbrtfÌ65536Ö0 -cbrtlÌ65536Ö0 -ceilÌ64ÎstdÖ0Ïusing -ceilÌ65536Ö0 -change_helpstringÌ16Í(char *s)Ö0Ïvoid -change_helpstringÌ1024Í(char *s)Ö0Ïvoid -cmdÌ16384Ö0Ïcommands -cmdlnoptsÌ16384Ö0Ïmyoption -comfdÌ16384Ö0Ïint -commandsÌ4096Ö0Ïanon_enum_20 -con_sigÌ16Í(int rb)Ö0Ïvoid -console_changedÌ16384Ö0Ïint -constantÌ64ÎtimexÖ0Ï__syscall_slong_t -copysignÌ64ÎstdÖ0Ïusing -copysignÌ65536Ö0 -copysignfÌ65536Ö0 -copysignlÌ65536Ö0 -cosÌ64ÎstdÖ0Ïusing -cosÌ65536Ö0 -coshÌ64ÎstdÖ0Ïusing -coshÌ65536Ö0 -cpu_set_tÌ4096Ö0Ïanon_struct_9 -daemon_Ì16Í(int sock)Ö0Ïvoid -daemonizeÌ16Í(char *port)Ö0Ïvoid -daemonizeÌ1024Í(char *port)Ö0Ïvoid -dataÌ64Îanon_struct_5Ö0Ïchar * -deviceÌ64Îanon_struct_4Ö0Ïchar * -divÌ64ÎstdÖ0Ïusing -divÌ65536Ö0 -div_tÌ64ÎstdÖ0Ïusing -dtimeÌ16Í()Ö0Ïdouble -dtimeÌ1024Í()Ö0Ïdouble -echoÌ64Îanon_struct_4Ö0Ïint -end_codeÌ64Îprctl_mm_mapÖ0Ï__u64 -end_dataÌ64Îprctl_mm_mapÖ0Ï__u64 -end_optionÌ65536Ö0 -end_suboptionÌ65536Ö0 -env_endÌ64Îprctl_mm_mapÖ0Ï__u64 -env_startÌ64Îprctl_mm_mapÖ0Ï__u64 -erfÌ64ÎstdÖ0Ïusing -erfÌ65536Ö0 -erfcÌ64ÎstdÖ0Ïusing -erfcÌ65536Ö0 -erfcfÌ65536Ö0 -erfclÌ65536Ö0 -erffÌ65536Ö0 -erflÌ65536Ö0 -errcntÌ64ÎtimexÖ0Ï__syscall_slong_t -errnoÌ65536Ö0 -error_tÌ4096Ö0Ïint -esterrorÌ64ÎtimexÖ0Ï__syscall_slong_t -exe_fdÌ64Îprctl_mm_mapÖ0Ï__u32 -exitÌ64ÎstdÖ0Ïusing -exitÌ65536Ö0 -expÌ64ÎstdÖ0Ïusing -expÌ65536Ö0 -exp2Ì64ÎstdÖ0Ïusing -exp2Ì65536Ö0 -exp2fÌ65536Ö0 -exp2lÌ65536Ö0 -expm1Ì64ÎstdÖ0Ïusing -expm1Ì65536Ö0 -expm1fÌ65536Ö0 -expm1lÌ65536Ö0 -fabsÌ64ÎstdÖ0Ïusing -fabsÌ65536Ö0 -fdimÌ64ÎstdÖ0Ïusing -fdimÌ65536Ö0 -fdimfÌ65536Ö0 -fdimlÌ65536Ö0 -fds_bitsÌ64Îanon_struct_21Ö0Ïunsigned long -flagÌ64Îanon_struct_2Ö0Ïint * -floorÌ64ÎstdÖ0Ïusing -floorÌ65536Ö0 -fmaÌ64ÎstdÖ0Ïusing -fmaÌ65536Ö0 -fmafÌ65536Ö0 -fmalÌ65536Ö0 -fmaxÌ64ÎstdÖ0Ïusing -fmaxÌ65536Ö0 -fmaxfÌ65536Ö0 -fmaxlÌ65536Ö0 -fminÌ64ÎstdÖ0Ïusing -fminÌ65536Ö0 -fminfÌ65536Ö0 -fminlÌ65536Ö0 -fmodÌ64ÎstdÖ0Ïusing -fmodÌ65536Ö0 -fpclassifyÌ64ÎstdÖ0Ïusing -fpclassifyÌ65536Ö0 -fpclassifyÌ131072Í(x)Ö0 -fread_unlockedÌ65536Ö0 -freeÌ64ÎstdÖ0Ïusing -freeÌ65536Ö0 -freqÌ64ÎtimexÖ0Ï__syscall_slong_t -frexpÌ64ÎstdÖ0Ïusing -frexpÌ65536Ö0 -g_pr_Ì16Í(const char *fmt, ...)Ö0Ïint -get_aptrÌ16Í(void *paptr, argtype type)Ö0Ïvoid * -get_optindÌ16Í(int opt, myoption *options)Ö0Ïint -get_suboptionÌ16Í(char *str, mysuboption *opt)Ö0Ïbool -get_suboptionÌ1024Í(char *str, mysuboption *opt)Ö0Ïbool -getcÌ131072Í(_fp)Ö0 -getenvÌ64ÎstdÖ0Ïusing -getenvÌ65536Ö0 -globErrÌ16384Ö0Ïint -globErrÌ32768Ö0Ïint -glob_parsÌ4096Ö0Ïanon_struct_4 -greenÌ1024Í(const char *fmt, ...)Ö0Ïint -h_addrÌ65536Ö0 -h_errnoÌ65536Ö0 -handle_socketÌ16Í(void *asock)Ö0Ïvoid * -has_argÌ64Îanon_struct_2Ö0Ïhasarg -has_argÌ64Îanon_struct_3Ö0Ïhasarg -hasargÌ4096Ö0Ïanon_enum_1 -helpÌ64Îanon_struct_2Ö0Ïconst char * -helpÌ16384Ö0Ïint -helpstringÌ16384Ö0Ïchar * -htobe16Ì131072Í(x)Ö0 -htobe32Ì131072Í(x)Ö0 -htobe64Ì131072Í(x)Ö0 -htole16Ì131072Í(x)Ö0 -htole32Ì131072Í(x)Ö0 -htole64Ì131072Í(x)Ö0 -htonlÌ131072Í(x)Ö0 -htonsÌ131072Í(x)Ö0 -hypotÌ64ÎstdÖ0Ïusing -hypotÌ65536Ö0 -hypotfÌ65536Ö0 -hypotlÌ65536Ö0 -ilogbÌ64ÎstdÖ0Ïusing -ilogbÌ65536Ö0 -ilogbfÌ65536Ö0 -ilogblÌ65536Ö0 -initial_setupÌ16Í()Ö0Ïvoid -initial_setupÌ1024Í()Ö0Ïvoid -int_fast16_tÌ4096Ö0Ïlong int -int_fast32_tÌ4096Ö0Ïlong int -int_fast64_tÌ4096Ö0Ïlong int -int_fast8_tÌ4096Ö0Ïsigned char -int_least16_tÌ4096Ö0Ïshort int -int_least32_tÌ4096Ö0Ïint -int_least64_tÌ4096Ö0Ïlong int -int_least8_tÌ4096Ö0Ïsigned char -intmax_tÌ4096Ö0Ï__intmax_t -iscanonicalÌ131072Í(x)Ö0 -iseqsigÌ131072Í(x,y)Ö0 -isfiniteÌ64ÎstdÖ0Ïusing -isfiniteÌ65536Ö0 -isfiniteÌ131072Í(x)Ö0 -isgreaterÌ64ÎstdÖ0Ïusing -isgreaterÌ65536Ö0 -isgreaterÌ131072Í(x,y)Ö0 -isgreaterequalÌ64ÎstdÖ0Ïusing -isgreaterequalÌ65536Ö0 -isgreaterequalÌ131072Í(x,y)Ö0 -isinfÌ64ÎstdÖ0Ïusing -isinfÌ65536Ö0 -isinfÌ131072Í(x)Ö0 -islessÌ64ÎstdÖ0Ïusing -islessÌ65536Ö0 -islessÌ131072Í(x,y)Ö0 -islessequalÌ64ÎstdÖ0Ïusing -islessequalÌ65536Ö0 -islessequalÌ131072Í(x,y)Ö0 -islessgreaterÌ64ÎstdÖ0Ïusing -islessgreaterÌ65536Ö0 -islessgreaterÌ131072Í(x,y)Ö0 -isnanÌ64ÎstdÖ0Ïusing -isnanÌ65536Ö0 -isnanÌ131072Í(x)Ö0 -isnormalÌ64ÎstdÖ0Ïusing -isnormalÌ65536Ö0 -isnormalÌ131072Í(x)Ö0 -issignalingÌ131072Í(x)Ö0 -issubnormalÌ131072Í(x)Ö0 -isunorderedÌ64ÎstdÖ0Ïusing -isunorderedÌ65536Ö0 -isunorderedÌ131072Í(u,v)Ö0 -it_intervalÌ64ÎitimerspecÖ0Ïtimespec -it_valueÌ64ÎitimerspecÖ0Ïtimespec -itimerspecÌ2048Ö0 -jitcntÌ64ÎtimexÖ0Ï__syscall_slong_t -jitterÌ64ÎtimexÖ0Ï__syscall_slong_t -labsÌ64ÎstdÖ0Ïusing -labsÌ65536Ö0 -ldexpÌ64ÎstdÖ0Ïusing -ldexpÌ65536Ö0 -ldivÌ64ÎstdÖ0Ïusing -ldivÌ65536Ö0 -ldiv_tÌ64ÎstdÖ0Ïusing -le16tohÌ131072Í(x)Ö0 -le32tohÌ131072Í(x)Ö0 -le64tohÌ131072Í(x)Ö0 -lenÌ64Îanon_struct_5Ö0Ïsize_t -lgammaÌ64ÎstdÖ0Ïusing -lgammaÌ65536Ö0 -lgammafÌ65536Ö0 -lgammalÌ65536Ö0 -linuxÌ65536Ö0 -llabsÌ65536Ö0 -lldivÌ65536Ö0 -llrintÌ64ÎstdÖ0Ïusing -llrintÌ65536Ö0 -llrintfÌ65536Ö0 -llrintlÌ65536Ö0 -llroundÌ64ÎstdÖ0Ïusing -llroundÌ65536Ö0 -llroundfÌ65536Ö0 -llroundlÌ65536Ö0 -logÌ64ÎstdÖ0Ïusing -logÌ65536Ö0 -log10Ì64ÎstdÖ0Ïusing -log10Ì65536Ö0 -log1pÌ64ÎstdÖ0Ïusing -log1pÌ65536Ö0 -log1pfÌ65536Ö0 -log1plÌ65536Ö0 -log2Ì64ÎstdÖ0Ïusing -log2Ì65536Ö0 -log2fÌ65536Ö0 -log2lÌ65536Ö0 -log_open_timeÌ16384Ö0Ïtime_t -logbÌ64ÎstdÖ0Ïusing -logbÌ65536Ö0 -logbfÌ65536Ö0 -logblÌ65536Ö0 -logfileÌ64Îanon_struct_4Ö0Ïchar * -lognameÌ16384Ö0Ïchar * -lrintÌ64ÎstdÖ0Ïusing -lrintÌ65536Ö0 -lrintfÌ65536Ö0 -lrintlÌ65536Ö0 -lroundÌ64ÎstdÖ0Ïusing -lroundÌ65536Ö0 -lroundfÌ65536Ö0 -lroundlÌ65536Ö0 -mainÌ16Í(int argc, char **argv)Ö0Ïint -majorÌ65536Ö0 -majorÌ131072Í(dev)Ö0 -makedevÌ65536Ö0 -makedevÌ131072Í(maj,min)Ö0 -mallocÌ64ÎstdÖ0Ïusing -mallocÌ65536Ö0 -math_errhandlingÌ65536Ö0 -maxÌ65536Ö0 -maxerrorÌ64ÎtimexÖ0Ï__syscall_slong_t -mblenÌ64ÎstdÖ0Ïusing -mblenÌ65536Ö0 -mbstowcsÌ64ÎstdÖ0Ïusing -mbstowcsÌ65536Ö0 -mbtowcÌ64ÎstdÖ0Ïusing -mbtowcÌ65536Ö0 -mempcpyÌ131072Í(dest,src,n)Ö0 -minÌ65536Ö0 -minorÌ65536Ö0 -minorÌ131072Í(dev)Ö0 -mmapbufÌ4096Ö0Ïanon_struct_5 -modesÌ64ÎtimexÖ0Ïunsigned int -modfÌ64ÎstdÖ0Ïusing -modfÌ65536Ö0 -mutexÌ16384Ö0Ïpthread_mutex_t -my_allocÌ16Í(size_t N, size_t S)Ö0Ïvoid * -my_allocÌ1024Í(size_t N, size_t S)Ö0Ïvoid * -myatodÌ16Í(void *num, const char *str, argtype t)Ö0Ïbool -myatollÌ16Í(void *num, char *str, argtype t)Ö0Ïbool -mygetcharÌ16Í()Ö0Ïint -mygetcharÌ1024Í()Ö0Ïint -myoptionÌ4096Ö0Ïanon_struct_2 -mysuboptionÌ4096Ö0Ïanon_struct_3 -n_addrtypeÌ64ÎnetentÖ0Ïint -n_aliasesÌ64ÎnetentÖ0Ïchar * * -n_nameÌ64ÎnetentÖ0Ïchar * -n_netÌ64ÎnetentÖ0Ïuint32_t -nameÌ64Îanon_struct_2Ö0Ïconst char * -nameÌ64Îanon_struct_3Ö0Ïconst char * -nanÌ65536Ö0 -nanfÌ65536Ö0 -nanlÌ65536Ö0 -nearbyintÌ64ÎstdÖ0Ïusing -nearbyintÌ65536Ö0 -nearbyintfÌ65536Ö0 -nearbyintlÌ65536Ö0 -netentÌ2048Ö0 -newtÌ16384Ö0Ïtermios -nextafterÌ64ÎstdÖ0Ïusing -nextafterÌ65536Ö0 -nextafterfÌ65536Ö0 -nextafterlÌ65536Ö0 -nexttowardÌ64ÎstdÖ0Ïusing -nexttowardÌ65536Ö0 -nexttowardfÌ65536Ö0 -nexttowardlÌ65536Ö0 -no_argumentÌ65536Ö0 -ntohlÌ131072Í(x)Ö0 -ntohsÌ131072Í(x)Ö0 -offsetÌ64ÎtimexÖ0Ï__syscall_slong_t -oldtÌ16384Ö0Ïtermios -oldttyÌ16384Ö0Ïtermio -openlogfileÌ16Í(char *name)Ö0Ïvoid -openlogfileÌ1024Í(char *name)Ö0Ïvoid -optional_argumentÌ65536Ö0 -parse_argsÌ16Í(int argc, char **argv)Ö0Ïglob_pars * -parse_argsÌ1024Í(int argc, char **argv)Ö0Ïglob_pars * -parseargsÌ16Í(int *argc, char ***argv, myoption *options)Ö0Ïvoid -parseargsÌ1024Í(int *argc, char ***argv, myoption *options)Ö0Ïvoid -pingÌ16Í()Ö0Ïint -pingÌ1024Í()Ö0Ïint -poll_deviceÌ16Í()Ö0Ïchar * -poll_deviceÌ1024Í()Ö0Ïchar * -portÌ64Îanon_struct_4Ö0Ïchar * -powÌ64ÎstdÖ0Ïusing -powÌ65536Ö0 -ppsfreqÌ64ÎtimexÖ0Ï__syscall_slong_t -prctl_mm_mapÌ2048Ö0 -precisionÌ64ÎtimexÖ0Ï__syscall_slong_t -pthread_cleanup_popÌ131072Í(execute)Ö0 -pthread_cleanup_pop_restore_npÌ131072Í(execute)Ö0 -pthread_cleanup_pushÌ131072Í(routine,arg)Ö0 -pthread_cleanup_push_defer_npÌ131072Í(routine,arg)Ö0 -putcÌ131072Í(_ch,_fp)Ö0 -putlogÌ16Í(const char *fmt, ...)Ö0Ïint -putlogÌ1024Í(const char *fmt, ...)Ö0Ïint -qsortÌ64ÎstdÖ0Ïusing -qsortÌ65536Ö0 -quick_exitÌ64ÎstdÖ0Ïusing -quick_exitÌ65536Ö0 -r_WARNÌ16Í(const char *fmt, ...)Ö0Ïint -r_pr_Ì16Í(const char *fmt, ...)Ö0Ïint -r_pr_nottyÌ16Í(const char *fmt, ...)Ö0Ïint -randÌ64ÎstdÖ0Ïusing -randÌ65536Ö0 -read_consoleÌ16Í()Ö0Ïint -read_consoleÌ1024Í()Ö0Ïint -read_stringÌ16Í()Ö0Ïchar * -read_ttyÌ16Í(char *buff, size_t length)Ö0Ïsize_t -read_ttyÌ1024Í(char *buff, size_t length)Ö0Ïsize_t -reallocÌ64ÎstdÖ0Ïusing -reallocÌ65536Ö0 -redÌ1024Í(const char *fmt, ...)Ö0Ïint -remainderÌ64ÎstdÖ0Ïusing -remainderÌ65536Ö0 -remainderfÌ65536Ö0 -remainderlÌ65536Ö0 -remquoÌ64ÎstdÖ0Ïusing -remquoÌ65536Ö0 -remquofÌ65536Ö0 -remquolÌ65536Ö0 -required_argumentÌ65536Ö0 -rest_parsÌ64Îanon_struct_4Ö0Ïchar * * -rest_pars_numÌ64Îanon_struct_4Ö0Ïint -restore_consoleÌ16Í()Ö0Ïvoid -restore_consoleÌ1024Í()Ö0Ïvoid -restore_ttyÌ16Í()Ö0Ïvoid -restore_ttyÌ1024Í()Ö0Ïvoid -rintÌ64ÎstdÖ0Ïusing -rintÌ65536Ö0 -rintfÌ65536Ö0 -rintlÌ65536Ö0 -roundÌ64ÎstdÖ0Ïusing -roundÌ65536Ö0 -roundfÌ65536Ö0 -roundlÌ65536Ö0 -run_terminalÌ16Í()Ö0Ïvoid -run_terminalÌ1024Í()Ö0Ïvoid -s6_addrÌ65536Ö0 -s6_addr16Ì65536Ö0 -s6_addr32Ì65536Ö0 -s_WARNÌ16Í(const char *fmt, ...)Ö0Ïint -sa_handlerÌ65536Ö0 -sa_sigactionÌ65536Ö0 -scalblnÌ64ÎstdÖ0Ïusing -scalblnÌ65536Ö0 -scalblnfÌ65536Ö0 -scalblnlÌ65536Ö0 -scalbnÌ64ÎstdÖ0Ïusing -scalbnÌ65536Ö0 -scalbnfÌ65536Ö0 -scalbnlÌ65536Ö0 -sched_paramÌ2048Ö0 -sched_priorityÌ65536Ö0 -send_dataÌ16Í(int sock, int webquery, const char *textbuf)Ö0Ïint -serverÌ16Í(void *asock)Ö0Ïvoid * -setup_conÌ16Í()Ö0Ïvoid -setup_conÌ1024Í()Ö0Ïvoid -shiftÌ64ÎtimexÖ0Ïint -showhelpÌ16Í(int oindex, myoption *options)Ö0Ïvoid -showhelpÌ1024Í(int oindex, myoption *options)Ö0Ïvoid -si_addrÌ65536Ö0 -si_addr_lsbÌ65536Ö0 -si_archÌ65536Ö0 -si_bandÌ65536Ö0 -si_call_addrÌ65536Ö0 -si_fdÌ65536Ö0 -si_intÌ65536Ö0 -si_lowerÌ65536Ö0 -si_overrunÌ65536Ö0 -si_pidÌ65536Ö0 -si_ptrÌ65536Ö0 -si_statusÌ65536Ö0 -si_stimeÌ65536Ö0 -si_syscallÌ65536Ö0 -si_timeridÌ65536Ö0 -si_uidÌ65536Ö0 -si_upperÌ65536Ö0 -si_utimeÌ65536Ö0 -si_valueÌ65536Ö0 -sigev_notifyÌ64ÎsigeventÖ0Ïint -sigev_notify_attributesÌ65536Ö0 -sigev_notify_functionÌ65536Ö0 -sigev_signoÌ64ÎsigeventÖ0Ïint -sigev_valueÌ64ÎsigeventÖ0Ïsigval_t -sigeventÌ2048Ö0 -sigeventÌ32768Ö0 -sigevent_tÌ4096Ö0Ïsigevent -sigmaskÌ131072Í(sig)Ö0 -signalsÌ16Í(int signo)Ö0Ïvoid -signalsÌ1024Í(int sig)Ö0Ïvoid -signbitÌ64ÎstdÖ0Ïusing -signbitÌ65536Ö0 -signbitÌ131072Í(x)Ö0 -sigvalÌ8192Ö0 -sigval_tÌ4096Ö0Ïsigval -sinÌ64ÎstdÖ0Ïusing -sinÌ65536Ö0 -sinhÌ64ÎstdÖ0Ïusing -sinhÌ65536Ö0 -sival_intÌ64ÎsigvalÖ0Ïint -sival_ptrÌ64ÎsigvalÖ0Ïvoid * -sqrtÌ64ÎstdÖ0Ïusing -sqrtÌ65536Ö0 -srandÌ64ÎstdÖ0Ïusing -srandÌ65536Ö0 -st_atimeÌ65536Ö0 -st_ctimeÌ65536Ö0 -st_mtimeÌ65536Ö0 -stabilÌ64ÎtimexÖ0Ï__syscall_slong_t -starsÌ16384Ö0Ïconst char -start_brkÌ64Îprctl_mm_mapÖ0Ï__u64 -start_codeÌ64Îprctl_mm_mapÖ0Ï__u64 -start_dataÌ64Îprctl_mm_mapÖ0Ï__u64 -start_stackÌ64Îprctl_mm_mapÖ0Ï__u64 -statusÌ64ÎtimexÖ0Ïint -statusÌ16384Ö0Ïchar * -stbcntÌ64ÎtimexÖ0Ï__syscall_slong_t -stderrÌ65536Ö0 -stdinÌ65536Ö0 -stdoutÌ65536Ö0 -str2doubleÌ16Í(double *num, const char *str)Ö0Ïint -str2doubleÌ1024Í(double *num, const char *str)Ö0Ïint -strdupaÌ131072Í(s)Ö0 -stringscanÌ16Í(char *str, char *needle)Ö0Ïchar * -strndupaÌ131072Í(s,n)Ö0 -strtodÌ64ÎstdÖ0Ïusing -strtodÌ65536Ö0 -strtofÌ65536Ö0 -strtolÌ64ÎstdÖ0Ïusing -strtolÌ65536Ö0 -strtoldÌ65536Ö0 -strtollÌ65536Ö0 -strtoulÌ64ÎstdÖ0Ïusing -strtoulÌ65536Ö0 -strtoullÌ65536Ö0 -systemÌ64ÎstdÖ0Ïusing -systemÌ65536Ö0 -taiÌ64ÎtimexÖ0Ïint -tanÌ64ÎstdÖ0Ïusing -tanÌ65536Ö0 -tanhÌ64ÎstdÖ0Ïusing -tanhÌ65536Ö0 -terminalÌ64Îanon_struct_4Ö0Ïint -tgammaÌ64ÎstdÖ0Ïusing -tgammaÌ65536Ö0 -tgammafÌ65536Ö0 -tgammalÌ65536Ö0 -tickÌ64ÎtimexÖ0Ï__syscall_slong_t -timeÌ64ÎtimexÖ0Ïtimeval -timeraddÌ131072Í(a,b,result)Ö0 -timerclearÌ131072Í(tvp)Ö0 -timercmpÌ131072Í(a,b,CMP)Ö0 -timerissetÌ131072Í(tvp)Ö0 -timersubÌ131072Í(a,b,result)Ö0 -timexÌ2048Ö0 -tmÌ2048Ö0 -tm_gmtoffÌ64ÎtmÖ0Ïlong int -tm_hourÌ64ÎtmÖ0Ïint -tm_isdstÌ64ÎtmÖ0Ïint -tm_mdayÌ64ÎtmÖ0Ïint -tm_minÌ64ÎtmÖ0Ïint -tm_monÌ64ÎtmÖ0Ïint -tm_secÌ64ÎtmÖ0Ïint -tm_wdayÌ64ÎtmÖ0Ïint -tm_ydayÌ64ÎtmÖ0Ïint -tm_yearÌ64ÎtmÖ0Ïint -tm_zoneÌ64ÎtmÖ0Ïconst char * -toleranceÌ64ÎtimexÖ0Ï__syscall_slong_t -truncÌ64ÎstdÖ0Ïusing -truncÌ65536Ö0 -truncfÌ65536Ö0 -trunclÌ65536Ö0 -try_connectÌ16Í(char *device)Ö0Ïvoid -try_connectÌ1024Í(char *device)Ö0Ïvoid -ttyÌ16384Ö0Ïtermio -tty_initÌ16Í(char *comdev)Ö0Ïvoid -tty_initÌ1024Í(char *comdev)Ö0Ïvoid -typeÌ64Îanon_struct_2Ö0Ïargtype -typeÌ64Îanon_struct_3Ö0Ïargtype -uint16_tÌ4096Ö0Ïunsigned short int -uint32_tÌ4096Ö0Ïunsigned int -uint64_tÌ4096Ö0Ïunsigned long int -uint8_tÌ4096Ö0Ïunsigned char -uint_fast16_tÌ4096Ö0Ïunsigned long int -uint_fast32_tÌ4096Ö0Ïunsigned long int -uint_fast64_tÌ4096Ö0Ïunsigned long int -uint_fast8_tÌ4096Ö0Ïunsigned char -uint_least16_tÌ4096Ö0Ïunsigned short int -uint_least32_tÌ4096Ö0Ïunsigned int -uint_least64_tÌ4096Ö0Ïunsigned long int -uint_least8_tÌ4096Ö0Ïunsigned char -uintmax_tÌ4096Ö0Ï__uintmax_t -uintptr_tÌ4096Ö0Ïunsigned long int -unixÌ65536Ö0 -va_argÌ131072Í(v,l)Ö0 -va_copyÌ131072Í(d,s)Ö0 -va_endÌ131072Í(v)Ö0 -va_startÌ131072Í(v,l)Ö0 -valÌ64Îanon_struct_2Ö0Ïint -valÌ64Îanon_struct_22Ö0Ïint -waittoreadÌ16Í(int sock)Ö0Ïint -wcstombsÌ64ÎstdÖ0Ïusing -wcstombsÌ65536Ö0 -wctombÌ64ÎstdÖ0Ïusing -wctombÌ65536Ö0 -write_cmdÌ16Í(const char *cmd)Ö0Ïint -write_cmdÌ1024Í(const char *cmd)Ö0Ïint -write_ttyÌ16Í(const char *buff, size_t length)Ö0Ïint -write_ttyÌ1024Í(const char *buff, size_t length)Ö0Ïint diff --git a/astrosib_utils/teldaemon/teldaemon.geany b/astrosib_utils/teldaemon/teldaemon.geany deleted file mode 100644 index dfed81d..0000000 --- a/astrosib_utils/teldaemon/teldaemon.geany +++ /dev/null @@ -1,46 +0,0 @@ -[editor] -line_wrapping=false -line_break_column=80 -auto_continue_multiline=true - -[file_prefs] -final_new_line=true -ensure_convert_new_lines=false -strip_trailing_spaces=true -replace_tabs=true - -[indentation] -indent_width=4 -indent_type=0 -indent_hard_tab_width=4 -detect_indent=false -detect_indent_width=false -indent_mode=3 - -[project] -name=teldaemon -base_path=/tmp/f/Doc/C-sources/teldaemon/ - -[long line marker] -long_line_behaviour=1 -long_line_column=80 - -[files] -current_page=7 -FILE_NAME_0=1846;C;0;EKOI8-R;0;1;0;%2Ftmp%2Ff%2FDoc%2FC-sources%2Fteldaemon%2Fcmdlnopts.c;0;4 -FILE_NAME_1=0;C;0;EKOI8-R;0;1;0;%2Ftmp%2Ff%2FDoc%2FC-sources%2Fteldaemon%2Fcmdlnopts.h;0;4 -FILE_NAME_2=2493;C;0;EKOI8-R;0;1;0;%2Ftmp%2Ff%2FDoc%2FC-sources%2Fteldaemon%2Fmain.c;0;4 -FILE_NAME_3=232;Make;0;EUTF-8;1;1;0;%2Ftmp%2Ff%2FDoc%2FC-sources%2Fteldaemon%2FMakefile;0;4 -FILE_NAME_4=0;C;0;EKOI8-R;0;1;0;%2Ftmp%2Ff%2FDoc%2FC-sources%2Fteldaemon%2Fparseargs.c;0;4 -FILE_NAME_5=0;C;0;EKOI8-R;0;1;0;%2Ftmp%2Ff%2FDoc%2FC-sources%2Fteldaemon%2Fparseargs.h;0;4 -FILE_NAME_6=384;Markdown;0;EUTF-8;0;1;0;%2Ftmp%2Ff%2FDoc%2FC-sources%2Fteldaemon%2FReadme.md;0;4 -FILE_NAME_7=8640;C;0;EKOI8-R;0;1;0;%2Ftmp%2Ff%2FDoc%2FC-sources%2Fteldaemon%2Fsocket.c;0;4 -FILE_NAME_8=1138;C;0;EKOI8-R;0;1;0;%2Ftmp%2Ff%2FDoc%2FC-sources%2Fteldaemon%2Fsocket.h;0;4 -FILE_NAME_9=4352;C;0;EKOI8-R;0;1;0;%2Ftmp%2Ff%2FDoc%2FC-sources%2Fteldaemon%2Fterm.c;0;4 -FILE_NAME_10=1310;C;0;EKOI8-R;0;1;0;%2Ftmp%2Ff%2FDoc%2FC-sources%2Fteldaemon%2Fterm.h;0;4 -FILE_NAME_11=9727;C;0;EKOI8-R;0;1;0;%2Ftmp%2Ff%2FDoc%2FC-sources%2Fteldaemon%2Fusefull_macros.c;0;4 -FILE_NAME_12=3432;C;0;EUTF-8;0;1;0;%2Ftmp%2Ff%2FDoc%2Fclient_term_dome%2Fclient.c;0;4 -FILE_NAME_13=1502;C;0;EUTF-8;0;1;0;%2Ftmp%2Ff%2FDoc%2FC-sources%2Fteldaemon%2Fusefull_macros.h;0;4 - -[VTE] -last_dir=/home/eddy diff --git a/astrosib_utils/teldaemon/term.c b/astrosib_utils/teldaemon/term.c deleted file mode 100644 index 3546beb..0000000 --- a/astrosib_utils/teldaemon/term.c +++ /dev/null @@ -1,193 +0,0 @@ -/* geany_encoding=koi8-r - * client.c - terminal parser - * - * Copyright 2018 Edward V. Emelianoff - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -#include "usefull_macros.h" -#include "term.h" -#include // strncasecmp -#include // time(NULL) -#include // INT_MAX, INT_MIN - -#define BUFLEN 1024 - -static char buf[BUFLEN]; - -/** - * read strings from terminal (ending with '\n') with timeout - * @return NULL if nothing was read or pointer to static buffer - */ -static char *read_string(){ - //FNAME(); - size_t r = 0, l; - int LL = BUFLEN - 1; - char *ptr = NULL; - static char *optr = NULL; - if(optr && *optr){ - ptr = optr; - optr = strchr(optr, '\n'); - if(optr) ++optr; - //DBG("got data, roll to next; ptr=%s\noptr=%s",ptr,optr); - return ptr; - } - ptr = buf; - double d0 = dtime(); - do{ - if((l = read_tty(ptr, LL))){ - r += l; LL -= l; ptr += l; - //DBG("got: %s", buf); - if(ptr[-1] == '\n') break; - d0 = dtime(); - } - }while(dtime() - d0 < WAIT_TMOUT && LL); - if(r){ - buf[r] = 0; - //DBG("r=%zd, got string: %s", r, buf); - optr = strchr(buf, '\n'); - if(optr) ++optr; - return buf; - } - return NULL; -} - -/** - * Try to connect to `device` at BAUD_RATE speed - * @return connection speed if success or 0 - */ -void try_connect(char *device){ - if(!device) return; - char tmpbuf[4096]; - fflush(stdout); - tty_init(device); - read_tty(tmpbuf, 4096); // clear rbuf - putlog("Connected to %s", device); - DBG("connected"); -} - -static void con_sig(int rb){ - static char buf[256]; - static int L = 0; - if(rb < 1) return; - if(rb != '\n'){ - if(rb == 127 && L > 0){ - printf("\b \b"); - --L; - }else{ - printf("%c", (char)rb); - buf[L++] = (char)rb; - if(L >= 255){ - printf("\nbuffer overrun!\n"); - L = 0; - } - } - }else{ - buf[L++] = 0x0d; - buf[L] = 0; - printf("\n\t\tSend %s\n", buf); - write_tty(buf, L); - L = 0; - } -} - -/** - * run terminal emulation: send user's commands and show answers - */ -void run_terminal(){ - green(_("Work in terminal mode without echo\n")); - int rb; - char buf[BUFLEN]; - size_t l; - setup_con(); - while(1){ - if((l = read_tty(buf, BUFLEN - 1))){ - buf[l] = 0; - printf("%s", buf); - } - if((rb = read_console())){ - con_sig(rb); - } - } -} - -/** - * write command with trailing "\r\n" - * @return 0 if all OK - */ -int write_cmd(const char *cmd){ - char buf[BUFLEN]; - if(snprintf(buf, BUFLEN, "%s\r", cmd) < 0) return 1; - DBG("Write %s", buf); - if(write_tty(buf, strlen(buf))) return 1; - double t0 = dtime(); - char *ans; - while(dtime() - t0 < T_POLLING_TMOUT){ // read answer - if((ans = read_string())){ // parse new data - DBG("got %s", ans); - if(strstr(ans, "OK")){ - DBG("Succesfull"); - return 0; - } - } - } - return 1; -} - -/** - * Poll serial port for new dataportion - * @return: NULL if no data received, pointer to string if valid data received - */ -char *poll_device(){ - char *ans; - static char pollbuf[32]; - double t0 = dtime(); - const char *cmdstat = "SHUTTERSTATUS?"; - const char *cmdget = "SHUTTERS?"; - #define CMDGETLEN (9) - while(read_string()); // clear receiving buffer - if(write_cmd(cmdstat)) return NULL; // error writing command - DBG("poll answer"); - while(dtime() - t0 < T_POLLING_TMOUT){ // read answer - if((ans = read_string())){ // parse new data - DBG("got %s", ans); - if(strstr(ans, cmdget) == NULL){ - DBG("no %s found in %s", cmdstat, ans); - return NULL; // ? - } - ans += CMDGETLEN; - if(strstr(ans, "1,1,1,1,1")){ - sprintf(pollbuf, "opened\n"); - DBG("shutters opened"); - }else if(strstr(ans, "0,0,0,0,0")){ - sprintf(pollbuf, "closed\n"); - DBG("shutters closed"); - }else sprintf(pollbuf, "intermediate\n"); - return pollbuf; - } - } - return NULL; -} - -/** - * ping device - * @return 0 if all OK - */ -int ping(){ - FNAME(); - if(write_cmd("PING?")) return 1; - return 0; -} diff --git a/astrosib_utils/teldaemon/term.h b/astrosib_utils/teldaemon/term.h deleted file mode 100644 index 5816c7b..0000000 --- a/astrosib_utils/teldaemon/term.h +++ /dev/null @@ -1,38 +0,0 @@ -/* geany_encoding=koi8-r - * term.h - * - * Copyright 2018 Edward V. Emelianov - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -#pragma once -#ifndef __TERM_H__ -#define __TERM_H__ - -#define FRAME_MAX_LENGTH (300) -#define MAX_MEMORY_DUMP_SIZE (0x800 * 4) -// Terminal timeout (seconds) -#define WAIT_TMOUT (0.5) -// Terminal polling timeout - 1 second -#define T_POLLING_TMOUT (1.0) - -void run_terminal(); -void try_connect(char *device); -char *poll_device(); -int ping(); -int write_cmd(const char *cmd); - -#endif // __TERM_H__ diff --git a/astrosib_utils/teldaemon/usefull_macros.c b/astrosib_utils/teldaemon/usefull_macros.c deleted file mode 100644 index da08cfe..0000000 --- a/astrosib_utils/teldaemon/usefull_macros.c +++ /dev/null @@ -1,437 +0,0 @@ -/* - * usefull_macros.h - a set of usefull functions: memory, color etc - * - * Copyright 2013 Edward V. Emelianoff - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#include "usefull_macros.h" -#include -#include // PATH_MAX - -/** - * function for different purposes that need to know time intervals - * @return double value: time in seconds - */ -double dtime(){ - double t; - struct timeval tv; - gettimeofday(&tv, NULL); - t = tv.tv_sec + ((double)tv.tv_usec)/1e6; - return t; -} - -/******************************************************************************\ - * Coloured terminal -\******************************************************************************/ -int globErr = 0; // errno for WARN/ERR - -// pointers to coloured output printf -int (*red)(const char *fmt, ...); -int (*green)(const char *fmt, ...); -int (*_WARN)(const char *fmt, ...); - -/* - * format red / green messages - * name: r_pr_, g_pr_ - * @param fmt ... - printf-like format - * @return number of printed symbols - */ -int r_pr_(const char *fmt, ...){ - va_list ar; int i; - printf(RED); - va_start(ar, fmt); - i = vprintf(fmt, ar); - va_end(ar); - printf(OLDCOLOR); - return i; -} -int g_pr_(const char *fmt, ...){ - va_list ar; int i; - printf(GREEN); - va_start(ar, fmt); - i = vprintf(fmt, ar); - va_end(ar); - printf(OLDCOLOR); - return i; -} -/* - * print red error/warning messages (if output is a tty) - * @param fmt ... - printf-like format - * @return number of printed symbols - */ -int r_WARN(const char *fmt, ...){ - va_list ar; int i = 1; - fprintf(stderr, RED); - va_start(ar, fmt); - if(globErr){ - errno = globErr; - vwarn(fmt, ar); - errno = 0; - }else - i = vfprintf(stderr, fmt, ar); - va_end(ar); - i++; - fprintf(stderr, OLDCOLOR "\n"); - return i; -} - -static const char stars[] = "****************************************"; -/* - * notty variants of coloured printf - * name: s_WARN, r_pr_notty - * @param fmt ... - printf-like format - * @return number of printed symbols - */ -int s_WARN(const char *fmt, ...){ - va_list ar; int i; - i = fprintf(stderr, "\n%s\n", stars); - va_start(ar, fmt); - if(globErr){ - errno = globErr; - vwarn(fmt, ar); - errno = 0; - }else - i = +vfprintf(stderr, fmt, ar); - va_end(ar); - i += fprintf(stderr, "\n%s\n", stars); - i += fprintf(stderr, "\n"); - return i; -} -int r_pr_notty(const char *fmt, ...){ - va_list ar; int i; - i = printf("\n%s\n", stars); - va_start(ar, fmt); - i += vprintf(fmt, ar); - va_end(ar); - i += printf("\n%s\n", stars); - return i; -} - -/** - * Run this function in the beginning of main() to setup locale & coloured output - */ -void initial_setup(){ - // setup coloured output - if(isatty(STDOUT_FILENO)){ // make color output in tty - red = r_pr_; green = g_pr_; - }else{ // no colors in case of pipe - red = r_pr_notty; green = printf; - } - if(isatty(STDERR_FILENO)) _WARN = r_WARN; - else _WARN = s_WARN; - // Setup locale - setlocale(LC_ALL, ""); - setlocale(LC_NUMERIC, "C"); -#if defined GETTEXT_PACKAGE && defined LOCALEDIR - bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR); - textdomain(GETTEXT_PACKAGE); -#endif -} - -/******************************************************************************\ - * Memory -\******************************************************************************/ -/* - * safe memory allocation for macro ALLOC - * @param N - number of elements to allocate - * @param S - size of single element (typically sizeof) - * @return pointer to allocated memory area - */ -void *my_alloc(size_t N, size_t S){ - void *p = calloc(N, S); - if(!p) ERR("malloc"); - //assert(p); - return p; -} - -/** - * Mmap file to a memory area - * - * @param filename (i) - name of file to mmap - * @return stuct with mmap'ed file or die - */ -mmapbuf *My_mmap(char *filename){ - int fd; - char *ptr; - size_t Mlen; - struct stat statbuf; - /// "îÅ ÚÁÄÁÎÏ ÉÍÑ ÆÁÊÌÁ!" - if(!filename){ - WARNX(_("No filename given!")); - return NULL; - } - if((fd = open(filename, O_RDONLY)) < 0){ - /// "îÅ ÍÏÇÕ ÏÔËÒÙÔØ %s ÄÌÑ ÞÔÅÎÉÑ" - WARN(_("Can't open %s for reading"), filename); - return NULL; - } - if(fstat (fd, &statbuf) < 0){ - /// "îÅ ÍÏÇÕ ×ÙÐÏÌÎÉÔØ stat %s" - WARN(_("Can't stat %s"), filename); - close(fd); - return NULL; - } - Mlen = statbuf.st_size; - if((ptr = mmap (0, Mlen, PROT_READ, MAP_PRIVATE, fd, 0)) == MAP_FAILED){ - /// "ïÛÉÂËÁ mmap" - WARN(_("Mmap error for input")); - close(fd); - return NULL; - } - /// "îÅ ÍÏÇÕ ÚÁËÒÙÔØ mmap'ÎÕÔÙÊ ÆÁÊÌ" - if(close(fd)) WARN(_("Can't close mmap'ed file")); - mmapbuf *ret = MALLOC(mmapbuf, 1); - ret->data = ptr; - ret->len = Mlen; - return ret; -} - -void My_munmap(mmapbuf *b){ - if(munmap(b->data, b->len)){ - /// "îÅ ÍÏÇÕ munmap" - ERR(_("Can't munmap")); - } - FREE(b); -} - - -/******************************************************************************\ - * Terminal in no-echo mode -\******************************************************************************/ -static struct termios oldt, newt; // terminal flags -static int console_changed = 0; -// run on exit: -void restore_console(){ - if(console_changed) - tcsetattr(STDIN_FILENO, TCSANOW, &oldt); // return terminal to previous state - console_changed = 0; -} - -// initial setup: -void setup_con(){ - if(console_changed) return; - tcgetattr(STDIN_FILENO, &oldt); - newt = oldt; - newt.c_lflag &= ~(ICANON | ECHO); - if(tcsetattr(STDIN_FILENO, TCSANOW, &newt) < 0){ - /// "îÅ ÍÏÇÕ ÎÁÓÔÒÏÉÔØ ËÏÎÓÏÌØ" - WARN(_("Can't setup console")); - tcsetattr(STDIN_FILENO, TCSANOW, &oldt); - signals(0); //quit? - } - console_changed = 1; -} - -/** - * Read character from console without echo - * @return char readed - */ -int read_console(){ - int rb; - struct timeval tv; - int retval; - fd_set rfds; - FD_ZERO(&rfds); - FD_SET(STDIN_FILENO, &rfds); - tv.tv_sec = 0; tv.tv_usec = 10000; - retval = select(1, &rfds, NULL, NULL, &tv); - if(!retval) rb = 0; - else { - if(FD_ISSET(STDIN_FILENO, &rfds)) rb = getchar(); - else rb = 0; - } - return rb; -} - -/** - * getchar() without echo - * wait until at least one character pressed - * @return character readed - */ -int mygetchar(){ // getchar() without need of pressing ENTER - int ret; - do ret = read_console(); - while(ret == 0); - return ret; -} - - -/******************************************************************************\ - * TTY with select() -\******************************************************************************/ -static struct termio oldtty, tty; // TTY flags -static int comfd = -1; // TTY fd - -// run on exit: -void restore_tty(){ - if(comfd == -1) return; - ioctl(comfd, TCSANOW, &oldtty ); // return TTY to previous state - close(comfd); - comfd = -1; -} - -#ifndef BAUD_RATE -#define BAUD_RATE B4800 -#endif -#pragma message("Baudrate: " STR(BAUD_RATE) " (default: " STR(B4800) ")") -// init: -void tty_init(char *comdev){ - DBG("\nOpen port %s ...\n", comdev); - do{ - comfd = open(comdev,O_RDWR|O_NOCTTY|O_NONBLOCK); - }while (comfd == -1 && errno == EINTR); - if(comfd < 0){ - WARN("Can't use port %s\n",comdev); - signals(-1); // quit? - } - // make exclusive open - if(ioctl(comfd, TIOCEXCL)){ - WARN(_("Can't do exclusive open")); - close(comfd); - signals(2); - } - DBG(" OK\nGet current settings... "); - if(ioctl(comfd,TCGETA,&oldtty) < 0){ // Get settings - /// "îÅ ÍÏÇÕ ÐÏÌÕÞÉÔØ ÎÁÓÔÒÏÊËÉ" - WARN(_("Can't get settings")); - signals(-1); - } - tty = oldtty; - tty.c_lflag = 0; - tty.c_oflag = 0; - tty.c_cflag = BAUD_RATE|CS8|CREAD|CLOCAL; // 9.6k, 8N1, RW, ignore line ctrl - tty.c_cc[VMIN] = 20; - tty.c_cc[VTIME] = 5; - if(ioctl(comfd,TCSETA,&tty) < 0){ - /// "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÎÁÓÔÒÏÊËÉ" - WARN(_("Can't set settings")); - signals(-1); - } - DBG(" OK\n"); -} - -/** - * Read data from TTY - * @param buff (o) - buffer for data read - * @param length - buffer len - * @return amount of bytes read - */ -size_t read_tty(char *buff, size_t length){ - ssize_t L = 0, l; - char *ptr = buff; - fd_set rfds; - struct timeval tv; - int retval; - do{ - l = 0; - FD_ZERO(&rfds); - FD_SET(comfd, &rfds); - // wait for 100ms - tv.tv_sec = 0; tv.tv_usec = 10000; - retval = select(comfd + 1, &rfds, NULL, NULL, &tv); - if (!retval) break; - if(FD_ISSET(comfd, &rfds)){ - //DBG("ISSET"); - if((l = read(comfd, ptr, length)) < 1){ - return 0; - } - //DBG("got %zd", l); - ptr += l; L += l; - length -= l; - } - }while(l); - return (size_t)L; -} - -int write_tty(const char *buff, size_t length){ - ssize_t L = write(comfd, buff, length); - if((size_t)L != length){ - /// "ïÛÉÂËÁ ÚÁÐÉÓÉ!" - WARN("Write error"); - return 1; - } - return 0; -} - - -/** - * Safely convert data from string to double - * - * @param num (o) - double number read from string - * @param str (i) - input string - * @return 1 if success, 0 if fails - */ -int str2double(double *num, const char *str){ - double res; - char *endptr; - if(!str) return 0; - res = strtod(str, &endptr); - if(endptr == str || *str == '\0' || *endptr != '\0'){ - /// "îÅÐÒÁ×ÉÌØÎÙÊ ÆÏÒÍÁÔ ÞÉÓÌÁ double!" - WARNX("Wrong double number format!"); - return FALSE; - } - if(num) *num = res; // you may run it like myatod(NULL, str) to test wether str is double number - return TRUE; -} - -FILE *Flog = NULL; // log file descriptor -char *logname = NULL; -time_t log_open_time = 0; -/** - * Try to open log file - * if failed show warning message - */ -void openlogfile(char *name){ - if(!name){ - WARNX(_("Need filename")); - return; - } - green(_("Try to open log file %s in append mode\n"), name); - if(!(Flog = fopen(name, "a"))){ - WARN(_("Can't open log file")); - return; - } - log_open_time = time(NULL); - logname = name; -} - -/** - * Save message to log file, rotate logs every 24 hours - */ -int putlog(const char *fmt, ...){ - if(!Flog) return 0; - time_t t_now = time(NULL); - if(t_now - log_open_time > 86400){ // rotate log - fprintf(Flog, "\n\t\t%sRotate log\n", ctime(&t_now)); - fclose(Flog); - char newname[PATH_MAX]; - snprintf(newname, PATH_MAX, "%s.old", logname); - if(rename(logname, newname)) WARN("rename()"); - openlogfile(logname); - if(!Flog) return 0; - } - int i = fprintf(Flog, "\n\t\t%s", ctime(&t_now)); - va_list ar; - va_start(ar, fmt); - i = vfprintf(Flog, fmt, ar); - va_end(ar); - fprintf(Flog, "\n"); - fflush(Flog); - return i; -} diff --git a/astrosib_utils/teldaemon/usefull_macros.h b/astrosib_utils/teldaemon/usefull_macros.h deleted file mode 100644 index 0d62e3c..0000000 --- a/astrosib_utils/teldaemon/usefull_macros.h +++ /dev/null @@ -1,144 +0,0 @@ -/* - * usefull_macros.h - a set of usefull macros: memory, color etc - * - * Copyright 2013 Edward V. Emelianoff - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#pragma once -#ifndef __USEFULL_MACROS_H__ -#define __USEFULL_MACROS_H__ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#if defined GETTEXT_PACKAGE && defined LOCALEDIR -/* - * GETTEXT - */ -#include -#define _(String) gettext(String) -#define gettext_noop(String) String -#define N_(String) gettext_noop(String) -#else -#define _(String) (String) -#define N_(String) (String) -#endif - -#define STR_HELPER(s) #s -#define STR(s) STR_HELPER(s) - -#include -#include -#include -#include -#include -#include - - -// unused arguments with -Wall -Werror -#define _U_ __attribute__((__unused__)) - -/* - * Coloured messages output - */ -#define RED "\033[1;31;40m" -#define GREEN "\033[1;32;40m" -#define OLDCOLOR "\033[0;0;0m" - -#ifndef FALSE -#define FALSE (0) -#endif - -#ifndef TRUE -#define TRUE (1) -#endif - -/* - * ERROR/WARNING messages - */ -extern int globErr; -extern void signals(int sig); -#define ERR(...) do{globErr=errno; _WARN(__VA_ARGS__); signals(9);}while(0) -#define ERRX(...) do{globErr=0; _WARN(__VA_ARGS__); signals(9);}while(0) -#define WARN(...) do{globErr=errno; _WARN(__VA_ARGS__);}while(0) -#define WARNX(...) do{globErr=0; _WARN(__VA_ARGS__);}while(0) - -/* - * print function name, debug messages - * debug mode, -DEBUG - */ -#ifdef EBUG - #define FNAME() fprintf(stderr, "\n%s (%s, line %d)\n", __func__, __FILE__, __LINE__) - #define DBG(...) do{fprintf(stderr, "%s (%s, line %d): ", __func__, __FILE__, __LINE__); \ - fprintf(stderr, __VA_ARGS__); \ - fprintf(stderr, "\n");} while(0) -#else - #define FNAME() do{}while(0) - #define DBG(...) do{}while(0) -#endif //EBUG - -/* - * Memory allocation - */ -#define ALLOC(type, var, size) type * var = ((type *)my_alloc(size, sizeof(type))) -#define MALLOC(type, size) ((type *)my_alloc(size, sizeof(type))) -#define FREE(ptr) do{if(ptr){free(ptr); ptr = NULL;}}while(0) - -#ifndef DBL_EPSILON -#define DBL_EPSILON (2.2204460492503131e-16) -#endif - -double dtime(); - -// functions for color output in tty & no-color in pipes -extern int (*red)(const char *fmt, ...); -extern int (*_WARN)(const char *fmt, ...); -extern int (*green)(const char *fmt, ...); -void * my_alloc(size_t N, size_t S); -void initial_setup(); - -// mmap file -typedef struct{ - char *data; - size_t len; -} mmapbuf; -mmapbuf *My_mmap(char *filename); -void My_munmap(mmapbuf *b); - -void restore_console(); -void setup_con(); -int read_console(); -int mygetchar(); - -void restore_tty(); -void tty_init(char *comdev); -size_t read_tty(char *buff, size_t length); -int write_tty(const char *buff, size_t length); - -int str2double(double *num, const char *str); - -void openlogfile(char *name); -int putlog(const char *fmt, ...); -#endif // __USEFULL_MACROS_H__