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>