harrie Thu Mar 17 14:47:49 2005 EDT Modified files: (Branch: PHP_5_0) /php-src/ext/snmp php_snmp.h snmp.c Log: Adding SNMPV2 functions for data retrieval. http://cvs.php.net/diff.php/php-src/ext/snmp/php_snmp.h?r1=1.22.2.1&r2=1.22.2.2&ty=u Index: php-src/ext/snmp/php_snmp.h diff -u php-src/ext/snmp/php_snmp.h:1.22.2.1 php-src/ext/snmp/php_snmp.h:1.22.2.2 --- php-src/ext/snmp/php_snmp.h:1.22.2.1 Sat Jan 8 07:02:39 2005 +++ php-src/ext/snmp/php_snmp.h Thu Mar 17 14:47:48 2005 @@ -20,7 +20,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_snmp.h,v 1.22.2.1 2005/01/08 12:02:39 sniper Exp $ */ +/* $Id: php_snmp.h,v 1.22.2.2 2005/03/17 19:47:48 harrie Exp $ */ #ifndef PHP_SNMP_H #define PHP_SNMP_H @@ -52,6 +52,12 @@ PHP_FUNCTION(snmp_set_oid_numeric_print); PHP_FUNCTION(snmpset); +PHP_FUNCTION(snmp2_get); +PHP_FUNCTION(snmp2_getnext); +PHP_FUNCTION(snmp2_walk); +PHP_FUNCTION(snmp2_real_walk); +PHP_FUNCTION(snmp2_set); + PHP_FUNCTION(snmp3_get); PHP_FUNCTION(snmp3_getnext); PHP_FUNCTION(snmp3_walk); http://cvs.php.net/diff.php/php-src/ext/snmp/snmp.c?r1=1.92.2.4&r2=1.92.2.5&ty=u Index: php-src/ext/snmp/snmp.c diff -u php-src/ext/snmp/snmp.c:1.92.2.4 php-src/ext/snmp/snmp.c:1.92.2.5 --- php-src/ext/snmp/snmp.c:1.92.2.4 Sat Feb 12 13:30:26 2005 +++ php-src/ext/snmp/snmp.c Thu Mar 17 14:47:48 2005 @@ -20,7 +20,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: snmp.c,v 1.92.2.4 2005/02/12 18:30:26 sniper Exp $ */ +/* $Id: snmp.c,v 1.92.2.5 2005/03/17 19:47:48 harrie Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -133,6 +133,12 @@ #endif PHP_FE(snmpset, NULL) + PHP_FE(snmp2_get, NULL) + PHP_FE(snmp2_getnext, NULL) + PHP_FE(snmp2_walk, NULL) + PHP_FE(snmp2_real_walk, NULL) + PHP_FE(snmp2_set, NULL) + PHP_FE(snmp3_get, NULL) PHP_FE(snmp3_getnext, NULL) PHP_FE(snmp3_walk, NULL) @@ -324,7 +330,7 @@ /* {{{ php_snmp_internal * -* Generic SNMP object fetcher (for both v3 and v1) +* Generic SNMP object fetcher (for all SNMP versions) * * st=1 snmpget() - query an agent and return a single value. * st=2 snmpget() - query an agent and return the next single value. @@ -524,7 +530,7 @@ /* {{{ php_snmp * -* Generic SNMPv1 handler +* Generic community based SNMP handler for version 1 and 2. * This function makes use of the internal SNMP object fetcher. * The object fetcher is shared with SNMPv3. * @@ -538,7 +544,7 @@ * st=11 snmpset() - query an agent and set a single value * */ -static void php_snmp(INTERNAL_FUNCTION_PARAMETERS, int st) +static void php_snmp(INTERNAL_FUNCTION_PARAMETERS, int st, int version) { zval **a1, **a2, **a3, **a4, **a5, **a6, **a7; struct snmp_session session; @@ -600,7 +606,7 @@ session.peername = hostname; session.remote_port = remote_port; - session.version = SNMP_VERSION_1; + session.version = version; /* * FIXME: potential memory leak * This is a workaround for an "artifact" (Mike Slifcak) @@ -626,7 +632,7 @@ Fetch a SNMP object */ PHP_FUNCTION(snmpget) { - php_snmp(INTERNAL_FUNCTION_PARAM_PASSTHRU,1); + php_snmp(INTERNAL_FUNCTION_PARAM_PASSTHRU,1, SNMP_VERSION_1); } /* }}} */ @@ -634,7 +640,7 @@ Fetch a SNMP object */ PHP_FUNCTION(snmpgetnext) { - php_snmp(INTERNAL_FUNCTION_PARAM_PASSTHRU,2); + php_snmp(INTERNAL_FUNCTION_PARAM_PASSTHRU,2, SNMP_VERSION_1); } /* }}} */ @@ -642,7 +648,7 @@ Return all objects under the specified object id */ PHP_FUNCTION(snmpwalk) { - php_snmp(INTERNAL_FUNCTION_PARAM_PASSTHRU,3); + php_snmp(INTERNAL_FUNCTION_PARAM_PASSTHRU,3, SNMP_VERSION_1); } /* }}} */ @@ -650,7 +656,7 @@ Return all objects including their respective object id withing the specified one */ PHP_FUNCTION(snmprealwalk) { - php_snmp(INTERNAL_FUNCTION_PARAM_PASSTHRU,4); + php_snmp(INTERNAL_FUNCTION_PARAM_PASSTHRU,4, SNMP_VERSION_1); } /* }}} */ @@ -728,7 +734,7 @@ Set the value of a SNMP object */ PHP_FUNCTION(snmpset) { - php_snmp(INTERNAL_FUNCTION_PARAM_PASSTHRU,11); + php_snmp(INTERNAL_FUNCTION_PARAM_PASSTHRU,11, SNMP_VERSION_1); } /* }}} */ @@ -810,6 +816,9 @@ * symbol on purpose, as it's defined to be the same as the former. */ || !strcasecmp(prot, "AES")) { + s->securityPrivProto = usmAES128PrivProtocol; + s->securityPrivProtoLen = OIDSIZE(usmAES128PrivProtocol); + return (0); #else ) { s->securityPrivProto = usmAES128PrivProtocol; @@ -894,6 +903,45 @@ } /* }}} */ +/* {{{ proto string snmp2_get(string host, string community, string object_id [, int timeout [, int retries]]) + Fetch a SNMP object */ +PHP_FUNCTION(snmp2_get) +{ + php_snmp(INTERNAL_FUNCTION_PARAM_PASSTHRU,1, SNMP_VERSION_2c); +} +/* }}} */ + +/* {{{ proto string snmp2_getnext(string host, string community, string object_id [, int timeout [, int retries]]) + Fetch a SNMP object */ +PHP_FUNCTION(snmp2_getnext) +{ + php_snmp(INTERNAL_FUNCTION_PARAM_PASSTHRU,2, SNMP_VERSION_2c); +} +/* }}} */ + +/* {{{ proto array snmp2_walk(string host, string community, string object_id [, int timeout [, int retries]]) + Return all objects under the specified object id */ +PHP_FUNCTION(snmp2_walk) +{ + php_snmp(INTERNAL_FUNCTION_PARAM_PASSTHRU,3, SNMP_VERSION_2c); +} +/* }}} */ + +/* {{{ proto array snmp2_real_walk(string host, string community, string object_id [, int timeout [, int retries]]) + Return all objects including their respective object id withing the specified one */ +PHP_FUNCTION(snmp2_real_walk) +{ + php_snmp(INTERNAL_FUNCTION_PARAM_PASSTHRU,4, SNMP_VERSION_2c); +} +/* }}} */ + +/* {{{ proto int snmp2_set(string host, string community, string object_id, string type, mixed value [, int timeout [, int retries]]) + Set the value of a SNMP object */ +PHP_FUNCTION(snmp2_set) +{ + php_snmp(INTERNAL_FUNCTION_PARAM_PASSTHRU,11, SNMP_VERSION_2c); +} +/* }}} */ /* {{{ proto void php_snmpv3(INTERNAL_FUNCTION_PARAMETERS, int st) *
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php