新增log 4k写入文件控制功能

Change-Id: Iaeee7c4c593376bb70fea6061bd9186eac9d3753
diff --git a/mbtk/mbtk_logd/alog_read.c b/mbtk/mbtk_logd/alog_read.c
index 5e86138..20a6d0e 100755
--- a/mbtk/mbtk_logd/alog_read.c
+++ b/mbtk/mbtk_logd/alog_read.c
@@ -63,6 +63,7 @@
 //extern char radiolog_buff[MAX_BUFFER_SIZE];
 extern char *radio_globalPtr;
 extern int radio_len;
+extern int emmc_pro;
 
 
 void hex_print(char* buf, int len)
@@ -274,24 +275,35 @@
             defaultBuffer[index] ^= 1;
         }
     }
-    
-    if(buffer_index + totalLen >= RADIOLOG_BUFF_SIZE && buffer_index < RADIOLOG_BUFF_SIZE)
+    if(emmc_pro)
     {
-        memcpy(buffer + buffer_index, defaultBuffer, totalLen);
-        buffer_index += totalLen;
-        if (write(fd_radio, buffer, buffer_index) < 0) 
+        if(buffer_index + totalLen >= RADIOLOG_BUFF_SIZE && buffer_index < RADIOLOG_BUFF_SIZE)
+        {
+            memcpy(buffer + buffer_index, defaultBuffer, totalLen);
+            buffer_index += totalLen;
+            if (write(fd_radio, buffer, buffer_index) < 0) 
+            {
+                perror("write error");
+                close(fd_radio);
+                return -1;
+            }
+            buffer_index = 0; // Reset buffer index after flushing
+        }
+        else
+        {
+            memcpy(buffer + buffer_index, defaultBuffer, totalLen);
+            buffer_index += totalLen;
+            //memcpy(radiolog_buff,buffer,buffer_index);
+        }
+    }
+    else
+    {
+        if (write(fd_radio, defaultBuffer, totalLen) < 0) 
         {
             perror("write error");
             close(fd_radio);
             return -1;
         }
-        buffer_index = 0; // Reset buffer index after flushing
-    }
-    else
-    {
-        memcpy(buffer + buffer_index, defaultBuffer, totalLen);
-        buffer_index += totalLen;
-        //memcpy(radiolog_buff,buffer,buffer_index);
     }
 
 
diff --git a/mbtk/mbtk_logd/main.c b/mbtk/mbtk_logd/main.c
index d2ba2b8..142ce13 100755
--- a/mbtk/mbtk_logd/main.c
+++ b/mbtk/mbtk_logd/main.c
@@ -31,6 +31,7 @@
 #define mbtk_log(...)
 #endif
 
+int emmc_pro = -1;
 
 #define    MAX_BUFFER_SIZE (8*1024)
 #define    MAX_SLEEP_TIME 2147483647
@@ -49,7 +50,7 @@
 
 static void signal_handler(int signum)
 {
-    printf("Received SIGTERM signal, fflush buffer");
+    printf("Received SIGTERM signal, fflush buffer\n");
     if(fcntl(tmp_syslog_fd, F_GETFL) != -1 && sys_globalPtr !=NULL )
     {
         if(write(tmp_syslog_fd, sys_globalPtr, sys_len) < 0)
@@ -159,7 +160,7 @@
         json_object_object_get_ex(datajson, "enable", &listjson);
         entry->enable = json_object_get_int(listjson);
         mbtk_log("enable: %d\n", entry->enable);
-
+        
         json_object_object_get_ex(datajson, "name", &listjson);
         entry->name = (char*)json_object_get_string(listjson);
         printf("cmdval: %s\n", entry->name);
@@ -168,6 +169,10 @@
         entry->out_path = (char*)json_object_get_string(listjson);
         mbtk_log("cmdval: %s\n", entry->out_path);
 
+        json_object_object_get_ex(datajson, "emmc_protect", &listjson);
+        emmc_pro = json_object_get_int(listjson);
+        printf("emmc_pro enable: %d\n", emmc_pro);
+        
         json_object_object_get_ex(datajson, "log_stream", &listjson);
         if (listjson) {
             entry->ip = (char*)json_object_get_string(listjson);
diff --git a/mbtk/mbtk_logd/syslog_read.c b/mbtk/mbtk_logd/syslog_read.c
index e0cd2d0..183bee8 100755
--- a/mbtk/mbtk_logd/syslog_read.c
+++ b/mbtk/mbtk_logd/syslog_read.c
@@ -72,7 +72,7 @@
 
 extern char *sys_globalPtr;
 extern int sys_len;
-
+extern int emmc_pro;
 
 static const struct blobmsg_policy log_policy[] = {
 	[LOG_MSG] = { .name = "msg", .type = BLOBMSG_TYPE_STRING },
@@ -316,25 +316,37 @@
             }
         }
 
-        
-        if(buffer_index + len >= SYSLOG_BUFF_SIZE && buffer_index < SYSLOG_BUFF_SIZE)
+        if(emmc_pro)
         {
-            memcpy(buffer + buffer_index, buf, len);
-            buffer_index += len;
-            if (write(sender.fd, buffer, buffer_index) < 0) 
+            if(buffer_index + len >= SYSLOG_BUFF_SIZE && buffer_index < SYSLOG_BUFF_SIZE)
+            {
+                memcpy(buffer + buffer_index, buf, len);
+                buffer_index += len;
+                if (write(sender.fd, buffer, buffer_index) < 0) 
+                {
+                    perror("write error");
+                    close(sender.fd);
+                    return -1;
+                }
+                buffer_index = 0;
+            }
+            else
+            {
+                memcpy(buffer + buffer_index, buf, len);
+                buffer_index += len;
+                sys_len = buffer_index;
+            //memcpy(syslog_buff,buffer,buffer_index);
+            }
+        }
+        else
+        {
+                
+            if(write(sender.fd, buf, len) < 0) 
             {
                 perror("write error");
                 close(sender.fd);
                 return -1;
             }
-            buffer_index = 0;
-        }
-        else
-        {
-            memcpy(buffer + buffer_index, buf, len);
-            buffer_index += len;
-            sys_len = buffer_index;
-            //memcpy(syslog_buff,buffer,buffer_index);
         }