📄 default_store.xs
字号:
#include "EXTERN.h"#include "perl.h"#include "XSUB.h"#include <net-snmp/agent/ds_agent.h>/* autogenerated by "gen" from const-c.inc */#define PERL_constant_NOTFOUND 1#define PERL_constant_NOTDEF 2#define PERL_constant_ISIV 3#define PERL_constant_ISNO 4#define PERL_constant_ISNV 5#define PERL_constant_ISPV 6#define PERL_constant_ISPVN 7#define PERL_constant_ISSV 8#define PERL_constant_ISUNDEF 9#define PERL_constant_ISUV 10#define PERL_constant_ISYES 11#ifndef NVTYPEtypedef double NV; /* 5.6 and later define NVTYPE, and typedef NV to it. */#endif#ifndef aTHX_#define aTHX_ /* 5.6 or later define this for threading support. */#endif#ifndef pTHX_#define pTHX_ /* 5.6 or later define this for threading support. */#endifstatic intconstant_22 (pTHX_ const char *name, IV *iv_return) { /* When generated this function returned values for the list of names given here. However, subsequent manual editing may have added or removed some. NETSNMP_DS_AGENT_FLAGS NETSNMP_DS_AGENT_PORTS NETSNMP_DS_SMUX_SOCKET */ /* Offset 17 gives the best switch position. */ switch (name[17]) { case 'F': if (memEQ(name, "NETSNMP_DS_AGENT_FLAGS", 22)) { /* ^ */#ifdef NETSNMP_DS_AGENT_FLAGS *iv_return = NETSNMP_DS_AGENT_FLAGS; return PERL_constant_ISIV;#else return PERL_constant_NOTDEF;#endif } break; case 'O': if (memEQ(name, "NETSNMP_DS_SMUX_SOCKET", 22)) { /* ^ */#ifdef NETSNMP_DS_SMUX_SOCKET *iv_return = NETSNMP_DS_SMUX_SOCKET; return PERL_constant_ISIV;#else return PERL_constant_NOTDEF;#endif } break; case 'P': if (memEQ(name, "NETSNMP_DS_AGENT_PORTS", 22)) { /* ^ */#ifdef NETSNMP_DS_AGENT_PORTS *iv_return = NETSNMP_DS_AGENT_PORTS; return PERL_constant_ISIV;#else return PERL_constant_NOTDEF;#endif } break; } return PERL_constant_NOTFOUND;}static intconstant_24 (pTHX_ const char *name, IV *iv_return) { /* When generated this function returned values for the list of names given here. However, subsequent manual editing may have added or removed some. NETSNMP_DS_AGENT_GROUPID NETSNMP_DS_AGENT_VERBOSE NETSNMP_DS_NOTIF_LOG_CTX */ /* Offset 19 gives the best switch position. */ switch (name[19]) { case 'G': if (memEQ(name, "NETSNMP_DS_NOTIF_LOG_CTX", 24)) { /* ^ */#ifdef NETSNMP_DS_NOTIF_LOG_CTX *iv_return = NETSNMP_DS_NOTIF_LOG_CTX; return PERL_constant_ISIV;#else return PERL_constant_NOTDEF;#endif } break; case 'O': if (memEQ(name, "NETSNMP_DS_AGENT_GROUPID", 24)) { /* ^ */#ifdef NETSNMP_DS_AGENT_GROUPID *iv_return = NETSNMP_DS_AGENT_GROUPID; return PERL_constant_ISIV;#else return PERL_constant_NOTDEF;#endif } break; case 'R': if (memEQ(name, "NETSNMP_DS_AGENT_VERBOSE", 24)) { /* ^ */#ifdef NETSNMP_DS_AGENT_VERBOSE *iv_return = NETSNMP_DS_AGENT_VERBOSE; return PERL_constant_ISIV;#else return PERL_constant_NOTDEF;#endif } break; } return PERL_constant_NOTFOUND;}static intconstant_30 (pTHX_ const char *name, IV *iv_return) { /* When generated this function returned values for the list of names given here. However, subsequent manual editing may have added or removed some. NETSNMP_DS_AGENT_AGENTX_MASTER NETSNMP_DS_AGENT_CACHE_TIMEOUT NETSNMP_DS_AGENT_LEAVE_PIDFILE NETSNMP_DS_AGENT_STRICT_DISMAN */ /* Offset 27 gives the best switch position. */ switch (name[27]) { case 'I': if (memEQ(name, "NETSNMP_DS_AGENT_LEAVE_PIDFILE", 30)) { /* ^ */#ifdef NETSNMP_DS_AGENT_LEAVE_PIDFILE *iv_return = NETSNMP_DS_AGENT_LEAVE_PIDFILE; return PERL_constant_ISIV;#else return PERL_constant_NOTDEF;#endif } break; case 'M': if (memEQ(name, "NETSNMP_DS_AGENT_STRICT_DISMAN", 30)) { /* ^ */#ifdef NETSNMP_DS_AGENT_STRICT_DISMAN *iv_return = NETSNMP_DS_AGENT_STRICT_DISMAN; return PERL_constant_ISIV;#else return PERL_constant_NOTDEF;#endif } break; case 'O': if (memEQ(name, "NETSNMP_DS_AGENT_CACHE_TIMEOUT", 30)) { /* ^ */#ifdef NETSNMP_DS_AGENT_CACHE_TIMEOUT *iv_return = NETSNMP_DS_AGENT_CACHE_TIMEOUT; return PERL_constant_ISIV;#else return PERL_constant_NOTDEF;#endif } break; case 'T': if (memEQ(name, "NETSNMP_DS_AGENT_AGENTX_MASTER", 30)) { /* ^ */#ifdef NETSNMP_DS_AGENT_AGENTX_MASTER *iv_return = NETSNMP_DS_AGENT_AGENTX_MASTER; return PERL_constant_ISIV;#else return PERL_constant_NOTDEF;#endif } break; } return PERL_constant_NOTFOUND;}static intconstant_31 (pTHX_ const char *name, IV *iv_return) { /* When generated this function returned values for the list of names given here. However, subsequent manual editing may have added or removed some. NETSNMP_DS_AGENT_AGENTX_RETRIES NETSNMP_DS_AGENT_AGENTX_TIMEOUT NETSNMP_DS_AGENT_NO_ROOT_ACCESS NETSNMP_DS_AGENT_PERL_INIT_FILE */ /* Offset 27 gives the best switch position. */ switch (name[27]) { case 'C': if (memEQ(name, "NETSNMP_DS_AGENT_NO_ROOT_ACCESS", 31)) { /* ^ */#ifdef NETSNMP_DS_AGENT_NO_ROOT_ACCESS *iv_return = NETSNMP_DS_AGENT_NO_ROOT_ACCESS; return PERL_constant_ISIV;#else return PERL_constant_NOTDEF;#endif } break; case 'E': if (memEQ(name, "NETSNMP_DS_AGENT_AGENTX_TIMEOUT", 31)) { /* ^ */#ifdef NETSNMP_DS_AGENT_AGENTX_TIMEOUT *iv_return = NETSNMP_DS_AGENT_AGENTX_TIMEOUT; return PERL_constant_ISIV;#else return PERL_constant_NOTDEF;#endif } break; case 'F': if (memEQ(name, "NETSNMP_DS_AGENT_PERL_INIT_FILE", 31)) { /* ^ */#ifdef NETSNMP_DS_AGENT_PERL_INIT_FILE *iv_return = NETSNMP_DS_AGENT_PERL_INIT_FILE; return PERL_constant_ISIV;#else return PERL_constant_NOTDEF;#endif } break; case 'R': if (memEQ(name, "NETSNMP_DS_AGENT_AGENTX_RETRIES", 31)) { /* ^ */#ifdef NETSNMP_DS_AGENT_AGENTX_RETRIES *iv_return = NETSNMP_DS_AGENT_AGENTX_RETRIES; return PERL_constant_ISIV;#else return PERL_constant_NOTDEF;#endif } break; } return PERL_constant_NOTFOUND;}static intconstant_33 (pTHX_ const char *name, IV *iv_return) { /* When generated this function returned values for the list of names given here. However, subsequent manual editing may have added or removed some. NETSNMP_DS_AGENT_INTERNAL_SECNAME NETSNMP_DS_AGENT_INTERNAL_VERSION NETSNMP_DS_AGENT_QUIT_IMMEDIATELY */ /* Offset 31 gives the best switch position. */ switch (name[31]) { case 'L': if (memEQ(name, "NETSNMP_DS_AGENT_QUIT_IMMEDIATELY", 33)) { /* ^ */#ifdef NETSNMP_DS_AGENT_QUIT_IMMEDIATELY *iv_return = NETSNMP_DS_AGENT_QUIT_IMMEDIATELY; return PERL_constant_ISIV;#else return PERL_constant_NOTDEF;#endif } break; case 'M': if (memEQ(name, "NETSNMP_DS_AGENT_INTERNAL_SECNAME", 33)) { /* ^ */#ifdef NETSNMP_DS_AGENT_INTERNAL_SECNAME *iv_return = NETSNMP_DS_AGENT_INTERNAL_SECNAME; return PERL_constant_ISIV;#else return PERL_constant_NOTDEF;#endif } break; case 'O': if (memEQ(name, "NETSNMP_DS_AGENT_INTERNAL_VERSION", 33)) { /* ^ */#ifdef NETSNMP_DS_AGENT_INTERNAL_VERSION *iv_return = NETSNMP_DS_AGENT_INTERNAL_VERSION; return PERL_constant_ISIV;#else return PERL_constant_NOTDEF;#endif } break; } return PERL_constant_NOTFOUND;}static intconstant (pTHX_ const char *name, STRLEN len, IV *iv_return) { /* Initially switch on the length of the name. */ /* When generated this function returned values for the list of names given in this section of perl code. Rather than manually editing these functions to add or remove constants, which would result in this comment and section of code becoming inaccurate, we recommend that you edit this section of code, and use it to regenerate a new set of constant functions which you then use to replace the originals. Regenerate these constant functions by feeding this entire source file to perl -x#!/usr/bin/perl -wuse ExtUtils::Constant qw (constant_types C_constant XS_constant);my $types = {map {($_, 1)} qw(IV)};my @names = (qw(NETSNMP_DS_AGENT_AGENTX_MASTER NETSNMP_DS_AGENT_AGENTX_PING_INTERVAL NETSNMP_DS_AGENT_AGENTX_RETRIES NETSNMP_DS_AGENT_AGENTX_TIMEOUT NETSNMP_DS_AGENT_CACHE_TIMEOUT NETSNMP_DS_AGENT_DISABLE_PERL NETSNMP_DS_AGENT_DONT_LOG_TCPWRAPPERS_CONNECTS NETSNMP_DS_AGENT_DONT_RETAIN_NOTIFICATIONS NETSNMP_DS_AGENT_FLAGS NETSNMP_DS_AGENT_GROUPID NETSNMP_DS_AGENT_INTERNAL_SECLEVEL NETSNMP_DS_AGENT_INTERNAL_SECNAME NETSNMP_DS_AGENT_INTERNAL_VERSION NETSNMP_DS_AGENT_LEAVE_PIDFILE NETSNMP_DS_AGENT_MAX_GETBULKREPEATS NETSNMP_DS_AGENT_MAX_GETBULKRESPONSES NETSNMP_DS_AGENT_NO_CACHING NETSNMP_DS_AGENT_NO_CONNECTION_WARNINGS NETSNMP_DS_AGENT_NO_ROOT_ACCESS NETSNMP_DS_AGENT_PERL_INIT_FILE NETSNMP_DS_AGENT_PORTS NETSNMP_DS_AGENT_PROGNAME NETSNMP_DS_AGENT_QUIT_IMMEDIATELY NETSNMP_DS_AGENT_ROLE NETSNMP_DS_AGENT_SKIPNFSINHOSTRESOURCES NETSNMP_DS_AGENT_STRICT_DISMAN NETSNMP_DS_AGENT_USERID NETSNMP_DS_AGENT_VERBOSE NETSNMP_DS_AGENT_X_DIR_PERM NETSNMP_DS_AGENT_X_SOCKET NETSNMP_DS_AGENT_X_SOCK_GROUP NETSNMP_DS_AGENT_X_SOCK_PERM NETSNMP_DS_AGENT_X_SOCK_USER NETSNMP_DS_APP_DONT_LOG NETSNMP_DS_NOTIF_LOG_CTX NETSNMP_DS_SMUX_SOCKET));print constant_types(); # macro defsforeach (C_constant ("NetSNMP::agent::default_store", 'constant', 'IV', $types, undef, 3, @names) ) { print $_, "\n"; # C constant subs}print "#### XS Section:\n";print XS_constant ("NetSNMP::agent::default_store", $types);__END__ */ switch (len) { case 21: if (memEQ(name, "NETSNMP_DS_AGENT_ROLE", 21)) {#ifdef NETSNMP_DS_AGENT_ROLE *iv_return = NETSNMP_DS_AGENT_ROLE; return PERL_constant_ISIV;#else return PERL_constant_NOTDEF;#endif } break; case 22: return constant_22 (aTHX_ name, iv_return); break; case 23: /* Names all of length 23. */ /* NETSNMP_DS_AGENT_USERID NETSNMP_DS_APP_DONT_LOG */ /* Offset 18 gives the best switch position. */ switch (name[18]) { case 'S': if (memEQ(name, "NETSNMP_DS_AGENT_USERID", 23)) { /* ^ */#ifdef NETSNMP_DS_AGENT_USERID
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -