Annotation of embedaddon/php/ext/snmp/php_snmp.h, revision 1.1.1.4

1.1       misho       1: /*
                      2:   +----------------------------------------------------------------------+
                      3:   | PHP Version 5                                                        |
                      4:   +----------------------------------------------------------------------+
1.1.1.4 ! misho       5:   | Copyright (c) 1997-2014 The PHP Group                                |
1.1       misho       6:   +----------------------------------------------------------------------+
                      7:   | This source file is subject to version 3.01 of the PHP license,      |
                      8:   | that is bundled with this package in the file LICENSE, and is        |
                      9:   | available through the world-wide-web at the following url:           |
                     10:   | http://www.php.net/license/3_01.txt                                  |
                     11:   | If you did not receive a copy of the PHP license and are unable to   |
                     12:   | obtain it through the world-wide-web, please send a note to          |
                     13:   | license@php.net so we can mail you a copy immediately.               |
                     14:   +----------------------------------------------------------------------+
                     15:   | Authors: Rasmus Lerdorf <rasmus@php.net>                             |
                     16:   |          Mike Jackson <mhjack@tscnet.com>                            |
                     17:   |          Steven Lawrance <slawrance@technologist.com>                |
                     18:   |          Harrie Hazewinkel <harrie@lisanza.net>                      |
                     19:   |          Johann Hanne <jonny@nurfuerspam.de>                         |
1.1.1.2   misho      20:   |          Boris Lytockin <lytboris@gmail.com>                         |
1.1       misho      21:   +----------------------------------------------------------------------+
                     22: */
                     23: 
1.1.1.2   misho      24: /* $Id$ */
1.1       misho      25: 
                     26: #ifndef PHP_SNMP_H
                     27: #define PHP_SNMP_H
                     28: 
1.1.1.2   misho      29: #define PHP_SNMP_VERSION "0.1"
                     30: 
1.1       misho      31: #if HAVE_SNMP
                     32: 
                     33: #ifndef DLEXPORT
                     34: #define DLEXPORT
                     35: #endif
                     36: 
                     37: extern zend_module_entry snmp_module_entry;
                     38: #define snmp_module_ptr &snmp_module_entry
                     39: 
                     40: #ifdef ZTS
                     41: #include "TSRM.h"
                     42: #endif
                     43: 
1.1.1.2   misho      44: #include <net-snmp/net-snmp-config.h>
                     45: #include <net-snmp/net-snmp-includes.h>
                     46: 
1.1       misho      47: PHP_MINIT_FUNCTION(snmp);
                     48: PHP_MSHUTDOWN_FUNCTION(snmp);
                     49: PHP_MINFO_FUNCTION(snmp);
                     50: 
                     51: PHP_FUNCTION(snmpget);
                     52: PHP_FUNCTION(snmpgetnext);
                     53: PHP_FUNCTION(snmpwalk);
                     54: PHP_FUNCTION(snmprealwalk);
1.1.1.2   misho      55: PHP_FUNCTION(snmpset);
1.1       misho      56: PHP_FUNCTION(snmp_get_quick_print);
                     57: PHP_FUNCTION(snmp_set_quick_print);
                     58: PHP_FUNCTION(snmp_set_enum_print);
                     59: PHP_FUNCTION(snmp_set_oid_output_format);
                     60: 
                     61: PHP_FUNCTION(snmp2_get);
                     62: PHP_FUNCTION(snmp2_getnext);
                     63: PHP_FUNCTION(snmp2_walk);
                     64: PHP_FUNCTION(snmp2_real_walk);
                     65: PHP_FUNCTION(snmp2_set);
                     66: 
                     67: PHP_FUNCTION(snmp3_get);
                     68: PHP_FUNCTION(snmp3_getnext);
                     69: PHP_FUNCTION(snmp3_walk);
                     70: PHP_FUNCTION(snmp3_real_walk);
                     71: PHP_FUNCTION(snmp3_set);
                     72: 
                     73: PHP_FUNCTION(snmp_set_valueretrieval);
                     74: PHP_FUNCTION(snmp_get_valueretrieval);
                     75: 
                     76: PHP_FUNCTION(snmp_read_mib);
                     77: 
1.1.1.2   misho      78: PHP_METHOD(SNMP, setSecurity);
                     79: PHP_METHOD(SNMP, close);
                     80: PHP_METHOD(SNMP, get);
                     81: PHP_METHOD(SNMP, getnext);
                     82: PHP_METHOD(SNMP, walk);
                     83: PHP_METHOD(SNMP, set);
                     84: PHP_METHOD(SNMP, getErrno);
                     85: PHP_METHOD(SNMP, getError);
                     86: 
                     87: typedef struct _php_snmp_object {
                     88:        zend_object zo;
                     89:        struct snmp_session *session;
                     90:        int max_oids;
                     91:        int valueretrieval;
                     92:        int quick_print;
                     93:        int enum_print;
                     94:        int oid_output_format;
                     95:        int snmp_errno;
                     96:        int oid_increasing_check;
                     97:        int exceptions_enabled;
                     98:        char snmp_errstr[256];
                     99: } php_snmp_object;
                    100: 
                    101: 
                    102: typedef int (*php_snmp_read_t)(php_snmp_object *snmp_object, zval **retval TSRMLS_DC);
                    103: typedef int (*php_snmp_write_t)(php_snmp_object *snmp_object, zval *newval TSRMLS_DC);
                    104: 
                    105: typedef struct _ptp_snmp_prop_handler {
                    106:        const char *name;
                    107:        size_t name_length;
                    108:        php_snmp_read_t read_func;
                    109:        php_snmp_write_t write_func;
                    110: } php_snmp_prop_handler;
                    111: 
                    112: typedef struct _snmpobjarg {
                    113:        char *oid;
                    114:        char type;
                    115:        char *value;
                    116:        oid  name[MAX_OID_LEN];
                    117:        size_t name_length;
                    118: } snmpobjarg;
1.1       misho     119: 
                    120: ZEND_BEGIN_MODULE_GLOBALS(snmp)
1.1.1.2   misho     121:        int valueretrieval;
1.1       misho     122: ZEND_END_MODULE_GLOBALS(snmp)
                    123: 
                    124: #ifdef ZTS
                    125: #define SNMP_G(v) TSRMG(snmp_globals_id, zend_snmp_globals *, v)
                    126: #else
                    127: #define SNMP_G(v) (snmp_globals.v)
                    128: #endif
                    129: 
1.1.1.2   misho     130: #define REGISTER_SNMP_CLASS_CONST_LONG(const_name, value) \
                    131:        zend_declare_class_constant_long(php_snmp_ce, const_name, sizeof(const_name)-1, (long)value TSRMLS_CC);
                    132: 
1.1       misho     133: #else
                    134: 
                    135: #define snmp_module_ptr NULL
                    136: 
                    137: #endif /* HAVE_SNMP */
                    138: 
                    139: #define phpext_snmp_ptr snmp_module_ptr
                    140: 
                    141: #endif  /* PHP_SNMP_H */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>