Beispiel #1
0
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;
}
Beispiel #2
0
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;
}
Beispiel #3
0
/*保存证书状态*/
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;
}
Beispiel #4
0
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;
	}
Beispiel #5
0
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;
}
Beispiel #6
0
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;
}