[feature][SZZT-56][AT]AT+RST:reboot

Change-Id: I160d8c856541ce25ccfb4454151be3d39e0cd969
diff --git a/src/lynq/framework/lynq-atsvc/src/lynq_at_transfer_table.h b/src/lynq/framework/lynq-atsvc/src/lynq_at_transfer_table.h
index d685cbb..abf0aed 100755
--- a/src/lynq/framework/lynq-atsvc/src/lynq_at_transfer_table.h
+++ b/src/lynq/framework/lynq-atsvc/src/lynq_at_transfer_table.h
@@ -14,6 +14,9 @@
 {LYNQ_REQUEST_SCREEN_STATE,"SCREEN",7},

 {LYNQ_REQUEST_SEND_LOG_DATA,"LOGS",7},

 {LYNQ_PLAT_LGMDS,"LGMDS",7},

+/*lei add for clt*/

+{LYNQ_REQUEST_RST,"RST",7},

+/*lei add for clt*/

 {LYNQ_REQUEST_RNDIS,"LRNDISHANDLE",7},

 {LYNQ_REQUEST_FACTORY,"LYNQFACTORY",7},

 {LYNQ_REQUEST_LINFO,"LINFO",7},

diff --git a/src/lynq/framework/lynq-atsvc/src/lynq_commands.h b/src/lynq/framework/lynq-atsvc/src/lynq_commands.h
index adfda0f..d232c31 100755
--- a/src/lynq/framework/lynq-atsvc/src/lynq_commands.h
+++ b/src/lynq/framework/lynq-atsvc/src/lynq_commands.h
@@ -15,4 +15,5 @@
 {LYNQ_REQUEST_SWITCH_SIM,"SET_DEFAULT_SIM_ALL","LCSUS",switchSim,NULL},
 {LYNQ_REQUEST_SCREEN_STATE,"RIL_REQUEST_SCREEN_STATE","SCREEN",lynq_screen,NULL},
 {LYNQ_PLAT_LGMDS,"LYNQ_PLAT_LGMDS","LGMDS",NULL,getMDstate},
+{LYNQ_REQUEST_RST,"LYNQ_REQUEST_RST","RST",NULL,rst},
 {-1,NULL,NULL,NULL,NULL},
diff --git a/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp b/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp
index 191b953..b2b0b15 100755
--- a/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp
+++ b/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp
@@ -6,7 +6,8 @@
 **     LastChange: 2021-09-27 
 **     History: 
 **=============================================================================*/
-
+#include <sys/types.h>
+#include <signal.h>
 #include <stdio.h>
 #include <string.h>
 #include <log/log.h>
@@ -106,6 +107,7 @@
         }
         case LYNQ_USER_REQUEST_GNSS:
         case LYNQ_USER_REQUEST_OTHRE:
+        case LYNQ_REQUEST_RST:
         case LYNQ_PLAT_LGMDS:
         {
             return LYNQ_GOTO_USER_REQ;
@@ -584,6 +586,14 @@
     return 0;
 }
 
+void* rst(int argc,char*argv[],int uToken)
+{
+    system("reboot");
+    syncRespToUsb(0);
+    kill(0, SIGKILL);
+    return 0;
+}
+
 int lynqATWaitWithTime(int time)
 {
     int ret = 0;
diff --git a/src/lynq/framework/lynq-atsvc/src/lynq_common.h b/src/lynq/framework/lynq-atsvc/src/lynq_common.h
index 6d39ea1..b20456d 100755
--- a/src/lynq/framework/lynq-atsvc/src/lynq_common.h
+++ b/src/lynq/framework/lynq-atsvc/src/lynq_common.h
@@ -67,6 +67,7 @@
 #define LYNQ_REQUEST_MPWRSM (LYNQ_VERSION +21)
 #define LYNQ_REQUEST_MWAKEUPCFG (LYNQ_VERSION +22)
 #define LYNQ_REQUEST_CFSN (LYNQ_VERSION +23)
+#define LYNQ_REQUEST_RST (LYNQ_VERSION +25)
 /*lei add*/
 #define LYNQ_USER_REQUEST_GNSS (LYNQ_VERSION +100)
 #define LYNQ_USER_REQUEST_OTHRE (LYNQ_VERSION +101)
@@ -137,4 +138,14 @@
 /*lei add for PMS*/
 void lynq_pms(char *argv[]);
 /*lei add for PMS*/
+
+/**
+ * @brief reboot
+ * 
+ * @param argc 
+ * @param argv 
+ * @param uToken 
+ * @return void* 
+ */
+void* rst(int argc,char*argv[],int uToken);
 #endif