Ejemplo n.º 1
0
Archivo: main.c Proyecto: allexpert/wmr
void process_varbind_list(struct varbind_list_rx *varbind_list, unsigned char pdu_type)
{
    int i;
    int idx;
	time_t t;

	for(i=0;i<varbind_list->varbind_idx;i++){
        if(pdu_type == PDU_GET_NEXT_REQ)
            idx = search_next_oid(oid_db, varbind_list->varbind_list[i]->oid);
        else
            idx = search_oid(oid_db, varbind_list->varbind_list[i]->oid);

        if(idx < 0)
            continue;


        /* Update some dynamic parameters */

        /* Timeticks */
        if(!strcmp((const char *) varbind_list->varbind_list[i]->oid, "1.3.6.1.2.1.1.3.0")) {
            timeticks = (time(&t) - startup_time) * 100;
            update_varbind(varbind_list->varbind_list[i],
                           oid_db->oids[idx]->data_type, &timeticks);

        /* All static parameters are taken from DB as is */
        } else {
            update_varbind(varbind_list->varbind_list[i],
                           oid_db->oids[idx]->data_type, oid_db->oids[idx]->value);
		}
	}

}
Ejemplo n.º 2
0
void process_varbind_list(struct varbind_list_rx* varbind_list){
	int i,timeticks;
	time_t t;
	for(i=0;i<varbind_list->varbind_idx;i++){
		if(!strcmp(&oid[0][0],varbind_list->varbind_list[i]->oid)){
			update_varbind(varbind_list->varbind_list[i],0x04,description);
		}
		if(!strcmp(&oid[1][0],varbind_list->varbind_list[i]->oid)){
			timeticks=(unsigned int)((time(&t)-startup_time)*100);
			update_varbind(varbind_list->varbind_list[i],0x043,&timeticks);
		}
		if(!strcmp(&oid[2][0],varbind_list->varbind_list[i]->oid)){
			update_varbind(varbind_list->varbind_list[i],0x04,MasterName);
		}
		if(!strcmp(&oid[3][0],varbind_list->varbind_list[i]->oid)){
			update_varbind(varbind_list->varbind_list[i],0x04,MasterLocation);
		}
		if(!strcmp(&oid[4][0],varbind_list->varbind_list[i]->oid)){
			update_varbind(varbind_list->varbind_list[i],0x02,&NumberOfAgents);
		}
		if(!strcmp(&oid[5][0],varbind_list->varbind_list[i]->oid)){
			update_varbind(varbind_list->varbind_list[i],0x04,PID);
		}
		if(!strcmp(&oid[6][0],varbind_list->varbind_list[i]->oid)){
			update_varbind(varbind_list->varbind_list[i],0x04,HW);
		}
		if(!strcmp(&oid[7][0],varbind_list->varbind_list[i]->oid)){
			update_varbind(varbind_list->varbind_list[i],0x04,SW);
		}
		if(!strcmp(&oid[8][0],varbind_list->varbind_list[i]->oid)){
			update_varbind(varbind_list->varbind_list[i],0x04,SN);
		}
		if(!strcmp(&oid[9][0],varbind_list->varbind_list[i]->oid)){
			update_varbind(varbind_list->varbind_list[i],0x04,ID);
		}
		if(!strcmp(&oid[10][0],varbind_list->varbind_list[i]->oid)){
			update_varbind(varbind_list->varbind_list[i],0x02,&UB);
		}
		if(!strcmp(&oid[11][0],varbind_list->varbind_list[i]->oid)){
			update_varbind(varbind_list->varbind_list[i],0x02,&POW);
		}
		if(!strcmp(&oid[12][0],varbind_list->varbind_list[i]->oid)){
			update_varbind(varbind_list->varbind_list[i],0x02,&WORK);
		}
		if(!strcmp(&oid[13][0],varbind_list->varbind_list[i]->oid)){
			update_varbind(varbind_list->varbind_list[i],0x02,&FREQ);
		}
		if(!strcmp(&oid[14][0],varbind_list->varbind_list[i]->oid)){
			update_varbind(varbind_list->varbind_list[i],0x02,&VRMS);
		}
		if(!strcmp(&oid[15][0],varbind_list->varbind_list[i]->oid)){
			update_varbind(varbind_list->varbind_list[i],0x02,&IRMS);
		}
		if(!strcmp(&oid[16][0],varbind_list->varbind_list[i]->oid)){
			update_varbind(varbind_list->varbind_list[i],0x02,&LOAD);
		}
	}
}