Squashed 'LYNQ_PUBLIC/' content from commit 79d8f932f

git-subtree-dir: LYNQ_PUBLIC
git-subtree-split: 79d8f932fb4ebc4b5aec6c5ace97634912394272
Change-Id: If2527ba937f56fe989487bf71e996f7cfd9fbe61
diff --git a/common_src/packages/apps/lynq-udpcli/LICENSE b/common_src/packages/apps/lynq-udpcli/LICENSE
new file mode 100644
index 0000000..77f59ed
--- /dev/null
+++ b/common_src/packages/apps/lynq-udpcli/LICENSE
@@ -0,0 +1,31 @@
+Copyright Statement:
+
+This software/firmware and related documentation ("MediaTek Software") are
+protected under relevant copyright laws. The information contained herein is
+confidential and proprietary to MediaTek Inc. and/or its licensors. Without
+the prior written permission of MediaTek inc. and/or its licensors, any
+reproduction, modification, use or disclosure of MediaTek Software, and
+information contained herein, in whole or in part, shall be strictly
+prohibited.
+
+MediaTek Inc. (C) 2015. All rights reserved.
+
+BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER
+ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL
+WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
+NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH
+RESPECT TO THE SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY,
+INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES
+TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO.
+RECEIVER EXPRESSLY ACKNOWLEDGES THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO
+OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES CONTAINED IN MEDIATEK
+SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE
+RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
+STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S
+ENTIRE AND CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE
+RELEASED HEREUNDER WILL BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE
+MEDIATEK SOFTWARE AT ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE
+CHARGE PAID BY RECEIVER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
diff --git a/common_src/packages/apps/lynq-udpcli/lynq_udpcli.c b/common_src/packages/apps/lynq-udpcli/lynq_udpcli.c
new file mode 100644
index 0000000..de42922
--- /dev/null
+++ b/common_src/packages/apps/lynq-udpcli/lynq_udpcli.c
@@ -0,0 +1,60 @@
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
+#include<stdlib.h>
+#include <netinet/in.h>
+#include <strings.h>
+#include "liblog/liblog.h"
+#include "liblog/lynq_deflog.h"
+
+
+#define USER_LOG_TAG "UDPCLI"
+#define BUF_LEN 128
+#define ERR_CMDVALID  2	
+#define ERR_SOCK  3
+#define SA struct sockaddr
+
+int main(int argc, const char *argv[])
+{
+	int sockfd;
+	char buf[BUF_LEN];
+
+
+	LYLOGEINIT(USER_LOG_TAG);    
+	if(argc!=3)
+	{
+		LYDBGLOG("argv is wrong, please input ip and port\n");
+		LYVERBLOG("+[udpcli]: error num = %d\n", ERR_CMDVALID);
+		return ERR_CMDVALID;
+	}
+
+	sockfd=socket(AF_INET,SOCK_DGRAM,0);
+
+	if(sockfd<0)
+	{
+		LYDBGLOG("fail to sockfd\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]);
+
+	int len=sizeof(seraddr);
+
+	while(1)
+	{
+		bzero(buf,sizeof(buf));
+
+		fgets(buf,sizeof(buf),stdin);
+
+		sendto(sockfd,buf,sizeof(buf),0,(SA *)&seraddr,len);
+
+		recvfrom(sockfd,buf,sizeof(buf),0,NULL,NULL);
+
+		LYVERBLOG("+[udpcli]: cli_rcv = %s\n",buf);
+	}
+	return 0;
+}
diff --git a/common_src/packages/apps/lynq-udpcli/makefile b/common_src/packages/apps/lynq-udpcli/makefile
new file mode 100644
index 0000000..71a4d23
--- /dev/null
+++ b/common_src/packages/apps/lynq-udpcli/makefile
@@ -0,0 +1,50 @@
+SHELL = /bin/sh
+RM = rm -f
+
+LOCAL_CFLAGS := -Wall \
+                -g -Os \
+                -flto \
+                -fpermissive \
+                -fPIC \
+
+
+
+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 \
+    -llog-ril \
+    -lssl \
+    -lglib-2.0 \
+    -lgobject-2.0 \
+    -lgio-2.0 \
+    -ldbus-1 \
+
+SOURCES = $(wildcard *.c)
+
+EXECUTABLE = lynq-udpcli
+
+OBJECTS=$(SOURCES:.c=.o)
+all: $(EXECUTABLE)
+
+$(EXECUTABLE): $(OBJECTS)
+	$(CXX) -shared -Wl,--no-undefined $(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)