📄 xgcpmgcqualitytable.c
字号:
/* minimal include directives */#include "xgcpMGCQualityTable.h"/* * xgcpMGCQualityTable_variables_oid: * this is the top level oid that we want to register under. This * is essentially a prefix, with the suffix appearing in the * variable below. */oid xgcpMGCQualityTable_variables_oid[] = { 1,3,6,1,4,1,5738,3,90,1,4 };/* * variable2 xgcpMGCQualityTable_variables: * this variable defines function callbacks and type return information * for the xgcpMGCQualityTable mib section */struct variable2 xgcpMGCQualityTable_variables[] = {/* magic number , variable type , ro/rw , callback fn , L, oidsuffix */#define xgcpLowerBoundForPacketLoss 3 { xgcpLowerBoundForPacketLoss, ASN_INTEGER , RWRITE, var_xgcpMGCQualityTable, 1, { 2 } },#define xgcpHigherBoundForPacketLoss 4 { xgcpHigherBoundForPacketLoss, ASN_INTEGER , RWRITE, var_xgcpMGCQualityTable, 1, { 3 } },#define xgcpLowerBoundForJitter 5 { xgcpLowerBoundForJitter, ASN_INTEGER , RWRITE, var_xgcpMGCQualityTable, 1, { 4 } },#define xgcpHigherBoundForJitter 6 { xgcpHigherBoundForJitter, ASN_INTEGER , RWRITE, var_xgcpMGCQualityTable, 1, { 5 } },#define xgcpLowerBoundForLatency 7 { xgcpLowerBoundForLatency, ASN_INTEGER , RWRITE, var_xgcpMGCQualityTable, 1, { 6 } },#define xgcpHigherBoundForLatency 8 { xgcpHigherBoundForLatency, ASN_INTEGER , RWRITE, var_xgcpMGCQualityTable, 1, { 7 } },};/* (L = length of the oidsuffix) *//* * init_xgcpMGCQualityTable(): * Initialization routine. This is called when the agent starts up. * At a minimum, registration of your variables should take place here. */void init_xgcpMGCQualityTable(void) { /* register ourselves with the agent to handle our mib tree */ REGISTER_MIB("xgcpMGCQualityTable", xgcpMGCQualityTable_variables, variable2, xgcpMGCQualityTable_variables_oid); /* place any other initialization junk you need here */}/* * var_xgcpMGCQualityTable(): * This function is called every time the agent gets a request for * a scalar variable that might be found within your mib section * registered above. It is up to you to do the right thing and * return the correct value. * You should also correct the value of "var_len" if necessary. * * Please see the documentation for more information about writing * module extensions, and check out the examples in the examples * and mibII directories. */unsigned char *var_xgcpMGCQualityTable(struct variable *vp, oid *name, size_t *length, int exact, size_t *var_len, WriteMethod **write_method){ /* variables we may use later */ static long long_ret; static unsigned char string[SPRINT_MAX_LEN]; static oid objid[MAX_OID_LEN]; static struct counter64 c64; if (header_generic(vp,name,length,exact,var_len,write_method) == MATCH_FAILED ) return NULL; /* * this is where we do the value assignments for the mib results. */ switch(vp->magic) { case xgcpLowerBoundForPacketLoss: *write_method = write_xgcpLowerBoundForPacketLoss; long_ret = 0; return (unsigned char *) &long_ret; case xgcpHigherBoundForPacketLoss: *write_method = write_xgcpHigherBoundForPacketLoss; long_ret = 0; return (unsigned char *) &long_ret; case xgcpLowerBoundForJitter: *write_method = write_xgcpLowerBoundForJitter; long_ret = 0; return (unsigned char *) &long_ret; case xgcpHigherBoundForJitter: *write_method = write_xgcpHigherBoundForJitter; long_ret = 0; return (unsigned char *) &long_ret; case xgcpLowerBoundForLatency: *write_method = write_xgcpLowerBoundForLatency; long_ret = 0; return (unsigned char *) &long_ret; case xgcpHigherBoundForLatency: *write_method = write_xgcpHigherBoundForLatency; long_ret = 0; return (unsigned char *) &long_ret; default: ERROR_MSG(""); } return NULL;}intwrite_xgcpLowerBoundForPacketLoss(int action, u_char *var_val, u_char var_val_type, size_t var_val_len, u_char *statP, oid *name, size_t name_len){ static long *long_ret; int size; switch ( action ) { case RESERVE1: if (var_val_type != ASN_INTEGER){ fprintf(stderr, "write to xgcpLowerBoundForPacketLoss not ASN_INTEGER\n"); return SNMP_ERR_WRONGTYPE; } if (var_val_len > sizeof(long_ret)){ fprintf(stderr,"write to xgcpLowerBoundForPacketLoss: bad length\n"); return SNMP_ERR_WRONGLENGTH; } break; case RESERVE2: size = var_val_len; long_ret = (long *) var_val; break; case FREE: /* Release any resources that have been allocated */ break; case ACTION: /* The variable has been stored in long_ret for you to use, and you have just been asked to do something with it. Note that anything done here must be reversable in the UNDO case */ break; case UNDO: /* Back out any changes made in the ACTION case */ break; case COMMIT: /* Things are working well, so it's now safe to make the change permanently. Make sure that anything done here can't fail! */ break; } return SNMP_ERR_NOERROR;}intwrite_xgcpHigherBoundForPacketLoss(int action, u_char *var_val, u_char var_val_type, size_t var_val_len, u_char *statP, oid *name, size_t name_len){ static long *long_ret; int size; switch ( action ) { case RESERVE1: if (var_val_type != ASN_INTEGER){ fprintf(stderr, "write to xgcpHigherBoundForPacketLoss not ASN_INTEGER\n"); return SNMP_ERR_WRONGTYPE; } if (var_val_len > sizeof(long_ret)){ fprintf(stderr,"write to xgcpHigherBoundForPacketLoss: bad length\n"); return SNMP_ERR_WRONGLENGTH; } break; case RESERVE2: size = var_val_len; long_ret = (long *) var_val; break; case FREE: /* Release any resources that have been allocated */ break; case ACTION: /* The variable has been stored in long_ret for you to use, and you have just been asked to do something with it. Note that anything done here must be reversable in the UNDO case */ break; case UNDO: /* Back out any changes made in the ACTION case */ break; case COMMIT: /* Things are working well, so it's now safe to make the change permanently. Make sure that anything done here can't fail! */ break; } return SNMP_ERR_NOERROR;}intwrite_xgcpLowerBoundForJitter(int action, u_char *var_val, u_char var_val_type, size_t var_val_len, u_char *statP, oid *name, size_t name_len){ static long *long_ret; int size; switch ( action ) { case RESERVE1: if (var_val_type != ASN_INTEGER){ fprintf(stderr, "write to xgcpLowerBoundForJitter not ASN_INTEGER\n"); return SNMP_ERR_WRONGTYPE; } if (var_val_len > sizeof(long_ret)){ fprintf(stderr,"write to xgcpLowerBoundForJitter: bad length\n"); return SNMP_ERR_WRONGLENGTH; } break; case RESERVE2: size = var_val_len; long_ret = (long *) var_val; break; case FREE: /* Release any resources that have been allocated */ break; case ACTION: /* The variable has been stored in long_ret for you to use, and you have just been asked to do something with it. Note that anything done here must be reversable in the UNDO case */ break; case UNDO: /* Back out any changes made in the ACTION case */ break; case COMMIT: /* Things are working well, so it's now safe to make the change permanently. Make sure that anything done here can't fail! */ break; } return SNMP_ERR_NOERROR;}intwrite_xgcpHigherBoundForJitter(int action, u_char *var_val, u_char var_val_type, size_t var_val_len, u_char *statP, oid *name, size_t name_len){ static long *long_ret; int size; switch ( action ) { case RESERVE1: if (var_val_type != ASN_INTEGER){ fprintf(stderr, "write to xgcpHigherBoundForJitter not ASN_INTEGER\n"); return SNMP_ERR_WRONGTYPE; } if (var_val_len > sizeof(long_ret)){ fprintf(stderr,"write to xgcpHigherBoundForJitter: bad length\n"); return SNMP_ERR_WRONGLENGTH; } break; case RESERVE2: size = var_val_len; long_ret = (long *) var_val; break; case FREE: /* Release any resources that have been allocated */ break; case ACTION: /* The variable has been stored in long_ret for you to use, and you have just been asked to do something with it. Note that anything done here must be reversable in the UNDO case */ break; case UNDO: /* Back out any changes made in the ACTION case */ break; case COMMIT: /* Things are working well, so it's now safe to make the change permanently. Make sure that anything done here can't fail! */ break; } return SNMP_ERR_NOERROR;}intwrite_xgcpLowerBoundForLatency(int action, u_char *var_val, u_char var_val_type, size_t var_val_len, u_char *statP, oid *name, size_t name_len){ static long *long_ret; int size; switch ( action ) { case RESERVE1: if (var_val_type != ASN_INTEGER){ fprintf(stderr, "write to xgcpLowerBoundForLatency not ASN_INTEGER\n"); return SNMP_ERR_WRONGTYPE; } if (var_val_len > sizeof(long_ret)){ fprintf(stderr,"write to xgcpLowerBoundForLatency: bad length\n"); return SNMP_ERR_WRONGLENGTH; } break; case RESERVE2: size = var_val_len; long_ret = (long *) var_val; break; case FREE: /* Release any resources that have been allocated */ break; case ACTION: /* The variable has been stored in long_ret for you to use, and you have just been asked to do something with it. Note that anything done here must be reversable in the UNDO case */ break; case UNDO: /* Back out any changes made in the ACTION case */ break; case COMMIT: /* Things are working well, so it's now safe to make the change permanently. Make sure that anything done here can't fail! */ break; } return SNMP_ERR_NOERROR;}intwrite_xgcpHigherBoundForLatency(int action, u_char *var_val, u_char var_val_type, size_t var_val_len, u_char *statP, oid *name, size_t name_len){ static long *long_ret; int size; switch ( action ) { case RESERVE1: if (var_val_type != ASN_INTEGER){ fprintf(stderr, "write to xgcpHigherBoundForLatency not ASN_INTEGER\n"); return SNMP_ERR_WRONGTYPE; } if (var_val_len > sizeof(long_ret)){ fprintf(stderr,"write to xgcpHigherBoundForLatency: bad length\n"); return SNMP_ERR_WRONGLENGTH; } break; case RESERVE2: size = var_val_len; long_ret = (long *) var_val; break; case FREE: /* Release any resources that have been allocated */ break; case ACTION: /* The variable has been stored in long_ret for you to use, and you have just been asked to do something with it. Note that anything done here must be reversable in the UNDO case */ break; case UNDO: /* Back out any changes made in the ACTION case */ break; case COMMIT: /* Things are working well, so it's now safe to make the change permanently. Make sure that anything done here can't fail! */ break; } return SNMP_ERR_NOERROR;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -