#ifndef SCTP_SCALARS_COMMON_H #define SCTP_SCALARS_COMMON_H /* * Define OIDs */ #define SCTP_CURRESTAB 1 #define SCTP_ACTIVEESTABS 2 #define SCTP_PASSIVEESTABS 3 #define SCTP_ABORTEDS 4 #define SCTP_SHUTDOWNS 5 #define SCTP_OUTOFBLUES 6 #define SCTP_CHECKSUMERRORS 7 #define SCTP_OUTCTRLCHUNKS 8 #define SCTP_OUTORDERCHUNKS 9 #define SCTP_OUTUNORDERCHUNKS 10 #define SCTP_INCTRLCHUNKS 11 #define SCTP_INORDERCHUNKS 12 #define SCTP_INUNORDERCHUNKS 13 #define SCTP_FRAGUSRMSGS 14 #define SCTP_REASMUSRMSGS 15 #define SCTP_OUTSCTPPACKS 16 #define SCTP_INSCTPPACKS 17 #define SCTP_DISCONTINUITYTIME 18 #define SCTP_RTOALGORITHM 1 #define SCTP_RTOMIN 2 #define SCTP_RTOMAX 3 #define SCTP_RTOINITIAL 4 #define SCTP_MAXASSOCS 5 #define SCTP_VALCOOKIELIFE 6 #define SCTP_MAXINITRETR 7 /* * Define cache timeouts */ #define SCTP_STATS_CACHE_TIMEOUT 30 #define SCTP_PARAMS_CACHE_TIMEOUT 30 /* * Structure to hold sctpStats */ typedef struct netsnmp_sctp_stats_s { u_int curr_estab; u_int active_estabs; u_int passive_estabs; u_int aborteds; u_int shutdowns; u_int out_of_blues; u_int checksum_errors; struct counter64 out_ctrl_chunks; struct counter64 out_order_chunks; struct counter64 out_unorder_chunks; struct counter64 in_ctrl_chunks; struct counter64 in_order_chunks; struct counter64 in_unorder_chunks; struct counter64 frag_usr_msgs; struct counter64 reasm_usr_msgs; struct counter64 out_sctp_packs; struct counter64 in_sctp_packs; u_long discontinuity_time; } netsnmp_sctp_stats; /* * Enums for sctpParams */ #define NETSNMP_SCTP_ALGORITHM_OTHER 1 #define NETSNMP_SCTP_ALGORITHM_VANJ 2 /* * Structure to hold sctpParams */ typedef struct netsnmp_sctp_params_s { u_int rto_algorithm; u_int rto_min; u_int rto_max; u_int rto_initial; int max_assocs; u_int val_cookie_life; u_int max_init_retr; } netsnmp_sctp_params; /* * sctpStats cached values. * Will be used to reconstruct 64-bit counters when the underlying platform * provides only 32-bit ones. */ extern netsnmp_sctp_stats sctp_stats; /* * sctpParams cached values. */ extern netsnmp_sctp_params sctp_params; Netsnmp_Node_Handler sctp_stats_handler; Netsnmp_Node_Handler sctp_params_handler; /* * function declarations */ /* * ======================================================= * Platform independent functions. * Mostly just wrappers around the platform dependent ones. * ======================================================= */ extern void netsnmp_access_sctp_stats_init(void); extern NetsnmpCacheLoad netsnmp_access_sctp_stats_load; extern NetsnmpCacheFree netsnmp_access_sctp_stats_free; extern void netsnmp_access_sctp_params_init(void); extern NetsnmpCacheLoad netsnmp_access_sctp_params_load; extern NetsnmpCacheFree netsnmp_access_sctp_params_free; /* * ======================================================= * Platform dependent functions. * These do the real work. * ======================================================= */ /* * Initialize patform dependent part of sctpStats. */ extern void netsnmp_access_sctp_stats_arch_init(void); /* * Load the sctpStats from underlying platform. The caller will reconstruct * 64-bit counters if the platform provided 32-bit ones only. */ extern int netsnmp_access_sctp_stats_arch_load(netsnmp_sctp_stats * sctp_stats); /* * Initialize patform dependent part of sctpParams. */ extern void netsnmp_access_sctp_params_arch_init(void); /* * Load the sctpParams. */ extern int netsnmp_access_sctp_params_arch_load(netsnmp_sctp_params * sctp_params); #endif /* SCTP_SCALARS_COMMON_H */