blob: a921ed21c9ea81863d73dbb1f1e2e6a36de8067a [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001#ifndef _CUSTOM_L5_H_
2#define _CUSTOM_L5_H_
3#include "kal_public_defs.h"
4#include "l5_common.h"
5
6#if 0
7/* under construction !*/
8/* under construction !*/
9/* under construction !*/
10/* under construction !*/
11/* under construction !*/
12/* under construction !*/
13/* under construction !*/
14/* under construction !*/
15/* under construction !*/
16/* under construction !*/
17/* under construction !*/
18/* under construction !*/
19#endif
20
21typedef struct {
22 kal_uint32 device_type;
23 kal_uint32 cellular_class;
24 kal_uint32 voice_class;
25 kal_uint32 sim_class;
26 kal_uint32 data_class;
27 kal_uint32 sms_caps;
28 kal_uint32 control_caps;
29 kal_uint16 max_activated_contexts;
30 kal_uint8 custom_class_name[11];
31 kal_uint8 device_id[18];
32 kal_uint8 firmware_info[30];
33 kal_uint8 hardware_info[30];
34} l5_custom_device_cap_info_struct;
35
36typedef struct{
37 kal_int32 rsrp;
38 kal_int32 snr;
39 kal_int32 rsrp_dbm;
40 kal_int32 snr_db;
41} l5_custom_rsrp_snr_info;
42
43typedef struct{
44 kal_uint32 rsrp_snr_count;
45 kal_int32 rssi;
46 kal_int32 rssi_dbm;
47 kal_int32 rscp_dbm;
48 kal_int32 ecn0_dbm;
49 l5_custom_rsrp_snr_info signal[2];
50} l5_custom_signal_state;
51
52//the example of the structure of the oper_name mapping intem of plmn_id and gid1.
53typedef struct {
54 kal_char *plmn_id;
55 kal_uint8 gid1[20];
56 kal_uint8 gid1_length;
57 kal_char *oper_name;
58} l5u_oper_name_mapping_item;
59
60typedef enum {
61 L5_5G_ICON_MODE_JP = 0,
62 L5_5G_ICON_MODE_D_CACHE,
63} l5_5g_icon_display_mode;
64
65eventid custom_l5_timer_set(CUSTOM_L5_TIMER_CB cb, void *cb_priv, kal_uint32 ms);
66void custom_l5_timer_cancel(eventid event_id);
67
68kal_bool l5_general_modem_configure_req_custom(kal_uint8 ps_id, kal_bool is_set, ilm_struct *ilm_ptr);
69kal_uint8 custom_l5_sms_storage_select_init();
70kal_bool custom_l5_sms_need_ack_init();
71kal_bool custom_l5_sms_force_relay_to_HOST(const kal_uint8* sms_ptr);
72kal_bool custom_l5_sms_force_relay_to_HOST_3gpp2(const kal_uint8* sms_ptr, kal_uint8 pdu_len);
73kal_bool l5custom_is_ok_to_write_nvram(kal_uint32 file_idx);
74kal_bool l5custom_is_ok_to_write_dipc_config(kal_uint8 *type);
75
76#if 0
77/* under construction !*/
78#endif
79
80kal_bool custom_l5_custom_device_caps(l5_custom_device_cap_info_struct *device_caps);
81kal_bool custom_l5_custom_provider_name(kal_uint8 *provider_name, kal_uint16 *len, kal_uint32 sbp_id);
82kal_bool custom_l5_signal_state_rsrp_threshold(uint32_t *rsrp_threshold);
83kal_bool custom_l5_packet_service_speed(uint32_t data_class, kal_uint64 *uplink_speed_ptr, kal_uint64 *downlink_speed_ptr);
84kal_bool custom_l5_nw_enable_EONS();
85kal_bool custom_l5_nw_enable_EDMFAPP_6_3();
86kal_bool custom_l5_signal_check(l5_custom_signal_state *signal);
87void custom_l5_MBIM_message(void* message_buffer, uint32_t msg_length);
88kal_bool custom_l5_oper_name_mapping_by_gid1(kal_char *oper_name, kal_char *plmn_id, kal_uint8 plmn_length, kal_uint8 *gid1, kal_uint8 gid1_max_length);
89kal_uint32 custom_l5_get_5g_icon_display_mode();
90#endif