[Feature][Modem]Update MTK MODEM V1.6 baseline version: MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6
MTK modem version: MT2735_IVT_MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6.tar.gz
RF modem version: NA
Change-Id: I45a4c2752fa9d1a618beacd5d40737fb39ab64fb
diff --git a/mcu/interface/protocol/l4_c2k/valhlpapi.h b/mcu/interface/protocol/l4_c2k/valhlpapi.h
new file mode 100644
index 0000000..0f0aa52
--- /dev/null
+++ b/mcu/interface/protocol/l4_c2k/valhlpapi.h
@@ -0,0 +1,1758 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER 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 BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'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 BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 2005-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+#ifndef VALHLP_H
+#define VALHLP_H
+/*************************************************************************************************
+*
+* FILE NAME : valhlpapi.h
+*
+* DESCRIPTION : This file contains the declarations, definitions
+* and data structures used to interface to the
+* VAL for the Network API.
+*
+*
+* HISTORY :
+* See Log at end of file
+*
+**************************************************************************************************/
+#include "kal_public_defs.h"
+
+#include "sysdefs.h"
+#include "valapi.h"
+#include "hlpapi.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#define NET_INADDR_ANY 0x0L
+
+#define NET_MAX_SOCKS 8
+
+#define VAL_NET_MAX_REG_TASK 5
+#define NET_MAX_LISTEN_SOCK 5
+#define NET_LINGER_TIMER 120 /*linger at most 2m*/
+#define VAL_INADDR_LOOPBACK 0x7F000001UL
+#define VAL_INVALID_LEN 0xFFFFFFFFUL
+
+#ifdef MTK_PLT_ON_PC
+#define VAL_ICMP_HEADER_LEN (8)
+#endif /* MTK_PLT_ON_PC */
+
+typedef enum
+{
+ NET_IP_PROTOCOL = 0,
+ NET_ICMP_PROTOCOL = 1,
+ NET_TCP_PROTOCOL = 6,
+ NET_UDP_PROTOCOL = 17
+} NetProtocolT;
+
+typedef enum
+{
+ NET_SOCK_STREAM_TYPE,
+ NET_SOCK_DGRAM_TYPE,
+ SOCK_ICMP_TYPE
+} NetTypeT;
+
+typedef enum
+{
+ NET_AF_INET_DOMAIN
+} NetDomainT;
+
+typedef enum
+{
+ NET_WRITE_EVENT = 0x0001, /*socket ready to write */
+ NET_READ_EVENT = 0x0002, /*socket ready to read */
+ NET_CLOSE_EVENT = 0x0004, /*socket close successfully */
+ NET_ACCEPT_EVENT = 0x0008, /*socket ready to accept connection request */
+ NET_CONNECT_EVENT = 0x0010, /*socket connect successfully */
+ NET_CREATE_EVENT = 0x0020, /*socket created successfully */
+ NET_BIND_EVENT = 0x0040, /*socket binded successfully*/
+ NET_LISTEN_EVENT = 0x0080,
+ NET_BIND_FAIL_EVENT = 0x0100,
+ NET_SHUTDOWN_FAIL_EVENT = 0x0200, /* shut down failed*/
+ NET_SHUTDOWN_SUCESS_EVENT = 0x0400,
+ NET_OPT_SET_FAIL_EVENT = 0x0800,
+ NET_OPT_SET_SUCESS_EVENT = 0x1000,
+ NET_LISTEN_FAIL_EVENT = 0x2000,
+ NET_CONNECT_FAIL_EVENT = 0x4000,
+ NET_CREATE_FAIL_EVENT = 0x8000,
+ NET_NUM_EVENT
+} NetEvenTypeT;
+
+typedef struct
+{
+ kal_uint16 SinFamily;
+ kal_uint16 SinPort;
+ kal_uint32 Address;
+ char SizeZero[8];
+} NetSockAddrT;
+
+typedef struct
+{
+ kal_uint16 SinFamily;
+ kal_uint16 SinPort;
+ kal_uint32 Address[4];
+ char SizeZero[8];
+} NetSockIPv6AddrT;
+
+
+typedef enum
+{
+ SOCKET_NULL_STATE,
+ SOCKET_OPENING_STATE,
+ SOCKET_OPEN_STATE,
+ SOCKET_CLOSING_STATE,
+ SOCKET_WAITFOR_CLOSE_STATE,
+ SOCKET_CLOSED_STATE
+} SockStateT;
+
+typedef enum
+{
+ SOCKET_OP_LISTEN = 0x0001,
+ SOCKET_OP_LINGER = 0x0002,
+ SOCKET_OP_KEEPALIVE = 0x0004,
+ SOCKET_OP_ACCEPTCONN = 0x0008,
+ SOCKET_OP_NALGE = 0x0010,
+ SOCKET_OP_RCVSIZE = 0x0020,
+ SOCKET_OP_SNDSIZE = 0x00040,
+ All_SOCKET_OP
+}SocketOptionT;
+
+typedef enum
+{
+ SOCKET_SEND_NO_DELAY = 0x01,
+ SOCKET_SEND_IDLE = 0x02
+}SocketSendTypeT;
+
+typedef enum
+{
+ SOCK_SD_NONE = 0x00,
+ SOCK_SD_RECEIVE = 0x01,
+ SOCK_SD_SEND = 0x02,
+ SOCK_SD_BOTH = 0x03
+}SockSDStateT;
+
+typedef enum
+{
+ SOCKET_FP_TOS =1, /* set IP type-of-service */
+ SOCKET_FP_TTL =2, /* set IP datagram time-to-live */
+ SOCKET_FP_FLAGS =3, /* set or clear binary option */
+ SOCKET_FP_RECVBUF =4, /* set receive buffer size */
+ SOCKET_FP_MAXSEG = 5,
+ SOCKET_FP_MAXRXTSHIFT =6, /* set maximum frame re-transmission */
+ SOCKET_FP_KEEPALIVE=7
+}SocketOpFlagT;
+
+typedef enum
+{
+ NET_SUCCESS, /* The operation was a success. */
+ NET_EBADF, /* Bad file number */
+ NET_EFAULT, /* Bad address */
+ NET_EWOULDBLOCK, /* Operation would block */
+ NET_EAFNOSUPPORT, /* Address family not supported by protocol. */
+ NET_EPROTOTYPE, /* Protocol wrong type for socket */
+ NET_ESOCKNOSUPPORT,/* Socket type not supported. */
+ NET_EPROTONOSUPPORT,/* Protocol not supported */
+ NET_EMFILE, /* Too many open files. */
+ NET_EOPNOTSUPP, /* Operation not supported on transport endpoint. */
+ NET_EADDRINUSE, /* Address already in use. */
+ NET_EADDRREQ, /* Destination address required */
+ NET_EINPROGRESS, /* Operation now in progress */
+ NET_ESHUTDOWN, /* Socket was closed */
+ NET_EISCONN, /* Transport endpoint is already connected. */
+ NET_EIPADDRCHANGED, /* Remote address changed. */
+ NET_ENOTCONN, /* Transport endpoint is not connected. */
+ NET_ECONNREFUSED, /* Connection refused. */
+ NET_ETIMEDOUT, /* Connection timed out. */
+ NET_ECONNRESET, /* Connection reset by peer. */
+ NET_ECONNABORTED, /* Software caused connection abort. */
+ NET_ENETDOWN, /* Network is down. */
+ NET_EPIPE, /* Broken pipe. */
+ NET_EMAPP, /* No mapping found. */
+ NET_EBADAPP, /* RegId invalid. */
+ NET_ESOCKEXIST, /* The socket doesn't exist. */
+ NET_EINVAL, /* Invalid argument. */
+ NET_EMSGSIZE, /* Message too long. */
+ NET_EEOF, /* End of file reached. */
+ NET_EHOSTNOTFOUND, /* The host wasn't found. */
+ NET_ETRYAGAIN, /* Try again. */
+ NET_ENORECOVERY, /* Can't recover from error. */
+ NET_ENOADDRESS, /* No address given. */
+ NET_SUCCESS_END, /*Success and have no more data left to be sent to val*/
+ NET_ENETEXIST
+} NetResultT;
+
+typedef enum
+{
+ NET_RLP_DEFAULT_SETTINGS,
+ NET_RLP_CURRENT_SETTINGS,
+ NET_RLP_NEGOTIATED_SETTINGS
+} NetRlpSettingsTypeT;
+
+typedef struct
+{
+ kal_uint8 FwdNakRounds;
+ kal_uint8 FwdNaksPerRounds[7];
+ kal_uint8 RevNakRounds;
+ kal_uint8 RevNaksPerRounds[7];
+} NetRlpSettingsT;
+
+/*This data type is the PPP connection status.
+ * NET_ISCONN_STATUS - PPP connection is established and available.
+ * NET_INPROGRESS_STATUS, - PPP connection in progress.
+ * NET_NONET_STATUS, - PPP connection disconnected.
+ * NET_CLOSEINPROGRESS_STATUS - PPP connection is closing.
+ */
+typedef enum
+{
+ NET_ISCONN_STATUS,
+ NET_INPROGRESS_STATUS,
+ NET_NONET_STATUS,
+ NET_CLOSEINPROGRESS_STATUS,
+ NET_DORMINPROGRESS_STATUS,
+ NET_INDORMANCY_STATUS,
+ NET_WAKINGUP_STATUS,
+ NET_SUSPEND_STATUS,
+ NET_IDLE_STATUS,
+ NET_DISABLED_STATUS,
+ NET_UNAVAILABLE_STATUS,
+ NET_RELEASED_STATUS,
+ NET_RESET_STATUS
+} NetStatusT;
+
+typedef enum
+{
+ NET_EVT_SOCKET,
+ NET_EVT_NET,
+ NET_EVT_DNS_LOOKUP,
+ NET_EVT_MAX
+} ValNetEventIdT;
+
+typedef struct
+{
+ kal_uint16 SockFd;
+ kal_uint32 EventMask;
+} NetSocketMsgT;
+
+
+typedef struct
+{
+ kal_uint16 SockFd;
+ kal_uint32 EventMask;
+ RegIdT RegId;
+} NetSocket2MsgT;
+
+typedef struct
+{
+ RegIdT RegId;
+ NetStatusT Status;
+} NetEventMsgT;
+
+typedef struct
+{
+ char* NameP;
+ NetSockAddrT Addr;
+} NetDnsLookupMsgT;
+
+/*some test message body - hyang*/
+typedef struct
+{
+ RegIdT regid;
+} NetTestRegIdT;
+
+typedef struct
+{
+ kal_int16 sockfd;
+} NetTestSockFdT;
+
+/*valnet call back prototype*/
+typedef void (*ValNetEventFunc)( RegIdT RegId,
+ ValNetEventIdT EventId,
+ void* EventMsgP );
+
+
+#define NET_SOCKUSABLE 0
+#define NULL_REGID -1
+#define UDP_MAX_PAYLOAD_LEN 1472
+#define MAX_IP_DATAGRAM_LEN 8192
+#define SOCKFD_BASE 100
+
+
+typedef struct
+{
+ kal_uint32 evtExpected;
+ kal_int16 sockfd;
+ RegIdT regid;
+ kal_uint8 sap;
+ NetDomainT family;
+ NetTypeT type;
+ NetProtocolT protocol;
+ kal_bool bDataReady;
+ kal_bool bDataSendReady;
+ kal_bool bSapValid;
+ kal_bool bBinded;
+ SockStateT SockState;
+ HlpAppAddrT localAddr;
+ HlpAppAddrT destAddr;
+ HlpAppAddrT destIp6Addr[4];
+
+ unsigned char bufRecvData[MAX_IP_DATAGRAM_LEN];
+ int lenRecvData;
+ int maxLenRecvData;
+ int lenBytesToBeRead;
+ unsigned char bufSendData[MAX_IP_DATAGRAM_LEN];
+ int lenSendData;
+ int maxLenSendData;
+ kal_uint16 socketOpt;
+ kal_int16 sockListenfd;
+ kal_bool bAppUsed;
+ kal_uint32 lingerTime;
+ SockSDStateT sdState;
+#ifdef MTK_DEV_GPSONE_ON_LTE
+ kal_int32 SocketHandle;
+ gps_rpc_rat_mode_t SocketRatMode;
+#endif
+} SockCtrlBlkT;
+
+/* ETS Messages
+ */
+typedef struct
+{
+ kal_uint8 result;
+} ValNetResultRspT;
+
+typedef struct
+{
+ kal_uint8 status;
+} ValNetStatusRspT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+ kal_int16 sockfd;
+ kal_uint32 evtMask;
+} ValNetEventSelectMsgT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+ kal_uint16 RegId;
+ kal_uint8 domain; /* NetDomainT */
+ kal_uint8 type; /* NetTypeT */
+ kal_uint8 protocol; /* NetProtocolT */
+} ValNetSocketCreateMsgT;
+
+typedef struct
+{
+ kal_uint8 result;
+ kal_uint16 sockfd;
+} ValNetSocketCreateRspT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+ kal_int16 sockfd;
+ kal_uint16 SinFamily;
+ kal_uint16 SinPort;
+ kal_uint32 Address;
+ char SizeZero[8];
+ kal_int16 namelen;
+} ValNetConnectMsgT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+ kal_int16 sockfd;
+} ValNetCloseMsgT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+ kal_int16 sockfd;
+} ValNetGetSockStatusMsgT;
+
+typedef struct
+{
+ SockStateT sockState;
+} ValNetGetSockStatusRspT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+ kal_int16 sockfd;
+ kal_int32 nbytes;
+ kal_uint8* buffer;
+} ValNetRecvMsgT;
+
+typedef struct
+{
+ kal_uint8 result;
+ kal_int16 numBytesRead;
+} ValNetRecvRspT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+ kal_int16 sockfd;
+ kal_int32 nbytes;
+ kal_uint8* buffer;
+} ValNetSendMsgT;
+
+typedef struct
+{
+ kal_uint8 result;
+ kal_int16 numBytesSend;
+} ValNetSendRspT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+ kal_int16 sockfd;
+ kal_uint16 SinFamily;
+ kal_uint16 SinPort;
+ kal_uint32 Address;
+ char SizeZero[8];
+ kal_int16 namelen;
+} ValNetBindMsgT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+ kal_int16 sockfd;
+ kal_int16 backlog;
+} ValNetListenMsgT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+ kal_int16 sockfd;
+ kal_uint16 SinFamily;
+ kal_uint16 SinPort;
+ kal_uint32 Address;
+ char SizeZero[8];
+} ValNetAcceptMsgT;
+
+typedef struct
+{
+ kal_uint8 result;
+ kal_int16 addrlen;
+ kal_int16 newsock;
+} ValNetAcceptRspT;
+
+typedef struct
+{
+ kal_int16 sockfd;
+ int nbytes;
+ kal_uint8* buffer;
+ kal_uint16 SinFamily;
+ kal_uint16 SinPort;
+ kal_uint32 Address;
+ kal_uint8 SizeZero[8];
+ int tolen;
+} ValNetSendToMsgT;
+
+typedef struct
+{
+ kal_int16 sockfd;
+ int nbytes;
+ kal_uint8* buffer;
+ kal_uint16 SinFamily;
+ kal_uint16 SinPort;
+ kal_uint32 Address;
+ kal_uint8 SizeZero[8];
+ int tolen;
+} ValNetRecvFromMsgT;
+
+typedef struct
+{
+ kal_uint16 RegId;
+ char* HostName;
+ kal_uint32 IpAddrP;
+} ValNetGetHostByNameMsgT;
+
+typedef struct
+{
+ char* cp;
+} ValNetInetAddrMsgT;
+
+typedef struct
+{
+ int LenP;
+ char* AuthStrP;
+} ValNetGetPPPAuthParmsMsgT;
+
+typedef struct
+{
+ char* AuthStrP;
+} ValNetSetPPPAuthParmsMsgT;
+
+typedef struct
+{
+ kal_uint8 Length;
+ char DialStr[HLP_MAX_BWSR_DIG_LEN];
+} ValNetGetDialStrParmsRspMsgT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+ char DialStr[HLP_MAX_BWSR_DIG_LEN];
+} ValNetSetDialStrParmsMsgT;
+
+typedef struct
+{
+ NetResultT Result;
+} ValNetSetDialStrParmsRspMsgT;
+
+typedef struct
+{
+ kal_uint32 IpAddrPrimary;
+ kal_uint32 IpAddrSecondary;
+} ValNetGetDNSServerIpAddrRspMsgT;
+
+typedef struct
+{
+ kal_uint32 IpAddrPrimary;
+ kal_uint32 IpAddrSecondary;
+} ValNetSetDNSServerIpAddrMsgT;
+
+typedef struct
+{
+ kal_uint8 Type;
+ kal_uint8 Code;
+ kal_uint16 Checksum;
+ kal_uint16 Identifier;
+ kal_uint16 SequenceNumber;
+} IcmpPingMsgT;
+
+typedef struct
+{
+ IcmpPingMsgT msg;
+ kal_uint32 length;
+ kal_uint32 count;
+ kal_uint32 ticks;
+ kal_bool infinite;
+ kal_timerid hlp_ping_timer_id;
+ //ExeTimerT timerCallback;
+ kal_bool timerInUse;
+ kal_uint32 startTimeInMs;
+ kal_uint32 totalTxBytes;
+ kal_uint32 totalRxBytes;
+ ExeRspMsgT RspMsg;
+}ValEtsNetPingStructT;
+
+typedef struct
+{
+ ExeRspMsgT RspMsg;
+ kal_uint32 Length;
+ kal_uint32 Interval;
+ kal_int32 Times;
+} ValNetPingReqMsgT;
+
+typedef struct
+{
+ kal_uint32 totalTime;
+ kal_uint32 ulBaud;
+ kal_uint32 dlBaud;
+} ValNetPingRspMsgT;
+
+typedef struct
+{
+ NetStatusT state;
+} ValHlpDataStateMsgT;
+
+typedef struct
+{
+ kal_uint8 status; /*0-Succ, 1-Fail or released*/
+ kal_uint32 LocalIPAddr;
+ kal_uint32 RemoteIPAddr;
+ kal_uint32 PriDNSAddr;
+ kal_uint32 SecDNSAddr;
+} ValPSConnRspT;
+
+typedef enum
+{
+ VAL_PS_NO = 0, /* Release PS from existing system*/
+ VAL_PS_1X, /* PS service is on 1X */
+ VAL_PS_HRPD, /* PS service is on HRPD */
+ VAL_PS_EHRPD /* PS service is on EHRPD */
+} ValPsConnT;
+
+typedef enum
+{
+ VAL_PS_CONN_FAIL_UNUSED = 0,
+ VAL_PS_CONN_FAIL_PPP_AUTH_FAIL = 6,
+ VAL_PS_CONN_FAIL_MIP_PPP_LCP_TMO,
+ VAL_PS_CONN_FAIL_MIP_PPP_NCP_TMO,
+ VAL_PS_CONN_FAIL_SIP_PPP_LCP_TMO,
+ VAL_PS_CONN_FAIL_SIP_PPP_NCP_TMO,
+ VAL_PS_CONN_FAIL_MIP_PPP_OPT_MISMATCH,
+ VAL_PS_CONN_FAIL_SIP_PPP_OPT_MISMATCH,
+ VAL_PS_CONN_FAIL_MIP_SOL_TMO,
+ VAL_PS_CONN_FAIL_MIP_RRQ_TMO,
+ VAL_PS_CONN_FAIL_MIP_RRP_ERR,
+ VAL_PS_CONN_FAIL_MIP_LCP_FAIL,
+ VAL_PS_CONN_FAIL_SIP_LCP_FAIL,
+ VAL_PS_CONN_FAIL_MIP_NCP_FAIL,
+ VAL_PS_CONN_FAIL_SIP_NCP_FAIL,
+ VAL_PS_CONN_FAIL_PPP_A12_AUTH_FAIL,
+ VAL_PS_CONN_FAIL_PPP_EAP_AKA_AUTH_FAIL,
+ VAL_PS_CONN_FAIL_MIP_ADMIN_PROHIB_FAIL,
+ VAL_PS_CONN_FAIL_MULTI_TCH_FAIL,
+ VAL_PS_CONN_FAIL_PPP_A12_LCP_TMO
+} ValPsConnErrT;
+
+extern SockCtrlBlkT SockCtrlBlkTable[NET_MAX_SOCKS];
+
+extern SockCtrlBlkT* GetAvailableSockCtrlBlk( void );
+extern void FreeSockCtrlBlk(SockCtrlBlkT* pSCB);
+extern SockCtrlBlkT* GetSockCtrlBlkBySockfd( kal_int16 sockfd);
+extern void NetworkEventNotify(RegIdT RegId,NetStatusT NetStatus);
+extern void SocketEventNotify(kal_int16 SockFd, kal_uint32 EventMask);
+extern kal_uint32 GetSocketEventMask( SockCtrlBlkT* pSCB,
+ kal_uint32 evtExpected );
+extern kal_bool CanClosePPPSession( void );
+extern SockCtrlBlkT *GetAcceptSockCtrlBlkfd(kal_int16 sockfd, kal_int16 *clinsockfd, kal_int8 *acceptBlkNum);
+ extern kal_uint16 GetAvailableSockCtrlNum( void );
+
+/* Message handler */
+RegIdT ValNetRegister( ValNetEventFunc NetCallback );
+void NetUnregister( RegIdT RegId );
+void ValPppConnStatusMsg( void* MsgDataP );
+#ifdef MTK_DEV_C2K_IRAT
+void ValPppMruNotifyMsg(void *MsgDataP);
+#endif
+void ValSocketCreateStatusMsg( void* MsgDataP );
+void ValSocketBindStatusMsg( void* MsgDataP );
+void ValSocketConnStatusMsg( void* MsgDataP );
+void ValSocketCloseStatusMsg( void* MsgDataP );
+void ValTcpbDataRecvMsg( void* MsgDataP );
+void ValSocketInactTmoMsg(void *MsgData);
+void ValTcpbDataSendRspMsg( void* MsgDataP );
+void ValUpbRecvDataMsg( void* MsgDataP );
+void ValUdpbSentDataRspMsg( void* MsgDataP );
+void ValSocketListenStatusMsg(void* MsgDataP);
+void ValSocketOptStatusMsg(void *MsgDataP);
+void ValSocketShutdownStatusMsg(void *MsgDataP);
+void ValSocketLingerStatusMsg(void *MsgDataP);
+kal_bool ValNetGetPppConnStatus(void);
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*===========================================================================
+FUNCTION ValNetInit()
+
+DESCRIPTION
+
+DEPENDENCIES
+ None.
+
+PARAMETERS:
+
+RETURN VALUE
+===========================================================================*/
+void ValNetInit( void );
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetRegister
+
+ DESCRIPTION:
+ This function registers a callback for all network services related events.
+
+ PARAMETERS:
+ NetCallback - The callback function to be called for the notification of network
+ services events.
+
+ RETURNED VALUES:
+
+ The assigned registration ID of the subscriber.
+
+*****************************************************************************/
+RegIdT ValNetRegister( ValNetEventFunc NetCallback );
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetUnregister
+
+ DESCRIPTION:
+ This function unregisters the given client so that it won't receive additional
+ network services related events.
+
+ PARAMETERS:
+ RegId - The assigned registration ID of the subscriber.
+
+ RETURNED VALUES:
+ void
+
+*****************************************************************************/
+void ValNetUnregister( RegIdT RegId );
+
+/***************************************************************************
+
+ FUNCTION NAME: NetPppOpen
+
+ DESCRIPTION:
+ This function opens a new PPP connection
+
+ PARAMETERS:
+ RegId - The assigned registration ID of the subscriber.
+
+ RETURNED VALUES:
+ A success or failure code from NetResultT
+
+*****************************************************************************/
+NetResultT ValNetPppOpen( RegIdT RegId );
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetPppClose
+
+ DESCRIPTION:
+ This function closes a PPP connection
+
+ PARAMETERS:
+ RegId - The assigned registration ID of the subscriber.
+
+ RETURNED VALUES:
+ A success or failure code from NetResultT.
+
+*****************************************************************************/
+NetResultT ValNetPppClose( RegIdT RegId );
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetPppDormantReq
+
+ DESCRIPTION:
+ This function request the PPP connection to enter dormancy state.
+
+ PARAMETERS:
+ RegId - The assigned registration ID of the subscriber.
+
+ RETURNED VALUES:
+ A success or failure code from NetResultT.
+
+*****************************************************************************/
+NetResultT ValNetPppDormantReq( RegIdT RegId );
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetGetPppStatus
+
+ DESCRIPTION:
+ This function get the PPP connection status.
+
+ PARAMETERS:
+ RegId - The assigned registration ID of the subscriber.
+
+ RETURNED VALUES:
+
+
+*****************************************************************************/
+NetStatusT ValNetGetPppStatus( RegIdT RegId );
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetEventSelect
+
+ DESCRIPTION:
+ This function registers the client to receive the events as indicated by the event mask.
+
+ PARAMETERS:
+ SockFd - The file decriptor ID of the socket.
+ EventMask - The event mask of the events that have occurred.
+
+ RETURNED VALUES:
+ A success or failure code from NetResultT.
+
+*****************************************************************************/
+NetResultT ValNetEventSelect( kal_int16 sockfd,
+ kal_uint32 evtMask );
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetSocket
+
+ DESCRIPTION:
+ This function opens a socket of the specified protocol type
+
+ PARAMETERS:
+ RegId - The assigned registration ID of the subscriber.
+ Domain - The protocol family to be used.
+ Type - Stream, datagram etc.
+ Protocol - UDP, TCP, etc.
+ SockFd - [out] The new file descriptor for the socket.
+
+ RETURNED VALUES:
+ A success or failure code from NetResultT.
+
+*****************************************************************************/
+NetResultT ValNetSocket( RegIdT RegId,
+ NetDomainT af,
+ NetTypeT type,
+ NetProtocolT protocol,
+ kal_int16* SockFd );
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetConnect
+
+ DESCRIPTION:
+ This function makes a connection the given network node
+
+ PARAMETERS:
+ SockFd - The file decriptor ID of the socket.
+ ServAddrP - The address and port of the server.
+ AddrLen - The length of the server address structure.
+
+ RETURNED VALUES:
+ A success or failure code from NetResultT.
+
+*****************************************************************************/
+NetResultT ValNetConnect( kal_int16 sockfd,
+ const NetSockAddrT* name,
+ kal_int16 namelen );
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetClose
+
+ DESCRIPTION:
+ This function closes the given socket.
+
+ PARAMETERS:
+ SockFd - The file decriptor ID of the socket.
+
+ RETURNED VALUES:
+ A success or failure code from NetResultT.
+
+*****************************************************************************/
+NetResultT ValNetClose( kal_int16 sockfd );
+
+/***************************************************************************
+
+ FUNCTION NAME: NetGetSockStatus
+
+ DESCRIPTION:
+
+ This function get the status of the given socket.
+
+ PARAMETERS:
+
+ SockFd - The file decriptor ID of the socket.
+
+ RETURNED VALUES:
+
+ .
+
+*****************************************************************************/
+SockStateT ValNetGetSockStatus( kal_int16 sockfd );
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetRecv
+
+ DESCRIPTION:
+
+ This function receives bytes from a socket into the given buffer
+
+ PARAMETERS:
+
+ sockfd - The file decriptor ID of the socket.
+ buffer - The buffer where incoming data is copied to.
+ nbytes - The length of BufferP.
+ NumBytesReadP - [out] The number of bytes copied into BufferP
+
+
+ RETURNED VALUES:
+
+ A success or failure code from NetResultT
+
+*****************************************************************************/
+NetResultT ValNetRecv( kal_int16 sockfd,
+ char* buffer,
+ int nbytes,
+ kal_int16* NumBytesReadP );
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetSend
+
+ DESCRIPTION:
+
+ This function sends bytes through the opened socket.
+
+ PARAMETERS:
+
+ sockfd - The file decriptor ID of the socket.
+ buffer - The buffer where incoming data is copied to.
+ nbytes - The length of BufferP.
+ NumBytesReadP - [out] The number of bytes copied into BufferP
+
+
+ RETURNED VALUES:
+
+ A success or failure code from NetResultT
+
+*****************************************************************************/
+NetResultT ValNetSend( kal_int16 sockfd,
+ char* buffer,
+ int nbytes,
+ kal_int16* NumBytesSendP );
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetBind
+
+ DESCRIPTION:
+
+ This function binds the given socket to a given network node
+
+ PARAMETERS:
+
+ sockfd - The file decriptor ID of the socket.
+ name - The address and port of the server.
+ namelen - The length of the server address structure.
+
+ RETURNED VALUES:
+
+ A success or failure code from NetResultT
+
+*****************************************************************************/
+NetResultT ValNetBind( kal_int16 sockfd,
+ const NetSockAddrT* name,
+ kal_int16 namelen );
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetListen
+
+ DESCRIPTION:
+ This function registers the client for new connection events associated with the socket.
+
+ PARAMETERS:
+ sockfd - The file decriptor ID of the socket.
+ backlog - The maximum number of pending connections allowed.
+
+ RETURN VALUE:
+ A success or failure code from NetResultT.
+
+
+*****************************************************************************/
+NetResultT ValNetListen( kal_int16 sockfd,
+ kal_int16 backlog );
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetAccept
+
+ DESCRIPTION:
+ This function accepts a new connection from another network node.
+
+ PARAMETERS:
+ sockfd - The file decriptor ID of the socket.
+ addr - The address and port of the server. This is an output parameter, so
+ it doesn't have to be initialized.
+ addrlen - The length of the server address structure. This is an output
+ parameter, so it doesn't have to be initialized.
+ newsock - Pointer to the new connetion socket when a new connection is
+ sucessfully established. This is an output parameter, so it
+ doesn't have to be initialized.
+
+ RETURN VALUE:
+ A success or failure code from NetResultT.
+
+*****************************************************************************/
+NetResultT ValNetAccept( kal_int16 sockfd,
+ NetSockAddrT* addr,
+ kal_int16* addrlen,
+ kal_int16* newsock );
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetSendTo
+
+ DESCRIPTION:
+ This function sends a datagram to the specified network node
+
+ PARAMETERS:
+ sockfd - The file decriptor ID of the socket.
+ buffer - The buffer where outgoing data is copied from.
+ nbytes - The length of the data ready to be written from BufferP.
+ toAddr - The address the datagram should be sent to.
+ tolen - The length of the address in ToAddrP.
+ NumBytesSendP - The number of bytes written to the socket. This is an output
+ parameter, so it doesn't have to be initialized.
+
+ RETURN VALUE:
+ A success or failure code from NetResultT.
+
+*****************************************************************************/
+NetResultT ValNetSendTo( kal_int16 sockfd,
+ char* buffer,
+ int nbytes,
+ NetSockAddrT* toAddr,
+ int tolen,
+ kal_int16* NumBytesSendP );
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetRecvFrom
+
+ DESCRIPTION:
+ This function receives a datagram from the specified network node.
+
+ PARAMETERS:
+ sockfd - The file decriptor ID of the socket.
+ buffer - The buffer where incoming data is copied to.
+ nbytes - The length of the buffer in BufferP.
+ from - The address the datagram should be recieved from.
+ fromlen - point to the length of the receive socket address. This is an
+ output parameter, so it doesn't have to be initialized.
+ NumBytesReadP - The number of bytes receiving from the socket. This is an
+ output parameter, so it doesn't have to be initialized.
+
+ RETURN VALUE:
+ A success or failure code from NetResultT.
+
+*****************************************************************************/
+NetResultT ValNetRecvFrom( int sockfd,
+ char* buffer,
+ int nbytes,
+ NetSockAddrT* from,
+ int* fromlen,
+ kal_int16* NumBytesReadP );
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetGetHostByName
+
+ DESCRIPTION
+ This function converts a host name to an IP address.
+
+ PARAMETERS
+ RegId - The assigned registration ID of the subscriber.
+ HostName - The name of the host.
+ IPAddrP - The quad IP address number. This is an output parameter, so it
+ doesn't have to be initialized.
+
+ RETURN VALUE:
+ A success or failure code from NetResultT.
+
+*****************************************************************************/
+NetResultT ValNetGetHostByName( RegIdT RegId,
+ char* HostName,
+ kal_uint32* IPAddrP );
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetInetAddr
+
+ DESCRIPTION
+ This function converts the Internet host address cp from numbers and
+ dots notation into binary data in network byte order.
+
+ PARAMETERS:
+ cp - The address as a string in numbers and dots notation.
+
+ RETURN VALUE:
+ Host address converted to binary or -1 (0xFFFF) if the input string is invalid.
+
+*****************************************************************************/
+kal_uint32 ValNetInetAddr( char* cp );
+
+/***************************************************************************
+
+ FUNCTION NAME: NetHToNl
+
+ DESCRIPTION:
+
+ This function converts the unsigned integer HostLong from host byte order
+ to network byte order
+
+ PARAMETERS:
+
+ HostLong - A host byte order number
+
+ RETURNED VALUES:
+
+ An unsigned long of net byte order
+
+*****************************************************************************/
+kal_uint32 NetHToNl (kal_uint32 hostlong);
+
+/***************************************************************************
+
+ FUNCTION NAME: NetHToNs
+
+ DESCRIPTION:
+
+ This function converts the unsigned short integer hostshort from host byte
+ order to network byte order
+
+ PARAMETERS:
+
+ HostLong - A host byte order number
+
+ RETURNED VALUES:
+
+ An unsigned short of net byte order
+
+*****************************************************************************/
+kal_uint16 NetHToNs(kal_uint16 hostshort);
+
+/***************************************************************************
+
+ FUNCTION NAME: NetNToHl
+
+ DESCRIPTION:
+
+ This function converts the unsigned integer netlong from network byte order
+ to host byte order.
+
+ PARAMETERS:
+
+ NetLong - A net byte order number
+
+ RETURNED VALUES:
+
+ An unsigned long of host byte order
+
+*****************************************************************************/
+kal_uint32 NetNToHl (kal_uint32 netlong);
+
+/***************************************************************************
+
+ FUNCTION NAME: NetNToHs
+
+ DESCRIPTION:
+
+ This function converts the unsigned short integer netshort from network byte
+ order to host byte order
+
+ PARAMETERS:
+
+ NetShort - A net byte order number
+
+ RETURNED VALUES:
+
+ An unsigned short of host byte order
+
+*****************************************************************************/
+kal_uint16 NetNToHs (kal_uint16 netshort);
+
+/***************************************************************************
+
+ FUNCTION NAME: NetSetPppAuthParms
+
+ DESCRIPTION:
+ This function sets the PPP authentication parameters from the protocol stack.
+
+ PARAMETERS:
+ AuthStrP - The PPP authentication parameters as a concatentation of 2 NULL
+ terminated strings "userid@domain.com\0password\0".
+
+ RETURN VALUE:
+ A success or failure code from NetResultT.
+
+*****************************************************************************/
+NetResultT ValNetSetPppAuthParms( char* AuthStrP );
+
+/***************************************************************************
+
+ FUNCTION NAME: NetGetDialStrParms
+
+ DESCRIPTION:
+ This function gets the dial number used while setup the PPP session.
+
+ PARAMETERS:
+ DialStrP - the dial number used.
+
+ RETURN VALUE:
+ A success or failure code from NetResultT.
+
+*****************************************************************************/
+NetResultT ValNetGetDialStrParms( char* DialStrP,
+ int* LenP );
+
+/***************************************************************************
+
+ FUNCTION NAME: NetSetDialStrParms
+
+ DESCRIPTION:
+ This function Sets the dial number used while setup the PPP session.
+
+ PARAMETERS:
+ DialStrP - the dial number used.
+
+ RETURN VALUE:
+ A success or failure code from NetResultT.
+
+*****************************************************************************/
+NetResultT ValNetSetDialStrParms( char* DialStrP );
+
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetSetDormToRelTimer
+
+ DESCRIPTION:
+ To set the time duration to disconnect packet data call in dormant mode.
+
+ PARAMETERS:
+ Duration -duration bettween dormancy to release, uint: s.
+
+ RETURNED VALUES:
+ A success or failure code from NetResultT
+
+*****************************************************************************/
+NetResultT ValNetSetDormToRelTimer(kal_uint16 Duration);
+
+/***************************************************************************
+
+ FUNCTION NAME: NetSetRlpInactTmoReq
+
+ DESCRIPTION:
+ Tells the Browser and RLP to activate/deactivate its inactivity timer on
+the
+ specified channel.
+
+ PARAMETERS:
+ nInactTime - 0 : Disable Inactivity Monitor Feature.
+ Else: Enable Inactivity Monitoring for the specified number
+of seconds.
+
+ RETURN VALUE:
+ A success or failure code from NetResultT.
+
+*****************************************************************************/
+NetResultT ValNetSetRlpInactTmoReq( kal_uint16 nInactTime );
+
+/***************************************************************************
+
+ FUNCTION NAME: NetGetRlpSettings
+
+ DESCRIPTION:
+ This function gets the NAK related RLP settings from the protocol stack.
+
+ PARAMETERS:
+ RlpSettingsType - The current, default, or negotiated RLP settings.
+ SettingsP - The RLP settings. This is an output parameter, so it doesn't
+ have to be initialized.
+
+ RETURN VALUE:
+ A success or failure code from NetResultT.
+
+*****************************************************************************/
+NetResultT ValNetGetRlpSetting( NetRlpSettingsTypeT RlpSettingsType,
+ NetRlpSettingsT* SettingsP );
+
+/***************************************************************************
+
+ FUNCTION NAME: NetSetRlpSettings
+
+ DESCRIPTION:
+ This function sets the NAK related RLP settings from the protocol stack.
+
+ PARAMETERS:
+ RlpSettingsType - The current, default, or negotiated RLP settings.
+ SettingsP - The RLP settings.
+
+ RETURN VALUE:
+ A success or failure code from NetResultT.
+
+*****************************************************************************/
+NetResultT ValValNetSetRlpSetting( NetRlpSettingsTypeT RlpSettingsType,
+ NetRlpSettingsT* SettingsP );
+
+/***************************************************************************
+
+ FUNCTION NAME: NetGetIpAddress
+
+ DESCRIPTION:
+ This function gets the IP address of the MS if any.
+
+ PARAMETERS:
+ IpAddrP - The IP address of the MS. This is an output parameter, so it doesn't
+ have to be initialized.
+
+ RETURN VALUE:
+ A success or failure code from NetResultT.
+
+*****************************************************************************/
+NetResultT ValNetGetIpAddress( kal_uint32* IpAddrP );
+
+NetResultT ValNetGetRemoteIpAddress( kal_uint32* IpAddrP );
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetGetDNSServerIpAddr
+
+ DESCRIPTION:
+ This function get the current DNS servers IP address.
+
+ PARAMETERS:
+ IpAddrP - Pointer to the DNS server's IP address. This is an output parameter,
+ so it doesn't have to be initialized.
+
+ RETURN VALUE:
+ A success or failure code from NetResultT.
+
+*****************************************************************************/
+NetResultT ValNetGetDNSServerIpAddr( kal_uint32* IpAddrP );
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetGetPeerName
+
+ DESCRIPTION:
+ This function gets the peer name of the network node the socket it is associated with.
+
+ PARAMETERS:
+ SockFd - The file decriptor ID of the socket.
+ AddrP - The address of the other end of the socket connection. This
+ is an output parameter, so it doesn't have to be initialized.
+ AddrLenP - The size of the address returned. This is an output parameter, so
+ it doesn't have to be initialized.
+
+ RETURN VALUE:
+ A success or failure code from NetResultT.
+
+*****************************************************************************/
+NetResultT ValNetGetPeerName( kal_int16 SockFd,
+ NetSockAddrT* AddrP,
+ kal_int16* AddrLenP );
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetSetDNSServerIpAddr
+
+ DESCRIPTION:
+ This function Sets the current DNS servers IP address.
+
+ PARAMETERS:
+ IpAddrP - Pointer to the DNS server's IP address. This is an input parameter.
+
+ RETURN VALUE:
+ Void
+
+*****************************************************************************/
+void ValNetSetDNSServerIpAddr( kal_uint32 IpAddrPri, kal_uint32 IpAddrSec );
+
+/*===========================================================================
+FUNCTION ValNetShutdown()
+
+DESCRIPTION
+ Shut down socket descriptor.
+
+ SHUT_RD: No more receives can be issued on socket; process can still send on socket;
+ socket receive buffer discarded; any further data received is discarded by TCP;
+ no effect on socket send buffer;
+ SHUT_WR: No more sends can be issued on socket; process can still receive on socket;
+ contents of socket send buffer sent to other end, followed by normal
+ TCP connection termintation (FIN; no effect on socket recive buffer;
+
+DEPENDENCIES
+ None.
+
+PARAMETERS:
+ sockfd: socket ID
+ shut dow: SHUT_RD SHUT_WR SHUT_WRRD
+
+RETURN VALUE:
+ NetResultT
+===========================================================================*/
+
+NetResultT ValNetShutdown(kal_int16 sockfd, kal_int8 how );
+
+/*===========================================================================
+FUNCTION ValNetSetNoDelay()
+
+DESCRIPTION
+ Use nagle algorthm
+
+DEPENDENCIES
+ None.
+
+PARAMETERS:
+ sockfd: socket ID
+ shut dow: KAL_TRUE: no use nagle algorithm; KAL_FALSE: use nagle algorithm
+
+RETURN VALUE:
+ NetResultT
+===========================================================================*/
+
+NetResultT ValNetSetNoDelay(kal_int16 sockfd, kal_bool bNodaly);
+
+/*===========================================================================
+FUNCTION ValNetGetNoDelay()
+
+DESCRIPTION
+ get if to use nagle algorthm
+
+DEPENDENCIES
+ None.
+
+PARAMETERS:
+ sockfd: socket ID
+
+RETURN VALUE:
+ kal_bool
+===========================================================================*/
+
+NetResultT ValNetGetNoDelay(kal_int16 sockfd, kal_bool* delay);
+
+/*===========================================================================
+FUNCTION ValNetSetKeepAlive()
+
+DESCRIPTION
+ Set keep Alive
+
+DEPENDENCIES
+ None.
+
+PARAMETERS:
+ sockfd: socket ID
+ keepAlive: if keep alive;
+
+RETURN VALUE:
+ NONE
+===========================================================================*/
+
+NetResultT ValNetSetKeepAlive(kal_int16 sockfd, kal_bool keepAlive);
+
+/*===========================================================================
+FUNCTION ValNetGetKeepAlive()
+
+DESCRIPTION
+ get if to keep Alive
+
+DEPENDENCIES
+ None.
+
+PARAMETERS:
+ sockfd: socket ID
+
+RETURN VALUE:
+ keep alive or not.
+===========================================================================*/
+
+NetResultT ValNetGetKeepAlive(kal_int16 sockfd, kal_bool* keepAlive);
+
+/*===========================================================================
+FUNCTION ValNetSetLinger()
+
+DESCRIPTION
+ set if to linger
+
+DEPENDENCIES
+ None.
+
+PARAMETERS:
+ sockfd: socket ID
+ lingerOnOff: linger on or off
+ lingerTime: time to linger
+
+RETURN VALUE:
+ NetResultT
+===========================================================================*/
+
+NetResultT ValNetSetLinger(kal_int16 sockfd, kal_bool lingerOnOff, kal_uint32 lingerTime);
+
+/*===========================================================================
+FUNCTION ValNetGetLinger()
+
+DESCRIPTION
+ Get if to linger
+
+DEPENDENCIES
+ None.
+
+PARAMETERS:
+ sockfd: socket ID
+ lingerOnOff: linger on or off
+ lingerTime: time to linger
+
+RETURN VALUE:
+ NONE
+===========================================================================*/
+NetResultT ValNetGetLinger(kal_int16 sockfd, kal_bool *lingerOnOff, kal_uint32 *lingerTime);
+
+/*===========================================================================
+FUNCTION ValNetSetSendBufSize()
+
+DESCRIPTION
+ set send buffer size
+
+DEPENDENCIES
+ None.
+
+PARAMETERS:
+ sockfd: socket ID
+ size: buffer's size
+
+RETURN VALUE:
+ int
+===========================================================================*/
+
+NetResultT ValNetSetSendBufSize(kal_int16 sockfd, int size );
+
+/*===========================================================================
+FUNCTION NetGetSendBufSize()
+
+DESCRIPTION
+ get send buffer size
+
+DEPENDENCIES
+ None.
+
+PARAMETERS:
+ sockfd: socket ID
+
+RETURN VALUE:
+ int
+===========================================================================*/
+
+int ValNetGetSendBufSize(kal_int16 sockfd);
+
+/*===========================================================================
+FUNCTION ValNetSetRecvBufSize()
+
+DESCRIPTION
+ Set receive buffer size
+
+DEPENDENCIES
+ None.
+
+PARAMETERS:
+ sockfd: socket ID
+ size: buffer size
+
+RETURN VALUE:
+ NetResultT
+===========================================================================*/
+
+NetResultT ValNetSetRecvBufSize(kal_int16 sockfd, int size);
+
+/*===========================================================================
+FUNCTION ValNetGetRecvBufSize()
+
+DESCRIPTION
+ Get receive buffer size
+
+DEPENDENCIES
+ None.
+
+PARAMETERS:
+ sockfd: socket ID
+
+RETURN VALUE:
+ int
+===========================================================================*/
+
+int ValNetGetRecvBufSize(kal_int16 sockfd);
+
+ /*===========================================================================
+FUNCTION ValNetGetSockName()
+
+DESCRIPTION
+
+DEPENDENCIES
+ None.
+
+PARAMETERS:
+
+RETURN VALUE
+===========================================================================*/
+NetResultT ValNetGetSockName(kal_int16 sockfd, kal_uint32 *IpAddrP, kal_uint16 *port);
+
+/*===========================================================================
+FUNCTION ValNetGetConnectionType()
+
+DESCRIPTION: Gets network type when in data service.
+
+DEPENDENCIES
+ None.
+
+PARAMETERS:
+
+RETURN VALUE: ConnStateT
+===========================================================================*/
+ConnStateT ValNetGetConnectionType( void );
+
+
+
+#ifdef __cplusplus
+}
+#endif
+
+/***************************************************************************
+
+ FUNCTION NAME: ValNetProcessEvent
+
+ DESCRIPTION:
+
+ This function processes the event received and calls the registered call back
+
+ PARAMETERS:
+
+ NetEventId - The id of the val net event
+ NetEventMsgP - the event message body
+
+ RETURNED VALUES:
+ <NONE>
+
+*****************************************************************************/
+void ValNetProcessEvent( ValNetEventIdT NetEventId,
+ void* NetEventMsgP );
+#ifdef MTK_CBP //MTK_DEV_C2K_IRAT
+/*****************************************************************************
+
+ FUNCTION NAME: ValApi_Set_PS_Connection_Req2
+
+ DESCRIPTION:
+ This is used to request DO chip to start PS connection on the specified CDMA service.
+
+ PARAMETERS: None.
+
+ RETURNED VALUES: None.
+
+*****************************************************************************/
+void ValApi_Set_PS_Connection_Req2(ValPsConnT PsType, char *User, char* Password);
+#endif
+
+/*****************************************************************************
+
+ FUNCTION NAME: ValApi_Set_PS_Connection_Req
+
+ DESCRIPTION:
+ This is used to request DO chip to start PS connection on the specified CDMA service.
+
+ PARAMETERS: None.
+
+ RETURNED VALUES: None.
+
+*****************************************************************************/
+void ValApi_Set_PS_Connection_Req(ValPsConnT PsType);
+
+/*****************************************************************************
+
+ FUNCTION NAME: ValApi_Set_PS_Connection_Rsp
+
+ DESCRIPTION:
+ This is used to send the rsult of command ValApi_Set_PS_Connection_Req.
+
+ PARAMETERS: PSConnRsp - pionter to data block of Irat_SetPSConnRspT
+ SysPri - priority of HRPD/EHRPD system. 0xff means not available.
+
+ RETURNED VALUES: None.
+
+*****************************************************************************/
+void ValApi_Set_PS_Connection_Rsp(ValPSConnRspT *PSConnRsp);
+
+/*****************************************************************************
+
+ FUNCTION NAME: ValApi_PS_Conn_MIP_Status_Rsp
+
+ DESCRIPTION:
+ This is used to send the result of MIP registration or deregistration.
+
+ PARAMETERS: rrpErr - MIP RRP error code
+ reason - Failure reason
+
+ RETURNED VALUES: None.
+
+*****************************************************************************/
+void ValApi_PS_Conn_MIP_Status_Rsp(kal_uint8 rrpErr, ValPsConnErrT reason);
+
+#ifdef MTK_CBP
+/***************************************************************************
+
+ FUNCTION NAME: ValNetSendPingReq
+
+ DESCRIPTION:
+ This function send ping command.
+
+ PARAMETERS:
+ void
+
+ RETURN VALUE:
+ Void
+
+*****************************************************************************/
+void ValNetSendPingReq(void);
+void ValNetSendPingReqExt(ValNetPingReqMsgT* MsgP);
+void ValNetPingExpiryMsg(void* MsgDataP);
+void ValStopPingTimer(void);
+void ValIncTotalTxByteCount(kal_uint32 len);
+void ValIncTotalRxByteCount(kal_uint32 len);
+#endif /*MTK_CBP*/
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /*__VAL_NET_H__*/
+
+/*****************************************************************************
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+*****************************************************************************/
+
+/*****************************************************************************
+* End of File
+*****************************************************************************/
+
+
+/**Log information: \main\Trophy\Trophy_zjiang_href22289\1 2013-10-25 07:16:24 GMT zjiang
+** HREF#22289.ÐÞ¸Ä+CMIPÃüÁÌí¼Ó+CCDATAºÍ+VCDMAIPÃüÁî.**/
+/**Log information: \main\Trophy\1 2013-10-25 07:19:11 GMT cshen
+** href#22289**/
+