⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xgcpmgcqualitytable.c

📁 非常不错的网管开发包
💻 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 + -