修改API框架,兼容1806

Change-Id: Ic68e966a32e4c7ffd7137b3d7ba94e4d813c71b2
diff --git a/mbtk/mbtk_lib/src/mbtk_alarm.c b/mbtk/mbtk_lib/src/mbtk_alarm.c
new file mode 100755
index 0000000..d62a7e7
--- /dev/null
+++ b/mbtk/mbtk_lib/src/mbtk_alarm.c
@@ -0,0 +1,41 @@
+#include "mbtk_alarm.h"
+
+/*===========================================================================
+FUNCTION mbtk_wakealarm_set()
+
+DESCRIPTION:
+  Set sleep wake alarm.
+
+PARAMETERS:
+  time_sec [IN]: Sleep wake-up time in second.
+
+RETURN VALUE:
+  int : Return 0 if success, other for failures.
+
+===========================================================================*/
+int mbtk_wakealarm_set(unsigned long time_sec);
+{
+
+    return 0;
+}
+
+/*===========================================================================
+FUNCTION mbtk_poweralarm_set()
+
+DESCRIPTION:
+  Set shutdown alarm clock.
+
+PARAMETERS:
+  time_sec [IN]: Shutdown wake-up time in second.
+
+RETURN VALUE:
+  int : Return 0 if success, other for failures.
+
+===========================================================================*/
+int mbtk_poweralarm_set(unsigned long time_sec)
+{
+
+    return 0;
+}
+
+
diff --git a/mbtk/mbtk_lib/src/mbtk_fs.c b/mbtk/mbtk_lib/src/mbtk_fs.c
deleted file mode 100755
index c884e2e..0000000
--- a/mbtk/mbtk_lib/src/mbtk_fs.c
+++ /dev/null
@@ -1,1707 +0,0 @@
-/*************************************************************
-Description:
-    MBTK fs c file.
-Author:
-    LiuBin
-Date:
-    2020/4/30 13:51:42
-*************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <string.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <dirent.h>
-#include <linux/msg.h>
-#include <sys/statfs.h>
-#include <sys/vfs.h>
-#include <sys/param.h>
-#include <sys/mount.h>
-#include <math.h>
-#include <errno.h>
-#include <linux/magic.h>
-#include <time.h>
-#include <sys/time.h>
-#include <signal.h>
-#include <pthread.h>
-#include <cutils/properties.h>
-#include "mbtk_type.h"
-#include "mbtk_fs.h"
-
-/*************************************************************
-    Constants and Macros
-*************************************************************/
-
-
-/*************************************************************
-    Variables:local
-*************************************************************/
-int DEF_DIR_S = 0;
-
-int msgid;
-
-/*************************************************************
-    Variables:public
-*************************************************************/
-//mbtk_fs
-struct my_msg   //消息队列结构体
-{
-    long int my_msg_type;
-    char *ptr;
-}mbtk_at_fs_msg;
-
-typedef struct
-{
-    char in_dir_file[MBTK_FS_MAX + 1];
-    char out_dir_file[MBTK_FS_MAX + 1];
-} mbtk_fs_file_dir_info_s;
-mbtk_fs_file_dir_info_s mbtk_at_fs_par_at={0};
-
-/*************************************************************
-    Local Function Declaration
-*************************************************************/
-int mbtk_at_fs_msgid(int *at_msgid);
-void mbtk_at_fs_printf(void *data);
-static bool fs_is_space_char(char ch);
-static bool fs_str_empty(char *str);
-static int read_file_len(char *file);
-static char *GET_PWD();
-static int pwd_def_dir(char* path_dir);
-static int path_pass();
-static int creat_filesystem_def_dir();
-void fs_ls_at_cb_func(void *file_list_cb);
-void fs_ls_at_cb_func_num(void *file_list_cb);
-void mbtk_at_fs_data_cb(void *data, int data_len);
-
-
-/*************************************************************
-    Local Function Definitions
-*************************************************************/
-
-/*
-//收
-void mbtk_at_fs_printf()
-{
-	int msgid;
-	mbtk_at_msg.my_msg_type=3;
-	msgid=msgget(12,0666|IPC_CREAT);
-    MBTK_FUNC(mbtk_at_msgid)(&msgid);
-    //char read_buf[MAXMSG];
-	while(1)
-	{
-	    msgrcv(msgid,&mbtk_at_msg,4,mbtk_at_msg.my_msg_type,0);
-       	if(strncmp(mbtk_at_msg.ptr,"end",3)==0)
-		    break;
-        ATRESP(IND_REQ_HANDLE , ATCI_RESULT_CODE_NULL, 0, mbtk_at_msg.ptr);
-        free(mbtk_at_msg.ptr);
-        mbtk_at_msg.ptr=NULL;
-	}
-	msgctl(msgid,IPC_RMID,0);
-}
-*/
-//发
-
-int mbtk_at_fs_msgid(int *at_msgid)
-{
-    msgid = *at_msgid;
-    return 0;
-}
-
-void mbtk_at_fs_printf(void *data)
-{
-    char *ptr = malloc(strlen(data)+1);
-    memset(ptr,0,strlen(data)+1);
-    memcpy(ptr, data, strlen(data)+1);
-    mbtk_at_fs_msg.ptr = ptr;
-    mbtk_at_fs_msg.my_msg_type=4;
-    msgsnd(msgid,&mbtk_at_fs_msg,sizeof(&mbtk_at_fs_msg),0);   //发送数据到缓冲区
-}
-
-
-static bool fs_is_space_char(char ch)
-{
-    if(ch == ' ' || ch == '\r' || ch == '\t' || ch == '\n')
-        return TRUE;
-
-    return FALSE;
-}
-
-static bool fs_str_empty(char *str)
-{
-    if(str == NULL || strlen(str) == 0)
-        return TRUE;
-
-    return FALSE;
-}
-
-static int read_file_len(char* file)
-{
-    int size;
-    FILE* fp;
-
-    fp=fopen(file,"r");
-    if(NULL==fp)
-    {
-        fclose(fp);
-    }
-    else
-    {
-        fseek(fp,0,SEEK_END); //将文件读写指针移动到文件尾
-        size=ftell(fp); //ftell函数获取从文件尾移动到文件开头的偏移量
-        fseek(fp,0,SEEK_SET);//恢复指针位置
-        fclose(fp);
-    }
-    return size;
-}
-
-
-//Gets the current working directory
-static char *GET_PWD()
-{
-    char dir_buff[1024] = {0};
-    char *dir = NULL;
-
-    dir = getcwd(dir_buff,sizeof(dir_buff));
-
-    if (dir == NULL)
-    {
-        LOGE(" Not current working directory errno = [%d]\n",errno);
-    }
-    //LOGE("getcwd dir=[%s]\n",dir);
-
-    return dir;
-}
-
-//Default directory determinations
-static int pwd_def_dir(char* path_dir)
-{
-    int ret = 0;
-    
-    if (strncmp(path_dir,DFF_DIR_NVM,3) == 0 || strncmp(path_dir,DFF_DIR_BIN,3) == 0 || strncmp(path_dir,DFF_DIR_DEV,3) == 0 || \
-        strncmp(path_dir,DFF_DIR_ETC,3) == 0 || strncmp(path_dir,DFF_DIR_LIB,3) == 0 || strncmp(path_dir,DFF_DIR_LOG,3) == 0 || \
-        strncmp(path_dir,DFF_DIR_MNT,3) == 0 || strncmp(path_dir,DFF_DIR_OVERLAY,3) == 0 || strncmp(path_dir,DFF_DIR_PROC,3) == 0 || \
-        strncmp(path_dir,DFF_DIR_ROM,3) == 0 || strncmp(path_dir,DFF_DIR_ROOT,3) == 0 || strncmp(path_dir,DFF_DIR_SBIN,3) == 0 || \
-        strncmp(path_dir,DFF_DIR_SYS,3) == 0 || strncmp(path_dir,DFF_DIR_TMP,3) == 0 || strncmp(path_dir,DFF_DIR_USR,3) == 0 || \
-        strncmp(path_dir,DFF_DIR_VAR,3) == 0 || strncmp(path_dir,DFF_DIR_WWW,3) == 0 )
-        {
-            ret = -1;
-            LOGE("Enter the default directory \n");
-        }
-
-    return ret;
-}
-
-//
-static int path_pass()
-{
-    int at_fs_ret = 0;
-    char *fs_pwd_path = NULL;
-    char tmp_path[FS_NAME_LEN] = {0};
-
-    fs_pwd_path = GET_PWD();//获取当前路径
-
-    strcpy(tmp_path, fs_pwd_path);
-
-    if ((at_fs_ret = pwd_def_dir(tmp_path)) == -1)
-        return at_fs_ret;
-
-    if (strncmp(tmp_path, PART_FS, 3) != 0)
-    {
-        if (strcmp(tmp_path, ROOT_PATH) == 0)//首次进入,所以不用指定前一个字符匹配,全部匹配
-        {
-            at_fs_ret = chdir(PART_FS);//首次进入切换路径
-            LOGE(">dir == [%s]\n", getcwd(NULL,NULL));
-            if(-1 == at_fs_ret)
-            {
-                LOGE("chdir path error:[%d]\n", errno);
-                return at_fs_ret;
-            }
-        }
-        else
-        {
-            at_fs_ret = -1;
-            LOGE("Not specified dir %s\n", tmp_path);
-            return at_fs_ret;
-        }
-    }
-
-    return at_fs_ret;
-
-}
-
-
-//创建文件系统的默认操作路径
-static int creat_filesystem_def_dir()
-{
-    int ret = 0;
-
-    if (DEF_DIR_S == 0)//以全局变量判断是否创建了默认路径
-    {
-        if (access(PART_FS, F_OK) == 0)
-        {
-            DEF_DIR_S = 1;
-        }
-        else
-        {
-            ret = mkdir(PART_FS, 0766);//创建路径
-            if(-1 == ret)
-            {
-                LOGE("mkdir path error:[%d]\n", errno);
-                return ret;
-            }
-            ret = chdir(PART_FS);//切换路径
-            LOGE(">dir == [%s]\n", getcwd(NULL,NULL));
-            if(-1 == ret)
-            {
-                LOGE("chdir path error:[%d]\n", errno);
-                return ret;
-            }
-            DEF_DIR_S = 1;
-        }
-    }
-    else if (DEF_DIR_S == 1)
-    {
-        ;//不进行处理
-    }
-    else
-    {
-        LOGE("mkdir path  DEF_DIR_S error:[%d]\n", errno);
-    }
-
-    return ret;
-}
-
-//拼接传入的路径到默认操作路径
-static int path_redirection(char *in_path, char *out_path)
-{
-    int ret = 0, len = 0;
-    char *tmp_dir = NULL;
-    char def_fs[FS_NAME_LEN] = {0};
-
-    len = strlen(in_path);
-    if ( len + 5 >= 127 )
-    {
-        LOGE("in_path len more than error:[%d]\n", errno);
-        ret = -1;
-        return ret;
-    }
-
-    strcpy(def_fs, PART_FS);
-
-    tmp_dir = strncat(def_fs, in_path, sizeof(def_fs)-1);//先拼接再判断
-
-    if (strncmp(PART_FS_, tmp_dir, 4) == 0)
-    {
-        memcpy(out_path, tmp_dir, MBTK_FS_MAX);
-    }
-    else
-    {
-        ret = -1;
-        return ret;
-    }
-
-    memset(def_fs, 0x00, sizeof(def_fs));
-
-    return ret;
-}
-
-void fs_ls_at_cb_func(void *file_list_cb)
-{
-    char resp_buf[1024 + 1] = {0};
-    printf("+MFSLS::\r\n%s\n", ((mbtk_fs_dir_file_info_s *)file_list_cb)->name);
-    sprintf(resp_buf, "%s\n",((mbtk_fs_dir_file_info_s *)file_list_cb)->name);
-    mbtk_at_fs_printf(resp_buf);
-    //ret = ATRESP(30163, 0, 0, resp_buf);
-}
-
-void fs_ls_at_cb_func_num(void *file_list_cb)
-{
-    //不进行处理,只走流程
-}
-
-void mbtk_at_fs_data_cb(void *data, int data_len)
-{
-    char resp_buf[1024];
-    printf("\n=====data_cb data[%s]=====\n=====data_cb data_len[%d]=====\n",data, data_len);
-
-    memset(resp_buf,0,1024);
-    mbtk_at_fs_printf(resp_buf);
-
-    if(data_len > 512)
-    {
-        memset(resp_buf,0,1024);
-        memcpy(resp_buf,data,512);
-        mbtk_at_fs_printf(resp_buf);
-        memset(resp_buf,0,1024);
-        sprintf(resp_buf, "DATA: <%d>", 512);
-        mbtk_at_fs_printf(resp_buf);
-
-        memset(resp_buf,0,1024);
-        sprintf(resp_buf, "+MFSREAD:");
-        mbtk_at_fs_printf(resp_buf);
-        memset(resp_buf,0,1024);
-        memcpy(resp_buf,data+512,data_len-512);
-        mbtk_at_fs_printf(resp_buf);
-        memset(resp_buf,0,1024);
-        sprintf(resp_buf, "DATA: <%d>", data_len-512);
-        mbtk_at_fs_printf(resp_buf);
-    }
-    else
-    {
-        memset(resp_buf,0,1024);
-        memcpy(resp_buf,data,data_len);
-        mbtk_at_fs_printf(resp_buf);
-        
-        memset(resp_buf,0,1024);
-        sprintf(resp_buf, "<%d>", data_len);
-        mbtk_at_fs_printf(resp_buf);
-    }
-
-}
-
-
-//Creating a directory
-static int fs_cmd_process_mkd(char *path)
-{
-    int ret = 0;
-    char Filepath[MBTK_FS_MAX + 1];
-    char Pathtmp[MBTK_FS_MAX + 1];
-    char *pDir = NULL;
-    struct stat FileStat_t;
-
-    memset(Filepath, 0x00, sizeof(Filepath));
-    memset(Pathtmp, 0x00, sizeof(Pathtmp));
-    memset(&FileStat_t, 0x00, sizeof(FileStat_t));
-
-    memcpy(Filepath, path, sizeof(Filepath));
-
-    if ((ret = path_redirection(Filepath, Pathtmp)) == -1)
-    {
-        LOGE("input path_redirection error:[%d]\n", errno);
-        return ret;
-    }
-
-//后期再看那个合适
-#if 0
-    pDir = strtok(Filepath, "/");
-    strcat(Pathtmp, "/");
-    strcat(Pathtmp, pDir);
-    strcat(Pathtmp, "/");
-
-    memset(&FileStat_t, 0x00, sizeof(FileStat_t));
-    stat(Pathtmp, &FileStat_t);
-
-    if(!S_ISDIR(FileStat_t.st_mode))
-    {
-        ret = mkdir(Pathtmp, 0766);//创建路径
-        if(-1 == ret)
-        {
-            LOGE("mkdir path [%s] error:[%d]\n", __FUNCTION__, errno);
-            return ret;
-        }
-    }
-
-    while(NULL != ( pDir=strtok(NULL, "/") ))
-    {
-        strcat(Pathtmp, pDir);
-        strcat(Pathtmp, "/");
-
-        memset(&FileStat_t, 0x00, sizeof(FileStat_t));
-        stat(Pathtmp, &FileStat_t);
-
-        if(!S_ISDIR(FileStat_t.st_mode))
-        {
-            ret = mkdir(Pathtmp, 0766);//创建文件
-            if(-1 == ret)
-            {
-                LOGE("mkdir path [%s] error:[%d]\n", __FUNCTION__, errno);
-                return ret;
-            }
-        }
-    }
-#else
-    stat(Pathtmp, &FileStat_t);
-
-    if(!S_ISDIR(FileStat_t.st_mode))
-    {
-        ret = mkdir(Pathtmp, 0766);//创建路径
-        if(-1 == ret)
-        {
-            LOGE("mkdir path error:[%d]\n", errno);
-            return ret;
-        }
-    }
-    else
-    {
-        ret = -1;
-        LOGE("not a directory error:[%d]\n", errno);
-        return ret;
-    }
-
-#endif
-
-    return ret;
-}
-
-static int fs_cmd_process_rmkd(char *path)
-{
-    int ret = 0;
-    char Filepath[MBTK_FS_MAX + 1]={0};
-    char Pathtmp[MBTK_FS_MAX + 1]={0};
-
-    memcpy(Filepath, path, sizeof(Filepath));
-
-    if ((ret = path_redirection(Filepath, Pathtmp)) == -1)
-    {
-        LOGE("input path_redirection error:[%d]\n", errno);
-        return ret;
-    }
-
-     if (access(Pathtmp, F_OK) != 0)
-     {
-        ret = -1;
-        LOGE("File does not exist error:[%d]\n", errno);
-        return ret;
-     }
-
-    //ret = rmdir(Filepath);
-    ret = rmdir(Pathtmp);
-    if (ret == -1)
-    {
-        LOGE("rmkdir path error:[%d]\n", errno);
-    }
-
-    return ret;
-}
-
-static int fs_cmd_process_list_dir(char *path,mbtk_fs_dir_file_info_s *fs_dir_list)
-{
-    int ret = 0, count = 0, dir_count = 0, file_count = 0, len_name;
-    const char *temp_fs_path = NULL; 
-    struct dirent *files;
-    struct stat FileStat_t;
-    DIR *dir;
-    mbtk_fs_dir_file_info_s fs_dir_file_t, fs_dir_t, fs_file_t;
-    char Filepath[MBTK_FS_MAX + 1];
-
-    memset(fs_dir_list, 0x0, sizeof(mbtk_fs_dir_file_info_s)-sizeof(void *));
-
-    temp_fs_path = path;
-
-    chdir(temp_fs_path);
-
-    dir = opendir(temp_fs_path);
-
-    if (dir == NULL)
-    {
-        ret = -1;
-        LOGE("Directory cannot be opened!\n");
-        return ret;
-    }
-    while ((files = readdir(dir)) != NULL)
-    {
-        if(strcmp(files->d_name, ".") == 0 || strcmp(files->d_name, "..") == 0)
-        {
-            continue;
-        }//跳过隐藏文件
-
-        memset(&FileStat_t, 0x00, sizeof(FileStat_t));
-        memset(&fs_dir_file_t, 0x0, sizeof(mbtk_fs_dir_file_info_s));
-        memset(&fs_file_t, 0x0, sizeof(mbtk_fs_dir_file_info_s));
-        memset(&fs_dir_t, 0x0, sizeof(mbtk_fs_dir_file_info_s));
-
-        len_name = strlen(files->d_name);
-        //目录或者文件夹名字长度不能超过256,可以的话这里也可以做出错处理;
-        stat(files->d_name,&FileStat_t);
-
-        if(S_ISDIR(FileStat_t.st_mode)) //递归调用解析其子目录下的文件夹
-        {
-            memcpy(fs_dir_t.name, files->d_name, sizeof(len_name));
-            dir_count++;
-        }
-        else
-        {
-            memcpy(fs_file_t.name, files->d_name, sizeof(len_name));
-            file_count++;
-        }
-
-        memcpy(fs_dir_file_t.name, files->d_name, sizeof(len_name));
-        count++;
-
-        //每次对一个文件或者目录处理,就加入里面
-        (fs_dir_list->fs_ls_cb_typedef)(&fs_dir_t);
-    }
-    closedir(dir);
-
-    //每次显示完成后,把读取的数量传给全局变量方便读取
-    //mbtk_at_fs_par.all_dir_file = count;
-    mbtk_at_fs_par.dir_num = dir_count;
-    //mbtk_at_fs_par.file_num = file_count;
-
-    return ret;
-}
-
-static int fs_cmd_process_list_file(char *path,mbtk_fs_dir_file_info_s *fs_file_list)
-{
-    int ret = 0, count = 0, dir_count = 0, file_count = 0, len_name;
-    const char *temp_fs_path = NULL; 
-    struct dirent *files;
-    struct stat FileStat_t;
-    DIR *dir;
-    mbtk_fs_dir_file_info_s fs_dir_file_t, fs_dir_t, fs_file_t;
-    char Filepath[MBTK_FS_MAX + 1];
-
-    memset(fs_file_list, 0x0, sizeof(mbtk_fs_dir_file_info_s)-sizeof(void *));
-
-    temp_fs_path = path;
-
-    chdir(temp_fs_path);
-
-    dir = opendir(temp_fs_path);
-
-    if (dir == NULL)
-    {
-        ret = -1;
-        LOGE("Directory cannot be opened!\n");
-        return ret;
-    }
-    while ((files = readdir(dir)) != NULL)
-    {
-        if(strcmp(files->d_name, ".") == 0 || strcmp(files->d_name, "..") == 0)
-        {
-            continue;
-        }//跳过隐藏文件
-
-        memset(&FileStat_t, 0x00, sizeof(FileStat_t));
-        memset(&fs_dir_file_t, 0x0, sizeof(mbtk_fs_dir_file_info_s));
-        memset(&fs_file_t, 0x0, sizeof(mbtk_fs_dir_file_info_s));
-        memset(&fs_dir_t, 0x0, sizeof(mbtk_fs_dir_file_info_s));
-
-        len_name = strlen(files->d_name);
-        //目录或者文件夹名字长度不能超过256,可以的话这里也可以做出错处理;
-        stat(files->d_name,&FileStat_t);
-
-        if(S_ISDIR(FileStat_t.st_mode)) //递归调用解析其子目录下的文件夹
-        {
-            memcpy(fs_dir_t.name, files->d_name, (len_name)+1);
-            dir_count++;
-        }
-        else
-        {
-            memcpy(fs_file_t.name, files->d_name, (len_name)+1);
-            file_count++;
-        }
-
-        memcpy(fs_dir_file_t.name, files->d_name, (len_name)+1);
-        count++;
-
-        //每次对一个文件或者目录处理,就加入里面
-        (fs_file_list->fs_ls_cb_typedef)(&fs_file_t);
-    }
-
-    //每次显示完成后,把读取的数量传给全局变量方便读取
-    //mbtk_at_fs_par.all_dir_file = count;
-    //mbtk_at_fs_par.dir_num = dir_count;
-    mbtk_at_fs_par.file_num = file_count;
-
-    closedir(dir);
-
-    return ret;
-}
-
-static int fs_cmd_process_list_all(char *path,mbtk_fs_dir_file_info_s *fs_dir_and_file_list)
-{
-    int ret = 0, count = 0, dir_count = 0, file_count = 0, len_name;
-    const char *temp_fs_path = NULL; 
-    struct dirent *files;
-    struct stat FileStat_t;
-    DIR *dir;
-    mbtk_fs_dir_file_info_s fs_dir_file_t, fs_dir_t, fs_file_t;
-    char Filepath[MBTK_FS_MAX + 1];
-
-    memset(fs_dir_and_file_list, 0x0, sizeof(mbtk_fs_dir_file_info_s)-sizeof(void *));
-
-    temp_fs_path = path;
-
-    chdir(temp_fs_path);
-
-    dir = opendir(temp_fs_path);
-
-    if (dir == NULL)
-    {
-        ret = -1;
-        LOGE("Directory cannot be opened!\n");
-        return ret;
-    }
-    while ((files = readdir(dir)) != NULL)
-    {
-        if(strcmp(files->d_name, ".") == 0 || strcmp(files->d_name, "..") == 0)
-        {
-            continue;
-        }//跳过隐藏文件
-
-        memset(&FileStat_t, 0x00, sizeof(FileStat_t));
-        memset(&fs_dir_file_t, 0x0, sizeof(mbtk_fs_dir_file_info_s));
-        memset(&fs_file_t, 0x0, sizeof(mbtk_fs_dir_file_info_s));
-        memset(&fs_dir_t, 0x0, sizeof(mbtk_fs_dir_file_info_s));
-
-        len_name = strlen(files->d_name);
-        //目录或者文件夹名字长度不能超过256,可以的话这里也可以做出错处理;
-        stat(files->d_name,&FileStat_t);
-
-        if(S_ISDIR(FileStat_t.st_mode)) //递归调用解析其子目录下的文件夹
-        {
-            memcpy(fs_dir_t.name, files->d_name, (len_name)+1);
-            //LOGE("DIR>>>>>>>>>>>>>> [%s]\n", fs_dir_t.name);
-            dir_count++;
-        }
-        else
-        {
-            memcpy(fs_file_t.name, files->d_name, (len_name)+1);
-            //LOGE("FILE>>>>>>>>>>>>>> [%s]\n", fs_file_t.name);
-            file_count++;
-        }
-
-        memcpy(fs_dir_file_t.name, files->d_name, (len_name)+1);
-        //LOGE("ALL>>>>>>>>>>>>>> [%s]\n", fs_dir_file_t.name);
-        count++;
-
-        //每次对一个文件或者目录处理,就加入里面
-        (fs_dir_and_file_list->fs_ls_cb_typedef)(&fs_dir_file_t);
-    }
-
-    //每次显示完成后,把读取的数量传给全局变量方便读取
-    mbtk_at_fs_par.all_dir_file = count;
-    mbtk_at_fs_par.dir_num = dir_count;
-    mbtk_at_fs_par.file_num = file_count;
-
-    closedir(dir);
-
-    return ret;
-}
-
-static int fs_cmd_process_cd(char *path)
-{
-    int ret = 0;
-    char buf[1024];
-    char Filepath[MBTK_FS_MAX + 1];
-    char Pathtmp[MBTK_FS_MAX + 1];
-
-    memset(buf, 0x00, sizeof(buf));
-    memset(Filepath , 0x00, sizeof(Filepath));
-    memset(Pathtmp , 0x00, sizeof(Pathtmp));
-
-    memcpy(Filepath, path, sizeof(Filepath));
-
-    if ((ret = path_redirection(Filepath, Pathtmp)) == -1)
-    {
-        LOGE("input path_redirection error:[%d]\n", errno);
-        return ret;
-    }
-
-    ret = chdir(Pathtmp);
-
-//    ret = chdir(path);
-
-    if (ret == -1)
-    {
-        LOGE("cd path error:[%d]\n", errno);
-    }
-
-    char *ptr = getcwd(buf, sizeof(buf));
-    if (ptr == NULL)
-        LOGE("cd path error:[%d]\n", errno);
-
-    return ret;
-}
-
-static int fs_cmd_process_rename(char *old_path, char *new_path)
-{
-    int ret = 0;
-    char tmp_old[MBTK_FS_MAX + 1];
-    char tmp_new[MBTK_FS_MAX + 1];
-
-    memset(tmp_old , 0x00, sizeof(tmp_old));
-    memset(tmp_new , 0x00, sizeof(tmp_new));
-
-    if ((ret = path_redirection(old_path, tmp_old)) == -1)
-    {
-        LOGE("input path_redirection error:[%d]\n", errno);
-        return ret;
-    }
-
-    if ((ret = path_redirection(new_path, tmp_new)) == -1)
-    {
-        LOGE("input path_redirection error:[%d]\n", errno);
-        return ret;
-    }
-
-    ret = rename(tmp_old, tmp_new);
-//    ret = rename(old_path, new_path);
-
-    if (ret == -1)
-    {
-        LOGE("rename error:[%d]\n", errno);
-    }
-
-    return ret;
-}
-
-static int fs_cmd_process_copy(char *old_path, char *new_path, int mode)
-{
-    int ret = 0, num = 0;
-    int old_fd,new_fd;
-    char *tbuf = NULL;
-    int tmode = mode;//没有做处理,默认以同步方式
-    char tmp_old[MBTK_FS_MAX + 1];
-    char tmp_new[MBTK_FS_MAX + 1];
-
-    memset(tmp_old , 0x00, sizeof(tmp_old));
-    memset(tmp_new , 0x00, sizeof(tmp_new));
-
-    if ((ret = path_redirection(old_path, tmp_old)) == -1)
-    {
-        LOGE("input path_redirection error:[%d]\n", errno);
-        return ret;
-    }
-
-    if ((ret = path_redirection(new_path, tmp_new)) == -1)
-    {
-        LOGE("input path_redirection error:[%d]\n", errno);
-        return ret;
-    }
-
-    if (access(tmp_old, F_OK) != 0) //旧文件必须存在
-    {
-        ret = -1;
-        LOGE("old_file  access  errn = [%d]\n",errno);
-        goto exit;
-    }
-
-    if (access(tmp_new, F_OK) == 0) //新文件存在,则错误
-    {
-        ret = -1;
-        LOGE("new_file  access  errn = [%d]\n",errno);
-        goto exit;
-    }
-
-    if ( (old_fd=file_open(tmp_old, O_RDWR)) == -1 )
-    {
-        LOGE("open old_path error:[%d]\n", errno);
-        ret = -1;
-        goto exit;
-    }
-
-    if ( (new_fd=file_open(tmp_new, O_RDWR | O_CREAT)) == -1 )
-    {
-        LOGE("open new_path error:[%d]\n", errno);
-        ret = -1;
-        goto exit;
-    }
-
-    int len = lseek(old_fd,0,SEEK_END);//获取长度
-
-    if (len == -1)//获取文件大小时出错
-    {
-        LOGE("lseek error:[%d]\n", errno);
-        ret = -1;
-        goto exit;
-    }
-
-    lseek(old_fd,0,SEEK_SET);//还原指针指到开头处
-
-    tbuf = malloc(len + 1);
-
-    if (len+1 > BUFFERSIZE)
-        LOGE("Out of length\n");
-
-    num = file_read(old_fd, tbuf, len);
-
-    if (file_write(new_fd, tbuf, len) !=  num)
-    {
-        LOGE("The write does not match the read out\n");
-        ret = -1;
-        goto exit;
-    }
-
-    fsync(old_fd);
-    fsync(new_fd);
-
-exit:
-    file_close(old_fd);
-    file_close(new_fd);
-    free(tbuf);
-    return ret;
-}
-
-static int fs_cmd_process_memory(uint64 *total, uint64 *available)
-{
-    int ret = 0;
-    struct statfs buf;
-    uint64 blocksize, totalsize, availablesize, freesize;
-
-    ret = statfs(PART_FS_OERLAY, &buf);
-    if (ret == -1)
-    {
-        LOGE("statfs error:[%d]\n", errno);
-    }
-    else
-    {
-        blocksize = buf.f_bsize;                   // 每个block里包含的字节数
-        totalsize = blocksize * buf.f_blocks;      // 总的字节数,f_blocks为block的数目
-        //freesize = buf.f_bfree * blocksize;      // 剩余空间的大小
-        availablesize = buf.f_bavail * blocksize;  // 可用空间大小
-
-        *total = totalsize;
-        *available = availablesize;
-    }
-
-    return ret;
-}
-
-static int fs_cmd_process_delfile(char *path)
-{
-    int ret = 0;
-    char tmp[MBTK_FS_MAX + 1];
-
-    memset(tmp , 0x00, sizeof(tmp));
-
-    if ((ret = path_redirection(path, tmp)) == -1)
-    {
-        LOGE("input path_redirection error:[%d]\n", errno);
-        return ret;
-    }
-
-    ret = remove(tmp);
-//    ret = remove(path);
-
-    if (ret == -1)
-    {
-        LOGE("rm file error:[%d]\n", errno);
-    }
-
-    return ret;
-}
-
-static int fs_cmd_process_creatfile(char *path)
-{
-    int ret = 0 ,fd;
-    char tmp[MBTK_FS_MAX + 1];
-
-    memset(tmp , 0x00, sizeof(tmp));
-
-    if ((ret = path_redirection(path, tmp)) == -1)
-    {
-        LOGE("input path_redirection error:[%d]\n", errno);
-        return ret;
-    }
-
-    fd = file_open(tmp, O_RDWR | O_CREAT | O_TRUNC);
-    if (fd == -1)
-    {
-        ret = -1;
-        LOGE("creat file error:[%d]\n", errno);
-    }
-
-    file_close(fd);
-
-    return ret;
-}
-
-int mbtk_at_fs_dir(int cmd, char *fs_path)
-{
-    int at_fs_ret = 0;
-    char send_buf[SENDBUFF] = {0};
-    memset(send_buf, 0x00, sizeof(send_buf));
-
-    if ((at_fs_ret = creat_filesystem_def_dir()) == -1)
-    {
-        LOGE("creat_filesystem_def_dir error:[%d]\n", errno);
-        return at_fs_ret;
-    }
-
-    if ((at_fs_ret = path_pass()) == -1)
-        goto exit;
-
-    switch (cmd)
-    {
-        case 0:
-        {
-            at_fs_ret = fs_cmd_process_mkd(fs_path);
-            break;
-        }
-        case 1:
-        {
-            at_fs_ret = fs_cmd_process_rmkd(fs_path);
-            break;
-        }
-        default:
-        {
-            LOGE("ERROR cmd \n");
-            at_fs_ret = -1;
-            break;
-        }
-    }
-
-exit:
-    mbtk_at_fs_printf(send_buf);
-    mbtk_at_fs_printf("end");
-    return at_fs_ret;
-}
-
-int mbtk_at_fs_list_num_get(int32* dir_num, int32* file_num)
-{
-    int at_fs_ret = 0;
-    mbtk_fs_dir_file_info_s fs_dir_file;
-    char tmp_path[FS_NAME_LEN] = {0};
-    char *fs_pwd_path = NULL;
-    char send_buf[SENDBUFF] = {0};
-    memset(send_buf, 0x00, sizeof(send_buf));
-
-    if ((at_fs_ret = creat_filesystem_def_dir()) == -1)
-    {
-        LOGE("creat_filesystem_def_dir error:[%d]\n", errno);
-        return at_fs_ret;
-    }
-
-    if ((at_fs_ret = path_pass()) == -1)
-        goto exit;
-
-    fs_pwd_path = GET_PWD();//获取当前路径
-
-    strcpy(tmp_path, fs_pwd_path);
-
-    if (at_fs_ret == 0)
-    {
-        fs_dir_file.fs_ls_cb_typedef = fs_ls_at_cb_func_num;
-        at_fs_ret = fs_cmd_process_list_all(tmp_path, &fs_dir_file);
-
-        *file_num =  mbtk_at_fs_par.file_num;
-        *dir_num =  mbtk_at_fs_par.dir_num;
-    }
-    else
-    {
-        at_fs_ret = -1;
-        LOGE("OPEN this dir errno [%s]\n", tmp_path);
-        goto exit;
-    }
-
-exit:
-    mbtk_at_fs_printf(send_buf);
-    mbtk_at_fs_printf("end");
-    return at_fs_ret;
-}
-
-int mbtk_at_fs_list_dir_file_get()
-{
-    int at_fs_ret = 0;
-    char send_buf[SENDBUFF] = {0};
-    char *fs_pwd_path = NULL;
-    mbtk_fs_dir_file_info_s  fs_dir, fs_file;
-    char tmp_path[FS_NAME_LEN] = {0};
-
-    if ((at_fs_ret = creat_filesystem_def_dir()) == -1)
-    {
-        LOGE("creat_filesystem_def_dir error:[%d]\n", errno);
-        return at_fs_ret;
-    }
-
-    if ((at_fs_ret = path_pass()) == -1)
-        goto exit;
-
-    fs_pwd_path = GET_PWD();//获取当前路径
-
-    strcpy(tmp_path, fs_pwd_path);
-
-    if ((at_fs_ret = pwd_def_dir(tmp_path)) == -1)
-        goto exit;
-
-    memset(send_buf, 0x00, sizeof(send_buf));
-
-    mbtk_at_fs_printf("+MFSLS: SUBDIRECTORIES:");
-    fs_dir.fs_ls_cb_typedef = fs_ls_at_cb_func;
-    at_fs_ret = fs_cmd_process_list_dir(tmp_path,&fs_dir);
-
-    mbtk_at_fs_printf("+MFSLS: FILES:");
-    fs_file.fs_ls_cb_typedef = fs_ls_at_cb_func;
-    at_fs_ret = fs_cmd_process_list_file(tmp_path,&fs_file);
-
-exit:
-    mbtk_at_fs_printf(send_buf);
-    mbtk_at_fs_printf("end");
-    memset(send_buf, 0x00, sizeof(send_buf));
-    return at_fs_ret;
-}
-
-int mbtk_at_fs_list_set(int type)
-{
-    int at_fs_ret = 0;
-    char send_buf[SENDBUFF] = {0};
-    char *fs_pwd_path = NULL;
-    mbtk_fs_dir_file_info_s fs_dir_file, fs_dir, fs_file;
-    char tmp_path[FS_NAME_LEN] = {0};
-
-    if ((at_fs_ret = creat_filesystem_def_dir()) == -1)
-    {
-        LOGE("creat_filesystem_def_dir error:[%d]\n", errno);
-        return at_fs_ret;
-    }
-
-    if ((at_fs_ret = path_pass()) == -1)
-        goto exit;
-
-    fs_pwd_path = GET_PWD();//获取当前路径
-
-    strcpy(tmp_path, fs_pwd_path);
-
-    if ((at_fs_ret = pwd_def_dir(tmp_path)) == -1)
-        goto exit;
-
-    if (tmp_path != NULL)
-    {
-        LOGE("OPEN this dir [%s]\n", tmp_path);
-    }
-    else
-    {
-        at_fs_ret = -1;
-        LOGE("OPEN this dir errno [%s]\n", tmp_path);
-        goto exit;
-    }
-    memset(send_buf, 0x00, sizeof(send_buf));
-    mbtk_at_fs_par.at_fs_type = type;
-
-    switch (mbtk_at_fs_par.at_fs_type)
-    {
-        case 0://显示目录和文件名称
-        {
-            mbtk_at_fs_printf("+MFSLS:\n");
-            fs_dir_file.fs_ls_cb_typedef = fs_ls_at_cb_func;
-            at_fs_ret = fs_cmd_process_list_all(tmp_path, &fs_dir_file);
-
-            if(at_fs_ret != 0)
-            {
-                printf("+MFSLS: FAIL,<%d>\n",at_fs_ret);
-                sprintf(send_buf,"+MFSLS: FAIL,<%d>\n",at_fs_ret);
-            }
-            else
-            {
-                printf("+MFSLS:SUBDIRECTORIES: %d FILES: %d \r\n", mbtk_at_fs_par.dir_num, mbtk_at_fs_par.file_num);
-                sprintf(send_buf,"+MFSLS: SUBDIRECTORIES: %d FILES: %d \n", mbtk_at_fs_par.dir_num, mbtk_at_fs_par.file_num);
-            }
-            break;
-        }
-        case 1://显示目录名称
-        {
-            mbtk_at_fs_printf("+MFSLS:");
-            fs_dir.fs_ls_cb_typedef = fs_ls_at_cb_func;
-            at_fs_ret = fs_cmd_process_list_dir(tmp_path,&fs_dir);
-
-            if(at_fs_ret != 0)
-            {
-                printf("+MFSLS: FAIL,<%d>\n",at_fs_ret);
-                sprintf(send_buf,"+MFSRMDIR: FAIL,<%d>\n",at_fs_ret);
-            }
-            else
-            {
-                printf("+MFSLS:SUBDIRECTORIES: %d \r\n", mbtk_at_fs_par.dir_num);
-                sprintf(send_buf,"+MFSLS: SUBDIRECTORIES: %d \n", mbtk_at_fs_par.dir_num);
-            }
-            break;
-        }
-        case 2://显示文件名称
-        {
-            mbtk_at_fs_printf("+MFSLS:");
-            fs_file.fs_ls_cb_typedef = fs_ls_at_cb_func;
-            at_fs_ret = fs_cmd_process_list_file(tmp_path,&fs_file);
-
-            if(at_fs_ret != 0)
-            {
-                printf("+MFSLS: FAIL,<%d>\n",at_fs_ret);
-                sprintf(send_buf,"+MFSRMDIR: FAIL,<%d>\n",at_fs_ret);
-            }
-            else
-            {
-                printf("+MFSLS:FILES: %d \r\n",mbtk_at_fs_par.file_num);
-                sprintf(send_buf,"+MFSLS: FILES: %d \n",mbtk_at_fs_par.file_num);
-            }
-            break;
-        }
-        default:
-        {
-            LOGE("ERROR mbtk_at_fs_par.at_fs_type \n");
-            at_fs_ret = -1;
-            break;
-        }
-    }
-
-exit:
-    mbtk_at_fs_printf(send_buf);
-    mbtk_at_fs_printf("end");
-    memset(send_buf, 0x00, sizeof(send_buf));
-    return at_fs_ret;
-}
-
-int mbtk_at_fs_cd(char *fs_dir)
-{
-    int at_fs_ret = 0;
-    char send_buf[SENDBUFF] = {0};
-    memset(send_buf, 0x00, sizeof(send_buf));
-
-    if ((at_fs_ret = creat_filesystem_def_dir()) == -1)
-    {
-        LOGE("creat_filesystem_def_dir error:[%d]\n", errno);
-        return at_fs_ret;
-    }
-
-    if ((at_fs_ret = path_pass()) == -1)
-        goto exit;
-
-    at_fs_ret = fs_cmd_process_cd(fs_dir);
-
-    if(at_fs_ret == 0)
-    {
-        sprintf(send_buf,"+MFSCD: %s\r\n",fs_dir);
-    }
-
-exit:
-    mbtk_at_fs_printf(send_buf);
-    mbtk_at_fs_printf("end");
-    return at_fs_ret;
-}
-
-int mbtk_at_fs_delfile(char *fs_dir_file)
-{
-    int at_fs_ret = 0;
-    char send_buf[SENDBUFF] = {0};
-    memset(send_buf, 0x00, sizeof(send_buf));
-
-    if ((at_fs_ret = creat_filesystem_def_dir()) == -1)
-    {
-        LOGE("creat_filesystem_def_dir error:[%d]\n", errno);
-        return at_fs_ret;
-    }
-
-    if ((at_fs_ret = path_pass()) == -1)
-        goto exit;
-
-    at_fs_ret = fs_cmd_process_delfile(fs_dir_file);
-
-exit:
-    mbtk_at_fs_printf(send_buf);
-    mbtk_at_fs_printf("end");
-    return at_fs_ret;
-}
-
-int mbtk_at_fs_attri(char *fs_file)
-{
-    int at_fs_ret = 0, len_size;
-    char Filepath[MBTK_FS_MAX + 1]={0};
-    char Pathtmp[MBTK_FS_MAX + 1]={0};
-    char send_buf[SENDBUFF] = {0};
-    memset(send_buf, 0x00, sizeof(send_buf));
-
-    if ((at_fs_ret = creat_filesystem_def_dir()) == -1)
-    {
-        LOGE("creat_filesystem_def_dir error:[%d]\n", errno);
-        return at_fs_ret;
-    }
-
-    if ((at_fs_ret = path_pass()) == -1)
-        goto exit;
-
-    memcpy(Filepath, fs_file, sizeof(Filepath));
-
-    if ((at_fs_ret = path_redirection(Filepath, Pathtmp)) == -1)
-    {
-        LOGE("input path_redirection error:[%d]\n", errno);
-        goto exit;
-    }
-
-    if (0 != (access(Pathtmp, F_OK)))
-    {
-        LOGE("access file is null\n");
-        at_fs_ret = -1;
-        goto exit;
-    }
-
-    len_size = read_file_len(Pathtmp);
-
-    if(at_fs_ret != 0)
-    {
-        printf("+MFSATTRI : FAIL,<%d>\n",at_fs_ret);
-        sprintf(send_buf,"+MFSATTRI : FAIL,<%d>\n",at_fs_ret);
-        goto exit;
-    }
-    else
-    {
-        printf("+MFSATTRI: <%d>\n",len_size);
-        sprintf(send_buf,"+MFSATTRI: %d\n",len_size);
-        goto exit;
-    }
-
-exit:
-    mbtk_at_fs_printf(send_buf);
-    mbtk_at_fs_printf("end");
-    return at_fs_ret;
-}
-
-int mbtk_at_fs_writefile(mbtk_fs_data_info_t *fs_w_data)
-{
-    int at_fs_ret = 0, len_size, fd, write_mode, write_size;
-    char get_buf[FS_DATA_LEN];
-    char Filepath[MBTK_FS_MAX + 1]={0};
-    char Pathtmp[MBTK_FS_MAX + 1]={0};
-    char send_buf[SENDBUFF] = {0};
-    memset(send_buf, 0x00, sizeof(send_buf));
-
-    if ((at_fs_ret = creat_filesystem_def_dir()) == -1)
-    {
-        LOGE("creat_filesystem_def_dir error:[%d]\n", errno);
-        return at_fs_ret;
-    }
-
-    if ((at_fs_ret = path_pass()) == -1)
-        goto exit;
-
-    memset(get_buf, 0x00, sizeof(get_buf));
-
-    write_size = fs_w_data->fs_data_size;
-    memcpy(get_buf, fs_w_data->fs_data, write_size);
-    memcpy(Filepath, fs_w_data->fs_data_name, strlen(fs_w_data->fs_data_name));
-    write_mode = fs_w_data->fs_data_mode;
-
-    if ((at_fs_ret = path_redirection(Filepath, Pathtmp)) == -1)
-    {
-        LOGE("input path_redirection error:[%d]\n", errno);
-        goto exit;
-    }
-
-    if (0 != (access(Pathtmp, F_OK)))
-    {
-        LOGE("access file is null\n");
-        at_fs_ret = -1;
-        goto exit;
-    }
-
-    fd=file_open(Pathtmp,O_WRONLY);
-    if(-1 == fd)
-    {
-        LOGE("Write file error\n");
-        at_fs_ret = -1;
-        file_close(fd);
-        goto exit;
-    }
-    else
-    {
-        LOGE("Open file SUCCESS\r\n");
-
-        if (write_mode == 0)
-        { //将文件读写指针移动到文件头
-            lseek(fd,0,SEEK_SET);
-        }
-        else if (write_mode == 1)
-        { //将文件读写指针移动到文件尾
-            lseek(fd,0,SEEK_END);
-        }
-        else
-        {
-            LOGE("write_mode error\n");
-            at_fs_ret = -1;
-            file_close(fd);
-            goto exit;
-        }
-        //这两步可以加出错处理
-        file_write(fd, get_buf, write_size);
-        fsync(fd);
-        file_close(fd);
-    }
-
-exit:
-    mbtk_at_fs_printf(send_buf);
-    mbtk_at_fs_printf("end");
-    return at_fs_ret;
-}
-
-//int mbtk_at_fs_readfile(void *dir_file, int read_offset, int read_size, char* read_buff)
-int mbtk_at_fs_readfile(void *dir_file, int read_offset, int read_size)
-{
-    int at_fs_ret = 0, fd, count = 0,file_size, len_count = 0, len = 0;
-    char read_buf[1024];
-    char Filepath[MBTK_FS_MAX + 1]={0};
-    char Pathtmp[MBTK_FS_MAX + 1]={0};
-    char send_buf[1024] = {0};
-    memset(send_buf, 0x00, sizeof(send_buf));
-
-    if ((at_fs_ret = creat_filesystem_def_dir()) == -1)
-    {
-        LOGE("creat_filesystem_def_dir error:[%d]\n", errno);
-        return at_fs_ret;
-    }
-
-    if ((at_fs_ret = path_pass()) == -1)
-        goto exit;
-
-    memset(read_buf, 0x00, sizeof(read_buf));
-
-    memcpy(Filepath, dir_file, sizeof(Filepath));
-
-    if ((at_fs_ret = path_redirection(Filepath, Pathtmp)) == -1)
-    {
-        LOGE("input path_redirection error:[%d]\n", errno);
-        goto exit;
-    }
-
-    if (0 != (access(Pathtmp, F_OK)))
-    {
-        LOGE("access file is null\n");
-        at_fs_ret = -1;
-        goto exit;
-    }
-
-    file_size = read_file_len(Pathtmp);
-
-
-    fd = file_open(Pathtmp, O_RDONLY);
-    if (fd == -1)
-    {
-        LOGE("Read file error\n");
-        at_fs_ret = -1;
-        goto exit;
-    }
-    else
-    {
-        LOGE("Open file SUCCESS\r\n");
-        if (read_offset >= file_size)
-        {
-            LOGE("read_offset > file_size \n");
-            at_fs_ret = -1;
-            goto exit;
-        }
-
-        lseek(fd,read_offset,SEEK_SET);
-
-        //由于at客户端缓存才1k,切片512字节大小传输
-        if (read_size > 0)
-        {
-           if (0 < read_size  &&  read_size <= 512) //单次发生:文件大小-偏移量 < 发送大小
-           {
-                len = read(fd, read_buf, read_size); //返回实际读取的大小
-                LOGE("len = [%d]\n",len);
-                if (len > 0)
-                {
-                    //LOGE("read_buff = [%s]\n",read_buf);
-                    sprintf(send_buf,"+MFSREAD: DATA: %d, %s\n",len, read_buf);
-                }
-           }
-           else if(read_size <= 1024 && read_size > 512) //多次发送:
-           {
-                len = read(fd, read_buf, read_size);
-                count++;
-                LOGE("count = [%d]\n",count);
-                mbtk_at_fs_data_cb(read_buf, len);
-                sprintf(send_buf, "+MFSREAD: DATA: [%d] count: [%d]\r\n",len,count);
-                mbtk_at_fs_printf(send_buf);
-                memset(send_buf, 0x00, sizeof(send_buf));
-           }
-           else
-           {
-                LOGE("read_size errno\n");
-           }
-        }
-        else if (read_size == 0)//全部读取完成
-        {
-            if ((file_size-read_offset) < 512)
-            {
-                len = read(fd, read_buf, 1024); //返回实际读取的大小
-                LOGE("len = [%d]\n",len);
-                if (len > 0)
-                {
-                     //LOGE("read_buff = [%s]\n",read_buf);
-                     sprintf(send_buf,"+MFSREAD: DATA: %d, %s\n",len, read_buf);
-                }
-            }
-            else
-            {
-                while((file_size-read_offset) > len_count)
-                {
-                    len = read(fd, read_buf, 1024);
-                    count++;
-                    LOGE("count = [%d]\n",count);
-                    mbtk_at_fs_data_cb(read_buf, len);
-                    len_count += len;
-                    sprintf(send_buf, "+MFSREAD: DATA: [%d] count: [%d]\r\n",len_count, count);
-                    mbtk_at_fs_printf(send_buf);
-                    memset(send_buf, 0x00, sizeof(send_buf));
-                }
-            }
-        }
-        else
-        {
-            LOGE("read_size errno =[%d]\n",errno);
-        }
-
-        file_close(fd);
-    }
-
-exit:
-    mbtk_at_fs_printf(send_buf);
-    mbtk_at_fs_printf("end");
-    return at_fs_ret;
-}
-
-int mbtk_at_fs_rename(char *old_file, char *new_file)
-{
-    int at_fs_ret = 0;
-    char send_buf[SENDBUFF] = {0};
-    memset(send_buf, 0x00, sizeof(send_buf));
-
-    if ((at_fs_ret = creat_filesystem_def_dir()) == -1)
-    {
-        LOGE("creat_filesystem_def_dir error:[%d]\n", errno);
-        return at_fs_ret;
-    }
-
-    if ((at_fs_ret = path_pass()) == -1)
-        goto exit;
-
-    if (old_file == NULL || new_file == NULL)
-    {
-        at_fs_ret = -1;
-        LOGE("old_file or new_file is null\n");
-        goto exit;
-    }
-
-    at_fs_ret = fs_cmd_process_rename(old_file, new_file);
-
-exit:
-    mbtk_at_fs_printf(send_buf);
-    mbtk_at_fs_printf("end");
-    return at_fs_ret;
-}
-
-int mbtk_at_fs_creatfile(char *fs_file)
-{
-    int at_fs_ret = 0;
-    char send_buf[SENDBUFF] = {0};
-    memset(send_buf, 0x00, sizeof(send_buf));
-
-    if ((at_fs_ret = creat_filesystem_def_dir()) == -1)
-    {
-        LOGE("creat_filesystem_def_dir error:[%d]\n", errno);
-        return at_fs_ret;
-    }
-
-    if ((at_fs_ret = path_pass()) == -1)
-        goto exit;
-
-    at_fs_ret = fs_cmd_process_creatfile(fs_file);
-
-exit:
-    mbtk_at_fs_printf(send_buf);
-    mbtk_at_fs_printf("end");
-    return at_fs_ret;
-}
-
-int mbtk_at_fs_memory(uint64 *total_len,uint64 *available_len)
-{
-    int at_fs_ret = 0;
-    char send_buf[SENDBUFF] = {0};
-    memset(send_buf, 0x00, sizeof(send_buf));
-
-    at_fs_ret = fs_cmd_process_memory(total_len, available_len);
-
-exit:
-    mbtk_at_fs_printf(send_buf);
-    mbtk_at_fs_printf("end");
-    return at_fs_ret;
-}
-
-int mbtk_at_fs_copy(char *old_file, char *new_file, int mode)
-{
-    int at_fs_ret = 0;
-    char send_buf[SENDBUFF] = {0};
-    memset(send_buf, 0x00, sizeof(send_buf));
-
-    if ((at_fs_ret = creat_filesystem_def_dir()) == -1)
-    {
-        LOGE("creat_filesystem_def_dir error:[%d]\n", errno);
-        return at_fs_ret;
-    }
-
-    if ((at_fs_ret = path_pass()) == -1)
-        goto exit;
-
-    if (old_file == NULL || new_file == NULL)
-    {
-        at_fs_ret = -1;
-        LOGE("old_file or new_file is null\n");
-        goto exit;
-    }
-
-    at_fs_ret = fs_cmd_process_copy(old_file, new_file, mode);
-
-exit:
-    mbtk_at_fs_printf(send_buf);
-    mbtk_at_fs_printf("end");
-    return at_fs_ret;
-}
-
-int mbtk_at_fs_certload(mbtk_fs_data_certmode_t *certmode)
-{
-    int at_fs_ret = 0, fd, cert_mode, write_size;
-    char tmp_buf[FS_NAME_LEN];
-    char get_buf[FS_DATA_LEN];
-    char send_buf[SENDBUFF] = {0};
-    memset(send_buf, 0x00, sizeof(send_buf));
-
-    if ((at_fs_ret = creat_filesystem_def_dir()) == -1)
-    {
-        LOGE("creat_filesystem_def_dir error:[%d]\n", errno);
-        return at_fs_ret;
-    }
-
-    if ((at_fs_ret = path_pass()) == -1)
-        goto exit;
-
-    memset(get_buf, 0x00, sizeof(get_buf));
-    memset(tmp_buf, 0x00, sizeof(tmp_buf));
-
-    write_size = certmode->fs_data_size;
-    memcpy(get_buf, certmode->fs_data, write_size);
-    cert_mode = certmode->fs_data_certmode;
-
-    switch(cert_mode)
-    {
-        case 0:
-        {
-            memcpy(tmp_buf, FS_CERT_0, sizeof(tmp_buf));
-            break;
-        }
-        case 1:
-        {
-            memcpy(tmp_buf, FS_CERT_1, sizeof(tmp_buf));
-            break;
-        }
-        case 2:
-        {
-            memcpy(tmp_buf, FS_CERT_2, sizeof(tmp_buf));
-            break;
-        }
-        case 3:
-        {
-            memcpy(tmp_buf, FS_CERT_3, sizeof(tmp_buf));
-            break;
-        }
-        case 4:
-        {
-            memcpy(tmp_buf, FS_CERT_4, sizeof(tmp_buf));
-            break;
-        }
-        default:
-        {
-            LOGE("ERROR cert_mode \n");
-            at_fs_ret = -1;
-            break;
-        }
-    }
-
-    if (at_fs_ret == -1)
-        goto exit;
-
-    if (fd = file_open(tmp_buf,  O_RDWR | O_CREAT | O_TRUNC) == -1)
-    {
-        LOGE("Open file is err  [%d]\n",errno);
-        at_fs_ret = -1;
-        goto exit;
-    }
-    else
-    {
-        //通过at客户端往里面写数据
-        LOGE("Open file SUCCESS\r\n");
-        if (lseek(fd,0,SEEK_SET) == -1 )
-        {
-            LOGE("lseek error = [%d]\n",errno);
-            at_fs_ret = -1;
-            file_close(fd);
-            goto exit;
-        }
-        //这两步可以加出错处理
-        file_write(fd, get_buf, write_size);
-        fsync(fd);
-        file_close(fd);
-    }
-
-exit:
-    mbtk_at_fs_printf(send_buf);
-    mbtk_at_fs_printf("end");
-    return at_fs_ret;
-}
-
-int mbtk_at_fs_fileload(mbtk_fs_data_file_t *file)
-{
-    int at_fs_ret = 0, fd, write_size;
-    char get_buf[FS_DATA_LEN];
-    char Filepath[MBTK_FS_MAX + 1]={0};
-    char Pathtmp[MBTK_FS_MAX + 1]={0};
-    char send_buf[SENDBUFF] = {0};
-    memset(send_buf, 0x00, sizeof(send_buf));
-
-    if ((at_fs_ret = creat_filesystem_def_dir()) == -1)
-    {
-        LOGE("creat_filesystem_def_dir error:[%d]\n", errno);
-        return at_fs_ret;
-    }
-
-    if ((at_fs_ret = path_pass()) == -1)
-        goto exit;
-
-    memset(get_buf, 0x00, sizeof(get_buf));
-
-    if (file == NULL)
-    {
-        at_fs_ret = -1;
-        LOGE("file is null\n");
-        goto exit;
-    }
-
-    write_size = file->fs_data_size;
-    memcpy(get_buf, file->fs_data, write_size);
-    memcpy(Filepath, file->fs_data_name, strlen(file->fs_data_name));
-
-    if ((at_fs_ret = path_redirection(Filepath, Pathtmp)) == -1)
-    {
-        LOGE("input path_redirection error:[%d]\n", errno);
-        goto exit;
-    }
-
-    if (fd = file_open(Pathtmp, O_RDWR | O_CREAT | O_TRUNC) == -1)
-    {
-        LOGE("open file is err  [%d]\n",errno);
-    }
-    else
-    {
-        //通过at客户端往里面写数据
-        LOGE("Open file SUCCESS\r\n");
-        if (lseek(fd,0,SEEK_SET) == -1 )
-        {
-            LOGE("lseek error = [%d]\n",errno);
-            at_fs_ret = -1;
-            file_close(fd);
-            goto exit;
-        }
-        //这两步可以加出错处理
-        file_write(fd, get_buf, write_size);
-        fsync(fd);
-        file_close(fd);
-    }
-
-exit:
-    mbtk_at_fs_printf(send_buf);
-    mbtk_at_fs_printf("end");
-    return at_fs_ret;
-}
-
-
diff --git a/mbtk/mbtk_lib/src/mbtk_gnss.c b/mbtk/mbtk_lib/src/mbtk_gnss_6228.c
similarity index 99%
rename from mbtk/mbtk_lib/src/mbtk_gnss.c
rename to mbtk/mbtk_lib/src/mbtk_gnss_6228.c
index 72c207c..ab53662 100755
--- a/mbtk/mbtk_lib/src/mbtk_gnss.c
+++ b/mbtk/mbtk_lib/src/mbtk_gnss_6228.c
@@ -23,7 +23,7 @@
 #include <time.h>
 #include <sys/ioctl.h>
 #include "mbtk_type.h"
-#include "mbtk_gnss.h"
+#include "mbtk_gnss_6228.h"
 #include "mbtk_http.h"
 #include "mbtk_log.h"
 #include "ringbuffer.h"
@@ -1867,7 +1867,7 @@
 
 		set_baudrate(fd, B921600);
 		ret = sendAPData(fd, "/etc/mbtk/rtm.bin");
-		
+
         if(0 != ret) {
 			close(fd);
             printf("Gnss update result: %x\n", ret);
@@ -1966,7 +1966,7 @@
 	case 9:{
 		ret = mbtk_gnss_set_system_config((uint32)mbtk_gnss_handle,2);//GPS+GLONASS
 		break;
-	}	
+	}
     default:
         break;
     }