📄 default_store.xs
字号:
#include "EXTERN.h"#include "perl.h"#include "XSUB.h"#include <net-snmp/library/default_store.h>static intnot_here(char *s){ croak("%s not implemented on this architecture", s); return -1;}static doubleconstant_NETSNMP_DS_S(char *name, int len, int arg){ if (12 + 12 >= len ) { errno = EINVAL; return 0; } switch (name[12 + 12]) { case '1': if (strEQ(name + 12, "NMP_VERSION_1")) { /* NETSNMP_DS_S removed */#ifdef NETSNMP_DS_SNMP_VERSION_1 return NETSNMP_DS_SNMP_VERSION_1;#else goto not_there;#endif } case '2': if (strEQ(name + 12, "NMP_VERSION_2c")) { /* NETSNMP_DS_S removed */#ifdef NETSNMP_DS_SNMP_VERSION_2c return NETSNMP_DS_SNMP_VERSION_2c;#else goto not_there;#endif } case '3': if (strEQ(name + 12, "NMP_VERSION_3")) { /* NETSNMP_DS_S removed */#ifdef NETSNMP_DS_SNMP_VERSION_3 return NETSNMP_DS_SNMP_VERSION_3;#else goto not_there;#endif } } errno = EINVAL; return 0;not_there: errno = ENOENT; return 0;}static doubleconstant_NETSNMP_DS_LIB_N(char *name, int len, int arg){ switch (name[16 + 0]) { case 'O': if (strEQ(name + 16, "O_TOKEN_WARNINGS")) { /* NETSNMP_DS_LIB_N removed */#ifdef NETSNMP_DS_LIB_NO_TOKEN_WARNINGS return NETSNMP_DS_LIB_NO_TOKEN_WARNINGS;#else goto not_there;#endif } case 'U': if (strEQ(name + 16, "UMERIC_TIMETICKS")) { /* NETSNMP_DS_LIB_N removed */#ifdef NETSNMP_DS_LIB_NUMERIC_TIMETICKS return NETSNMP_DS_LIB_NUMERIC_TIMETICKS;#else goto not_there;#endif } } errno = EINVAL; return 0;not_there: errno = ENOENT; return 0;}static doubleconstant_NETSNMP_DS_LIB_O(char *name, int len, int arg){ switch (name[16 + 0]) { case 'I': if (strEQ(name + 16, "ID_OUTPUT_FORMAT")) { /* NETSNMP_DS_LIB_O removed */#ifdef NETSNMP_DS_LIB_OID_OUTPUT_FORMAT return NETSNMP_DS_LIB_OID_OUTPUT_FORMAT;#else goto not_there;#endif } case 'P': if (strEQ(name + 16, "PTIONALCONFIG")) { /* NETSNMP_DS_LIB_O removed */#ifdef NETSNMP_DS_LIB_OPTIONALCONFIG return NETSNMP_DS_LIB_OPTIONALCONFIG;#else goto not_there;#endif } } errno = EINVAL; return 0;not_there: errno = ENOENT; return 0;}static doubleconstant_NETSNMP_DS_LIB_PRINT_N(char *name, int len, int arg){ if (22 + 7 >= len ) { errno = EINVAL; return 0; } switch (name[22 + 7]) { case 'E': if (strEQ(name + 22, "UMERIC_ENUM")) { /* NETSNMP_DS_LIB_PRINT_N removed */#ifdef NETSNMP_DS_LIB_PRINT_NUMERIC_ENUM return NETSNMP_DS_LIB_PRINT_NUMERIC_ENUM;#else goto not_there;#endif } case 'O': if (strEQ(name + 22, "UMERIC_OIDS")) { /* NETSNMP_DS_LIB_PRINT_N removed */#ifdef NETSNMP_DS_LIB_PRINT_NUMERIC_OIDS return NETSNMP_DS_LIB_PRINT_NUMERIC_OIDS;#else goto not_there;#endif } } errno = EINVAL; return 0;not_there: errno = ENOENT; return 0;}static doubleconstant_NETSNMP_DS_LIB_PRIN(char *name, int len, int arg){ if (19 + 2 >= len ) { errno = EINVAL; return 0; } switch (name[19 + 2]) { case 'B': if (strEQ(name + 19, "T_BARE_VALUE")) { /* NETSNMP_DS_LIB_PRIN removed */#ifdef NETSNMP_DS_LIB_PRINT_BARE_VALUE return NETSNMP_DS_LIB_PRINT_BARE_VALUE;#else goto not_there;#endif } case 'F': if (strEQ(name + 19, "T_FULL_OID")) { /* NETSNMP_DS_LIB_PRIN removed */#ifdef NETSNMP_DS_LIB_PRINT_FULL_OID return NETSNMP_DS_LIB_PRINT_FULL_OID;#else goto not_there;#endif } case 'H': if (strEQ(name + 19, "T_HEX_TEXT")) { /* NETSNMP_DS_LIB_PRIN removed */#ifdef NETSNMP_DS_LIB_PRINT_HEX_TEXT return NETSNMP_DS_LIB_PRINT_HEX_TEXT;#else goto not_there;#endif } case 'N': if (!strnEQ(name + 19,"T_", 2)) break; return constant_NETSNMP_DS_LIB_PRINT_N(name, len, arg); case 'S': if (strEQ(name + 19, "T_SUFFIX_ONLY")) { /* NETSNMP_DS_LIB_PRIN removed */#ifdef NETSNMP_DS_LIB_PRINT_SUFFIX_ONLY return NETSNMP_DS_LIB_PRINT_SUFFIX_ONLY;#else goto not_there;#endif } case 'U': if (strEQ(name + 19, "T_UCD_STYLE_OID")) { /* NETSNMP_DS_LIB_PRIN removed */#ifdef NETSNMP_DS_LIB_PRINT_UCD_STYLE_OID return NETSNMP_DS_LIB_PRINT_UCD_STYLE_OID;#else goto not_there;#endif } } errno = EINVAL; return 0;not_there: errno = ENOENT; return 0;}static doubleconstant_NETSNMP_DS_LIB_PR(char *name, int len, int arg){ if (17 + 1 >= len ) { errno = EINVAL; return 0; } switch (name[17 + 1]) { case 'N': if (!strnEQ(name + 17,"I", 1)) break; return constant_NETSNMP_DS_LIB_PRIN(name, len, arg); case 'V': if (strEQ(name + 17, "IVPASSPHRASE")) { /* NETSNMP_DS_LIB_PR removed */#ifdef NETSNMP_DS_LIB_PRIVPASSPHRASE return NETSNMP_DS_LIB_PRIVPASSPHRASE;#else goto not_there;#endif } } errno = EINVAL; return 0;not_there: errno = ENOENT; return 0;}static doubleconstant_NETSNMP_DS_LIB_P(char *name, int len, int arg){ switch (name[16 + 0]) { case 'A': if (strEQ(name + 16, "ASSPHRASE")) { /* NETSNMP_DS_LIB_P removed */#ifdef NETSNMP_DS_LIB_PASSPHRASE return NETSNMP_DS_LIB_PASSPHRASE;#else goto not_there;#endif } case 'E': if (strEQ(name + 16, "ERSISTENT_DIR")) { /* NETSNMP_DS_LIB_P removed */#ifdef NETSNMP_DS_LIB_PERSISTENT_DIR return NETSNMP_DS_LIB_PERSISTENT_DIR;#else goto not_there;#endif } case 'R': return constant_NETSNMP_DS_LIB_PR(name, len, arg); } errno = EINVAL; return 0;not_there: errno = ENOENT; return 0;}static doubleconstant_NETSNMP_DS_LIB_Q(char *name, int len, int arg){ if (16 + 4 >= len ) { errno = EINVAL; return 0; } switch (name[16 + 4]) { case 'E': if (strEQ(name + 16, "UICKE_PRINT")) { /* NETSNMP_DS_LIB_Q removed */#ifdef NETSNMP_DS_LIB_QUICKE_PRINT return NETSNMP_DS_LIB_QUICKE_PRINT;#else goto not_there;#endif } case '_': if (strEQ(name + 16, "UICK_PRINT")) { /* NETSNMP_DS_LIB_Q removed */#ifdef NETSNMP_DS_LIB_QUICK_PRINT return NETSNMP_DS_LIB_QUICK_PRINT;#else goto not_there;#endif } } errno = EINVAL; return 0;not_there: errno = ENOENT; return 0;}static doubleconstant_NETSNMP_DS_LIB_A(char *name, int len, int arg){ switch (name[16 + 0]) { case 'L': if (strEQ(name + 16, "LARM_DONT_USE_SIG")) { /* NETSNMP_DS_LIB_A removed */#ifdef NETSNMP_DS_LIB_ALARM_DONT_USE_SIG return NETSNMP_DS_LIB_ALARM_DONT_USE_SIG;#else goto not_there;#endif } case 'P': if (strEQ(name + 16, "PPTYPE")) { /* NETSNMP_DS_LIB_A removed */#ifdef NETSNMP_DS_LIB_APPTYPE return NETSNMP_DS_LIB_APPTYPE;#else goto not_there;#endif } case 'U': if (strEQ(name + 16, "UTHPASSPHRASE")) { /* NETSNMP_DS_LIB_A removed */#ifdef NETSNMP_DS_LIB_AUTHPASSPHRASE return NETSNMP_DS_LIB_AUTHPASSPHRASE;#else goto not_there;#endif } } errno = EINVAL; return 0;not_there: errno = ENOENT; return 0;}static doubleconstant_NETSNMP_DS_LIB_RE(char *name, int len, int arg){ switch (name[17 + 0]) { case 'A': if (strEQ(name + 17, "AD_UCD_STYLE_OID")) { /* NETSNMP_DS_LIB_RE removed */#ifdef NETSNMP_DS_LIB_READ_UCD_STYLE_OID return NETSNMP_DS_LIB_READ_UCD_STYLE_OID;#else goto not_there;#endif } case 'G': if (strEQ(name + 17, "GEX_ACCESS")) { /* NETSNMP_DS_LIB_RE removed */#ifdef NETSNMP_DS_LIB_REGEX_ACCESS return NETSNMP_DS_LIB_REGEX_ACCESS;#else goto not_there;#endif } case 'V': if (strEQ(name + 17, "VERSE_ENCODE")) { /* NETSNMP_DS_LIB_RE removed */#ifdef NETSNMP_DS_LIB_REVERSE_ENCODE return NETSNMP_DS_LIB_REVERSE_ENCODE;#else goto not_there;#endif } } errno = EINVAL; return 0;not_there: errno = ENOENT; return 0;}static doubleconstant_NETSNMP_DS_LIB_R(char *name, int len, int arg){ switch (name[16 + 0]) { case 'A': if (strEQ(name + 16, "ANDOM_ACCESS")) { /* NETSNMP_DS_LIB_R removed */#ifdef NETSNMP_DS_LIB_RANDOM_ACCESS return NETSNMP_DS_LIB_RANDOM_ACCESS;#else goto not_there;#endif } case 'E': return constant_NETSNMP_DS_LIB_RE(name, len, arg); } errno = EINVAL; return 0;not_there: errno = ENOENT; return 0;}static doubleconstant_NETSNMP_DS_LIB_SE(char *name, int len, int arg){ if (17 + 1 >= len ) { errno = EINVAL; return 0; } switch (name[17 + 1]) { case 'L': if (strEQ(name + 17, "CLEVEL")) { /* NETSNMP_DS_LIB_SE removed */#ifdef NETSNMP_DS_LIB_SECLEVEL return NETSNMP_DS_LIB_SECLEVEL;#else goto not_there;#endif } case 'M': if (strEQ(name + 17, "CMODEL")) { /* NETSNMP_DS_LIB_SE removed */#ifdef NETSNMP_DS_LIB_SECMODEL return NETSNMP_DS_LIB_SECMODEL;#else goto not_there;#endif } case 'N': if (strEQ(name + 17, "CNAME")) { /* NETSNMP_DS_LIB_SE removed */#ifdef NETSNMP_DS_LIB_SECNAME return NETSNMP_DS_LIB_SECNAME;#else goto not_there;#endif } } errno = EINVAL; return 0;not_there: errno = ENOENT; return 0;}static doubleconstant_NETSNMP_DS_LIB_S(char *name, int len, int arg){ switch (name[16 + 0]) { case 'A': if (strEQ(name + 16, "AVE_MIB_DESCRS")) { /* NETSNMP_DS_LIB_S removed */#ifdef NETSNMP_DS_LIB_SAVE_MIB_DESCRS return NETSNMP_DS_LIB_SAVE_MIB_DESCRS;#else goto not_there;#endif } case 'E': return constant_NETSNMP_DS_LIB_SE(name, len, arg); case 'N': if (strEQ(name + 16, "NMPVERSION")) { /* NETSNMP_DS_LIB_S removed */#ifdef NETSNMP_DS_LIB_SNMPVERSION return NETSNMP_DS_LIB_SNMPVERSION;#else goto not_there;#endif } } errno = EINVAL; return 0;not_there: errno = ENOENT; return 0;}static doubleconstant_NETSNMP_DS_LIB_CON(char *name, int len, int arg){ switch (name[18 + 0]) { case 'F': if (strEQ(name + 18, "FIGURATION_DIR")) { /* NETSNMP_DS_LIB_CON removed */#ifdef NETSNMP_DS_LIB_CONFIGURATION_DIR return NETSNMP_DS_LIB_CONFIGURATION_DIR;#else goto not_there;#endif } case 'T': if (strEQ(name + 18, "TEXT")) { /* NETSNMP_DS_LIB_CON removed */#ifdef NETSNMP_DS_LIB_CONTEXT return NETSNMP_DS_LIB_CONTEXT;#else goto not_there;#endif } } errno = EINVAL;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -