⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 default_store.xs

📁 开发snmp的开发包有两个开放的SNMP开发库
💻 XS
📖 第 1 页 / 共 2 页
字号:
#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 + -