Fix socket and tcp api.

Change-Id: I256eefee0c874377e66b334958b353c1ee66c2c5
diff --git a/mbtk/test/mbtk_tcpip_test.c b/mbtk/test/mbtk_tcpip_test.c
index 5bd39f1..d30d706 100755
--- a/mbtk/test/mbtk_tcpip_test.c
+++ b/mbtk/test/mbtk_tcpip_test.c
@@ -38,10 +38,11 @@
     printf("link_open <link_id> <ser_addr> <ser_port> <loc_port> <TCP/UDP> <CLI/SER> <ack> <ssl> <ignore_cert> <heartbeat_time> <delay_time> <read_cb>: Open link.\n");
     printf("link_close <link_id>: Close link.\n");
     printf("send <link_id> <data>:Send data.\n");
-    printf("recv <link_id>:Recv data.\n");
+    printf("recv <link_id> <len>:Recv data.\n");
     printf("traffic_reset <link_id>:Traffic reset.\n");
     printf("traffic_get <link_id>:Traffic get.\n");
     printf("state_get <link_id>:Link state get.\n");
+    printf("tcp_info <link_id>:TCP information state get.\n");
     printf("\n************************************************************************\n");
 }
 
@@ -101,6 +102,14 @@
     }
 }
 
+void tcpip_print_tcp_info(mbtk_tcpip_tcp_state_info_s *info)
+{
+    printf("Link - %d\n", info->link_id);
+    printf("fd - %d\n", info->sock_fd);
+    printf("State - %d\n", info->state);
+    printf("Recv data length - %d\n", info->recv_data_len);
+}
+
 void tcpip_read_cb(int link_id, const char* data, int data_len)
 {
     printf("\nRECV(%d-%d):%s\n", link_id, data_len, data);
@@ -227,12 +236,13 @@
                 } else {
                     printf("ARG error.\n");
                 }
-            } else if(!strncasecmp(cmd, "recv", 4)){ // recv <link_id>
+            } else if(!strncasecmp(cmd, "recv", 4)){ // recv <link_id> <len>
                 int link_id;
-                int count = sscanf(cmd, "recv %d", &link_id);
-                if(count == 1) {
+                int read_size;
+                int count = sscanf(cmd, "recv %d %d", &link_id, &read_size);
+                if(count == 2 && read_size > 0 && read_size <= 2048) {
                     char buff[2048] = {0};
-                    int len = mbtk_tcpip_read(link_id, buff, 2048);
+                    int len = mbtk_tcpip_read(link_id, buff, read_size);
                     if(len > 0) {
                         printf("RECV[%d]:%s\n", len, buff);
                     } else {
@@ -283,6 +293,20 @@
                     printf("ARG error.\n");
                 }
             }
+            else if(!strncasecmp(cmd, "tcp_info", 8)){ // tcp_info <link_id>
+                int link_id;
+                int count = sscanf(cmd, "tcp_info %d", &link_id);
+                if(count == 1) {
+                    mbtk_tcpip_tcp_state_info_s tcp_info;
+                    if(mbtk_tcpip_info_get(link_id, &tcp_info)) {
+                        printf("mbtk_tcpip_info_get() fail.\n");
+                    } else {
+                        tcpip_print_tcp_info(&tcp_info);
+                    }
+                } else {
+                    printf("ARG error.\n");
+                }
+            }
             else if(!strcasecmp(cmd, "h") || !strcasecmp(cmd, "help")) {
                 help();
             } else if(!strcasecmp(cmd, "q")) {