summaryrefslogtreecommitdiff
path: root/accel-pppd/extra/net-snmp/sessionTable.h
diff options
context:
space:
mode:
authorKozlov Dmitry <dima@server>2011-08-19 14:04:55 +0400
committerKozlov Dmitry <dima@server>2011-08-19 14:04:55 +0400
commit5ef49162ea9763ca9878c22e3736766d8f1db014 (patch)
treef58da9adfc87ece6c608265fc694e66bd5db162c /accel-pppd/extra/net-snmp/sessionTable.h
parentfd52e4578dcc7de2301480fece9395563d643045 (diff)
downloadaccel-ppp-xebd-5ef49162ea9763ca9878c22e3736766d8f1db014.tar.gz
accel-ppp-xebd-5ef49162ea9763ca9878c22e3736766d8f1db014.zip
snmp support
Diffstat (limited to 'accel-pppd/extra/net-snmp/sessionTable.h')
-rw-r--r--accel-pppd/extra/net-snmp/sessionTable.h195
1 files changed, 195 insertions, 0 deletions
diff --git a/accel-pppd/extra/net-snmp/sessionTable.h b/accel-pppd/extra/net-snmp/sessionTable.h
new file mode 100644
index 0000000..f5619d9
--- /dev/null
+++ b/accel-pppd/extra/net-snmp/sessionTable.h
@@ -0,0 +1,195 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * version : 14170 $ of $
+ *
+ * $Id:$
+ */
+#ifndef SESSIONTABLE_H
+#define SESSIONTABLE_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/** @addtogroup misc misc: Miscellaneous routines
+ *
+ * @{
+ */
+#include <net-snmp/library/asn1.h>
+
+#include "ppp.h"
+
+/* other required module components */
+ /* *INDENT-OFF* */
+config_add_mib(ACCEL-PPP-MIB)
+config_require(ACCEL-PPP-MIB/sessionTable/sessionTable_interface)
+config_require(ACCEL-PPP-MIB/sessionTable/sessionTable_data_access)
+config_require(ACCEL-PPP-MIB/sessionTable/sessionTable_data_get)
+config_require(ACCEL-PPP-MIB/sessionTable/sessionTable_data_set)
+ /* *INDENT-ON* */
+
+/* OID and column number definitions for sessionTable */
+#include "sessionTable_oids.h"
+
+/* enum definions */
+#include "sessionTable_enums.h"
+
+/* *********************************************************************
+ * function declarations
+ */
+void init_sessionTable(void);
+void shutdown_sessionTable(void);
+
+/* *********************************************************************
+ * Table declarations
+ */
+/**********************************************************************
+ **********************************************************************
+ ***
+ *** Table sessionTable
+ ***
+ **********************************************************************
+ **********************************************************************/
+/*
+ * ACCEL-PPP-MIB::sessionTable is subid 1 of accelPPPSessions.
+ * Its status is Current.
+ * OID: .1.3.6.1.4.1.8072.100.2.1, length: 10
+*/
+/* *********************************************************************
+ * When you register your mib, you get to provide a generic
+ * pointer that will be passed back to you for most of the
+ * functions calls.
+ *
+ * TODO:100:r: Review all context structures
+ */
+ /*
+ * TODO:101:o: |-> Review sessionTable registration context.
+ */
+typedef netsnmp_data_list sessionTable_registration;
+
+/**********************************************************************/
+/*
+ * TODO:110:r: |-> Review sessionTable data context structure.
+ * This structure is used to represent the data for sessionTable.
+ */
+struct sessionTable_data_s
+{
+ char ifname[PPP_IFNAME_LEN];
+ char *username;
+ in_addr_t peer_addr;
+ int type;
+ int state;
+ unsigned long uptime;
+ char *calling_sid;
+ char *called_sid;
+};
+typedef struct sessionTable_data_s sessionTable_data;
+
+
+/*
+ * TODO:120:r: |-> Review sessionTable mib index.
+ * This structure is used to represent the index for sessionTable.
+ */
+typedef struct sessionTable_mib_index_s {
+
+ /*
+ * sesSID(1)/OCTETSTR/ASN_OCTET_STR/char(char)//L/A/w/e/R/d/h
+ */
+ char sesSID[PPP_SESSIONID_LEN];
+ size_t sesSID_len;
+
+
+} sessionTable_mib_index;
+
+ /*
+ * TODO:121:r: | |-> Review sessionTable max index length.
+ * If you KNOW that your indexes will never exceed a certain
+ * length, update this macro to that length.
+ *
+ * BE VERY CAREFUL TO TAKE INTO ACCOUNT THE MAXIMUM
+ * POSSIBLE LENGHT FOR EVERY VARIABLE LENGTH INDEX!
+ * Guessing 128 - col/entry(2) - oid len(10)
+*/
+#define MAX_sessionTable_IDX_LEN PPP_SESSIONID_LEN + 1
+
+
+/* *********************************************************************
+ * TODO:130:o: |-> Review sessionTable Row request (rowreq) context.
+ * When your functions are called, you will be passed a
+ * sessionTable_rowreq_ctx pointer.
+ */
+typedef struct sessionTable_rowreq_ctx_s {
+
+ /** this must be first for container compare to work */
+ netsnmp_index oid_idx;
+ oid oid_tmp[MAX_sessionTable_IDX_LEN];
+
+ sessionTable_mib_index tbl_idx;
+
+ sessionTable_data * data;
+
+ /*
+ * flags per row. Currently, the first (lower) 8 bits are reserved
+ * for the user. See mfd.h for other flags.
+ */
+ u_int rowreq_flags;
+
+ /*
+ * TODO:131:o: | |-> Add useful data to sessionTable rowreq context.
+ */
+
+ /*
+ * storage for future expansion
+ */
+ netsnmp_data_list *sessionTable_data_list;
+
+} sessionTable_rowreq_ctx;
+
+typedef struct sessionTable_ref_rowreq_ctx_s {
+ sessionTable_rowreq_ctx *rowreq_ctx;
+} sessionTable_ref_rowreq_ctx;
+
+/* *********************************************************************
+ * function prototypes
+ */
+ int sessionTable_pre_request(sessionTable_registration * user_context);
+ int sessionTable_post_request(sessionTable_registration * user_context,
+ int rc);
+
+ int sessionTable_rowreq_ctx_init(sessionTable_rowreq_ctx *rowreq_ctx,
+ void *user_init_ctx);
+ void sessionTable_rowreq_ctx_cleanup(sessionTable_rowreq_ctx *rowreq_ctx);
+
+ sessionTable_data * sessionTable_allocate_data(void);
+ void sessionTable_release_data(sessionTable_data *data);
+
+
+ sessionTable_rowreq_ctx *
+ sessionTable_row_find_by_mib_index(sessionTable_mib_index *mib_idx);
+
+extern oid sessionTable_oid[];
+extern int sessionTable_oid_size;
+
+
+#include "sessionTable_interface.h"
+#include "sessionTable_data_access.h"
+#include "sessionTable_data_get.h"
+#include "sessionTable_data_set.h"
+
+/*
+ * DUMMY markers, ignore
+ *
+ * TODO:099:x: *************************************************************
+ * TODO:199:x: *************************************************************
+ * TODO:299:x: *************************************************************
+ * TODO:399:x: *************************************************************
+ * TODO:499:x: *************************************************************
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* SESSIONTABLE_H */
+/** @} */