3131#include "zend_exceptions.h"
3232#include "zend_smart_string.h"
3333#include "ext/spl/spl_exceptions.h"
34- #include "snmp_arginfo.h"
3534
3635#ifdef HAVE_SNMP
3736
6362#include <net-snmp/net-snmp-config.h>
6463#include <net-snmp/net-snmp-includes.h>
6564
65+ #include "snmp_arginfo.h"
66+
6667/* For net-snmp prior to 5.4 */
6768#ifndef HAVE_SHUTDOWN_SNMP_LOGGING
6869extern netsnmp_log_handler * logh_head ;
@@ -74,10 +75,6 @@ extern netsnmp_log_handler *logh_head;
7475 }
7576#endif
7677
77- #define SNMP_VALUE_LIBRARY (0 << 0)
78- #define SNMP_VALUE_PLAIN (1 << 0)
79- #define SNMP_VALUE_OBJECT (1 << 1)
80-
8178typedef struct snmp_session php_snmp_session ;
8279
8380#define PHP_SNMP_ADD_PROPERTIES (a , b ) \
@@ -90,23 +87,6 @@ typedef struct snmp_session php_snmp_session;
9087 } \
9188}
9289
93- #define PHP_SNMP_ERRNO_NOERROR 0
94- #define PHP_SNMP_ERRNO_GENERIC (1 << 1)
95- #define PHP_SNMP_ERRNO_TIMEOUT (1 << 2)
96- #define PHP_SNMP_ERRNO_ERROR_IN_REPLY (1 << 3)
97- #define PHP_SNMP_ERRNO_OID_NOT_INCREASING (1 << 4)
98- #define PHP_SNMP_ERRNO_OID_PARSING_ERROR (1 << 5)
99- #define PHP_SNMP_ERRNO_MULTIPLE_SET_QUERIES (1 << 6)
100- #define PHP_SNMP_ERRNO_ANY ( \
101- PHP_SNMP_ERRNO_GENERIC | \
102- PHP_SNMP_ERRNO_TIMEOUT | \
103- PHP_SNMP_ERRNO_ERROR_IN_REPLY | \
104- PHP_SNMP_ERRNO_OID_NOT_INCREASING | \
105- PHP_SNMP_ERRNO_OID_PARSING_ERROR | \
106- PHP_SNMP_ERRNO_MULTIPLE_SET_QUERIES | \
107- PHP_SNMP_ERRNO_NOERROR \
108- )
109-
11090ZEND_DECLARE_MODULE_GLOBALS (snmp )
11191static PHP_GINIT_FUNCTION (snmp );
11292
@@ -2052,47 +2032,11 @@ PHP_MINIT_FUNCTION(snmp)
20522032 zend_hash_init (& php_snmp_properties , 0 , NULL , free_php_snmp_properties , 1 );
20532033 PHP_SNMP_ADD_PROPERTIES (& php_snmp_properties , php_snmp_property_entries );
20542034
2055- REGISTER_LONG_CONSTANT ("SNMP_OID_OUTPUT_SUFFIX" , NETSNMP_OID_OUTPUT_SUFFIX , CONST_CS | CONST_PERSISTENT );
2056- REGISTER_LONG_CONSTANT ("SNMP_OID_OUTPUT_MODULE" , NETSNMP_OID_OUTPUT_MODULE , CONST_CS | CONST_PERSISTENT );
2057- REGISTER_LONG_CONSTANT ("SNMP_OID_OUTPUT_FULL" , NETSNMP_OID_OUTPUT_FULL , CONST_CS | CONST_PERSISTENT );
2058- REGISTER_LONG_CONSTANT ("SNMP_OID_OUTPUT_NUMERIC" , NETSNMP_OID_OUTPUT_NUMERIC , CONST_CS | CONST_PERSISTENT );
2059- REGISTER_LONG_CONSTANT ("SNMP_OID_OUTPUT_UCD" , NETSNMP_OID_OUTPUT_UCD , CONST_CS | CONST_PERSISTENT );
2060- REGISTER_LONG_CONSTANT ("SNMP_OID_OUTPUT_NONE" , NETSNMP_OID_OUTPUT_NONE , CONST_CS | CONST_PERSISTENT );
2061-
2062- REGISTER_LONG_CONSTANT ("SNMP_VALUE_LIBRARY" , SNMP_VALUE_LIBRARY , CONST_CS | CONST_PERSISTENT );
2063- REGISTER_LONG_CONSTANT ("SNMP_VALUE_PLAIN" , SNMP_VALUE_PLAIN , CONST_CS | CONST_PERSISTENT );
2064- REGISTER_LONG_CONSTANT ("SNMP_VALUE_OBJECT" , SNMP_VALUE_OBJECT , CONST_CS | CONST_PERSISTENT );
2065-
2066- REGISTER_LONG_CONSTANT ("SNMP_BIT_STR" , ASN_BIT_STR , CONST_CS | CONST_PERSISTENT );
2067- REGISTER_LONG_CONSTANT ("SNMP_OCTET_STR" , ASN_OCTET_STR , CONST_CS | CONST_PERSISTENT );
2068- REGISTER_LONG_CONSTANT ("SNMP_OPAQUE" , ASN_OPAQUE , CONST_CS | CONST_PERSISTENT );
2069- REGISTER_LONG_CONSTANT ("SNMP_NULL" , ASN_NULL , CONST_CS | CONST_PERSISTENT );
2070- REGISTER_LONG_CONSTANT ("SNMP_OBJECT_ID" , ASN_OBJECT_ID , CONST_CS | CONST_PERSISTENT );
2071- REGISTER_LONG_CONSTANT ("SNMP_IPADDRESS" , ASN_IPADDRESS , CONST_CS | CONST_PERSISTENT );
2072- REGISTER_LONG_CONSTANT ("SNMP_COUNTER" , ASN_GAUGE , CONST_CS | CONST_PERSISTENT );
2073- REGISTER_LONG_CONSTANT ("SNMP_UNSIGNED" , ASN_UNSIGNED , CONST_CS | CONST_PERSISTENT );
2074- REGISTER_LONG_CONSTANT ("SNMP_TIMETICKS" , ASN_TIMETICKS , CONST_CS | CONST_PERSISTENT );
2075- REGISTER_LONG_CONSTANT ("SNMP_UINTEGER" , ASN_UINTEGER , CONST_CS | CONST_PERSISTENT );
2076- REGISTER_LONG_CONSTANT ("SNMP_INTEGER" , ASN_INTEGER , CONST_CS | CONST_PERSISTENT );
2077- REGISTER_LONG_CONSTANT ("SNMP_COUNTER64" , ASN_COUNTER64 , CONST_CS | CONST_PERSISTENT );
2078-
2079- REGISTER_SNMP_CLASS_CONST_LONG ("VERSION_1" , SNMP_VERSION_1 );
2080- REGISTER_SNMP_CLASS_CONST_LONG ("VERSION_2c" , SNMP_VERSION_2c );
2081- REGISTER_SNMP_CLASS_CONST_LONG ("VERSION_2C" , SNMP_VERSION_2c );
2082- REGISTER_SNMP_CLASS_CONST_LONG ("VERSION_3" , SNMP_VERSION_3 );
2083-
2084- REGISTER_SNMP_CLASS_CONST_LONG ("ERRNO_NOERROR" , PHP_SNMP_ERRNO_NOERROR );
2085- REGISTER_SNMP_CLASS_CONST_LONG ("ERRNO_ANY" , PHP_SNMP_ERRNO_ANY );
2086- REGISTER_SNMP_CLASS_CONST_LONG ("ERRNO_GENERIC" , PHP_SNMP_ERRNO_GENERIC );
2087- REGISTER_SNMP_CLASS_CONST_LONG ("ERRNO_TIMEOUT" , PHP_SNMP_ERRNO_TIMEOUT );
2088- REGISTER_SNMP_CLASS_CONST_LONG ("ERRNO_ERROR_IN_REPLY" , PHP_SNMP_ERRNO_ERROR_IN_REPLY );
2089- REGISTER_SNMP_CLASS_CONST_LONG ("ERRNO_OID_NOT_INCREASING" , PHP_SNMP_ERRNO_OID_NOT_INCREASING );
2090- REGISTER_SNMP_CLASS_CONST_LONG ("ERRNO_OID_PARSING_ERROR" , PHP_SNMP_ERRNO_OID_PARSING_ERROR );
2091- REGISTER_SNMP_CLASS_CONST_LONG ("ERRNO_MULTIPLE_SET_QUERIES" , PHP_SNMP_ERRNO_MULTIPLE_SET_QUERIES );
2092-
20932035 /* Register SNMPException class */
20942036 php_snmp_exception_ce = register_class_SNMPException (spl_ce_RuntimeException );
20952037
2038+ register_snmp_symbols (module_number );
2039+
20962040 return SUCCESS ;
20972041}
20982042/* }}} */
0 commit comments