[Feature]add MT2731_MP2_MR2_SVN388 baseline version
Change-Id: Ief04314834b31e27effab435d3ca8ba33b499059
diff --git a/src/lynq/packages/apps/lynq-tcpcli/lynq_tcpcli.c b/src/lynq/packages/apps/lynq-tcpcli/lynq_tcpcli.c
new file mode 100644
index 0000000..b131b76
--- /dev/null
+++ b/src/lynq/packages/apps/lynq-tcpcli/lynq_tcpcli.c
@@ -0,0 +1,66 @@
+#include <stdio.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <strings.h>
+#include<stdlib.h>
+#include "liblog/liblog.h"
+#include "liblog/lynq_deflog.h"
+
+#define USER_LOG_TAG "TCPCLI"
+#define SA struct sockaddr
+#define BUF_LEN 128
+#define ERR_CMDVALID 2
+#define ERR_SOCK 3
+
+int main(int argc, const char *argv[])
+{
+ int sockfd;
+ char buf[BUF_LEN];
+ int ret_con;
+
+ LYLOGEINIT(USER_LOG_TAG);
+ if(argc<3)
+ {
+ LYDBGLOG("arg is wrong, please input ip and port\n");
+ LYVERBLOG("+[tcpcli]: error num = %d\n", ERR_CMDVALID);
+ return ERR_CMDVALID;
+ }
+
+ sockfd=socket(AF_INET,SOCK_STREAM,0);
+
+ if(sockfd<0)
+ {
+ LYDBGLOG("fail to socket\n");
+ return ERR_SOCK;
+ }
+ struct sockaddr_in seraddr;
+ seraddr.sin_family=AF_INET;
+ seraddr.sin_port=htons(atoi(argv[2]));
+ seraddr.sin_addr.s_addr=inet_addr(argv[1]);
+
+
+ while(1)
+ {
+ ret_con=connect(sockfd,(SA *)&seraddr,sizeof(seraddr));
+ if(ret_con<0)
+ {
+ LYDBGLOG("fail to connect\n");
+ return ERR_SOCK;
+ }
+ while(1)
+ {
+ bzero(buf,sizeof(buf));
+ fgets(buf,sizeof(buf),stdin);
+
+ send(sockfd,buf,sizeof(buf),0);
+
+ bzero(buf,sizeof(buf));
+ recv(sockfd,buf,sizeof(buf),0);
+
+ LYVERBLOG("+[tcpcli]: cli_rcv = %s\n",buf);
+ }
+ }
+
+ return 0;
+}
diff --git a/src/lynq/packages/apps/lynq-tcpcli/makefile b/src/lynq/packages/apps/lynq-tcpcli/makefile
new file mode 100644
index 0000000..bd11f7c
--- /dev/null
+++ b/src/lynq/packages/apps/lynq-tcpcli/makefile
@@ -0,0 +1,50 @@
+SHELL = /bin/sh
+RM = rm -f
+
+LOCAL_CFLAGS := -Wall \
+ -g -Os \
+ -flto \
+ -fpermissive \
+
+
+
+
+LOCAL_PATH = .
+
+LOCAL_C_INCLUDES = \
+ -I. \
+ -I$(ROOT)$(includedir)/logger \
+ -I$(ROOT)$(includedir)/liblog \
+ -I$(ROOT)$(includedir)/glib-2.0 \
+ -I$(ROOT)$(libdir)/glib-2.0/include \
+ -I$(ROOT)$(includedir)/dbus-1.0 \
+ -I$(ROOT)$(libdir)/dbus-1.0/include \
+
+
+LOCAL_LIBS := \
+ -L. \
+ -ldl \
+ -lpthread \
+ -llynq-log \
+ -lssl \
+ -lglib-2.0 \
+ -lgobject-2.0 \
+ -lgio-2.0 \
+ -ldbus-1 \
+
+SOURCES = $(wildcard *.c)
+
+EXECUTABLE = lynq-tcpcli
+
+OBJECTS=$(SOURCES:.c=.o)
+all: $(EXECUTABLE)
+
+$(EXECUTABLE): $(OBJECTS)
+ $(CXX) $(OBJECTS) $(LOCAL_LIBS) $(LOCAL_CFLAGS) $(LOCAL_C_INCLUDES) -o $@
+
+%.o : %.c
+ $(CC) $(LOCAL_C_INCLUDES) $(LOCAL_CFLAGS) $(LOCAL_LIBS) -o $@ -c $<
+
+.PHONY: clean
+clean:
+ $(RM) $(OBJECTS) $(EXECUTABLE)