📄 nq_soc_adp.h
字号:
#ifndef __NQ_SOC_ADP_H__
#define __NQ_SOC_ADP_H__
#define NQ_ZH_MAX_SOCK_ADDR_LEN 16
typedef enum
{
NQ_ZH_SOCK_STREAM,
NQ_ZH_SOCK_DGRAM,
NQ_ZH_SOCK_SMS,
NQ_ZH_SOCK_RAW
}NQ_ZH_SOC_TYPE;
/* Socket Options */
typedef enum
{
NQ_ZH_SOC_OOBINLINE = 0x01 << 0, /* not support yet */
NQ_ZH_SOC_LINGER = 0x01 << 1, /* linger on close */
NQ_ZH_SOC_NBIO = 0x01 << 2, /* Nonblocking */
NQ_ZH_SOC_ASYNC = 0x01 << 3, /* Asynchronous notification */
NQ_ZH_SOC_NODELAY = 0x01 << 4, /* disable Nagle algorithm or not */
NQ_ZH_SOC_KEEPALIVE = 0x01 << 5,
NQ_ZH_SOC_RCVBUF = 0x01 << 6,
NQ_ZH_SOC_SENDBUF = 0x01 << 7,
NQ_ZH_SOC_NREAD = 0x01 << 8, /* no. of bytes for read, only for soc_getsockopt */
NQ_ZH_SOC_PKT_SIZE = 0x01 << 9, /* datagram max packet size */
NQ_ZH_SOC_SILENT_LISTEN = 0x01 << 10, /* SOC_SOCK_SMS property */
NQ_ZH_SOC_QOS = 0x01 << 11,
NQ_ZH_SOC_TCP_MAXSEG = 0x01 << 12,
NQ_ZH_SOC_IP_TTL = 0x01 << 13,
NQ_ZH_SOC_LISTEN_BEARER = 0x01 << 14,
NQ_ZH_SOC_UDP_ANY_FPORT = 0x01 << 15,
NQ_ZH_SOC_WIFI_NOWAKEUP = 0x01 << 16, /* send packet in power saving mode */
NQ_ZH_SOC_UDP_NEED_ICMP = 0x01 << 17, /* deliver NOTIFY(close) for ICMP error */
NQ_ZH_SOC_IP_HDRINCL = 0x01 << 18 /* IP header included for raw sockets */
} NQ_ZH_SOC_OPTION;
/* Socket return codes, negative values stand for errors */
typedef enum
{
NQ_ZH_SOC_SUCCESS = 0,
NQ_ZH_SOC_ERROR = -1,
NQ_ZH_SOC_WOULDBLOCK = -2,
NQ_ZH_SOC_LIMIT_RESOURCE = -3, /* limited resource */
NQ_ZH_SOC_INVALID_SOCKET = -4, /* invalid socket */
NQ_ZH_SOC_INVALID_ACCOUNT = -5, /* invalid account id */
NQ_ZH_SOC_NAMETOOLONG = -6, /* address too long */
NQ_ZH_SOC_ALREADY = -7, /* operation already in progress */
NQ_ZH_SOC_OPNOTSUPP = -8, /* operation not support */
NQ_ZH_SOC_CONNABORTED = -9, /* Software caused connection abort */
NQ_ZH_SOC_INVAL = -10, /* invalid argument */
NQ_ZH_SOC_PIPE = -11, /* broken pipe */
NQ_ZH_SOC_NOTCONN = -12, /* socket is not connected */
NQ_ZH_SOC_MSGSIZE = -13, /* msg is too long */
NQ_ZH_SOC_BEARER_FAIL = -14, /* bearer is broken */
NQ_ZH_SOC_CONNRESET = -15, /* TCP half-write close, i.e., FINED */
NQ_ZH_SOC_DHCP_ERROR = -16,
NQ_ZH_SOC_IP_CHANGED = -17,
NQ_ZH_SOC_ADDRINUSE = -18,
NQ_ZH_SOC_CANCEL_ACT_BEARER = -19 /* cancel the activation of bearer */
}NQ_ZH_SOC_ERROR_ENUM;
typedef enum
{
NQ_ZH_SOC_NOTIFY_READ = 0x01, /* Notify for read */
NQ_ZH_SOC_NOTIFY_WRITE = 0x02, /* Notify for write */
NQ_ZH_SOC_NOTIFY_ACCEPT = 0x04, /* Notify for accept */
NQ_ZH_SOC_NOTIFY_CONNECT = 0x08, /* Notify for connect */
NQ_ZH_SOC_NOTIFY_CLOSE = 0x10, /* Notify for close */
NQ_ZH_SOC_NOTIFY_UNKNOWN = 0XFF
} NQ_ZH_SOC_EVENT;
typedef struct
{
#if defined(MT6225) || defined(MT6235)
NQ_ZH_SOC_TYPE sock_type;
kal_int16 addr_len;
kal_uint16 port;
kal_uint8 addr[NQ_ZH_MAX_SOCK_ADDR_LEN];
#else
kal_int16 addr_len;
kal_uint8 addr[NQ_ZH_MAX_SOCK_ADDR_LEN];
kal_uint16 port;
#endif
} nq_zh_sockaddr_struct;
typedef struct
{
kal_uint8 ref_count;
kal_uint16 msg_len;
kal_int8 socket_id; /* socket ID */
NQ_ZH_SOC_EVENT event_type; /* soc_event_enum */
kal_bool result;
NQ_ZH_SOC_ERROR_ENUM error_cause; /* used only when EVENT is close/connect */
kal_int32 detail_cause; /* refer to ps_cause_enum if error_cause is
* SOC_BEARER_FAIL */
} nq_zh_soc_notify_ind_struct;
#ifndef __MTK_TARGET__
typedef void (*NQ_zh_soc_notify_FuncPtr) (kal_int8 socket_index, kal_int32 error_code, kal_int32 sock_event);
#endif
extern kal_int8 nq_zh_soc_create(kal_uint8 domain, kal_uint8 type, kal_uint8 protocol, kal_uint16 mod_id, kal_uint32 nwk_account_id);
extern kal_int8 nq_zh_soc_close(kal_int8 socketID);
extern void nq_zh_soc_close_account_by_id(kal_uint16 mod_id, kal_uint8 account_id);
extern kal_int8 nq_zh_soc_connect(kal_int8 socketID);
extern kal_int32 nq_zh_soc_send(kal_int8 socketID, kal_uint8 *buf, kal_int32 len, kal_uint8 flags);
extern kal_int32 nq_zh_soc_recv(kal_int8 socketID, kal_uint8 *buf, kal_int32 len, kal_uint8 flags);
extern kal_int8 nq_zh_soc_setsockopt(kal_int8 socketID, kal_uint32 option, void *val, kal_uint8 val_size);
extern kal_uint8 nq_zh_soc_get_default_sockopt(void);
extern kal_uint8 nq_zh_soc_get_domain_type(void);
extern kal_uint8 nq_zh_soc_get_socket_type(kal_uint8 type);
extern kal_uint32 nq_zh_soc_get_account_id(kal_int8 nwk_account_id);
extern kal_uint16 nq_zh_soc_get_socket_app_mod_id(void);
extern void nq_zh_soc_set_notify_handler(NQ_zh_PsFuncPtr nq_soc_socket_notify);
extern void nq_zh_soc_set_deactive_handler(NQ_zh_PsFuncPtr nq_soc_socket_notify);
extern kal_uint16 nq_zh_soc_get_timer_baseId(void);
extern kal_int8 nq_zh_soc_GetSIMCard1Type(void);
#if defined(__MMI_DUAL_SIM_MASTER__)
extern kal_int8 nq_zh_soc_GetSIMCard2Type();
#endif
extern kal_int8 nq_zh_soc_get_simCard_info(void);
typedef enum
{
NQ_ZH_CHINAMOBILE,
NQ_ZH_CHINAUNICOM,
NQ_ZH_CHINAMOBILE_SIM2,
NQ_ZH_CHINAUNICOM_SIM2,
NQ_ZH_INVALID_SIM
}NQ_ZH_SIMCARD_TYPE;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -