lusa před 5 roky
rodič
revize
587a571f27
1 změnil soubory, kde provedl 74 přidání a 78 odebrání
  1. 74 78
      app/goahead-5.1.0/src/web_interface/src/dashboard.c

+ 74 - 78
app/goahead-5.1.0/src/web_interface/src/dashboard.c

@@ -3,12 +3,10 @@
 #include    "com_IPMIDefs.h"
 #include    "ResultUtils.h"
 #include    "cJSON.h"
-#include    <string.h>
 /*获取设备信息*/
 
 /*获取设备信息*/
 void getDeviceInfo(Webs *wp){
-
     logmsg(2, "--------------------ggggg11gggg----------------");
 
     uint16_t    wRet = LIBIPMI_E_SUCCESS;
@@ -17,93 +15,91 @@ void getDeviceInfo(Webs *wp){
     int sock;
     struct sockaddr_in *myaddr;
 
-    char BuildTime[30] = "2020-111";
-    char FwVersion[10] = "1.1111";
+    char BuildTime[30] = {0};
+    char FwVersion[10] = {0};
     char MacAddr[18] = {0};
     char IpAddr[16] = {0};
     
 
-    // //Create session
-    // LIBIPMI_CreateSession(&wp->ipmi_session, 10);
-
-    // //get build time
-    // sprintf(BuildTime, "%s %s", __DATE__, __TIME__);
-
-    // //get firmware version
-    // wRet = IPMICMD_GetDeviceID( &wp->ipmi_session, &DeviceID, DEFAULT_TIMEOUT);
-    // if (wRet == LIBIPMI_E_SUCCESS)
-    // {
-    //     sprintf(FwVersion, "%d.%d", DeviceID.FirmwareRevision1, DeviceID.FirmwareRevision2);
-    // }
-
-    // //get mac address
-    // if((sock=socket(AF_INET,SOCK_STREAM,0))<0)
-    // {
-    //     printf("Get mac address socket fail!\n");
-    // }
-    // else
-    // {
-    //     strcpy(ifreq.ifr_name,"eth0");
-    //     if(ioctl(sock,SIOCGIFHWADDR,&ifreq)<0)
-    //     {
-    //         printf("Get mac address ioctl fail!\n");
-    //     }
-    //     else
-    //     {
-    //         sprintf(MacAddr, "%02x:%02x:%02x:%02x:%02x:%02x\n",
-    //                 (unsigned char)ifreq.ifr_hwaddr.sa_data[0],
-    //                 (unsigned char)ifreq.ifr_hwaddr.sa_data[1],
-    //                 (unsigned char)ifreq.ifr_hwaddr.sa_data[2],
-    //                 (unsigned char)ifreq.ifr_hwaddr.sa_data[3],
-    //                 (unsigned char)ifreq.ifr_hwaddr.sa_data[4],
-    //                 (unsigned char)ifreq.ifr_hwaddr.sa_data[5]);
-    //     }
-    // }
-    // close(sock);
-
-    // //get ip address
-    // strcpy(ifreq.ifr_name, "eth0");
-    // if((sock=socket(AF_INET, SOCK_STREAM, 0))<0)
-    // {
-    //     printf("Get ip address socket fail!\n");
-    // }
-    // else
-    // {
-    //     wRet = ioctl(sock, SIOCGIFADDR, &ifreq);
-    //     if(wRet < 0)
-    //     {
-    //         printf("Get ip address ioctl fail!\n");
-    //     }
-    //     else
-    //     {
-    //         myaddr = (struct sockaddr_in *)&(ifreq.ifr_addr);
-    //         strcpy(IpAddr, inet_ntoa(myaddr->sin_addr));   
-    //     }
-    // }
-    // close(sock);
+    //Create session
+    LIBIPMI_CreateSession(&wp->ipmi_session, 10);
+
+    //get build time
+    sprintf(BuildTime, "%s %s", __DATE__, __TIME__);
+
+    //get firmware version
+    wRet = IPMICMD_GetDeviceID( &wp->ipmi_session, &DeviceID, DEFAULT_TIMEOUT);
+    if (wRet == LIBIPMI_E_SUCCESS)
+    {
+        sprintf(FwVersion, "%d.%d", DeviceID.FirmwareRevision1, DeviceID.FirmwareRevision2);
+    }
+
+    //get mac address
+    if((sock=socket(AF_INET,SOCK_STREAM,0))<0)
+    {
+        printf("Get mac address socket fail!\n");
+    }
+    else
+    {
+        strcpy(ifreq.ifr_name,"eth0");
+        if(ioctl(sock,SIOCGIFHWADDR,&ifreq)<0)
+        {
+            printf("Get mac address ioctl fail!\n");
+        }
+        else
+        {
+            sprintf(MacAddr, "%02x:%02x:%02x:%02x:%02x:%02x\n",
+                    (unsigned char)ifreq.ifr_hwaddr.sa_data[0],
+                    (unsigned char)ifreq.ifr_hwaddr.sa_data[1],
+                    (unsigned char)ifreq.ifr_hwaddr.sa_data[2],
+                    (unsigned char)ifreq.ifr_hwaddr.sa_data[3],
+                    (unsigned char)ifreq.ifr_hwaddr.sa_data[4],
+                    (unsigned char)ifreq.ifr_hwaddr.sa_data[5]);
+        }
+    }
+    close(sock);
+
+    //get ip address
+    strcpy(ifreq.ifr_name, "eth0");
+    if((sock=socket(AF_INET, SOCK_STREAM, 0))<0)
+    {
+        printf("Get ip address socket fail!\n");
+    }
+    else
+    {
+        wRet = ioctl(sock, SIOCGIFADDR, &ifreq);
+        if(wRet < 0)
+        {
+            printf("Get ip address ioctl fail!\n");
+        }
+        else
+        {
+            myaddr = (struct sockaddr_in *)&(ifreq.ifr_addr);
+            strcpy(IpAddr, inet_ntoa(myaddr->sin_addr));   
+        }
+    }
+    close(sock);
     
-    // //Close session
-    // LIBIPMI_CloseSession(&wp->ipmi_session );
+    //Close session
+    LIBIPMI_CloseSession(&wp->ipmi_session );
 
     printf("BuildTime: %s\n", BuildTime);
     printf("FwVersion: %s\n", FwVersion);
     printf("MacAddr: %s\n", MacAddr);
     printf("IpAddr: %s\n", IpAddr);
 
-    char *pStr;
-    pStr = malloc(200);
-    sprintf(pStr, "{\n\"data\": {\n},\n\"msg\": %s\n%s \"Not Found\",\n \"code\": 404\n}", BuildTime, FwVersion);
-    // int code = 200;
-    // cJSON * root =  cJSON_CreateObject();
-    // cJSON * data =  cJSON_CreateObject();
-    // // cJSON * next =  cJSON_CreateObject();
-    // cJSON_AddItemToObject(root, "data", data);//根节点下添加
-    // cJSON_AddItemToObject(root, "msg", cJSON_CreateString(""));
-    // cJSON_AddItemToObject(root, "code", cJSON_CreateString("200"));
-    // cJSON_AddStringToObject(data, "BuildTime", BuildTime);
-    // cJSON_AddStringToObject(data, "FwVersion", FwVersion);
-
-    // pStr = cJSON_Print(root);
+    cchar *pStr;
+    int code = 200;
+    cJSON * root =  cJSON_CreateObject();
+    cJSON * data =  cJSON_CreateObject();
+    // cJSON * next =  cJSON_CreateObject();
+    cJSON_AddItemToObject(root, "data", data);//根节点下添加
+    cJSON_AddItemToObject(root, "msg", cJSON_CreateString(""));
+    cJSON_AddItemToObject(root, "code", cJSON_CreateString("200"));
+    cJSON_AddStringToObject(data, "BuildTime", BuildTime);
+    cJSON_AddStringToObject(data, "FwVersion", FwVersion);
+
+    pStr = cJSON_Print(root);
 
     printf("first json:\n%s\n", pStr);
     logmsg(2, "-----------------------jso1n----------------------%s", pStr);