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")) {