Add toolchain and mbtk source

Change-Id: Ie12546301367ea59240bf23d5e184ad7e36e40b3
diff --git a/mbtk/test/mbtk_ftp_test.c b/mbtk/test/mbtk_ftp_test.c
new file mode 100755
index 0000000..481108d
--- /dev/null
+++ b/mbtk/test/mbtk_ftp_test.c
@@ -0,0 +1,144 @@
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <errno.h>
+
+#include "mbtk_type.h"
+#include "mbtk_ftp.h"
+#include "mbtk_log.h"
+#include "mbtk_str.h"
+
+static int ftp_cmd_process(mbtk_ftp_handle handle, const char *cmd)
+{
+    if(!strncasecmp(cmd, "download", 8)) {
+        // Download file: /data
+        uint32 len_count = 0;
+        uint32 len;
+        int download_time = 0;
+
+        uint32 file_size = mbtk_ftp_file_size(handle, "/Luo/Luo_up.txt");
+        if(file_size > 0)
+        {
+            printf("Will download file:/data[%d]\n", file_size);
+            // Start download
+            len = mbtk_ftp_download_start(handle, "/Luo/Luo_up.txt", "/tmp/ftp_data", NULL);
+            if(len > 0)
+            {
+                len_count += len;
+                download_time++;
+                printf("Download[time-%d] size:[%d / %d]\n", download_time, len_count, file_size);
+                while (len_count < file_size
+                       && download_time <= 10 // Try 10 times.
+                       && (len = mbtk_ftp_download_continue(handle)) > 0)
+                {
+                    len_count += len;
+                    download_time++;
+                    printf("Download[time-%d] size:[%d / %d]\n", download_time, len_count, file_size);
+                }
+
+                printf("Download complete - [%d / %d].\n",len_count, file_size);
+            }
+            else
+            {
+                printf("FTP download fail[%d / %d].\n",len_count, file_size);
+                return -1;
+            }
+        }else {
+            printf("File error.\n");
+            return -1;
+        }
+    }
+    else if(!strncasecmp(cmd, "upload", 6)) {
+        int len = 0;
+        len = mbtk_ftp_upload_start(handle, "/Luo/up_ftp3.txt", "/tmp/ftp_data", 0);
+        if( len != 0)
+        {
+            printf("FTP update fail\n");
+            return -1;
+        }
+        else
+        {
+            printf("FTP update success\n");
+        }
+    }
+    else if(!strncasecmp(cmd, "pwd", 3)) {
+        char path[50] = {0};
+        mbtk_ftp_error_enum err = mbtk_ftp_pwd(handle, path);
+        if(FTP_ERR_SUCCESS != err) {
+            printf("mbtk_ftp_pwd() fail:%d\n", err);
+            return -1;
+        }
+
+        printf("PWD : %s\n", path);
+    } else if(!strncasecmp(cmd, "cd ", 3)) {
+        char path[50] = {0};
+        memcpy(path, cmd + 3, strlen(cmd) - 3);
+        mbtk_ftp_error_enum err = mbtk_ftp_cd(handle, path);
+        if(FTP_ERR_SUCCESS != err) {
+            printf("mbtk_ftp_cd() fail:%d\n", err);
+            return -1;
+        }
+
+        printf("cd %s\n", path);
+    } else if(!strncasecmp(cmd, "ls", 2)) {
+        mbtk_ftp_file_info_s list_head;
+        mbtk_ftp_error_enum err = mbtk_ftp_dir_ls(handle, &list_head);
+        if(FTP_ERR_SUCCESS != err) {
+            printf("mbtk_ftp_dir_ls() fail:%d\n", err);
+            return -1;
+        }
+
+        mbtk_ftp_file_info_s *f_ptr = list_head.next;
+        while(f_ptr && !str_empty(f_ptr->name)) {
+            printf("%s, %s, %d\n", f_ptr->name, f_ptr->is_file ? "F" : "D", f_ptr->size);
+            f_ptr = f_ptr->next;
+        }
+    } else {
+        printf("Unknow CMD.\n");
+        return -1;
+    }
+
+    return 0;
+}
+
+int main(int argc, char *argv[])
+{
+    mbtk_ftp_handle handle = mbtk_ftp_init("58.246.1.50", 6521, FTP_AUTH_TYPE_NON, false, false);
+    if(handle < 0) {
+        printf("mbtk_ftp_init() fail.\n");
+        return -1;
+    }
+
+    mbtk_ftp_error_enum err = mbtk_ftp_login(handle, " FTP_TST", "FTPTST_0320");
+    if(err != FTP_ERR_SUCCESS) {
+        printf("mbtk_ftp_login() fail:%d\n", err);
+        goto ftp_exit;
+    }
+
+    printf("Login success.\nCMD:");
+
+    char cmd[50];
+    while(1) {
+        memset(cmd, 0, 50);
+        gets(cmd);
+        if(!strcasecmp(cmd, "q")) {
+            break;
+        } else {
+            ftp_cmd_process(handle, cmd);
+        }
+
+        printf("CMD:");
+    }
+
+    printf("FTP test success.\n");
+ftp_quit:
+    mbtk_ftp_quit(handle);
+ftp_exit:
+    mbtk_ftp_deinit(handle);
+    printf("FTP test complete.\n");
+    return 0;
+
+}
+