int write_HeartbeatPeriod(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) { long value; int size; char strTemp[64]; char string[128]; switch ( action ) { case RESERVE1: if (var_val_type != ASN_INTEGER) { fprintf(stderr, "write to apGeneralInfo not ASN_INTEGER\n"); return SNMP_ERR_WRONGTYPE; } if (var_val_len > sizeof(long)) { fprintf(stderr,"write to apGeneralInfo: bad length\n"); return SNMP_ERR_WRONGLENGTH; } break; case RESERVE2: // size = var_val_len; // value = * (long *) var_val; break; case FREE: /* Release any resources that have been allocated */ break; case ACTION: memset(strTemp,0,64); memset(string,0,128); sprintf( strTemp, "%d",*(long *) var_val); save_global_conf(SEP_EQUAL,SNMP_AGENT_CONF,"","HEART_BEAT_PERIOD",strTemp); sprintf(string,"%s%s","/usr/sbin/set_crontab /usr/sbin/pertrap m",strTemp); printf("string:%s\n",string); system(string); 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; }
int write_CPUusageThreshhd(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) { long value; int size; char strTemp[64]; switch ( action ) { case RESERVE1: if (var_val_type != ASN_INTEGER) { fprintf(stderr, "write to apGeneralInfo not ASN_INTEGER\n"); return SNMP_ERR_WRONGTYPE; } if (var_val_len > sizeof(long)) { fprintf(stderr,"write to apGeneralInfo: bad length\n"); return SNMP_ERR_WRONGLENGTH; } break; case RESERVE2: break; case FREE: /* Release any resources that have been allocated */ break; case ACTION: memset(strTemp,0,64); sprintf( strTemp, "%d",*((long *) var_val)); save_global_conf(SEP_EQUAL,SNMP_AGENT_CONF,"","CPU_USAGE_THRESHHD",strTemp); 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; }
/*保存证书状态*/ int save_cert_status(char *fileconfig, char *cert_flag) { int res = 0; res = !save_global_conf(SEP_EQUAL,fileconfig,"", "CERT_STATUS",cert_flag); if(res != 0) { DPrintf("open file %s error\n", fileconfig); } return res; }
int write_setPingIPv6addr(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) { u_long value; char strBuf[128]; switch ( action ) { case RESERVE1: if (var_val_type != ASN_OCTET_STR) { fprintf(stderr, "write to apGeneralInfo not ASN_OCTET_STR\n"); return SNMP_ERR_WRONGTYPE; } if (var_val_len > 128*sizeof(char)) { fprintf(stderr,"write to apGeneralInfo: bad length\n"); return SNMP_ERR_WRONGLENGTH; } break; case RESERVE2: break; case FREE: /* Release any resources that have been allocated */ break; case ACTION: memset(strBuf,0,128); // sprintf(strBuf,"%d.%d.%d.%d",var_val[0],var_val[1],var_val[2],var_val[3]); memcpy(strBuf,var_val,var_val_len); save_global_conf(SEP_EQUAL,SNMP_AGENT_CONF,"","PING_IPv6_ADDR",strBuf); 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; }
int write_wapiNeighborhoodApMacList(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) { char temp[20]; int index,value; char macAddrName[25],indextemp[5]; switch ( action ) { case RESERVE1: if (var_val_type != ASN_OCTET_STR) { fprintf(stderr, "write to wapiPwlanAp not ASN_OCTET_STR\n"); return SNMP_ERR_WRONGTYPE; } if (var_val_len > 20 || var_val_len <17) { fprintf(stderr,"write to wapiPwlanAp: bad length\n"); return SNMP_ERR_WRONGLENGTH; } break; case RESERVE2: break; case FREE: break; case ACTION: memset(temp,0,20); strcpy(temp,var_val); index = (int)name[name_len-1]; printf("index=%d\n",index); memset(macAddrName,0,25); memset(indextemp,0,5); char *pos; int j=0; pos=temp; while(((*pos)!='\0') && ((*pos)!='\n')){ pos++; if((*pos)==':'){ j++; } } //EDIT if(j==5){ if(index<=16){ strcpy(macAddrName,"NEIGHBORHOOD_AP_MAC_"); sprintf(indextemp,"%d",index); strcat(macAddrName,indextemp); save_global_conf(SEP_EQUAL,WIRELESS_CONF,"",macAddrName, temp); } }else{ return SNMP_ERR_WRONGLENGTH; } break; case UNDO: break; case COMMIT: break; } return SNMP_ERR_NOERROR; }
int write_wapialarmflag(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) { long value; int size; char temp[256]; switch ( action ) { case RESERVE1: if (var_val_type != ASN_INTEGER) { fprintf(stderr, "write to wapiPwlanAp not ASN_INTEGER\n"); return SNMP_ERR_WRONGTYPE; } if (var_val_len > sizeof(long)) { fprintf(stderr,"write to wapiPwlanAp: bad length\n"); return SNMP_ERR_WRONGLENGTH; } value = * (long *) var_val ; if ( value != 0 && value != 1 ) { fprintf(stderr,"write to wapiPwlanAp: flag error \n"); return SNMP_ERR_WRONGVALUE; } break; case RESERVE2: break; case FREE: break; case ACTION: value = * (long *) var_val; /* write config file .*/ memset(temp,0,10); sprintf(temp,"%d",value); save_global_conf(SEP_EQUAL,AG_SNMP_CONF,"","ALARM_FLAG",temp); /* write alarm time value.*/ if( alarmFlag != value ){ if( alarmFlag != 0 && value == 0 ){ snmp_alarm_unregister(alarmId); } else if( alarmFlag == 0 && value != 0 ){ alarmId=snmp_alarm_register(alarmTimes, //10 /* seconds */ SA_REPEAT, /* repeat (every 30 seconds). */ register_callback, /* our callback */ NULL ); /* no callback data needed */ } alarmFlag=value; } break; case UNDO: break; case COMMIT: break; } return SNMP_ERR_NOERROR; }