blob: 0f0aa52df5915b179215045fd6f51727dd88cd1b [file] [log] [blame]
yu.dongc33b3072024-08-21 23:14:49 -07001/*****************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2016
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*****************************************************************************/
35/*************************************************************
36*
37* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
38*
39* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
40*
41* Copyright (c) 2005-2010 VIA Telecom, Inc. All rights reserved.
42*
43*************************************************************/
44#ifndef VALHLP_H
45#define VALHLP_H
46/*************************************************************************************************
47*
48* FILE NAME : valhlpapi.h
49*
50* DESCRIPTION : This file contains the declarations, definitions
51* and data structures used to interface to the
52* VAL for the Network API.
53*
54*
55* HISTORY :
56* See Log at end of file
57*
58**************************************************************************************************/
59#include "kal_public_defs.h"
60
61#include "sysdefs.h"
62#include "valapi.h"
63#include "hlpapi.h"
64
65#ifdef __cplusplus
66extern "C" {
67#endif /* __cplusplus */
68
69#define NET_INADDR_ANY 0x0L
70
71#define NET_MAX_SOCKS 8
72
73#define VAL_NET_MAX_REG_TASK 5
74#define NET_MAX_LISTEN_SOCK 5
75#define NET_LINGER_TIMER 120 /*linger at most 2m*/
76#define VAL_INADDR_LOOPBACK 0x7F000001UL
77#define VAL_INVALID_LEN 0xFFFFFFFFUL
78
79#ifdef MTK_PLT_ON_PC
80#define VAL_ICMP_HEADER_LEN (8)
81#endif /* MTK_PLT_ON_PC */
82
83typedef enum
84{
85 NET_IP_PROTOCOL = 0,
86 NET_ICMP_PROTOCOL = 1,
87 NET_TCP_PROTOCOL = 6,
88 NET_UDP_PROTOCOL = 17
89} NetProtocolT;
90
91typedef enum
92{
93 NET_SOCK_STREAM_TYPE,
94 NET_SOCK_DGRAM_TYPE,
95 SOCK_ICMP_TYPE
96} NetTypeT;
97
98typedef enum
99{
100 NET_AF_INET_DOMAIN
101} NetDomainT;
102
103typedef enum
104{
105 NET_WRITE_EVENT = 0x0001, /*socket ready to write */
106 NET_READ_EVENT = 0x0002, /*socket ready to read */
107 NET_CLOSE_EVENT = 0x0004, /*socket close successfully */
108 NET_ACCEPT_EVENT = 0x0008, /*socket ready to accept connection request */
109 NET_CONNECT_EVENT = 0x0010, /*socket connect successfully */
110 NET_CREATE_EVENT = 0x0020, /*socket created successfully */
111 NET_BIND_EVENT = 0x0040, /*socket binded successfully*/
112 NET_LISTEN_EVENT = 0x0080,
113 NET_BIND_FAIL_EVENT = 0x0100,
114 NET_SHUTDOWN_FAIL_EVENT = 0x0200, /* shut down failed*/
115 NET_SHUTDOWN_SUCESS_EVENT = 0x0400,
116 NET_OPT_SET_FAIL_EVENT = 0x0800,
117 NET_OPT_SET_SUCESS_EVENT = 0x1000,
118 NET_LISTEN_FAIL_EVENT = 0x2000,
119 NET_CONNECT_FAIL_EVENT = 0x4000,
120 NET_CREATE_FAIL_EVENT = 0x8000,
121 NET_NUM_EVENT
122} NetEvenTypeT;
123
124typedef struct
125{
126 kal_uint16 SinFamily;
127 kal_uint16 SinPort;
128 kal_uint32 Address;
129 char SizeZero[8];
130} NetSockAddrT;
131
132typedef struct
133{
134 kal_uint16 SinFamily;
135 kal_uint16 SinPort;
136 kal_uint32 Address[4];
137 char SizeZero[8];
138} NetSockIPv6AddrT;
139
140
141typedef enum
142{
143 SOCKET_NULL_STATE,
144 SOCKET_OPENING_STATE,
145 SOCKET_OPEN_STATE,
146 SOCKET_CLOSING_STATE,
147 SOCKET_WAITFOR_CLOSE_STATE,
148 SOCKET_CLOSED_STATE
149} SockStateT;
150
151typedef enum
152{
153 SOCKET_OP_LISTEN = 0x0001,
154 SOCKET_OP_LINGER = 0x0002,
155 SOCKET_OP_KEEPALIVE = 0x0004,
156 SOCKET_OP_ACCEPTCONN = 0x0008,
157 SOCKET_OP_NALGE = 0x0010,
158 SOCKET_OP_RCVSIZE = 0x0020,
159 SOCKET_OP_SNDSIZE = 0x00040,
160 All_SOCKET_OP
161}SocketOptionT;
162
163typedef enum
164{
165 SOCKET_SEND_NO_DELAY = 0x01,
166 SOCKET_SEND_IDLE = 0x02
167}SocketSendTypeT;
168
169typedef enum
170{
171 SOCK_SD_NONE = 0x00,
172 SOCK_SD_RECEIVE = 0x01,
173 SOCK_SD_SEND = 0x02,
174 SOCK_SD_BOTH = 0x03
175}SockSDStateT;
176
177typedef enum
178{
179 SOCKET_FP_TOS =1, /* set IP type-of-service */
180 SOCKET_FP_TTL =2, /* set IP datagram time-to-live */
181 SOCKET_FP_FLAGS =3, /* set or clear binary option */
182 SOCKET_FP_RECVBUF =4, /* set receive buffer size */
183 SOCKET_FP_MAXSEG = 5,
184 SOCKET_FP_MAXRXTSHIFT =6, /* set maximum frame re-transmission */
185 SOCKET_FP_KEEPALIVE=7
186}SocketOpFlagT;
187
188typedef enum
189{
190 NET_SUCCESS, /* The operation was a success. */
191 NET_EBADF, /* Bad file number */
192 NET_EFAULT, /* Bad address */
193 NET_EWOULDBLOCK, /* Operation would block */
194 NET_EAFNOSUPPORT, /* Address family not supported by protocol. */
195 NET_EPROTOTYPE, /* Protocol wrong type for socket */
196 NET_ESOCKNOSUPPORT,/* Socket type not supported. */
197 NET_EPROTONOSUPPORT,/* Protocol not supported */
198 NET_EMFILE, /* Too many open files. */
199 NET_EOPNOTSUPP, /* Operation not supported on transport endpoint. */
200 NET_EADDRINUSE, /* Address already in use. */
201 NET_EADDRREQ, /* Destination address required */
202 NET_EINPROGRESS, /* Operation now in progress */
203 NET_ESHUTDOWN, /* Socket was closed */
204 NET_EISCONN, /* Transport endpoint is already connected. */
205 NET_EIPADDRCHANGED, /* Remote address changed. */
206 NET_ENOTCONN, /* Transport endpoint is not connected. */
207 NET_ECONNREFUSED, /* Connection refused. */
208 NET_ETIMEDOUT, /* Connection timed out. */
209 NET_ECONNRESET, /* Connection reset by peer. */
210 NET_ECONNABORTED, /* Software caused connection abort. */
211 NET_ENETDOWN, /* Network is down. */
212 NET_EPIPE, /* Broken pipe. */
213 NET_EMAPP, /* No mapping found. */
214 NET_EBADAPP, /* RegId invalid. */
215 NET_ESOCKEXIST, /* The socket doesn't exist. */
216 NET_EINVAL, /* Invalid argument. */
217 NET_EMSGSIZE, /* Message too long. */
218 NET_EEOF, /* End of file reached. */
219 NET_EHOSTNOTFOUND, /* The host wasn't found. */
220 NET_ETRYAGAIN, /* Try again. */
221 NET_ENORECOVERY, /* Can't recover from error. */
222 NET_ENOADDRESS, /* No address given. */
223 NET_SUCCESS_END, /*Success and have no more data left to be sent to val*/
224 NET_ENETEXIST
225} NetResultT;
226
227typedef enum
228{
229 NET_RLP_DEFAULT_SETTINGS,
230 NET_RLP_CURRENT_SETTINGS,
231 NET_RLP_NEGOTIATED_SETTINGS
232} NetRlpSettingsTypeT;
233
234typedef struct
235{
236 kal_uint8 FwdNakRounds;
237 kal_uint8 FwdNaksPerRounds[7];
238 kal_uint8 RevNakRounds;
239 kal_uint8 RevNaksPerRounds[7];
240} NetRlpSettingsT;
241
242/*This data type is the PPP connection status.
243 * NET_ISCONN_STATUS - PPP connection is established and available.
244 * NET_INPROGRESS_STATUS, - PPP connection in progress.
245 * NET_NONET_STATUS, - PPP connection disconnected.
246 * NET_CLOSEINPROGRESS_STATUS - PPP connection is closing.
247 */
248typedef enum
249{
250 NET_ISCONN_STATUS,
251 NET_INPROGRESS_STATUS,
252 NET_NONET_STATUS,
253 NET_CLOSEINPROGRESS_STATUS,
254 NET_DORMINPROGRESS_STATUS,
255 NET_INDORMANCY_STATUS,
256 NET_WAKINGUP_STATUS,
257 NET_SUSPEND_STATUS,
258 NET_IDLE_STATUS,
259 NET_DISABLED_STATUS,
260 NET_UNAVAILABLE_STATUS,
261 NET_RELEASED_STATUS,
262 NET_RESET_STATUS
263} NetStatusT;
264
265typedef enum
266{
267 NET_EVT_SOCKET,
268 NET_EVT_NET,
269 NET_EVT_DNS_LOOKUP,
270 NET_EVT_MAX
271} ValNetEventIdT;
272
273typedef struct
274{
275 kal_uint16 SockFd;
276 kal_uint32 EventMask;
277} NetSocketMsgT;
278
279
280typedef struct
281{
282 kal_uint16 SockFd;
283 kal_uint32 EventMask;
284 RegIdT RegId;
285} NetSocket2MsgT;
286
287typedef struct
288{
289 RegIdT RegId;
290 NetStatusT Status;
291} NetEventMsgT;
292
293typedef struct
294{
295 char* NameP;
296 NetSockAddrT Addr;
297} NetDnsLookupMsgT;
298
299/*some test message body - hyang*/
300typedef struct
301{
302 RegIdT regid;
303} NetTestRegIdT;
304
305typedef struct
306{
307 kal_int16 sockfd;
308} NetTestSockFdT;
309
310/*valnet call back prototype*/
311typedef void (*ValNetEventFunc)( RegIdT RegId,
312 ValNetEventIdT EventId,
313 void* EventMsgP );
314
315
316#define NET_SOCKUSABLE 0
317#define NULL_REGID -1
318#define UDP_MAX_PAYLOAD_LEN 1472
319#define MAX_IP_DATAGRAM_LEN 8192
320#define SOCKFD_BASE 100
321
322
323typedef struct
324{
325 kal_uint32 evtExpected;
326 kal_int16 sockfd;
327 RegIdT regid;
328 kal_uint8 sap;
329 NetDomainT family;
330 NetTypeT type;
331 NetProtocolT protocol;
332 kal_bool bDataReady;
333 kal_bool bDataSendReady;
334 kal_bool bSapValid;
335 kal_bool bBinded;
336 SockStateT SockState;
337 HlpAppAddrT localAddr;
338 HlpAppAddrT destAddr;
339 HlpAppAddrT destIp6Addr[4];
340
341 unsigned char bufRecvData[MAX_IP_DATAGRAM_LEN];
342 int lenRecvData;
343 int maxLenRecvData;
344 int lenBytesToBeRead;
345 unsigned char bufSendData[MAX_IP_DATAGRAM_LEN];
346 int lenSendData;
347 int maxLenSendData;
348 kal_uint16 socketOpt;
349 kal_int16 sockListenfd;
350 kal_bool bAppUsed;
351 kal_uint32 lingerTime;
352 SockSDStateT sdState;
353#ifdef MTK_DEV_GPSONE_ON_LTE
354 kal_int32 SocketHandle;
355 gps_rpc_rat_mode_t SocketRatMode;
356#endif
357} SockCtrlBlkT;
358
359/* ETS Messages
360 */
361typedef struct
362{
363 kal_uint8 result;
364} ValNetResultRspT;
365
366typedef struct
367{
368 kal_uint8 status;
369} ValNetStatusRspT;
370
371typedef struct
372{
373 ExeRspMsgT RspInfo;
374 kal_int16 sockfd;
375 kal_uint32 evtMask;
376} ValNetEventSelectMsgT;
377
378typedef struct
379{
380 ExeRspMsgT RspInfo;
381 kal_uint16 RegId;
382 kal_uint8 domain; /* NetDomainT */
383 kal_uint8 type; /* NetTypeT */
384 kal_uint8 protocol; /* NetProtocolT */
385} ValNetSocketCreateMsgT;
386
387typedef struct
388{
389 kal_uint8 result;
390 kal_uint16 sockfd;
391} ValNetSocketCreateRspT;
392
393typedef struct
394{
395 ExeRspMsgT RspInfo;
396 kal_int16 sockfd;
397 kal_uint16 SinFamily;
398 kal_uint16 SinPort;
399 kal_uint32 Address;
400 char SizeZero[8];
401 kal_int16 namelen;
402} ValNetConnectMsgT;
403
404typedef struct
405{
406 ExeRspMsgT RspInfo;
407 kal_int16 sockfd;
408} ValNetCloseMsgT;
409
410typedef struct
411{
412 ExeRspMsgT RspInfo;
413 kal_int16 sockfd;
414} ValNetGetSockStatusMsgT;
415
416typedef struct
417{
418 SockStateT sockState;
419} ValNetGetSockStatusRspT;
420
421typedef struct
422{
423 ExeRspMsgT RspInfo;
424 kal_int16 sockfd;
425 kal_int32 nbytes;
426 kal_uint8* buffer;
427} ValNetRecvMsgT;
428
429typedef struct
430{
431 kal_uint8 result;
432 kal_int16 numBytesRead;
433} ValNetRecvRspT;
434
435typedef struct
436{
437 ExeRspMsgT RspInfo;
438 kal_int16 sockfd;
439 kal_int32 nbytes;
440 kal_uint8* buffer;
441} ValNetSendMsgT;
442
443typedef struct
444{
445 kal_uint8 result;
446 kal_int16 numBytesSend;
447} ValNetSendRspT;
448
449typedef struct
450{
451 ExeRspMsgT RspInfo;
452 kal_int16 sockfd;
453 kal_uint16 SinFamily;
454 kal_uint16 SinPort;
455 kal_uint32 Address;
456 char SizeZero[8];
457 kal_int16 namelen;
458} ValNetBindMsgT;
459
460typedef struct
461{
462 ExeRspMsgT RspInfo;
463 kal_int16 sockfd;
464 kal_int16 backlog;
465} ValNetListenMsgT;
466
467typedef struct
468{
469 ExeRspMsgT RspInfo;
470 kal_int16 sockfd;
471 kal_uint16 SinFamily;
472 kal_uint16 SinPort;
473 kal_uint32 Address;
474 char SizeZero[8];
475} ValNetAcceptMsgT;
476
477typedef struct
478{
479 kal_uint8 result;
480 kal_int16 addrlen;
481 kal_int16 newsock;
482} ValNetAcceptRspT;
483
484typedef struct
485{
486 kal_int16 sockfd;
487 int nbytes;
488 kal_uint8* buffer;
489 kal_uint16 SinFamily;
490 kal_uint16 SinPort;
491 kal_uint32 Address;
492 kal_uint8 SizeZero[8];
493 int tolen;
494} ValNetSendToMsgT;
495
496typedef struct
497{
498 kal_int16 sockfd;
499 int nbytes;
500 kal_uint8* buffer;
501 kal_uint16 SinFamily;
502 kal_uint16 SinPort;
503 kal_uint32 Address;
504 kal_uint8 SizeZero[8];
505 int tolen;
506} ValNetRecvFromMsgT;
507
508typedef struct
509{
510 kal_uint16 RegId;
511 char* HostName;
512 kal_uint32 IpAddrP;
513} ValNetGetHostByNameMsgT;
514
515typedef struct
516{
517 char* cp;
518} ValNetInetAddrMsgT;
519
520typedef struct
521{
522 int LenP;
523 char* AuthStrP;
524} ValNetGetPPPAuthParmsMsgT;
525
526typedef struct
527{
528 char* AuthStrP;
529} ValNetSetPPPAuthParmsMsgT;
530
531typedef struct
532{
533 kal_uint8 Length;
534 char DialStr[HLP_MAX_BWSR_DIG_LEN];
535} ValNetGetDialStrParmsRspMsgT;
536
537typedef struct
538{
539 ExeRspMsgT RspInfo;
540 char DialStr[HLP_MAX_BWSR_DIG_LEN];
541} ValNetSetDialStrParmsMsgT;
542
543typedef struct
544{
545 NetResultT Result;
546} ValNetSetDialStrParmsRspMsgT;
547
548typedef struct
549{
550 kal_uint32 IpAddrPrimary;
551 kal_uint32 IpAddrSecondary;
552} ValNetGetDNSServerIpAddrRspMsgT;
553
554typedef struct
555{
556 kal_uint32 IpAddrPrimary;
557 kal_uint32 IpAddrSecondary;
558} ValNetSetDNSServerIpAddrMsgT;
559
560typedef struct
561{
562 kal_uint8 Type;
563 kal_uint8 Code;
564 kal_uint16 Checksum;
565 kal_uint16 Identifier;
566 kal_uint16 SequenceNumber;
567} IcmpPingMsgT;
568
569typedef struct
570{
571 IcmpPingMsgT msg;
572 kal_uint32 length;
573 kal_uint32 count;
574 kal_uint32 ticks;
575 kal_bool infinite;
576 kal_timerid hlp_ping_timer_id;
577 //ExeTimerT timerCallback;
578 kal_bool timerInUse;
579 kal_uint32 startTimeInMs;
580 kal_uint32 totalTxBytes;
581 kal_uint32 totalRxBytes;
582 ExeRspMsgT RspMsg;
583}ValEtsNetPingStructT;
584
585typedef struct
586{
587 ExeRspMsgT RspMsg;
588 kal_uint32 Length;
589 kal_uint32 Interval;
590 kal_int32 Times;
591} ValNetPingReqMsgT;
592
593typedef struct
594{
595 kal_uint32 totalTime;
596 kal_uint32 ulBaud;
597 kal_uint32 dlBaud;
598} ValNetPingRspMsgT;
599
600typedef struct
601{
602 NetStatusT state;
603} ValHlpDataStateMsgT;
604
605typedef struct
606{
607 kal_uint8 status; /*0-Succ, 1-Fail or released*/
608 kal_uint32 LocalIPAddr;
609 kal_uint32 RemoteIPAddr;
610 kal_uint32 PriDNSAddr;
611 kal_uint32 SecDNSAddr;
612} ValPSConnRspT;
613
614typedef enum
615{
616 VAL_PS_NO = 0, /* Release PS from existing system*/
617 VAL_PS_1X, /* PS service is on 1X */
618 VAL_PS_HRPD, /* PS service is on HRPD */
619 VAL_PS_EHRPD /* PS service is on EHRPD */
620} ValPsConnT;
621
622typedef enum
623{
624 VAL_PS_CONN_FAIL_UNUSED = 0,
625 VAL_PS_CONN_FAIL_PPP_AUTH_FAIL = 6,
626 VAL_PS_CONN_FAIL_MIP_PPP_LCP_TMO,
627 VAL_PS_CONN_FAIL_MIP_PPP_NCP_TMO,
628 VAL_PS_CONN_FAIL_SIP_PPP_LCP_TMO,
629 VAL_PS_CONN_FAIL_SIP_PPP_NCP_TMO,
630 VAL_PS_CONN_FAIL_MIP_PPP_OPT_MISMATCH,
631 VAL_PS_CONN_FAIL_SIP_PPP_OPT_MISMATCH,
632 VAL_PS_CONN_FAIL_MIP_SOL_TMO,
633 VAL_PS_CONN_FAIL_MIP_RRQ_TMO,
634 VAL_PS_CONN_FAIL_MIP_RRP_ERR,
635 VAL_PS_CONN_FAIL_MIP_LCP_FAIL,
636 VAL_PS_CONN_FAIL_SIP_LCP_FAIL,
637 VAL_PS_CONN_FAIL_MIP_NCP_FAIL,
638 VAL_PS_CONN_FAIL_SIP_NCP_FAIL,
639 VAL_PS_CONN_FAIL_PPP_A12_AUTH_FAIL,
640 VAL_PS_CONN_FAIL_PPP_EAP_AKA_AUTH_FAIL,
641 VAL_PS_CONN_FAIL_MIP_ADMIN_PROHIB_FAIL,
642 VAL_PS_CONN_FAIL_MULTI_TCH_FAIL,
643 VAL_PS_CONN_FAIL_PPP_A12_LCP_TMO
644} ValPsConnErrT;
645
646extern SockCtrlBlkT SockCtrlBlkTable[NET_MAX_SOCKS];
647
648extern SockCtrlBlkT* GetAvailableSockCtrlBlk( void );
649extern void FreeSockCtrlBlk(SockCtrlBlkT* pSCB);
650extern SockCtrlBlkT* GetSockCtrlBlkBySockfd( kal_int16 sockfd);
651extern void NetworkEventNotify(RegIdT RegId,NetStatusT NetStatus);
652extern void SocketEventNotify(kal_int16 SockFd, kal_uint32 EventMask);
653extern kal_uint32 GetSocketEventMask( SockCtrlBlkT* pSCB,
654 kal_uint32 evtExpected );
655extern kal_bool CanClosePPPSession( void );
656extern SockCtrlBlkT *GetAcceptSockCtrlBlkfd(kal_int16 sockfd, kal_int16 *clinsockfd, kal_int8 *acceptBlkNum);
657 extern kal_uint16 GetAvailableSockCtrlNum( void );
658
659/* Message handler */
660RegIdT ValNetRegister( ValNetEventFunc NetCallback );
661void NetUnregister( RegIdT RegId );
662void ValPppConnStatusMsg( void* MsgDataP );
663#ifdef MTK_DEV_C2K_IRAT
664void ValPppMruNotifyMsg(void *MsgDataP);
665#endif
666void ValSocketCreateStatusMsg( void* MsgDataP );
667void ValSocketBindStatusMsg( void* MsgDataP );
668void ValSocketConnStatusMsg( void* MsgDataP );
669void ValSocketCloseStatusMsg( void* MsgDataP );
670void ValTcpbDataRecvMsg( void* MsgDataP );
671void ValSocketInactTmoMsg(void *MsgData);
672void ValTcpbDataSendRspMsg( void* MsgDataP );
673void ValUpbRecvDataMsg( void* MsgDataP );
674void ValUdpbSentDataRspMsg( void* MsgDataP );
675void ValSocketListenStatusMsg(void* MsgDataP);
676void ValSocketOptStatusMsg(void *MsgDataP);
677void ValSocketShutdownStatusMsg(void *MsgDataP);
678void ValSocketLingerStatusMsg(void *MsgDataP);
679kal_bool ValNetGetPppConnStatus(void);
680
681#ifdef __cplusplus
682extern "C" {
683#endif
684/*===========================================================================
685FUNCTION ValNetInit()
686
687DESCRIPTION
688
689DEPENDENCIES
690 None.
691
692PARAMETERS:
693
694RETURN VALUE
695===========================================================================*/
696void ValNetInit( void );
697
698/***************************************************************************
699
700 FUNCTION NAME: ValNetRegister
701
702 DESCRIPTION:
703 This function registers a callback for all network services related events.
704
705 PARAMETERS:
706 NetCallback - The callback function to be called for the notification of network
707 services events.
708
709 RETURNED VALUES:
710
711 The assigned registration ID of the subscriber.
712
713*****************************************************************************/
714RegIdT ValNetRegister( ValNetEventFunc NetCallback );
715
716/***************************************************************************
717
718 FUNCTION NAME: ValNetUnregister
719
720 DESCRIPTION:
721 This function unregisters the given client so that it won't receive additional
722 network services related events.
723
724 PARAMETERS:
725 RegId - The assigned registration ID of the subscriber.
726
727 RETURNED VALUES:
728 void
729
730*****************************************************************************/
731void ValNetUnregister( RegIdT RegId );
732
733/***************************************************************************
734
735 FUNCTION NAME: NetPppOpen
736
737 DESCRIPTION:
738 This function opens a new PPP connection
739
740 PARAMETERS:
741 RegId - The assigned registration ID of the subscriber.
742
743 RETURNED VALUES:
744 A success or failure code from NetResultT
745
746*****************************************************************************/
747NetResultT ValNetPppOpen( RegIdT RegId );
748
749/***************************************************************************
750
751 FUNCTION NAME: ValNetPppClose
752
753 DESCRIPTION:
754 This function closes a PPP connection
755
756 PARAMETERS:
757 RegId - The assigned registration ID of the subscriber.
758
759 RETURNED VALUES:
760 A success or failure code from NetResultT.
761
762*****************************************************************************/
763NetResultT ValNetPppClose( RegIdT RegId );
764
765/***************************************************************************
766
767 FUNCTION NAME: ValNetPppDormantReq
768
769 DESCRIPTION:
770 This function request the PPP connection to enter dormancy state.
771
772 PARAMETERS:
773 RegId - The assigned registration ID of the subscriber.
774
775 RETURNED VALUES:
776 A success or failure code from NetResultT.
777
778*****************************************************************************/
779NetResultT ValNetPppDormantReq( RegIdT RegId );
780
781/***************************************************************************
782
783 FUNCTION NAME: ValNetGetPppStatus
784
785 DESCRIPTION:
786 This function get the PPP connection status.
787
788 PARAMETERS:
789 RegId - The assigned registration ID of the subscriber.
790
791 RETURNED VALUES:
792
793
794*****************************************************************************/
795NetStatusT ValNetGetPppStatus( RegIdT RegId );
796
797/***************************************************************************
798
799 FUNCTION NAME: ValNetEventSelect
800
801 DESCRIPTION:
802 This function registers the client to receive the events as indicated by the event mask.
803
804 PARAMETERS:
805 SockFd - The file decriptor ID of the socket.
806 EventMask - The event mask of the events that have occurred.
807
808 RETURNED VALUES:
809 A success or failure code from NetResultT.
810
811*****************************************************************************/
812NetResultT ValNetEventSelect( kal_int16 sockfd,
813 kal_uint32 evtMask );
814
815/***************************************************************************
816
817 FUNCTION NAME: ValNetSocket
818
819 DESCRIPTION:
820 This function opens a socket of the specified protocol type
821
822 PARAMETERS:
823 RegId - The assigned registration ID of the subscriber.
824 Domain - The protocol family to be used.
825 Type - Stream, datagram etc.
826 Protocol - UDP, TCP, etc.
827 SockFd - [out] The new file descriptor for the socket.
828
829 RETURNED VALUES:
830 A success or failure code from NetResultT.
831
832*****************************************************************************/
833NetResultT ValNetSocket( RegIdT RegId,
834 NetDomainT af,
835 NetTypeT type,
836 NetProtocolT protocol,
837 kal_int16* SockFd );
838
839/***************************************************************************
840
841 FUNCTION NAME: ValNetConnect
842
843 DESCRIPTION:
844 This function makes a connection the given network node
845
846 PARAMETERS:
847 SockFd - The file decriptor ID of the socket.
848 ServAddrP - The address and port of the server.
849 AddrLen - The length of the server address structure.
850
851 RETURNED VALUES:
852 A success or failure code from NetResultT.
853
854*****************************************************************************/
855NetResultT ValNetConnect( kal_int16 sockfd,
856 const NetSockAddrT* name,
857 kal_int16 namelen );
858
859/***************************************************************************
860
861 FUNCTION NAME: ValNetClose
862
863 DESCRIPTION:
864 This function closes the given socket.
865
866 PARAMETERS:
867 SockFd - The file decriptor ID of the socket.
868
869 RETURNED VALUES:
870 A success or failure code from NetResultT.
871
872*****************************************************************************/
873NetResultT ValNetClose( kal_int16 sockfd );
874
875/***************************************************************************
876
877 FUNCTION NAME: NetGetSockStatus
878
879 DESCRIPTION:
880
881 This function get the status of the given socket.
882
883 PARAMETERS:
884
885 SockFd - The file decriptor ID of the socket.
886
887 RETURNED VALUES:
888
889 .
890
891*****************************************************************************/
892SockStateT ValNetGetSockStatus( kal_int16 sockfd );
893
894/***************************************************************************
895
896 FUNCTION NAME: ValNetRecv
897
898 DESCRIPTION:
899
900 This function receives bytes from a socket into the given buffer
901
902 PARAMETERS:
903
904 sockfd - The file decriptor ID of the socket.
905 buffer - The buffer where incoming data is copied to.
906 nbytes - The length of BufferP.
907 NumBytesReadP - [out] The number of bytes copied into BufferP
908
909
910 RETURNED VALUES:
911
912 A success or failure code from NetResultT
913
914*****************************************************************************/
915NetResultT ValNetRecv( kal_int16 sockfd,
916 char* buffer,
917 int nbytes,
918 kal_int16* NumBytesReadP );
919
920/***************************************************************************
921
922 FUNCTION NAME: ValNetSend
923
924 DESCRIPTION:
925
926 This function sends bytes through the opened socket.
927
928 PARAMETERS:
929
930 sockfd - The file decriptor ID of the socket.
931 buffer - The buffer where incoming data is copied to.
932 nbytes - The length of BufferP.
933 NumBytesReadP - [out] The number of bytes copied into BufferP
934
935
936 RETURNED VALUES:
937
938 A success or failure code from NetResultT
939
940*****************************************************************************/
941NetResultT ValNetSend( kal_int16 sockfd,
942 char* buffer,
943 int nbytes,
944 kal_int16* NumBytesSendP );
945
946/***************************************************************************
947
948 FUNCTION NAME: ValNetBind
949
950 DESCRIPTION:
951
952 This function binds the given socket to a given network node
953
954 PARAMETERS:
955
956 sockfd - The file decriptor ID of the socket.
957 name - The address and port of the server.
958 namelen - The length of the server address structure.
959
960 RETURNED VALUES:
961
962 A success or failure code from NetResultT
963
964*****************************************************************************/
965NetResultT ValNetBind( kal_int16 sockfd,
966 const NetSockAddrT* name,
967 kal_int16 namelen );
968
969/***************************************************************************
970
971 FUNCTION NAME: ValNetListen
972
973 DESCRIPTION:
974 This function registers the client for new connection events associated with the socket.
975
976 PARAMETERS:
977 sockfd - The file decriptor ID of the socket.
978 backlog - The maximum number of pending connections allowed.
979
980 RETURN VALUE:
981 A success or failure code from NetResultT.
982
983
984*****************************************************************************/
985NetResultT ValNetListen( kal_int16 sockfd,
986 kal_int16 backlog );
987
988/***************************************************************************
989
990 FUNCTION NAME: ValNetAccept
991
992 DESCRIPTION:
993 This function accepts a new connection from another network node.
994
995 PARAMETERS:
996 sockfd - The file decriptor ID of the socket.
997 addr - The address and port of the server. This is an output parameter, so
998 it doesn't have to be initialized.
999 addrlen - The length of the server address structure. This is an output
1000 parameter, so it doesn't have to be initialized.
1001 newsock - Pointer to the new connetion socket when a new connection is
1002 sucessfully established. This is an output parameter, so it
1003 doesn't have to be initialized.
1004
1005 RETURN VALUE:
1006 A success or failure code from NetResultT.
1007
1008*****************************************************************************/
1009NetResultT ValNetAccept( kal_int16 sockfd,
1010 NetSockAddrT* addr,
1011 kal_int16* addrlen,
1012 kal_int16* newsock );
1013
1014/***************************************************************************
1015
1016 FUNCTION NAME: ValNetSendTo
1017
1018 DESCRIPTION:
1019 This function sends a datagram to the specified network node
1020
1021 PARAMETERS:
1022 sockfd - The file decriptor ID of the socket.
1023 buffer - The buffer where outgoing data is copied from.
1024 nbytes - The length of the data ready to be written from BufferP.
1025 toAddr - The address the datagram should be sent to.
1026 tolen - The length of the address in ToAddrP.
1027 NumBytesSendP - The number of bytes written to the socket. This is an output
1028 parameter, so it doesn't have to be initialized.
1029
1030 RETURN VALUE:
1031 A success or failure code from NetResultT.
1032
1033*****************************************************************************/
1034NetResultT ValNetSendTo( kal_int16 sockfd,
1035 char* buffer,
1036 int nbytes,
1037 NetSockAddrT* toAddr,
1038 int tolen,
1039 kal_int16* NumBytesSendP );
1040
1041/***************************************************************************
1042
1043 FUNCTION NAME: ValNetRecvFrom
1044
1045 DESCRIPTION:
1046 This function receives a datagram from the specified network node.
1047
1048 PARAMETERS:
1049 sockfd - The file decriptor ID of the socket.
1050 buffer - The buffer where incoming data is copied to.
1051 nbytes - The length of the buffer in BufferP.
1052 from - The address the datagram should be recieved from.
1053 fromlen - point to the length of the receive socket address. This is an
1054 output parameter, so it doesn't have to be initialized.
1055 NumBytesReadP - The number of bytes receiving from the socket. This is an
1056 output parameter, so it doesn't have to be initialized.
1057
1058 RETURN VALUE:
1059 A success or failure code from NetResultT.
1060
1061*****************************************************************************/
1062NetResultT ValNetRecvFrom( int sockfd,
1063 char* buffer,
1064 int nbytes,
1065 NetSockAddrT* from,
1066 int* fromlen,
1067 kal_int16* NumBytesReadP );
1068
1069/***************************************************************************
1070
1071 FUNCTION NAME: ValNetGetHostByName
1072
1073 DESCRIPTION
1074 This function converts a host name to an IP address.
1075
1076 PARAMETERS
1077 RegId - The assigned registration ID of the subscriber.
1078 HostName - The name of the host.
1079 IPAddrP - The quad IP address number. This is an output parameter, so it
1080 doesn't have to be initialized.
1081
1082 RETURN VALUE:
1083 A success or failure code from NetResultT.
1084
1085*****************************************************************************/
1086NetResultT ValNetGetHostByName( RegIdT RegId,
1087 char* HostName,
1088 kal_uint32* IPAddrP );
1089
1090/***************************************************************************
1091
1092 FUNCTION NAME: ValNetInetAddr
1093
1094 DESCRIPTION
1095 This function converts the Internet host address cp from numbers and
1096 dots notation into binary data in network byte order.
1097
1098 PARAMETERS:
1099 cp - The address as a string in numbers and dots notation.
1100
1101 RETURN VALUE:
1102 Host address converted to binary or -1 (0xFFFF) if the input string is invalid.
1103
1104*****************************************************************************/
1105kal_uint32 ValNetInetAddr( char* cp );
1106
1107/***************************************************************************
1108
1109 FUNCTION NAME: NetHToNl
1110
1111 DESCRIPTION:
1112
1113 This function converts the unsigned integer HostLong from host byte order
1114 to network byte order
1115
1116 PARAMETERS:
1117
1118 HostLong - A host byte order number
1119
1120 RETURNED VALUES:
1121
1122 An unsigned long of net byte order
1123
1124*****************************************************************************/
1125kal_uint32 NetHToNl (kal_uint32 hostlong);
1126
1127/***************************************************************************
1128
1129 FUNCTION NAME: NetHToNs
1130
1131 DESCRIPTION:
1132
1133 This function converts the unsigned short integer hostshort from host byte
1134 order to network byte order
1135
1136 PARAMETERS:
1137
1138 HostLong - A host byte order number
1139
1140 RETURNED VALUES:
1141
1142 An unsigned short of net byte order
1143
1144*****************************************************************************/
1145kal_uint16 NetHToNs(kal_uint16 hostshort);
1146
1147/***************************************************************************
1148
1149 FUNCTION NAME: NetNToHl
1150
1151 DESCRIPTION:
1152
1153 This function converts the unsigned integer netlong from network byte order
1154 to host byte order.
1155
1156 PARAMETERS:
1157
1158 NetLong - A net byte order number
1159
1160 RETURNED VALUES:
1161
1162 An unsigned long of host byte order
1163
1164*****************************************************************************/
1165kal_uint32 NetNToHl (kal_uint32 netlong);
1166
1167/***************************************************************************
1168
1169 FUNCTION NAME: NetNToHs
1170
1171 DESCRIPTION:
1172
1173 This function converts the unsigned short integer netshort from network byte
1174 order to host byte order
1175
1176 PARAMETERS:
1177
1178 NetShort - A net byte order number
1179
1180 RETURNED VALUES:
1181
1182 An unsigned short of host byte order
1183
1184*****************************************************************************/
1185kal_uint16 NetNToHs (kal_uint16 netshort);
1186
1187/***************************************************************************
1188
1189 FUNCTION NAME: NetSetPppAuthParms
1190
1191 DESCRIPTION:
1192 This function sets the PPP authentication parameters from the protocol stack.
1193
1194 PARAMETERS:
1195 AuthStrP - The PPP authentication parameters as a concatentation of 2 NULL
1196 terminated strings "userid@domain.com\0password\0".
1197
1198 RETURN VALUE:
1199 A success or failure code from NetResultT.
1200
1201*****************************************************************************/
1202NetResultT ValNetSetPppAuthParms( char* AuthStrP );
1203
1204/***************************************************************************
1205
1206 FUNCTION NAME: NetGetDialStrParms
1207
1208 DESCRIPTION:
1209 This function gets the dial number used while setup the PPP session.
1210
1211 PARAMETERS:
1212 DialStrP - the dial number used.
1213
1214 RETURN VALUE:
1215 A success or failure code from NetResultT.
1216
1217*****************************************************************************/
1218NetResultT ValNetGetDialStrParms( char* DialStrP,
1219 int* LenP );
1220
1221/***************************************************************************
1222
1223 FUNCTION NAME: NetSetDialStrParms
1224
1225 DESCRIPTION:
1226 This function Sets the dial number used while setup the PPP session.
1227
1228 PARAMETERS:
1229 DialStrP - the dial number used.
1230
1231 RETURN VALUE:
1232 A success or failure code from NetResultT.
1233
1234*****************************************************************************/
1235NetResultT ValNetSetDialStrParms( char* DialStrP );
1236
1237
1238/***************************************************************************
1239
1240 FUNCTION NAME: ValNetSetDormToRelTimer
1241
1242 DESCRIPTION:
1243 To set the time duration to disconnect packet data call in dormant mode.
1244
1245 PARAMETERS:
1246 Duration -duration bettween dormancy to release, uint: s.
1247
1248 RETURNED VALUES:
1249 A success or failure code from NetResultT
1250
1251*****************************************************************************/
1252NetResultT ValNetSetDormToRelTimer(kal_uint16 Duration);
1253
1254/***************************************************************************
1255
1256 FUNCTION NAME: NetSetRlpInactTmoReq
1257
1258 DESCRIPTION:
1259 Tells the Browser and RLP to activate/deactivate its inactivity timer on
1260the
1261 specified channel.
1262
1263 PARAMETERS:
1264 nInactTime - 0 : Disable Inactivity Monitor Feature.
1265 Else: Enable Inactivity Monitoring for the specified number
1266of seconds.
1267
1268 RETURN VALUE:
1269 A success or failure code from NetResultT.
1270
1271*****************************************************************************/
1272NetResultT ValNetSetRlpInactTmoReq( kal_uint16 nInactTime );
1273
1274/***************************************************************************
1275
1276 FUNCTION NAME: NetGetRlpSettings
1277
1278 DESCRIPTION:
1279 This function gets the NAK related RLP settings from the protocol stack.
1280
1281 PARAMETERS:
1282 RlpSettingsType - The current, default, or negotiated RLP settings.
1283 SettingsP - The RLP settings. This is an output parameter, so it doesn't
1284 have to be initialized.
1285
1286 RETURN VALUE:
1287 A success or failure code from NetResultT.
1288
1289*****************************************************************************/
1290NetResultT ValNetGetRlpSetting( NetRlpSettingsTypeT RlpSettingsType,
1291 NetRlpSettingsT* SettingsP );
1292
1293/***************************************************************************
1294
1295 FUNCTION NAME: NetSetRlpSettings
1296
1297 DESCRIPTION:
1298 This function sets the NAK related RLP settings from the protocol stack.
1299
1300 PARAMETERS:
1301 RlpSettingsType - The current, default, or negotiated RLP settings.
1302 SettingsP - The RLP settings.
1303
1304 RETURN VALUE:
1305 A success or failure code from NetResultT.
1306
1307*****************************************************************************/
1308NetResultT ValValNetSetRlpSetting( NetRlpSettingsTypeT RlpSettingsType,
1309 NetRlpSettingsT* SettingsP );
1310
1311/***************************************************************************
1312
1313 FUNCTION NAME: NetGetIpAddress
1314
1315 DESCRIPTION:
1316 This function gets the IP address of the MS if any.
1317
1318 PARAMETERS:
1319 IpAddrP - The IP address of the MS. This is an output parameter, so it doesn't
1320 have to be initialized.
1321
1322 RETURN VALUE:
1323 A success or failure code from NetResultT.
1324
1325*****************************************************************************/
1326NetResultT ValNetGetIpAddress( kal_uint32* IpAddrP );
1327
1328NetResultT ValNetGetRemoteIpAddress( kal_uint32* IpAddrP );
1329
1330/***************************************************************************
1331
1332 FUNCTION NAME: ValNetGetDNSServerIpAddr
1333
1334 DESCRIPTION:
1335 This function get the current DNS servers IP address.
1336
1337 PARAMETERS:
1338 IpAddrP - Pointer to the DNS server's IP address. This is an output parameter,
1339 so it doesn't have to be initialized.
1340
1341 RETURN VALUE:
1342 A success or failure code from NetResultT.
1343
1344*****************************************************************************/
1345NetResultT ValNetGetDNSServerIpAddr( kal_uint32* IpAddrP );
1346
1347/***************************************************************************
1348
1349 FUNCTION NAME: ValNetGetPeerName
1350
1351 DESCRIPTION:
1352 This function gets the peer name of the network node the socket it is associated with.
1353
1354 PARAMETERS:
1355 SockFd - The file decriptor ID of the socket.
1356 AddrP - The address of the other end of the socket connection. This
1357 is an output parameter, so it doesn't have to be initialized.
1358 AddrLenP - The size of the address returned. This is an output parameter, so
1359 it doesn't have to be initialized.
1360
1361 RETURN VALUE:
1362 A success or failure code from NetResultT.
1363
1364*****************************************************************************/
1365NetResultT ValNetGetPeerName( kal_int16 SockFd,
1366 NetSockAddrT* AddrP,
1367 kal_int16* AddrLenP );
1368
1369/***************************************************************************
1370
1371 FUNCTION NAME: ValNetSetDNSServerIpAddr
1372
1373 DESCRIPTION:
1374 This function Sets the current DNS servers IP address.
1375
1376 PARAMETERS:
1377 IpAddrP - Pointer to the DNS server's IP address. This is an input parameter.
1378
1379 RETURN VALUE:
1380 Void
1381
1382*****************************************************************************/
1383void ValNetSetDNSServerIpAddr( kal_uint32 IpAddrPri, kal_uint32 IpAddrSec );
1384
1385/*===========================================================================
1386FUNCTION ValNetShutdown()
1387
1388DESCRIPTION
1389 Shut down socket descriptor.
1390
1391 SHUT_RD: No more receives can be issued on socket; process can still send on socket;
1392 socket receive buffer discarded; any further data received is discarded by TCP;
1393 no effect on socket send buffer;
1394 SHUT_WR: No more sends can be issued on socket; process can still receive on socket;
1395 contents of socket send buffer sent to other end, followed by normal
1396 TCP connection termintation (FIN; no effect on socket recive buffer;
1397
1398DEPENDENCIES
1399 None.
1400
1401PARAMETERS:
1402 sockfd: socket ID
1403 shut dow: SHUT_RD SHUT_WR SHUT_WRRD
1404
1405RETURN VALUE:
1406 NetResultT
1407===========================================================================*/
1408
1409NetResultT ValNetShutdown(kal_int16 sockfd, kal_int8 how );
1410
1411/*===========================================================================
1412FUNCTION ValNetSetNoDelay()
1413
1414DESCRIPTION
1415 Use nagle algorthm
1416
1417DEPENDENCIES
1418 None.
1419
1420PARAMETERS:
1421 sockfd: socket ID
1422 shut dow: KAL_TRUE: no use nagle algorithm; KAL_FALSE: use nagle algorithm
1423
1424RETURN VALUE:
1425 NetResultT
1426===========================================================================*/
1427
1428NetResultT ValNetSetNoDelay(kal_int16 sockfd, kal_bool bNodaly);
1429
1430/*===========================================================================
1431FUNCTION ValNetGetNoDelay()
1432
1433DESCRIPTION
1434 get if to use nagle algorthm
1435
1436DEPENDENCIES
1437 None.
1438
1439PARAMETERS:
1440 sockfd: socket ID
1441
1442RETURN VALUE:
1443 kal_bool
1444===========================================================================*/
1445
1446NetResultT ValNetGetNoDelay(kal_int16 sockfd, kal_bool* delay);
1447
1448/*===========================================================================
1449FUNCTION ValNetSetKeepAlive()
1450
1451DESCRIPTION
1452 Set keep Alive
1453
1454DEPENDENCIES
1455 None.
1456
1457PARAMETERS:
1458 sockfd: socket ID
1459 keepAlive: if keep alive;
1460
1461RETURN VALUE:
1462 NONE
1463===========================================================================*/
1464
1465NetResultT ValNetSetKeepAlive(kal_int16 sockfd, kal_bool keepAlive);
1466
1467/*===========================================================================
1468FUNCTION ValNetGetKeepAlive()
1469
1470DESCRIPTION
1471 get if to keep Alive
1472
1473DEPENDENCIES
1474 None.
1475
1476PARAMETERS:
1477 sockfd: socket ID
1478
1479RETURN VALUE:
1480 keep alive or not.
1481===========================================================================*/
1482
1483NetResultT ValNetGetKeepAlive(kal_int16 sockfd, kal_bool* keepAlive);
1484
1485/*===========================================================================
1486FUNCTION ValNetSetLinger()
1487
1488DESCRIPTION
1489 set if to linger
1490
1491DEPENDENCIES
1492 None.
1493
1494PARAMETERS:
1495 sockfd: socket ID
1496 lingerOnOff: linger on or off
1497 lingerTime: time to linger
1498
1499RETURN VALUE:
1500 NetResultT
1501===========================================================================*/
1502
1503NetResultT ValNetSetLinger(kal_int16 sockfd, kal_bool lingerOnOff, kal_uint32 lingerTime);
1504
1505/*===========================================================================
1506FUNCTION ValNetGetLinger()
1507
1508DESCRIPTION
1509 Get if to linger
1510
1511DEPENDENCIES
1512 None.
1513
1514PARAMETERS:
1515 sockfd: socket ID
1516 lingerOnOff: linger on or off
1517 lingerTime: time to linger
1518
1519RETURN VALUE:
1520 NONE
1521===========================================================================*/
1522NetResultT ValNetGetLinger(kal_int16 sockfd, kal_bool *lingerOnOff, kal_uint32 *lingerTime);
1523
1524/*===========================================================================
1525FUNCTION ValNetSetSendBufSize()
1526
1527DESCRIPTION
1528 set send buffer size
1529
1530DEPENDENCIES
1531 None.
1532
1533PARAMETERS:
1534 sockfd: socket ID
1535 size: buffer's size
1536
1537RETURN VALUE:
1538 int
1539===========================================================================*/
1540
1541NetResultT ValNetSetSendBufSize(kal_int16 sockfd, int size );
1542
1543/*===========================================================================
1544FUNCTION NetGetSendBufSize()
1545
1546DESCRIPTION
1547 get send buffer size
1548
1549DEPENDENCIES
1550 None.
1551
1552PARAMETERS:
1553 sockfd: socket ID
1554
1555RETURN VALUE:
1556 int
1557===========================================================================*/
1558
1559int ValNetGetSendBufSize(kal_int16 sockfd);
1560
1561/*===========================================================================
1562FUNCTION ValNetSetRecvBufSize()
1563
1564DESCRIPTION
1565 Set receive buffer size
1566
1567DEPENDENCIES
1568 None.
1569
1570PARAMETERS:
1571 sockfd: socket ID
1572 size: buffer size
1573
1574RETURN VALUE:
1575 NetResultT
1576===========================================================================*/
1577
1578NetResultT ValNetSetRecvBufSize(kal_int16 sockfd, int size);
1579
1580/*===========================================================================
1581FUNCTION ValNetGetRecvBufSize()
1582
1583DESCRIPTION
1584 Get receive buffer size
1585
1586DEPENDENCIES
1587 None.
1588
1589PARAMETERS:
1590 sockfd: socket ID
1591
1592RETURN VALUE:
1593 int
1594===========================================================================*/
1595
1596int ValNetGetRecvBufSize(kal_int16 sockfd);
1597
1598 /*===========================================================================
1599FUNCTION ValNetGetSockName()
1600
1601DESCRIPTION
1602
1603DEPENDENCIES
1604 None.
1605
1606PARAMETERS:
1607
1608RETURN VALUE
1609===========================================================================*/
1610NetResultT ValNetGetSockName(kal_int16 sockfd, kal_uint32 *IpAddrP, kal_uint16 *port);
1611
1612/*===========================================================================
1613FUNCTION ValNetGetConnectionType()
1614
1615DESCRIPTION: Gets network type when in data service.
1616
1617DEPENDENCIES
1618 None.
1619
1620PARAMETERS:
1621
1622RETURN VALUE: ConnStateT
1623===========================================================================*/
1624ConnStateT ValNetGetConnectionType( void );
1625
1626
1627
1628#ifdef __cplusplus
1629}
1630#endif
1631
1632/***************************************************************************
1633
1634 FUNCTION NAME: ValNetProcessEvent
1635
1636 DESCRIPTION:
1637
1638 This function processes the event received and calls the registered call back
1639
1640 PARAMETERS:
1641
1642 NetEventId - The id of the val net event
1643 NetEventMsgP - the event message body
1644
1645 RETURNED VALUES:
1646 <NONE>
1647
1648*****************************************************************************/
1649void ValNetProcessEvent( ValNetEventIdT NetEventId,
1650 void* NetEventMsgP );
1651#ifdef MTK_CBP //MTK_DEV_C2K_IRAT
1652/*****************************************************************************
1653
1654 FUNCTION NAME: ValApi_Set_PS_Connection_Req2
1655
1656 DESCRIPTION:
1657 This is used to request DO chip to start PS connection on the specified CDMA service.
1658
1659 PARAMETERS: None.
1660
1661 RETURNED VALUES: None.
1662
1663*****************************************************************************/
1664void ValApi_Set_PS_Connection_Req2(ValPsConnT PsType, char *User, char* Password);
1665#endif
1666
1667/*****************************************************************************
1668
1669 FUNCTION NAME: ValApi_Set_PS_Connection_Req
1670
1671 DESCRIPTION:
1672 This is used to request DO chip to start PS connection on the specified CDMA service.
1673
1674 PARAMETERS: None.
1675
1676 RETURNED VALUES: None.
1677
1678*****************************************************************************/
1679void ValApi_Set_PS_Connection_Req(ValPsConnT PsType);
1680
1681/*****************************************************************************
1682
1683 FUNCTION NAME: ValApi_Set_PS_Connection_Rsp
1684
1685 DESCRIPTION:
1686 This is used to send the rsult of command ValApi_Set_PS_Connection_Req.
1687
1688 PARAMETERS: PSConnRsp - pionter to data block of Irat_SetPSConnRspT
1689 SysPri - priority of HRPD/EHRPD system. 0xff means not available.
1690
1691 RETURNED VALUES: None.
1692
1693*****************************************************************************/
1694void ValApi_Set_PS_Connection_Rsp(ValPSConnRspT *PSConnRsp);
1695
1696/*****************************************************************************
1697
1698 FUNCTION NAME: ValApi_PS_Conn_MIP_Status_Rsp
1699
1700 DESCRIPTION:
1701 This is used to send the result of MIP registration or deregistration.
1702
1703 PARAMETERS: rrpErr - MIP RRP error code
1704 reason - Failure reason
1705
1706 RETURNED VALUES: None.
1707
1708*****************************************************************************/
1709void ValApi_PS_Conn_MIP_Status_Rsp(kal_uint8 rrpErr, ValPsConnErrT reason);
1710
1711#ifdef MTK_CBP
1712/***************************************************************************
1713
1714 FUNCTION NAME: ValNetSendPingReq
1715
1716 DESCRIPTION:
1717 This function send ping command.
1718
1719 PARAMETERS:
1720 void
1721
1722 RETURN VALUE:
1723 Void
1724
1725*****************************************************************************/
1726void ValNetSendPingReq(void);
1727void ValNetSendPingReqExt(ValNetPingReqMsgT* MsgP);
1728void ValNetPingExpiryMsg(void* MsgDataP);
1729void ValStopPingTimer(void);
1730void ValIncTotalTxByteCount(kal_uint32 len);
1731void ValIncTotalRxByteCount(kal_uint32 len);
1732#endif /*MTK_CBP*/
1733
1734#ifdef __cplusplus
1735}
1736#endif /* __cplusplus */
1737
1738#endif /*__VAL_NET_H__*/
1739
1740/*****************************************************************************
1741 * removed!
1742 * removed!
1743 * removed!
1744 * removed!
1745 * removed!
1746 * removed!
1747*****************************************************************************/
1748
1749/*****************************************************************************
1750* End of File
1751*****************************************************************************/
1752
1753
1754/**Log information: \main\Trophy\Trophy_zjiang_href22289\1 2013-10-25 07:16:24 GMT zjiang
1755** HREF#22289.ÐÞ¸Ä+CMIPÃüÁÌí¼Ó+CCDATAºÍ+VCDMAIPÃüÁî.**/
1756/**Log information: \main\Trophy\1 2013-10-25 07:19:11 GMT cshen
1757** href#22289**/
1758