| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- /*
- * tcpConn data access header
- *
- * $Id$
- */
- #ifndef NETSNMP_ACCESS_TCPCONN_H
- #define NETSNMP_ACCESS_TCPCONN_H
- /** need def of NETSNMP_ACCESS_IPADDRESS_BUF_SIZE */
- #include <net-snmp/data_access/ipaddress.h>
- # ifdef __cplusplus
- extern "C" {
- #endif
- /**---------------------------------------------------------------------*/
- /*
- * structure definitions
- */
- /*
- * netsnmp_tcpconn_entry
- * - primary tcpconn structure for both ipv4 & ipv6
- */
- typedef struct netsnmp_tcpconn_s {
- netsnmp_index oid_index; /* MUST BE FIRST!! for container use */
- oid arbitrary_index; /* arbitrary index */
- int flags; /* for net-snmp use */
- u_char loc_addr[NETSNMP_ACCESS_IPADDRESS_BUF_SIZE];
- u_char rmt_addr[NETSNMP_ACCESS_IPADDRESS_BUF_SIZE];
- u_char loc_addr_len;/* address len, 4 | 16 */
- u_char rmt_addr_len;/* address len, 4 | 16 */
- u_short loc_port;
- u_short rmt_port;
-
- /*
- * mib related data (considered for
- * netsnmp_access_tcpconn_entry_update)
- */
-
- /*
- * tcpconnState(1)/INTEGER/ASN_INTEGER/long(u_long)//l/A/W/E/r/d/h
- */
- u_int tcpConnState; /* 1-12 */
- u_int pid;
-
- netsnmp_data_list *arch_data; /* arch specific data */
-
- } netsnmp_tcpconn_entry;
- /**---------------------------------------------------------------------*/
- /*
- * ACCESS function prototypes
- */
- /*
- * ifcontainer init
- */
- netsnmp_container * netsnmp_access_tcpconn_container_init(u_int init_flags);
- #define NETSNMP_ACCESS_TCPCONN_INIT_NOFLAGS 0x0000
- /*
- * ifcontainer load and free
- */
- netsnmp_container*
- netsnmp_access_tcpconn_container_load(netsnmp_container* container,
- u_int load_flags);
- #define NETSNMP_ACCESS_TCPCONN_LOAD_NOFLAGS 0x0000
- #define NETSNMP_ACCESS_TCPCONN_LOAD_NOLISTEN 0x0001
- #define NETSNMP_ACCESS_TCPCONN_LOAD_ONLYLISTEN 0x0002
- #define NETSNMP_ACCESS_TCPCONN_LOAD_IPV4_ONLY 0x0004
- void netsnmp_access_tcpconn_container_free(netsnmp_container *container,
- u_int free_flags);
- #define NETSNMP_ACCESS_TCPCONN_FREE_NOFLAGS 0x0000
- #define NETSNMP_ACCESS_TCPCONN_FREE_DONT_CLEAR 0x0001
- #define NETSNMP_ACCESS_TCPCONN_FREE_KEEP_CONTAINER 0x0002
- /*
- * create/free a tcpconn entry
- */
- netsnmp_tcpconn_entry *
- netsnmp_access_tcpconn_entry_create(void);
- void netsnmp_access_tcpconn_entry_free(netsnmp_tcpconn_entry * entry);
- /*
- * update/compare
- */
- int
- netsnmp_access_tcpconn_entry_update(netsnmp_tcpconn_entry *old,
- netsnmp_tcpconn_entry *new_val);
- /*
- * find entry in container
- */
- /** not yet */
- /*
- * create/change/delete
- */
- int
- netsnmp_access_tcpconn_entry_set(netsnmp_tcpconn_entry * entry);
- /*
- * tcpconn flags
- * upper bits for internal use
- * lower bits indicate changed fields. see FLAG_TCPCONN* definitions in
- * tcpConnTable_constants.h
- */
- #define NETSNMP_ACCESS_TCPCONN_CREATE 0x80000000
- #define NETSNMP_ACCESS_TCPCONN_DELETE 0x40000000
- #define NETSNMP_ACCESS_TCPCONN_CHANGE 0x20000000
- /**---------------------------------------------------------------------*/
- # ifdef __cplusplus
- }
- #endif
- #endif /* NETSNMP_ACCESS_TCPCONN_H */
|