blob: f57f8eced42b3f73f5d70e534554a6a3bed3ef7d [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) 2012
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 * Filename:
38 * ---------
39 * bip_if.h
40 *
41 * Project:
42 * --------
43 * UMOLYA
44 *
45 * Description:
46 * ------------
47 *
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 * ==========================================================================
54 * $Log$
55 *
56 * 03 16 2022 ot_prem.lata
57 * [MOLY00680758] [MT6853][Mouton][VzW][IODT][2021Feb] Enhancement to let UE not send VZWADMIN to machine when doing the machine simulation tests
58 *
59 * VZW if CL
60 *
61 * 09 19 2020 vend_mti_wspsd_011
62 * [MOLY00568525] [Gen97] BIP NG-RAN bearer description support
63 *
64 * Support NG-RAN bearer
65 *
66 * 09 18 2020 vend_mti_wspsd_011
67 * [MOLY00543862] [Cayman][SPR] Does Moly CR ID - MOLY00443848 applied on MT6883?
68 *
69 * Patch back from LG PR branch
70 *
71 * 07 25 2018 cs.huang
72 * [MOLY00342117] [BIP] Support PS data off
73 * bip support ps data off
74 *
75 * 05 02 2018 cs.huang
76 * [MOLY00322045] [URGENT][Zion][MT6739][O1][MP2][Sprint][LTE][NVIOT][Sprint lab][SS] Can't activate SIM via BIP
77 * remove socket retry
78 *
79 * 03 27 2018 cs.huang
80 * [MOLY00307542] [BIP] support KDDI requirement
81 * kddi
82 *
83 * 01 31 2018 actory.ou
84 * [MOLY00304698] [ZION][MT6739][O1][MP2][SQC][VzW][UICC][PCTEST][4.11] UE failed to performe Open channel after USIM reset. TE shows Network currently unable to process command
85 * [bip] change conn mgr return if APN is not in ACL
86 *
87 * 10 31 2017 chien-hui.lu
88 * [MOLY00285736] [BIP UICC SERVER] support BIP UICC Server Mode
89 * [BIP][UICC_SERVER] support UICC server mode.
90 *
91 * 08 14 2017 cs.huang
92 * [MOLY00268913] [BIP] BIP over Wifi
93 * merge mcu
94 *
95 * 08 14 2017 cs.huang
96 * [MOLY00268913] [BIP] BIP over Wifi
97 * merge mcu
98 *
99 * 04 24 2017 cs.huang
100 * [MOLY00243696] [BIP RD IT] RD IT Bug merge back to UMOLYA
101 * merge back UMOLYA
102 *
103 * 04 24 2017 cs.huang
104 * [MOLY00243696] [BIP RD IT] RD IT Bug merge back to UMOLYA
105 *
106 * BIP Merge back UMOLYA after RD IT
107 *
108****************************************************************************/
109#ifndef _BIP_IF_H
110#define _BIP_IF_H
111
112#include "kal_public_defs.h"
113#include "bip_profile.h"
114#include "ps_public_struct.h"
115
116typedef enum {
117 BIP_TYPE_OF_ADDRESS_NONE = 0x0,
118 BIP_TYPE_OF_ADDRESS_IPV4 = 0x21,
119 BIP_TYPE_OF_ADDRESS_IPV6 = 0x57,
120 BIP_TYPE_OF_ADDRESS_IPV4V6 = 0x8D,
121 BIP_TYPE_OF_ADDRESS_4BYTE_MAX = 0x7FFFFFFF, //put in the end
122} BIP_TYPE_OF_ADDRESS;
123
124#pragma pack(push)
125#pragma pack(4) // 4bytes alignment
126 typedef struct {
127 LOCAL_PARA_HDR
128 kal_uint8 sim_id;
129 kal_uint8 bip_channel_id;
130 void *bip_info;
131 char data[0]; // copy data to here, and BIP agent will copy to AP side
132 } BIP_LOCAL_PARA_STRUCT;
133#pragma pack(pop)
134
135typedef enum {
136 BIP_DIRECTION_CHANNEL_START = 0x21,
137 BIP_DIRECTION_CHANNEL0 = BIP_DIRECTION_CHANNEL_START,
138 BIP_DIRECTION_CHANNEL1 = 0x22,
139 BIP_DIRECTION_CHANNEL2 = 0x23,
140 BIP_DIRECTION_CHANNEL3 = 0x24,
141 BIP_DIRECTION_CHANNEL4 = 0x25,
142 BIP_DIRECTION_CHANNEL5 = 0x26,
143 BIP_DIRECTION_CHANNEL6 = 0x27,
144 BIP_DIRECTION_CHANNEL_END = BIP_DIRECTION_CHANNEL6,
145 BIP_DIRECTION_UICC = 0x81,
146 BIP_DIRECTION_TERMINAL = 0x82,
147 BIP_DIRECTION_4BYTE_MAX = 0x7FFFFFFF, //put in the end
148} BIP_DIRECTION_ENUM;
149
150typedef enum {
151 BIP_OPEN_CHANNEL = 0x40,
152 BIP_CLOSE_CHANNEL = 0x41,
153 BIP_RECEIVE_DATA = 0x42,
154 BIP_SEND_DATA = 0x43,
155 BIP_GET_CHANNEL_STATUS = 0x44,
156 //BIP_CMD_4BYTE_MAX = 0x7FFFFFFF, //put in the end
157} BIP_CMD_ENUM;
158
159typedef enum {
160 BIP_TRANSPORT_TYPE_NONE = 0x0,
161 BIP_TRANSPORT_TYPE_UDP_REMOTE = 0x1,
162 BIP_TRANSPORT_TYPE_TCP_REMOTE = 0x2,
163 BIP_TRANSPORT_TYPE_TCP_UICC_SERVER_MODE = 0x3,
164 BIP_TRANSPORT_TYPE_UDP_LOCAL = 0x4,
165 BIP_TRANSPORT_TYPE_TCP_LOCAL = 0x5,
166 BIP_TRANSPORT_TYPE_DIRECT = 0x6,
167 BIP_TRANSPORT_TYPE_4BYTE_MAX = 0x7FFFFFFF, //put in the end
168} BIP_TRANSPORT_TYPE;
169
170typedef enum {
171 BIP_BEARER_TYPE_NONE = 0, // not support
172 BIP_BEARER_TYPE_CSD = 1, // not use
173 BIP_BEARER_TYPE_GPRS_UTRAN_EUTRAN = 2, // support 23G
174 BIP_BEARER_TYPE_DEFAULT_BEARER = 3, // support default bearer
175 BIP_BEARER_TYPE_LOCAL_LINK = 4,// not support
176 BIP_BEARER_TYPE_BLUETOOTH = 5,// not support
177 BIP_BEARER_TYPE_IRDA = 6,// not support
178 BIP_BEARER_TYPE_RS232 = 7,// not support
179 BIP_BEARER_TYPE_CDMA2000 = 8,// not support
180 BIP_BEARER_TYPE_UTRAN_HSDPA_EUTRAN = 9, // not use
181 BIP_BEARER_TYPE_IWLAN = 10, // not support
182 BIP_BEARER_TYPE_EUTRAN_UTRAN = 11, // support 34G
183 BIP_BEARER_TYPE_NG_RAN = 12, //support 5G
184 BIP_BEARER_TYPE_4BYTE_MAX = 0x7FFFFFFF, //put in the end
185} BIP_BEARER_TYPE_ENUM;
186
187typedef enum{
188 bip_tr_command_performed_successfully = 0x0,
189 bip_tr_command_performed_with_partial_comprehension = 0x1,
190 bip_tr_command_performed_with_missing_information = 0x2, // dest IP does not present
191 bip_tr_command_performed_succesfully_but_request_icon_could_not_be_displayed = 0x4,
192 bip_tr_command_performed_with_modification = 0x7,
193 bip_tr_proactive_UICC_session_terminated_by_the_user = 0x10, // SIM card plug-out
194 bip_tr_terminal_currently_unable_to_process_command = 0x20,
195 bip_tr_network_currently_unable_to_process_command = 0x21,
196 bip_tr_user_did_not_accept_the_proactive_command = 0x22,
197 bip_tr_interaction_with_call_contorl_by_NAA_temporary_problem = 0x25,
198 bip_tr_lanuch_browser_generic_error = 0x26,
199 bip_tr_command_beyond_terminals_capabilities = 0x30,
200 bip_tr_command_type_not_understood_by_terminal = 0x31,
201 bip_tr_command_data_not_understood_by_terminal = 0x32, // does not know the tag
202 bip_tr_command_number_not_known_by_terminal, // parsing cmd error
203 bip_tr_error_required_values_are_missing = 0x36,
204 bip_tr_multiplecard_commands_error = 0x38,
205 bip_tr_interaction_with_call_control_by_NAA_permanent_problem = 0x39,
206 bip_tr_bearer_independent_protocol_error = 0x3A,
207 bip_tr_access_technology_unable_to_process_command = 0x3B,
208 bip_tr_frames_error = 0x3C,
209 bip_tr_mms_error = 0x3D,
210 bip_tr_4BYTE_MAX = 0x7FFFFFFF, //put in the end
211} BIP_TR_RESULT_ENUM;
212
213typedef enum{
214 bip_tr_info_no_specific_cause_can_be_given= 0x0,
215 bip_tr_info_no_channel_available = 0x1,
216 bip_tr_info_channel_closed = 0x2,
217 bip_tr_info_terminal_currently_busy_on_call = 0x2,
218 bip_tr_info_channel_identifier_not_valid = 0x3,
219 bip_tr_info_requested_buffer_size_not_available = 0x4,
220 bip_tr_info_security_error = 0x5, // unsucessful authentication
221 bip_tr_info_requested_UICC_terminal_interface_transport_level_not_available = 0x6,
222 bip_tr_info_remote_device_is_not_reachable = 0x7,
223 bip_tr_info_service_error = 0x8,
224 bip_tr_info_service_identifier_unknown = 0x9,
225 bip_tr_info_port_not_available = 0x10,
226 bip_tr_info_luanch_parameters_missing_or_incorrect = 0x11,
227 bip_tr_info_application_launch_failed = 0x12,
228 bip_tr_info_4BYTE_MAX = 0x7FFFFFFF, //put in the end
229} BIP_TR_RESULT_ADDITIONAL_INFO_ENUM;
230
231typedef enum
232{
233 BIP_CMD_ERROR_NONE = 0,
234 BIP_CMD_ERROR_REQUIRED_VALUE_ARE_MISSING = bip_tr_error_required_values_are_missing,
235 BIP_CMD_ERROR_CMD_DATA_NOT_UNDERSTOOD = bip_tr_command_data_not_understood_by_terminal,
236 BIP_CMD_ERROR_CMD_NUMBER_NOT_KNOW = bip_tr_command_number_not_known_by_terminal,
237 BIP_CMD_ERROR_ICON_DISPLAY_FAILED = bip_tr_command_performed_succesfully_but_request_icon_could_not_be_displayed,
238 BIP_CMD_ERROR_FRAME_ERROR = bip_tr_frames_error,
239 BIP_CMD_ERROR_USER_REJECT = bip_tr_user_did_not_accept_the_proactive_command,
240 BIP_CMD_ERROR_PS_DATA_OFF = bip_tr_bearer_independent_protocol_error,
241 BIP_CMD_ERROR_4BYTE_MAX = 0x7FFFFFFF, //put in the end
242} BIP_CMD_ERROR_ENUM;
243
244typedef enum {
245 BIP_EVENT_LIST_DATA_AVAILABLE = 0x09,
246 BIP_EVENT_LIST_CHANNEL_STATUS = 0x0A,
247 BIP_EVENT_LIST_4BYTE_MAX = 0x7FFFFFFF, //put in the end
248} BIP_EVENT_LIST_ENUM;
249
250typedef enum {
251 BIP_CONN_MGR_STATUS_DISCONNECT = 0,
252 BIP_CONN_MGR_STATUS_CONNECTED = 1,
253 BIP_CONN_MGR_STATUS_CONNECTED_WITH_MODIFIED_PARAM = 3,
254 // ERROR STATUS
255 BIP_CONN_MGR_STATUS_COULD_NOT_BE_CONNECT = -1,
256 BIP_CONN_MGR_STATUS_AUTH_ERROR = -2,
257 BIP_CONN_MGR_STATUS_BLOCKING_BY_ACL = -3,
258 BIP_CONN_MGR_STATUS_4BYTE_MAX = 0x7FFFFFFF, //put in the end
259} BIP_CONN_MGR_STATUS_ENUM;
260
261typedef enum {
262 BIP_NET_MGR_STATUS_DISCONNECTED = 0,
263 BIP_NET_MGR_STATUS_CONNECTING = 1,
264 BIP_NET_MGR_STATUS_CONNECTED = 2,
265 BIP_NET_MGR_STATUS_CLIENT_CONNECTED = 3,
266 BIP_NET_MGR_STATUS_PARAM_ERROR = -1,
267 BIP_NET_MGR_STATUS_CONNECTION_HAS_BEEN_CLOSED = -2,
268 BIP_NET_MGR_STATUS_REMOTE_UNREACHABLE = -3,
269 BIP_NET_MGR_STATUS_PORT_NOT_AVAILABLE = -4,
270 BIP_NET_MGR_STATUS_4BYTE_MAX = 0x7FFFFFFF, //put in the end
271} BIP_NET_MGR_STATUS_ENUM;
272
273typedef enum {
274 BIP_NET_MGR_PROTOCOL_NONE = 0,
275 BIP_NET_MGR_PROTOCOL_UDP = 1,
276 BIP_NET_MGR_PROTOCOL_TCP = 2,
277 BIP_NET_MGR_PROTOCOL_WIFI_UDP = 3,
278 BIP_NET_MGR_PROTOCOL_WIFI_TCP = 4,
279 BIP_NET_MGR_PROTOCOL_UICC_SERVER_UDP = 5,
280 BIP_NET_MGR_PROTOCOL_UICC_SERVER_TCP = 6,
281 BIP_NET_MGR_PROTOCOL_MAX,
282 BIP_NET_MGR_PROTOCOL_4BYTE_MAX = 0x7FFFFFFF, //put in the end
283} BIP_NET_MGR_PROTOCOL_ENUM;
284
285/******************** MOD_BIP_CONN_MGR *************************/
286typedef enum
287{
288 BIP_CONN_MGR_PDN_STATUS_NO_USE = 0,
289 BIP_CONN_MGR_PDN_STATUS_LINK_DOWN,
290 BIP_CONN_MGR_PDN_STATUS_LINKING,
291 BIP_CONN_MGR_PDN_STATUS_LINK_UP,
292 BIP_CONN_MGR_PDN_STATUS_4BYTE_MAX = 0x7FFFFFFF, //put in the end
293}BIP_CONN_MGR_PDN_STATUS;
294
295typedef enum
296{
297 BIP_CONN_MGR_USER_STATUS_DISCONNECT = 0,
298 BIP_CONN_MGR_USER_STATUS_NEW_USER,
299 BIP_CONN_MGR_USER_STATUS_NEED_CONNECTION,
300 BIP_CONN_MGR_USER_STATUS_CONNECTING,
301 BIP_CONN_MGR_USER_STATUS_CONNECTED,
302 BIP_CONN_MGR_USER_STATUS_4BYTE_MAX = 0x7FFFFFFF, //put in the end
303}BIP_CONN_MGR_USER_STATUS;
304
305/******************** MOD_BIP_CMD_HDR *************************/
306typedef enum
307{
308 BIP_CMD_HDR_STATE_DUMMY = 0,
309 BIP_CMD_HDR_STATE_CREATE_CONNECTION,
310 BIP_CMD_HDR_STATE_CREATE_CONNECTION_SUCCESS,
311 BIP_CMD_HDR_STATE_CREATE_CONNECTION_FAILED,
312 BIP_CMD_HDR_STATE_CLOSE_CONNECTION,
313 BIP_CMD_HDR_STATE_CLOSE_CONNECTION_DONE,
314 BIP_CMD_HDR_STATE_CREATE_SOCKET,
315 BIP_CMD_HDR_STATE_CREATE_SOCKET_SUCCESS,
316 BIP_CMD_HDR_STATE_CREATE_SOCKET_FAILED,
317 BIP_CMD_HDR_STATE_CLOSE_SOCKET,
318 BIP_CMD_HDR_STATE_CLOSE_SOCKET_DONE,
319 BIP_CMD_HDR_STATE_SEND_DATA,
320 BIP_CMD_HDR_STATE_SEND_DATA_DONE,
321 BIP_CMD_HDR_STATE_RECEIVE_DATA,
322 BIP_CMD_HDR_STATE_RECEIVE_DATA_DONE,
323 BIP_CMD_HDR_STATE_GET_CHANNEL_STATUS,
324 BIP_CMD_HDR_STATE_UPDATE_CHANNEL_STATUS,
325 BIP_CMD_HDR_STATE_SIM_ERROR,
326 BIP_CMD_HDR_STATE_DISCONNECT_CONNECTION,
327 BIP_CMD_HDR_STATE_DISCONNECT_SOCKET,
328 BIP_CMD_HDR_STATE_4BYTE_MAX = 0x7FFFFFFF, //put in the end
329}BIP_CMD_HDR_STATE_ENUM;
330
331typedef enum
332{
333 BIP_CMD_HDR_LINK_STATE_DISCONNECT = 0,
334 BIP_CMD_HDR_LINK_STATE_CONNECTING,
335 BIP_CMD_HDR_LINK_STATE_CONNECTED,
336 BIP_CMD_HDR_LINK_STATE_LINK_DROP,
337 BIP_CMD_HDR_LINK_STATE_4BYTE_MAX = 0x7FFFFFFF, //put in the end
338}BIP_CMD_HDR_LINK_STATE_ENUM;
339
340/******************** MOD_BIP_SIM_MGR *************************/
341typedef enum
342{
343 BIP_SIM_MGR_BUFF_LEN_STRING = 576,//512+64
344 BIP_SIM_MGR_BUFF_LEN_HEX = 320,//256+64
345 BIP_SIM_MGR_BUFF_LEN_4BYTE_MAX = 0x7FFFFFFF, //put in the end
346}BIP_SIM_MGR_BUFF_LEN_ENUM;
347
348typedef enum {
349 BIP_TLV_LEN_TAG_2BYTES = 0x81,
350 BIP_TLV_LEN_TAG_3BYTES = 0x82,
351 BIP_TLV_LEN_TAG_4BYTES = 0x83,
352 BIP_TLV_LEN_TAG_4BYTE_MAX = 0x7FFFFFFF, //put in the end
353} BIP_TLV_LEN_TAG_ENUM;
354
355typedef enum {
356 BIP_CTLV_TAG_COMMAND_DETAIL = 0x01,
357 BIP_CTLV_TAG_DEVICE_IDENTITY,
358 BIP_CTLV_TAG_RESULT,
359 BIP_CTLV_TAG_ALPHA_IDENTIFIER = 0x05,
360 BIP_CTLV_TAG_TEXT_STRING = 0x0D,
361 BIP_CTLV_TAG_EVENT_LIST = 0x19,
362 BIP_CTLV_TAG_BEARER_DESCRIPTION = 0x35,
363 BIP_CTLV_TAG_CHANNEL_DATA,
364 BIP_CTLV_TAG_CHANNEL_DATA_LENGTH,
365 BIP_CTLV_TAG_CHANNEL_STATUS,
366 BIP_CTLV_TAG_BUFFER_SIZE,
367 BIP_CTLV_TAG_UICC_TERMINAL_INTERFACE_TRANSPORT_LEVEL = 0x3C,
368 BIP_CTLV_TAG_OTHER_ADDR = 0x3E,// local addr & dest addr
369 BIP_CTLV_TAG_DNS_SERVER_ADDR = 0x40,
370 BIP_CTLV_TAG_NETWORK_ACCESS_NAME = 0x47,
371 BIP_CTLV_TAG_IWLAN_IDENTIFIER = 0x4A,
372 BIP_CTLV_TAG_CR_FLAG = 0x80,
373 BIP_CTLV_TAG_4BYTE_MAX = 0x7FFFFFFF, //put in the end
374} BIP_CTLV_TAG_ENUM;
375
376typedef enum {
377 BIP_CTLV_TAG_PROACTIVE_CMD = 0xD0,
378 BIP_CTLV_TAG_EVENT_DOWNLOAD = 0xD6,
379 BIP_BER_TLV_TAG_4BYTE_MAX = 0x7FFFFFFF, //put in the end
380} BIP_BER_TLV_TAG_ENUM;
381
382typedef struct {
383 LOCAL_PARA_HDR
384 kal_uint16 length;
385 kal_uint8 buffer[BIP_SIM_MGR_BUFF_LEN_HEX];// hex
386} atp_bip_sim_mgr_hex_struct;// AP to BIP
387
388typedef struct {
389 LOCAL_PARA_HDR
390 kal_uint8 buffer[BIP_SIM_MGR_BUFF_LEN_STRING];// hex string
391} atp_bip_sim_mgr_hex_string_struct;// BIP to AP / BIP to PS
392
393typedef struct {
394 LOCAL_PARA_HDR
395 kal_uint8 cmd_num;
396 kal_uint8 result;
397} atp_bip_sim_mgr_bip_cnf_ind_struct;
398
399typedef struct {
400 LOCAL_PARA_HDR
401 kal_bool mobile_data_parse_result;
402 kal_bool data_roaming_parse_result;
403 kal_uint8 mobile_data;
404 kal_uint8 data_roaming;
405} atp_bip_sim_mgr_ecncfg_ind_struct;
406
407typedef struct {
408 LOCAL_PARA_HDR
409 kal_bool bip_en_parse_result;
410 kal_bool bip_en;
411} atp_bip_sim_mgr_bip_en_struct;
412
413typedef enum{
414 BIP_DS_START = 0,
415 BIP_DS_CREATE_CONNECTION,
416 BIP_DS_CREATE_SOCKET,
417 BIP_DS_CREATE_DONE,
418 BIP_DS_CLOSE_CONNECTION,
419 BIP_DS_CLOSE_SOCKET,
420 BIP_DS_CLOSE_DONE,
421 BIP_DS_END,
422 BIP_DS_4BYTE_MAX = 0x7FFFFFFF, //put in the end
423}BIP_DS_STEP;
424
425typedef enum{
426 BIP_DS_CONNECTION_START = 0,
427 BIP_DS_WIFI_CONNECTION, // profile 1
428 BIP_DS_3GPP_CONNECTION, // profile 2
429 BIP_DS_CONNECTION_NONE,
430 BIP_DS_CONNECTION_END,
431 BIP_DS_CONNECTION_4BYTE_MAX = 0x7FFFFFFF, //put in the end
432}BIP_DS_CONNECTION_ENUM;
433
434typedef enum{
435 BIP_DS_DEACTIVATE = 0,
436 BIP_DS_ACTICATE,
437}BIP_DS_STATUS;
438
439typedef enum{
440 BIP_AP_WIFI_STATUS_NONE,
441 BIP_AP_WIFI_STATUS_DISCONNECT,
442 BIP_AP_WIFI_STATUS_CONNECTED,
443 BIP_AP_WIFI_STATUS_4BYTE_MAX = 0x7FFFFFFF, //put in the end
444} BIP_WIFI_STATUS_ENUM;
445
446typedef enum {
447 BIP_UICC_SERVER_LINK_STATUS_CLOSE = 0,
448 BIP_UICC_SERVER_LINK_STATUS_LISTEN,
449 BIP_UICC_SERVER_LINK_STATUS_ESTABLISHED,
450 BIP_UICC_SERVER_LINK_STATUS_GO_TO_CLOSE_STATUS,
451 BIP_UICC_SERVER_LINK_STATUS_GO_TO_LISTEN_STATUS,
452 BIP_UICC_SERVER_LINK_STATUS_4BYTE_MAX = 0x7FFFFFFF, //put in the end
453} BIP_UICC_SERVER_LINK_STATUS;
454
455typedef atp_bip_sim_mgr_hex_string_struct atp_bip_sim_mgr_ap_urc_req_struct;
456typedef atp_bip_sim_mgr_hex_struct atp_bip_sim_mgr_stk_req_struct;
457typedef atp_bip_sim_mgr_hex_string_struct atp_bip_sim_mgr_ps_env_req_struct;
458typedef atp_bip_sim_mgr_hex_string_struct atp_bip_sim_mgr_ps_tr_req_struct;
459
460/******************** BIP public function *************************/
461kal_bool is_bip_support();
462void bip_ds_set_sbp(kal_uint8 ps_id, kal_uint32 sbp_id);
463void bip_ds_set_default_retry_count(kal_uint8 ps_id, kal_uint8 pdn_retry_count, kal_uint8 socket_retry_count);
464void bip_ds_set_sbp_param(kal_uint8 ps_id, sbp_reconfig_custom_param_struct *sbp_config);
465kal_uint32 bip_ds_get_sbp(kal_uint8 ps_id);
466
467/******************** BIP ILM structure parsing *************************/
468typedef BIP_LOCAL_PARA_STRUCT bip_sim_mgr_bip_cmd_ind_struct;
469typedef BIP_LOCAL_PARA_STRUCT bip_sim_mgr_tr_req_struct;
470typedef BIP_LOCAL_PARA_STRUCT bip_sim_mgr_tr_rsp_struct;
471typedef BIP_LOCAL_PARA_STRUCT bip_sim_mgr_envelope_req_struct;
472typedef BIP_LOCAL_PARA_STRUCT bip_sim_mgr_envelope_rsp_struct;
473typedef BIP_LOCAL_PARA_STRUCT bip_sim_mgr_sim_error_ind_struct;
474typedef BIP_LOCAL_PARA_STRUCT bip_sim_mgr_sim_error_cnf_struct;
475
476typedef BIP_LOCAL_PARA_STRUCT bip_conn_mgr_create_connection_req_struct;
477typedef BIP_LOCAL_PARA_STRUCT bip_conn_mgr_create_connection_rsp_struct;
478typedef BIP_LOCAL_PARA_STRUCT bip_conn_mgr_close_connection_req_struct;
479typedef BIP_LOCAL_PARA_STRUCT bip_conn_mgr_close_connection_rsp_struct;
480typedef BIP_LOCAL_PARA_STRUCT bip_conn_mgr_check_status_req_struct;
481typedef BIP_LOCAL_PARA_STRUCT bip_conn_mgr_check_status_rsp_struct;
482typedef BIP_LOCAL_PARA_STRUCT bip_conn_mgr_sim_error_req_struct;
483typedef BIP_LOCAL_PARA_STRUCT bip_conn_mgr_sim_error_rsp_struct;
484typedef BIP_LOCAL_PARA_STRUCT bip_conn_mgr_disconnect_ind_struct;
485typedef BIP_LOCAL_PARA_STRUCT bip_conn_mgr_disconnect_cnf_struct;
486
487typedef BIP_LOCAL_PARA_STRUCT bip_net_mgr_create_connection_req_struct;
488typedef BIP_LOCAL_PARA_STRUCT bip_net_mgr_create_connection_rsp_struct;
489typedef BIP_LOCAL_PARA_STRUCT bip_net_mgr_close_connection_req_struct;
490typedef BIP_LOCAL_PARA_STRUCT bip_net_mgr_close_connection_rsp_struct;
491typedef BIP_LOCAL_PARA_STRUCT bip_net_mgr_receive_data_struct;
492typedef BIP_LOCAL_PARA_STRUCT bip_net_mgr_receive_data_cnf_struct;
493typedef BIP_LOCAL_PARA_STRUCT bip_net_mgr_send_data_req_struct;
494typedef BIP_LOCAL_PARA_STRUCT bip_net_mgr_send_data_rsp_struct;
495typedef BIP_LOCAL_PARA_STRUCT bip_net_mgr_check_status_req_struct;
496typedef BIP_LOCAL_PARA_STRUCT bip_net_mgr_check_status_rsp_struct;
497typedef BIP_LOCAL_PARA_STRUCT bip_net_mgr_sim_error_req_struct;
498typedef BIP_LOCAL_PARA_STRUCT bip_net_mgr_sim_error_rsp_struct;
499typedef BIP_LOCAL_PARA_STRUCT bip_net_mgr_disconnect_ind_struct;
500typedef BIP_LOCAL_PARA_STRUCT bip_net_mgr_disconnect_cnf_struct;
501
502typedef BIP_LOCAL_PARA_STRUCT bip_ds_mgr_create_connection_req_struct;
503typedef BIP_LOCAL_PARA_STRUCT bip_ds_mgr_create_connection_rsp_struct;
504typedef BIP_LOCAL_PARA_STRUCT bip_ds_mgr_close_connection_req_struct;
505typedef BIP_LOCAL_PARA_STRUCT bip_ds_mgr_close_connection_rsp_struct;
506typedef BIP_LOCAL_PARA_STRUCT bip_ds_mgr_create_connection_retry_pdn_struct;
507typedef BIP_LOCAL_PARA_STRUCT bip_ds_mgr_create_connection_retry_socket_struct;
508typedef BIP_LOCAL_PARA_STRUCT bip_ds_mgr_sim_error_req_struct;
509typedef BIP_LOCAL_PARA_STRUCT bip_ds_mgr_sim_error_rsp_struct;
510
511#endif