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

📄 default_store.xs

📁 开发snmp的开发包有两个开放的SNMP开发库
💻 XS
📖 第 1 页 / 共 3 页
字号:
      return PERL_constant_ISIV;#else      return PERL_constant_NOTDEF;#endif    }    break;  case 'S':    if (memEQ(name, "NETSNMP_DS_LIB_PRINT_NUMERIC_OID", 32)) {    /*                                               S      */#ifdef NETSNMP_DS_LIB_PRINT_NUMERIC_OIDS      *iv_return = NETSNMP_DS_LIB_PRINT_NUMERIC_OIDS;      return PERL_constant_ISIV;#else      return PERL_constant_NOTDEF;#endif    }    break;  }  return PERL_constant_NOTFOUND;}static intconstant_34 (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_LIB_DISABLE_CONFIG_LOAD NETSNMP_DS_LIB_DONT_BREAKDOWN_OIDS     NETSNMP_DS_LIB_IGNORE_NO_COMMUNITY NETSNMP_DS_LIB_PRINT_UCD_STYLE_OID */  /* Offset 28 gives the best switch position.  */  switch (name[28]) {  case 'G':    if (memEQ(name, "NETSNMP_DS_LIB_DISABLE_CONFIG_LOAD", 34)) {    /*                                           ^            */#ifdef NETSNMP_DS_LIB_DISABLE_CONFIG_LOAD      *iv_return = NETSNMP_DS_LIB_DISABLE_CONFIG_LOAD;      return PERL_constant_ISIV;#else      return PERL_constant_NOTDEF;#endif    }    break;  case 'L':    if (memEQ(name, "NETSNMP_DS_LIB_PRINT_UCD_STYLE_OID", 34)) {    /*                                           ^            */#ifdef NETSNMP_DS_LIB_PRINT_UCD_STYLE_OID      *iv_return = NETSNMP_DS_LIB_PRINT_UCD_STYLE_OID;      return PERL_constant_ISIV;#else      return PERL_constant_NOTDEF;#endif    }    break;  case 'M':    if (memEQ(name, "NETSNMP_DS_LIB_IGNORE_NO_COMMUNITY", 34)) {    /*                                           ^            */#ifdef NETSNMP_DS_LIB_IGNORE_NO_COMMUNITY      *iv_return = NETSNMP_DS_LIB_IGNORE_NO_COMMUNITY;      return PERL_constant_ISIV;#else      return PERL_constant_NOTDEF;#endif    }    break;  case 'N':    if (memEQ(name, "NETSNMP_DS_LIB_DONT_BREAKDOWN_OIDS", 34)) {    /*                                           ^            */#ifdef NETSNMP_DS_LIB_DONT_BREAKDOWN_OIDS      *iv_return = NETSNMP_DS_LIB_DONT_BREAKDOWN_OIDS;      return PERL_constant_ISIV;#else      return PERL_constant_NOTDEF;#endif    }    break;  }  return PERL_constant_NOTFOUND;}static intconstant_38 (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_LIB_DISABLE_PERSISTENT_LOAD     NETSNMP_DS_LIB_DISABLE_PERSISTENT_SAVE     NETSNMP_DS_LIB_HAVE_READ_PREMIB_CONFIG */  /* Offset 37 gives the best switch position.  */  switch (name[37]) {  case 'D':    if (memEQ(name, "NETSNMP_DS_LIB_DISABLE_PERSISTENT_LOA", 37)) {    /*                                                    D      */#ifdef NETSNMP_DS_LIB_DISABLE_PERSISTENT_LOAD      *iv_return = NETSNMP_DS_LIB_DISABLE_PERSISTENT_LOAD;      return PERL_constant_ISIV;#else      return PERL_constant_NOTDEF;#endif    }    break;  case 'E':    if (memEQ(name, "NETSNMP_DS_LIB_DISABLE_PERSISTENT_SAV", 37)) {    /*                                                    E      */#ifdef NETSNMP_DS_LIB_DISABLE_PERSISTENT_SAVE      *iv_return = NETSNMP_DS_LIB_DISABLE_PERSISTENT_SAVE;      return PERL_constant_ISIV;#else      return PERL_constant_NOTDEF;#endif    }    break;  case 'G':    if (memEQ(name, "NETSNMP_DS_LIB_HAVE_READ_PREMIB_CONFI", 37)) {    /*                                                    G      */#ifdef NETSNMP_DS_LIB_HAVE_READ_PREMIB_CONFIG      *iv_return = NETSNMP_DS_LIB_HAVE_READ_PREMIB_CONFIG;      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_APPLICATION_ID NETSNMP_DS_LIBRARY_ID	       NETSNMP_DS_LIB_16BIT_IDS NETSNMP_DS_LIB_2DIGIT_HEX_OUTPUT	       NETSNMP_DS_LIB_ALARM_DONT_USE_SIG NETSNMP_DS_LIB_APPEND_LOGFILES	       NETSNMP_DS_LIB_APPTYPE NETSNMP_DS_LIB_APPTYPES	       NETSNMP_DS_LIB_AUTHLOCALIZEDKEY NETSNMP_DS_LIB_AUTHMASTERKEY	       NETSNMP_DS_LIB_AUTHPASSPHRASE NETSNMP_DS_LIB_CLIENTRECVBUF	       NETSNMP_DS_LIB_CLIENTSENDBUF NETSNMP_DS_LIB_CLIENT_ADDR	       NETSNMP_DS_LIB_COMMUNITY NETSNMP_DS_LIB_CONFIGURATION_DIR	       NETSNMP_DS_LIB_CONTEXT NETSNMP_DS_LIB_DEFAULT_PORT	       NETSNMP_DS_LIB_DISABLE_CONFIG_LOAD	       NETSNMP_DS_LIB_DISABLE_PERSISTENT_LOAD	       NETSNMP_DS_LIB_DISABLE_PERSISTENT_SAVE	       NETSNMP_DS_LIB_DONT_BREAKDOWN_OIDS	       NETSNMP_DS_LIB_DONT_CHECK_RANGE	       NETSNMP_DS_LIB_DONT_PERSIST_STATE	       NETSNMP_DS_LIB_DONT_PRINT_UNITS NETSNMP_DS_LIB_DONT_READ_CONFIGS	       NETSNMP_DS_LIB_DUMP_PACKET NETSNMP_DS_LIB_ESCAPE_QUOTES	       NETSNMP_DS_LIB_EXTENDED_INDEX NETSNMP_DS_LIB_HAVE_READ_CONFIG	       NETSNMP_DS_LIB_HAVE_READ_PREMIB_CONFIG	       NETSNMP_DS_LIB_HEX_OUTPUT_LENGTH	       NETSNMP_DS_LIB_IGNORE_NO_COMMUNITY NETSNMP_DS_LIB_KSM_KEYTAB	       NETSNMP_DS_LIB_KSM_SERVICE_NAME NETSNMP_DS_LIB_LOG_TIMESTAMP	       NETSNMP_DS_LIB_MIBDIRS NETSNMP_DS_LIB_MIB_COMMENT_TERM	       NETSNMP_DS_LIB_MIB_ERRORS NETSNMP_DS_LIB_MIB_PARSE_LABEL	       NETSNMP_DS_LIB_MIB_REPLACE NETSNMP_DS_LIB_MIB_WARNINGS	       NETSNMP_DS_LIB_NO_DISPLAY_HINT NETSNMP_DS_LIB_NO_TOKEN_WARNINGS	       NETSNMP_DS_LIB_NUMERIC_TIMETICKS NETSNMP_DS_LIB_OIDPREFIX	       NETSNMP_DS_LIB_OIDSUFFIX NETSNMP_DS_LIB_OID_OUTPUT_FORMAT	       NETSNMP_DS_LIB_OPTIONALCONFIG NETSNMP_DS_LIB_PASSPHRASE	       NETSNMP_DS_LIB_PERSISTENT_DIR NETSNMP_DS_LIB_PRINT_BARE_VALUE	       NETSNMP_DS_LIB_PRINT_FULL_OID NETSNMP_DS_LIB_PRINT_HEX_TEXT	       NETSNMP_DS_LIB_PRINT_NUMERIC_ENUM	       NETSNMP_DS_LIB_PRINT_NUMERIC_OIDS	       NETSNMP_DS_LIB_PRINT_SUFFIX_ONLY	       NETSNMP_DS_LIB_PRINT_UCD_STYLE_OID	       NETSNMP_DS_LIB_PRIVLOCALIZEDKEY NETSNMP_DS_LIB_PRIVMASTERKEY	       NETSNMP_DS_LIB_PRIVPASSPHRASE NETSNMP_DS_LIB_QUICKE_PRINT	       NETSNMP_DS_LIB_QUICK_PRINT NETSNMP_DS_LIB_RANDOM_ACCESS	       NETSNMP_DS_LIB_READ_UCD_STYLE_OID NETSNMP_DS_LIB_REGEX_ACCESS	       NETSNMP_DS_LIB_REVERSE_ENCODE NETSNMP_DS_LIB_SAVE_MIB_DESCRS	       NETSNMP_DS_LIB_SBSM_LOCAL_PWD NETSNMP_DS_LIB_SECLEVEL	       NETSNMP_DS_LIB_SECMODEL NETSNMP_DS_LIB_SECNAME	       NETSNMP_DS_LIB_SERVERRECVBUF NETSNMP_DS_LIB_SERVERSENDBUF	       NETSNMP_DS_LIB_SNMPVERSION NETSNMP_DS_LIB_STRING_OUTPUT_FORMAT	       NETSNMP_DS_LIB_TEMP_FILE_PATTERN NETSNMP_DS_MAX_IDS	       NETSNMP_DS_MAX_SUBIDS NETSNMP_DS_SNMP_VERSION_1	       NETSNMP_DS_SNMP_VERSION_2c NETSNMP_DS_SNMP_VERSION_3	       NETSNMP_DS_TOKEN_ID));print constant_types(); # macro defsforeach (C_constant ("NetSNMP::default_store", 'constant', 'IV', $types, undef, 3, @names) ) {    print $_, "\n"; # C constant subs}print "#### XS Section:\n";print XS_constant ("NetSNMP::default_store", $types);__END__   */  switch (len) {  case 18:    if (memEQ(name, "NETSNMP_DS_MAX_IDS", 18)) {#ifdef NETSNMP_DS_MAX_IDS      *iv_return = NETSNMP_DS_MAX_IDS;      return PERL_constant_ISIV;#else      return PERL_constant_NOTDEF;#endif    }    break;  case 19:    if (memEQ(name, "NETSNMP_DS_TOKEN_ID", 19)) {#ifdef NETSNMP_DS_TOKEN_ID      *iv_return = NETSNMP_DS_TOKEN_ID;      return PERL_constant_ISIV;#else      return PERL_constant_NOTDEF;#endif    }    break;  case 21:    /* Names all of length 21.  */    /* NETSNMP_DS_LIBRARY_ID NETSNMP_DS_MAX_SUBIDS */    /* Offset 11 gives the best switch position.  */    switch (name[11]) {    case 'L':      if (memEQ(name, "NETSNMP_DS_LIBRARY_ID", 21)) {      /*                          ^                */#ifdef NETSNMP_DS_LIBRARY_ID        *iv_return = NETSNMP_DS_LIBRARY_ID;        return PERL_constant_ISIV;#else        return PERL_constant_NOTDEF;#endif      }      break;    case 'M':      if (memEQ(name, "NETSNMP_DS_MAX_SUBIDS", 21)) {      /*                          ^                */#ifdef NETSNMP_DS_MAX_SUBIDS        *iv_return = NETSNMP_DS_MAX_SUBIDS;        return PERL_constant_ISIV;#else        return PERL_constant_NOTDEF;#endif      }      break;    }    break;  case 22:    return constant_22 (aTHX_ name, iv_return);    break;  case 23:    return constant_23 (aTHX_ name, iv_return);    break;  case 24:    return constant_24 (aTHX_ name, iv_return);    break;  case 25:    return constant_25 (aTHX_ name, iv_return);    break;  case 26:    return constant_26 (aTHX_ name, iv_return);    break;  case 27:    return constant_27 (aTHX_ name, iv_return);    break;  case 28:    return constant_28 (aTHX_ name, iv_return);    break;  case 29:    return constant_29 (aTHX_ name, iv_return);    break;  case 30:    return constant_30 (aTHX_ name, iv_return);    break;  case 31:    return constant_31 (aTHX_ name, iv_return);    break;  case 32:    return constant_32 (aTHX_ name, iv_return);    break;  case 33:    return constant_33 (aTHX_ name, iv_return);    break;  case 34:    return constant_34 (aTHX_ name, iv_return);    break;  case 35:    if (memEQ(name, "NETSNMP_DS_LIB_STRING_OUTPUT_FORMAT", 35)) {#ifdef NETSNMP_DS_LIB_STRING_OUTPUT_FORMAT      *iv_return = NETSNMP_DS_LIB_STRING_OUTPUT_FORMAT;      return PERL_constant_ISIV;#else      return PERL_constant_NOTDEF;#endif    }    break;  case 38:    return constant_38 (aTHX_ name, iv_return);    break;  }  return PERL_constant_NOTFOUND;}/* autogenerated by "gen" from const-xs.inc */MODULE = NetSNMP::default_store         PACKAGE = NetSNMP::default_storevoidconstant(sv)    PREINIT:#ifdef dXSTARG	dXSTARG; /* Faster if we have it.  */#else	dTARGET;#endif	STRLEN		len;        int		type;	IV		iv;	/* NV		nv;	Uncomment this if you need to return NVs */	/* const char	*pv;	Uncomment this if you need to return PVs */    INPUT:	SV *		sv;        const char *	s = SvPV(sv, len);    PPCODE:        /* Change this to constant(aTHX_ s, len, &iv, &nv);           if you need to return both NVs and IVs */	type = constant(aTHX_ s, len, &iv);      /* Return 1 or 2 items. First is error message, or undef if no error.           Second, if present, is found value */        switch (type) {        case PERL_constant_NOTFOUND:          sv = sv_2mortal(newSVpvf("%s is not a valid NetSNMP::default_store macro", s));          PUSHs(sv);          break;        case PERL_constant_NOTDEF:          sv = sv_2mortal(newSVpvf(	    "Your vendor has not defined NetSNMP::default_store macro %s, used", s));          PUSHs(sv);          break;        case PERL_constant_ISIV:          EXTEND(SP, 1);          PUSHs(&PL_sv_undef);          PUSHi(iv);          break;	/* Uncomment this if you need to return NOs        case PERL_constant_ISNO:          EXTEND(SP, 1);          PUSHs(&PL_sv_undef);          PUSHs(&PL_sv_no);          break; */	/* Uncomment this if you need to return NVs        case PERL_constant_ISNV:          EXTEND(SP, 1);          PUSHs(&PL_sv_undef);          PUSHn(nv);          break; */	/* Uncomment this if you need to return PVs        case PERL_constant_ISPV:          EXTEND(SP, 1);          PUSHs(&PL_sv_undef);          PUSHp(pv, strlen(pv));          break; */	/* Uncomment this if you need to return PVNs        case PERL_constant_ISPVN:          EXTEND(SP, 1);          PUSHs(&PL_sv_undef);          PUSHp(pv, iv);          break; */	/* Uncomment this if you need to return SVs        case PERL_constant_ISSV:          EXTEND(SP, 1);          PUSHs(&PL_sv_undef);          PUSHs(sv);          break; */	/* Uncomment this if you need to return UNDEFs        case PERL_constant_ISUNDEF:          break; */	/* Uncomment this if you need to return UVs        case PERL_constant_ISUV:          EXTEND(SP, 1);          PUSHs(&PL_sv_undef);          PUSHu((UV)iv);          break; */	/* Uncomment this if you need to return YESs        case PERL_constant_ISYES:          EXTEND(SP, 1);          PUSHs(&PL_sv_undef);          PUSHs(&PL_sv_yes);          break; */        default:          sv = sv_2mortal(newSVpvf(	    "Unexpected return type %d while processing NetSNMP::default_store macro %s, used",               type, s));          PUSHs(sv);        }intnetsnmp_ds_get_boolean(storeid, which)	int	storeid	int	whichintnetsnmp_ds_get_int(storeid, which)	int	storeid	int	whichchar *netsnmp_ds_get_string(storeid, which)	int	storeid	int	whichvoid *netsnmp_ds_get_void(storeid, which)	int	storeid	int	whichintnetsnmp_ds_register_config(type, ftype, token, storeid, which)	unsigned char	type	const char *	ftype	const char *	token	int	storeid	int	whichintnetsnmp_ds_register_premib(type, ftype, token, storeid, which)	unsigned char	type	const char *	ftype	const char *	token	int	storeid	int	whichintnetsnmp_ds_set_boolean(storeid, which, value)	int	storeid	int	which	int	valueintnetsnmp_ds_set_int(storeid, which, value)	int	storeid	int	which	int	valueintnetsnmp_ds_set_string(storeid, which, value)	int	storeid	int	which	const char *	valueintnetsnmp_ds_set_void(storeid, which, value)	int	storeid	int	which	void *	valuevoidnetsnmp_ds_shutdown()intnetsnmp_ds_toggle_boolean(storeid, which)	int	storeid	int	which

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -