⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 types.h

📁 开发snmp的开发包有两个开放的SNMP开发库
💻 H
字号:
#ifndef NET_SNMP_TYPES_H#define NET_SNMP_TYPES_H    /**     *  Definitions of data structures, used within the library API.     */#include <stdio.h>#ifndef NET_SNMP_CONFIG_H#error "Please include <net-snmp/net-snmp-config.h> before this file"#endif                        /*                         * For 'timeval'                          */#if TIME_WITH_SYS_TIME# ifdef WIN32#  include <sys/timeb.h># else#  include <sys/time.h># endif# include <time.h>#else# if HAVE_SYS_TIME_H#  include <sys/time.h># else#  include <time.h># endif#endif#ifdef HAVE_INTTYPES_H#include <inttypes.h>#endif#include <sys/types.h>#ifdef HAVE_WINSOCK_H#include <winsock.h>#endif#if HAVE_NETINET_IN_H#include <netinet/in.h>		/* For definition of in_addr_t */#endif#ifdef __cplusplusextern "C" {#endif#ifndef MAX_SUBID               /* temporary - duplicate definition protection */#ifndef EIGHTBIT_SUBIDStypedef u_long  oid;#define MAX_SUBID   0xFFFFFFFF#elsetypedef u_char  oid;#define MAX_SUBID   0xFF#endif#endif#ifndef HAVE_SOCKLEN_Ttypedef u_int socklen_t;#endif#ifndef HAVE_IN_ADDR_Ttypedef u_int in_addr_t;#endif#ifndef HAVE_SSIZE_T#if defined(__INT_MAX__) && __INT_MAX__ == 2147483647typedef int ssize_t;#elsetypedef long ssize_t;#endif#endif    /*     * Try to ensure we have 32-bit (and hopefully 64-bit)     *    integer types available.     */#ifndef HAVE_INT8_Ttypedef signed char int8_t;#endif /* !HAVE_INT8_T */#ifndef HAVE_UINT8_T#ifdef HAVE_U_INT8_Ttypedef u_int8_t      uint8_t;#elsetypedef unsigned char uint8_t;#endif#endif /* !HAVE_UINT8_T */#ifndef HAVE_INT16_T#if   SIZEOF_INT == 2#define INT16_T int#elif SIZEOF_SHORT == 2#define INT16_T short#else#define _INT16_IS_NOT_16BIT#define INT16_T short#endiftypedef INT16_T int16_t;#endif /* !HAVE_INT16_T */#ifndef HAVE_UINT16_T#ifdef HAVE_U_INT16_Ttypedef u_int16_t        uint16_t;#else#ifdef INT16_Ttypedef unsigned INT16_T uint16_t;#elsetypedef unsigned short   uint16_t;#endif#endif#endif /* !HAVE_UINT16_T */#ifndef HAVE_INT32_T#if   SIZEOF_INT == 4#define INT32_T int #elif SIZEOF_LONG == 4#define INT32_T long #elif SIZEOF_SHORT == 4#define INT32_T short #else#define _INT32_IS_NOT_32BIT#define INT32_T int #endiftypedef INT32_T int32_t;#endif /* !HAVE_INT32_T */#ifndef HAVE_UINT32_T#ifdef HAVE_U_INT32_Ttypedef u_int32_t        uint32_t;#else#ifdef INT32_Ttypedef unsigned INT32_T uint32_t;#elsetypedef unsigned int     uint32_t;#endif#endif#endif /* !HAVE_UINT32_T */#ifndef HAVE_INT64_T#if SIZEOF_LONG == 8#define INT64_T long #elif SIZEOF_LONG_LONG == 8#define INT64_T long long#elif   SIZEOF_INT == 8#define INT64_T int #elif SIZEOF_LONG >= 8#define INT64_T long #define _INT64_IS_NOT_64BIT#endif#ifdef INT64_Ttypedef INT64_T int64_t;#define HAVE_INT64_T 1#endif#endif /* !HAVE_INT64_T */#ifndef HAVE_UINT64_T#ifdef HAVE_U_INT64_Ttypedef u_int64_t        uint64_t;#elif defined(INT64_T)typedef unsigned INT64_T uint64_t;#endif#define HAVE_UINT64_T 1#endif#ifndef HAVE_INTMAX_T#ifdef SIZEOF_LONG_LONGtypedef long long intmax_t;#define SIZEOF_INTMAX_T SIZEOF_LONG_LONG#elif defined(HAVE_INT64_T) && !defined(_INT64_IS_NOT_64BIT)typedef int64_t   intmax_t;#define SIZEOF_INTMAX_T 8#elsetypedef long      intmax_t;#define SIZEOF_INTMAX_T SIZEOF_LONG#endif#define HAVE_INTMAX_T 1#endif#ifndef HAVE_UINTMAX_T#ifdef SIZEOF_LONG_LONGtypedef unsigned long long uintmax_t;#elif defined(HAVE_UINT64_T) && !defined(_INT64_IS_NOT_64BIT)typedef uint64_t           uintmax_t;#elsetypedef unsigned long      uintmax_t;#endif#define HAVE_UINTMAX_T 1#endif#ifndef HAVE_UINTPTR_T#if SIZEOF_LONG == 8/* likely 64bit machine with 64bit addressing? */    typedef unsigned long uintptr_t;#else    typedef unsigned uintptr_t;#endif#endif#ifndef HAVE_INTPTR_T#if SIZEOF_LONG == 8/* likely 64bit machine with 64bit addressing? */    typedef long intptr_t;#else    typedef int intptr_t;#endif#endif        /*     *  For the initial release, this will just refer to the     *  relevant UCD header files.     *    In due course, the types and structures relevant to the     *  Net-SNMP API will be identified, and defined here directly.     *     *  But for the time being, this header file is primarily a placeholder,     *  to allow application writers to adopt the new header file names.     */#include <net-snmp/definitions.h>#include <net-snmp/library/snmp_api.h>/* * #include <net-snmp/library/libsnmp.h>  */    typedef struct netsnmp_index_s {       size_t      len;       oid         *oids;    } netsnmp_index;    typedef struct netsnmp_void_array_s {       size_t  size;       void * *array;    } netsnmp_void_array;    /*     * references to various types     */    typedef struct netsnmp_ref_void {       void * val;    } netsnmp_ref_void;    typedef union {        u_long  ul;        u_int   ui;        u_short us;        u_char  uc;        long    sl;        int     si;        short   ss;        char    sc;        char *  cp;        void *  vp;    } netsnmp_cvalue;#if 0    typedef struct netsnmp_ref_u_char {       u_char * val;    } netsnmp_ref_U_char;    typedef struct netsnmp_ref_char {       char * val;    } netsnmp_ref_void;    typedef struct netsnmp_ref_int_s {       int val;    } netsnmp_ref_int;    typedef struct netsnmp_ref_u_int_s {       u_int val;    } netsnmp_ref_int;    typedef struct netsnmp_ref_u_long_s {       u_long val;    } netsnmp_ref_u_long;#endif    typedef struct netsnmp_ref_size_t_s {       size_t val;    } * netsnmp_ref_size_t;#ifdef __cplusplus}#endif#endif                          /* NET_SNMP_TYPES_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -