|
@@ -129,22 +129,9 @@ void GetAllSELEntriesSorted(Webs *wp)
|
|
if(nEntries == 0)
|
|
if(nEntries == 0)
|
|
{
|
|
{
|
|
cJSON_AddItemToObject(root, "data", pJsonArry);
|
|
cJSON_AddItemToObject(root, "data", pJsonArry);
|
|
-
|
|
|
|
- // char *pStr;
|
|
|
|
- // pStr = cJSON_PrintUnformatted(root);
|
|
|
|
- // websSetStatus(wp, 200);
|
|
|
|
- // websWriteHeaders(wp, -1, 0);
|
|
|
|
- // websWriteEndHeaders(wp);
|
|
|
|
- // websWrite(wp, pStr);
|
|
|
|
websWrite(wp, "]}");
|
|
websWrite(wp, "]}");
|
|
websFlush(wp, 0);
|
|
websFlush(wp, 0);
|
|
websDone(wp);
|
|
websDone(wp);
|
|
-
|
|
|
|
- // if(root)
|
|
|
|
- // cJSON_Delete(root);
|
|
|
|
- // if(pStr)
|
|
|
|
- // wfree(pStr);
|
|
|
|
-
|
|
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -171,10 +158,7 @@ void GetAllSELEntriesSorted(Webs *wp)
|
|
RecID = 0; //first record
|
|
RecID = 0; //first record
|
|
for(i=0;i<nEntries;i++)
|
|
for(i=0;i<nEntries;i++)
|
|
{
|
|
{
|
|
- if(i!=0)
|
|
|
|
- {
|
|
|
|
- websWrite(wp, ",");
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
//获取日志
|
|
//获取日志
|
|
GetSelReq.ReservationID = ReserveID;
|
|
GetSelReq.ReservationID = ReserveID;
|
|
GetSelReq.RecID = RecID;
|
|
GetSelReq.RecID = RecID;
|
|
@@ -205,62 +189,75 @@ void GetAllSELEntriesSorted(Webs *wp)
|
|
// cJSON_AddNumberToObject(pJsonsub, "D10", SELEventData.EvtData2); //EventData2 -> D10
|
|
// cJSON_AddNumberToObject(pJsonsub, "D10", SELEventData.EvtData2); //EventData2 -> D10
|
|
// cJSON_AddNumberToObject(pJsonsub, "D11", SELEventData.EvtData3); //EventData3 -> D11
|
|
// cJSON_AddNumberToObject(pJsonsub, "D11", SELEventData.EvtData3); //EventData3 -> D11
|
|
|
|
|
|
- websWrite(wp, "{\"D1\":%d,\"D2\":%d,\"D3\":%d,\"D4\":%d,\"D5\":%d,\"D6\":%d,\"D7\":%d,\"D8\":%d,\"D9\":%d,\"D10\":%d,\"D11\":%d,",
|
|
|
|
- SELEventData.hdr.ID, SELEventData.hdr.Type, SELEventData.hdr.TimeStamp, SELEventData.GenID[0],
|
|
|
|
- SELEventData.GenID[1], SELEventData.EvMRev, SELEventData.SensorType, SELEventData.EvtDirType,
|
|
|
|
- SELEventData.EvtData1, SELEventData.EvtData2, SELEventData.EvtData3);
|
|
|
|
-
|
|
|
|
- //获取传感器名称
|
|
|
|
- //printf("sensor number %d\n", SELEventData.SensorNum);
|
|
|
|
- if((SELEventData.SensorNum != 0xff) && (SELEventData.hdr.Type == 0x02))
|
|
|
|
|
|
+ if(SELEventData.hdr.Type == 0x02)
|
|
{
|
|
{
|
|
- found_flag = 0;
|
|
|
|
- for(i=0;i<MAX_SENSOR_NUMBERS;i++) //先从之前的缓存里查找传感器名称
|
|
|
|
|
|
+ if(i!=0)
|
|
{
|
|
{
|
|
- if(senNumNameTab[i].sensor_number == 0xff) //再往后没有内容了。
|
|
|
|
- break;
|
|
|
|
-
|
|
|
|
- if(senNumNameTab[i].sensor_number == SELEventData.SensorNum)
|
|
|
|
- {
|
|
|
|
- //cJSON_AddStringToObject(pJsonsub, "D12", senNumNameTab[i].sensor_name); //SensorName -> D12
|
|
|
|
- websWrite(wp, "\"D12\":\"%s\"}", senNumNameTab[i].sensor_name);
|
|
|
|
- found_flag = 1;
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
|
|
+ websWrite(wp, ",");
|
|
}
|
|
}
|
|
-
|
|
|
|
- if(found_flag == 0) //在缓存里没有找到
|
|
|
|
|
|
+ websWrite(wp, "{\"D1\":%d,\"D2\":%d,\"D3\":%d,\"D4\":%d,\"D5\":%d,\"D6\":%d,\"D7\":%d,\"D8\":%d,\"D9\":%d,\"D10\":%d,\"D11\":%d,",
|
|
|
|
+ SELEventData.hdr.ID, SELEventData.hdr.Type, SELEventData.hdr.TimeStamp,
|
|
|
|
+ SELEventData.body.sysEventRecord.GenID[0], SELEventData.body.sysEventRecord.GenID[1],
|
|
|
|
+ SELEventData.body.sysEventRecord.EvMRev, SELEventData.body.sysEventRecord.SensorType,
|
|
|
|
+ SELEventData.body.sysEventRecord.EvtDirType,SELEventData.body.sysEventRecord.EvtData1,
|
|
|
|
+ SELEventData.body.sysEventRecord.EvtData2, SELEventData.body.sysEventRecord.EvtData3);
|
|
|
|
+
|
|
|
|
+ //获取传感器名称
|
|
|
|
+ //printf("sensor number %d\n", SELEventData.SensorNum);
|
|
|
|
+ if(SELEventData.body.sysEventRecord.SensorNum != 0xff)
|
|
{
|
|
{
|
|
- if(target_addr == 0x20)
|
|
|
|
|
|
+ found_flag = 0;
|
|
|
|
+ for(i=0;i<MAX_SENSOR_NUMBERS;i++) //先从之前的缓存里查找传感器名称
|
|
{
|
|
{
|
|
- wRet = IPMI_GetSensorName(&UDSSession, SELEventData.SensorNum, sensorName, DEFAULT_TIMEOUT);
|
|
|
|
- //printf("---> get sensor name: %s\n", sensorName);
|
|
|
|
- }
|
|
|
|
- else
|
|
|
|
- {
|
|
|
|
- wRet = IPMC_GetSensorName(&UDSSession, target_addr,SELEventData.SensorNum, sensorName, DEFAULT_TIMEOUT);
|
|
|
|
|
|
+ if(senNumNameTab[i].sensor_number == 0xff) //再往后没有内容了。
|
|
|
|
+ break;
|
|
|
|
+
|
|
|
|
+ if(senNumNameTab[i].sensor_number == SELEventData.body.sysEventRecord.SensorNum)
|
|
|
|
+ {
|
|
|
|
+ //cJSON_AddStringToObject(pJsonsub, "D12", senNumNameTab[i].sensor_name); //SensorName -> D12
|
|
|
|
+ websWrite(wp, "\"D12\":\"%s\"}", senNumNameTab[i].sensor_name);
|
|
|
|
+ found_flag = 1;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- //cJSON_AddStringToObject(pJsonsub, "D12", senNumNameTab[i].sensor_name); //SensorName->D12
|
|
|
|
- websWrite(wp, "\"D12\":\"%s\"}", senNumNameTab[i].sensor_name);
|
|
|
|
- if(wRet == 0)
|
|
|
|
|
|
+
|
|
|
|
+ if(found_flag == 0) //在缓存里没有找到
|
|
{
|
|
{
|
|
- //将得到的传感器名称保存到缓存中
|
|
|
|
- for(i=0;i<MAX_SENSOR_NUMBERS;i++)
|
|
|
|
|
|
+ if(target_addr == 0x20)
|
|
|
|
+ {
|
|
|
|
+ wRet = IPMI_GetSensorName(&UDSSession, SELEventData.body.sysEventRecord.SensorNum, sensorName, DEFAULT_TIMEOUT);
|
|
|
|
+ //printf("---> get sensor name: %s\n", sensorName);
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ wRet = IPMC_GetSensorName(&UDSSession, target_addr,SELEventData.body.sysEventRecord.SensorNum, sensorName, DEFAULT_TIMEOUT);
|
|
|
|
+ }
|
|
|
|
+ //cJSON_AddStringToObject(pJsonsub, "D12", senNumNameTab[i].sensor_name); //SensorName->D12
|
|
|
|
+ websWrite(wp, "\"D12\":\"%s\"}", senNumNameTab[i].sensor_name);
|
|
|
|
+ if(wRet == 0)
|
|
{
|
|
{
|
|
- if(senNumNameTab[i].sensor_number == 0xff)
|
|
|
|
|
|
+ //将得到的传感器名称保存到缓存中
|
|
|
|
+ for(i=0;i<MAX_SENSOR_NUMBERS;i++)
|
|
{
|
|
{
|
|
- senNumNameTab[i].sensor_number = SELEventData.SensorNum;
|
|
|
|
- strcpy(senNumNameTab[i].sensor_name, sensorName);
|
|
|
|
- break;
|
|
|
|
|
|
+ if(senNumNameTab[i].sensor_number == 0xff)
|
|
|
|
+ {
|
|
|
|
+ senNumNameTab[i].sensor_number = SELEventData.body.sysEventRecord.SensorNum;
|
|
|
|
+ strcpy(senNumNameTab[i].sensor_name, sensorName);
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ //cJSON_AddStringToObject(pJsonsub, "D12", "--"); //SensorName -> D12
|
|
|
|
+ websWrite(wp, "\"D12\":\"--\"}");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- else
|
|
|
|
|
|
+ else if(SELEventData.hdr.Type == 0xC0)
|
|
{
|
|
{
|
|
- //cJSON_AddStringToObject(pJsonsub, "D12", "--"); //SensorName -> D12
|
|
|
|
- websWrite(wp, "\"D12\":\"%s\"}", senNumNameTab[i].sensor_name);
|
|
|
|
|
|
+ //TODO:
|
|
}
|
|
}
|
|
|
|
|
|
if(RecID == 0xffff) //last record
|
|
if(RecID == 0xffff) //last record
|