Server IP : 172.67.216.182 / Your IP : 172.69.176.124 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /www/server/php/82/src/ext/snmp/ |
Upload File : |
/* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | https://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | [email protected] so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Rasmus Lerdorf <[email protected]> | | Mike Jackson <[email protected]> | | Steven Lawrance <[email protected]> | | Harrie Hazewinkel <[email protected]> | | Johann Hanne <[email protected]> | | Boris Lytockin <[email protected]> | +----------------------------------------------------------------------+ */ #ifndef PHP_SNMP_H #define PHP_SNMP_H #define PHP_SNMP_VERSION PHP_VERSION #ifdef HAVE_SNMP #ifndef DLEXPORT #define DLEXPORT #endif extern zend_module_entry snmp_module_entry; #define snmp_module_ptr &snmp_module_entry #ifdef ZTS #include "TSRM.h" #endif #include <net-snmp/net-snmp-config.h> #include <net-snmp/net-snmp-includes.h> PHP_MINIT_FUNCTION(snmp); PHP_MSHUTDOWN_FUNCTION(snmp); PHP_MINFO_FUNCTION(snmp); typedef struct _php_snmp_object { struct snmp_session *session; int max_oids; int valueretrieval; int quick_print; int enum_print; int oid_output_format; int snmp_errno; int oid_increasing_check; int exceptions_enabled; char snmp_errstr[256]; zend_object zo; } php_snmp_object; static inline php_snmp_object *php_snmp_fetch_object(zend_object *obj) { return (php_snmp_object *)((char*)(obj) - XtOffsetOf(php_snmp_object, zo)); } #define Z_SNMP_P(zv) php_snmp_fetch_object(Z_OBJ_P((zv))) typedef int (*php_snmp_read_t)(php_snmp_object *snmp_object, zval *retval); typedef int (*php_snmp_write_t)(php_snmp_object *snmp_object, zval *newval); typedef struct _ptp_snmp_prop_handler { const char *name; size_t name_length; php_snmp_read_t read_func; php_snmp_write_t write_func; } php_snmp_prop_handler; typedef struct _snmpobjarg { char *oid; char type; char *value; oid name[MAX_OID_LEN]; size_t name_length; } snmpobjarg; ZEND_BEGIN_MODULE_GLOBALS(snmp) int valueretrieval; ZEND_END_MODULE_GLOBALS(snmp) #ifdef ZTS #define SNMP_G(v) TSRMG(snmp_globals_id, zend_snmp_globals *, v) #else #define SNMP_G(v) (snmp_globals.v) #endif #define SNMP_VALUE_LIBRARY (0 << 0) #define SNMP_VALUE_PLAIN (1 << 0) #define SNMP_VALUE_OBJECT (1 << 1) #define PHP_SNMP_ERRNO_NOERROR 0 #define PHP_SNMP_ERRNO_GENERIC (1 << 1) #define PHP_SNMP_ERRNO_TIMEOUT (1 << 2) #define PHP_SNMP_ERRNO_ERROR_IN_REPLY (1 << 3) #define PHP_SNMP_ERRNO_OID_NOT_INCREASING (1 << 4) #define PHP_SNMP_ERRNO_OID_PARSING_ERROR (1 << 5) #define PHP_SNMP_ERRNO_MULTIPLE_SET_QUERIES (1 << 6) #define PHP_SNMP_ERRNO_ANY ( \ PHP_SNMP_ERRNO_GENERIC | \ PHP_SNMP_ERRNO_TIMEOUT | \ PHP_SNMP_ERRNO_ERROR_IN_REPLY | \ PHP_SNMP_ERRNO_OID_NOT_INCREASING | \ PHP_SNMP_ERRNO_OID_PARSING_ERROR | \ PHP_SNMP_ERRNO_MULTIPLE_SET_QUERIES | \ PHP_SNMP_ERRNO_NOERROR \ ) #else #define snmp_module_ptr NULL #endif /* HAVE_SNMP */ #define phpext_snmp_ptr snmp_module_ptr #endif /* PHP_SNMP_H */