init ems server code
This commit is contained in:
42
plat/snmp/src/include/table.h
Normal file
42
plat/snmp/src/include/table.h
Normal file
@@ -0,0 +1,42 @@
|
||||
#ifndef _SNMP_TABLE_H
|
||||
#define _SNMP_TABLE_H
|
||||
|
||||
#define MAX_COLUMNAR_OF_TABLE 48
|
||||
|
||||
typedef struct table_index {
|
||||
u8 len;
|
||||
u32 oid[32];
|
||||
} table_index;
|
||||
|
||||
/* Get an exist instance from the inclusive one pointed to by address 'instance' */
|
||||
typedef int (*table_get_instance)(u32 *instance);
|
||||
typedef int (*table_get_resp)(u32 column, u32 *instance, u8 *pdata, u8 *vartype);
|
||||
typedef int (*table_set_resp)(u32 column, u32 *instance, u8 *pdata, u16 datalen);
|
||||
|
||||
struct snmp_table_profile {
|
||||
char name[32];
|
||||
table_index index; /* oid of table with entry exclusive */
|
||||
u32 column[MAX_COLUMNAR_OF_TABLE]; /* define all columns of a table, use '0' indicating the end */
|
||||
u8 level; /* level of instance in order to identify a row */
|
||||
table_get_instance get_instance;
|
||||
table_get_resp get_resp;
|
||||
table_set_resp set_resp;
|
||||
};
|
||||
|
||||
struct snmp_register {
|
||||
char name[32];
|
||||
u8 prefix_len; /* Module prefix len */
|
||||
u32 prefix_oid[32]; /* Module prefix oid */
|
||||
u8 num_of_table; /* how many tables being registered, such tables is pointed to by address 'table' */
|
||||
struct snmp_table_profile *table;
|
||||
|
||||
/* In case no table is matched, default callback function is invoked if it is not NULL. Hence,
|
||||
you can implement get/set in much the same way before, i.e. traveling all branches of MIB */
|
||||
getcall default_get_resp;
|
||||
setcall default_set_resp;
|
||||
};
|
||||
|
||||
extern int register_snmp_table(struct snmp_register *reg);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user