| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- /*
- * defaultrouter data access header
- *
- * $Id:$
- */
- #ifndef NETSNMP_ACCESS_DEFAULTROUTER_H
- #define NETSNMP_ACCESS_DEFAULTROUTER_H
- # ifdef __cplusplus
- extern "C" {
- #endif
- /**---------------------------------------------------------------------*/
- /*
- * structure definitions
- */
- #if defined( NETSNMP_ENABLE_IPV6 )
- # define NETSNMP_ACCESS_DEFAULTROUTER_BUF_SIZE 16 /* XXX: 20, for ip6z? */
- #else
- # define NETSNMP_ACCESS_DEFAULTROUTER_BUF_SIZE 4
- #endif
- /*
- * netsnmp_default_route_entry
- */
- typedef struct netsnmp_defaultrouter_s {
- netsnmp_index oid_index; /* MUST BE FIRST!! for container use */
- oid ns_dr_index; /* arbitrary index */
- int flags; /* for net-snmp use */
- /*
- * mib related data
- */
- u_char dr_addresstype; /* ipDefaultRouterAddressType */
- char dr_address[NETSNMP_ACCESS_DEFAULTROUTER_BUF_SIZE]; /* ipDefaultRouterAddress */
- size_t dr_address_len; /* length of ipDefaultRouterAddress */
- oid dr_if_index; /* ipDefaultRouterIfIndex */
- uint32_t dr_lifetime; /* ipDefaultRouterLifetime (0-65535) */
- char dr_preference; /* ipDefaultRouterPreference (-2,-1,0,1) */
- } netsnmp_defaultrouter_entry;
- /**---------------------------------------------------------------------*/
- /*
- * ACCESS function prototypes
- */
- /*
- * container init
- */
- netsnmp_container *
- netsnmp_access_defaultrouter_container_init(u_int flags);
- #define NETSNMP_ACCESS_DEFAULTROUTER_INIT_NOFLAGS 0x0000
- #define NETSNMP_ACCESS_DEFAULTROUTER_INIT_ADDL_IDX_BY_ADDR 0x0001
- /*
- * container load
- */
- netsnmp_container*
- netsnmp_access_defaultrouter_container_load(netsnmp_container* container,
- u_int load_flags);
- #define NETSNMP_ACCESS_DEFAULTROUTER_LOAD_NOFLAGS 0x0000
- #define NETSNMP_ACCESS_DEFAULTROUTER_LOAD_IPV4_ONLY 0x0001
- #define NETSNMP_ACCESS_DEFAULTROUTER_LOAD_IPV6_ONLY 0x0002
- #define NETSNMP_ACCESS_DEFAULTROUTER_LOAD_ADDL_IDX_BY_ADDR 0x0004
- /*
- * container free
- */
- void
- netsnmp_access_defaultrouter_container_free(netsnmp_container *container,
- u_int free_flags);
- #define NETSNMP_ACCESS_DEFAULTROUTER_FREE_NOFLAGS 0x0000
- #define NETSNMP_ACCESS_DEFAULTROUTER_FREE_DONT_CLEAR 0x0001
- #define NETSNMP_ACCESS_DEFAULTROUTER_FREE_KEEP_CONTAINER 0x0002
- /*
- * entry create
- */
- netsnmp_defaultrouter_entry *
- netsnmp_access_defaultrouter_entry_create(void);
- /*
- * entry load
- */
- int
- netsnmp_access_defaultrouter_entry_load(size_t *num_entries,
- netsnmp_defaultrouter_entry **entries);
- /*
- * entry update
- */
- int
- netsnmp_access_defaultrouter_entry_update(netsnmp_defaultrouter_entry *lhs,
- netsnmp_defaultrouter_entry *rhs);
- /*
- * entry free
- */
- void
- netsnmp_access_defaultrouter_entry_free(netsnmp_defaultrouter_entry *entry);
- /**---------------------------------------------------------------------*/
- # ifdef __cplusplus
- }
- #endif
- #endif /* NETSNMP_ACCESS_DEFAULTROUTER_H */
|