11#ifndef __RIL_BACKEND_H__
12#define __RIL_BACKEND_H__
25#define RIL_BACKEND_APN_MAX 64U
27#define RIL_BACKEND_USERNAME_MAX 64U
29#define RIL_BACKEND_PASSWORD_MAX 64U
31#define RIL_BACKEND_APN_TYPE_MAX 32U
33#define RIL_BACKEND_IFNAME_MAX 16U
35#define RIL_BACKEND_IPV4_ADDRESS_MAX 40U
37#define RIL_BACKEND_IPV6_ADDRESS_MAX 64U
324 int (*
get_sv)(
char* value,
size_t* length);
uint32_t tbox_radio_network_mask_t
首选网络制式位掩码类型
Definition radio.h:60
tbox_radio_ims_status_t
IMS 注册状态。
Definition radio.h:92
tbox_radio_rf_mode_t
射频工作模式。
Definition radio.h:101
uint32_t tbox_ril_capability_t
RIL 后端能力位掩码类型
Definition ril_core.h:32
tbox_sim_state_t
SIM 卡状态。
Definition sim.h:42
tbox_sms_storage_t
短消息存储位置。
Definition sms.h:71
tbox_sms_mode_t
短消息网络模式。
Definition sms.h:82
tbox_ecall_number_type_t
eCall 测试号码类型。
Definition voice.h:82
tbox_voice_audio_mode_t
音频承载方式。
Definition voice.h:102
#define RIL_BACKEND_IFNAME_MAX
后端内部网络接口名称容量,包含结尾 NUL
Definition ril_backend.h:33
ril_data_link_state_t
数据链路状态
Definition ril_backend.h:55
@ RIL_DATA_LINK_CONNECTING
数据链路正在建立
Definition ril_backend.h:57
@ RIL_DATA_LINK_CONNECTED
数据链路已连接
Definition ril_backend.h:58
@ RIL_DATA_LINK_DISCONNECTED
数据链路已断开
Definition ril_backend.h:56
ril_data_auth_t
APN 鉴权类型
Definition ril_backend.h:75
@ RIL_DATA_AUTH_CHAP
CHAP 鉴权
Definition ril_backend.h:78
@ RIL_DATA_AUTH_PAP
PAP 鉴权
Definition ril_backend.h:77
@ RIL_DATA_AUTH_PAP_CHAP
PAP 或 CHAP 鉴权
Definition ril_backend.h:79
@ RIL_DATA_AUTH_NONE
不鉴权
Definition ril_backend.h:76
@ RIL_DATA_AUTH_DEFAULT
由模组自动选择鉴权方式
Definition ril_backend.h:80
ril_ip_type_t
数据链路 IP 类型
Definition ril_backend.h:65
@ RIL_IP_TYPE_IPV4
仅使用 IPv4
Definition ril_backend.h:66
@ RIL_IP_TYPE_IPV6
仅使用 IPv6
Definition ril_backend.h:67
@ RIL_IP_TYPE_IPV4V6
同时使用 IPv4 和 IPv6
Definition ril_backend.h:68
#define RIL_BACKEND_PASSWORD_MAX
后端内部 APN 密码容量,包含结尾 NUL
Definition ril_backend.h:29
#define RIL_BACKEND_APN_TYPE_MAX
后端内部 APN 类型容量,包含结尾 NUL
Definition ril_backend.h:31
uint32_t ril_backend_profile_id_t
模组 profile 标识
Definition ril_backend.h:86
#define RIL_BACKEND_APN_MAX
后端内部 APN 字符串容量,包含结尾 NUL
Definition ril_backend.h:25
ril_backend_event_type_t
守护进程需要处理的后端事件类别
Definition ril_backend.h:43
@ RIL_BACKEND_EVENT_RADIO_REFRESH
无线网络状态需要刷新
Definition ril_backend.h:44
@ RIL_BACKEND_EVENT_SMS_RECEIVED
收到短信
Definition ril_backend.h:46
@ RIL_BACKEND_EVENT_DATA_CALL
数据链路状态变化
Definition ril_backend.h:47
@ RIL_BACKEND_EVENT_VOICE
语音或 eCall 状态变化
Definition ril_backend.h:48
@ RIL_BACKEND_EVENT_SIM_STATE
SIM 卡状态变化
Definition ril_backend.h:45
#define RIL_BACKEND_IPV6_ADDRESS_MAX
后端内部 IPv6 地址字符串容量,包含结尾 NUL
Definition ril_backend.h:37
const ril_backend_ops_t * ril_backend_get(void)
获取当前编译平台的静态模组后端。
#define RIL_BACKEND_IPV4_ADDRESS_MAX
后端内部 IPv4 地址字符串容量,包含结尾 NUL
Definition ril_backend.h:35
#define RIL_BACKEND_USERNAME_MAX
后端内部 APN 用户名容量,包含结尾 NUL
Definition ril_backend.h:27
int(* ril_backend_event_callback_t)(const ril_backend_event_t *event, void *context)
后端事件接收函数。
Definition ril_backend.h:155
已归一化的数据链路事件
Definition ril_backend.h:114
char ipv4_gateway[RIL_BACKEND_IPV4_ADDRESS_MAX]
IPv4 网关
Definition ril_backend.h:122
ril_data_link_state_t state
数据链路状态
Definition ril_backend.h:116
char ipv4_address[RIL_BACKEND_IPV4_ADDRESS_MAX]
IPv4 地址
Definition ril_backend.h:121
char ipv6_secondary_dns[RIL_BACKEND_IPV6_ADDRESS_MAX]
IPv6 备用 DNS.
Definition ril_backend.h:128
char ipv6_address[RIL_BACKEND_IPV6_ADDRESS_MAX]
IPv6 地址
Definition ril_backend.h:125
char ipv6_primary_dns[RIL_BACKEND_IPV6_ADDRESS_MAX]
IPv6 主 DNS.
Definition ril_backend.h:127
char ifname[RIL_BACKEND_IFNAME_MAX]
网络接口名称
Definition ril_backend.h:119
char ipv4_primary_dns[RIL_BACKEND_IPV4_ADDRESS_MAX]
IPv4 主 DNS.
Definition ril_backend.h:123
char ipv6_gateway[RIL_BACKEND_IPV6_ADDRESS_MAX]
IPv6 网关
Definition ril_backend.h:126
int error
模组上报的链路错误码
Definition ril_backend.h:118
ril_backend_profile_id_t profile_id
模组 profile 标识
Definition ril_backend.h:115
ril_ip_type_t ip_type
已建立链路的地址类型
Definition ril_backend.h:117
char ipv4_secondary_dns[RIL_BACKEND_IPV4_ADDRESS_MAX]
IPv4 备用 DNS.
Definition ril_backend.h:124
数据拨号功能域接口
Definition ril_backend.h:240
int(* init)(void)
初始化数据拨号功能域。
Definition ril_backend.h:242
int(* create_profile)(const ril_backend_data_profile_t *profile, ril_backend_profile_id_t *profile_id)
创建数据 profile。
Definition ril_backend.h:252
int(* get_profile)(ril_backend_profile_id_t profile_id, ril_backend_data_profile_t *profile)
查询指定数据 profile。
Definition ril_backend.h:248
int(* start)(ril_backend_profile_id_t profile_id, ril_ip_type_t ip_type, bool reconnect)
启动指定 profile 的数据链路。
Definition ril_backend.h:266
int(* validate_profile)(const ril_backend_data_profile_t *profile, size_t enabled_count, bool implicit)
校验 profile 是否符合当前模组限制。
Definition ril_backend.h:254
int(* stop)(ril_backend_profile_id_t profile_id, ril_ip_type_t ip_type)
停止指定 profile 的数据链路。
Definition ril_backend.h:268
void(* deinit)(void)
释放数据拨号功能域资源。
Definition ril_backend.h:244
int(* set_profile)(const ril_backend_data_profile_t *profile)
更新指定数据 profile。
Definition ril_backend.h:250
int(* find_profile)(const char *apn_type, ril_backend_data_profile_t *profile)
按 APN 类型查询模组中的数据 profile。
Definition ril_backend.h:246
int(* get_default_profile)(ril_backend_profile_id_t *profile_id)
查询模组默认 profile。
Definition ril_backend.h:258
bool(* requires_default_route)(const ril_backend_data_profile_t *profile)
判断该 profile 是否需要由守护进程更新 CAP 默认路由。
Definition ril_backend.h:256
int(* resolve_link_info)(ril_backend_data_event_t *event)
在 daemon 线程中将回调携带的链路信息补全为本机可用的数据路径。
Definition ril_backend.h:264
一路数据拨号 profile
Definition ril_backend.h:104
ril_backend_profile_settings_t profile
profile 参数
Definition ril_backend.h:106
char apn_type[RIL_BACKEND_APN_TYPE_MAX]
模组侧 APN 类型
Definition ril_backend.h:107
ril_backend_profile_id_t profile_id
模组 profile 标识
Definition ril_backend.h:105
已归一化的模组后端事件
Definition ril_backend.h:135
tbox_sim_state_t sim_state
SIM 卡状态
Definition ril_backend.h:139
tbox_voice_event_t voice
语音或 eCall 事件
Definition ril_backend.h:142
ril_backend_data_event_t data
数据链路事件
Definition ril_backend.h:141
ril_backend_event_type_t type
后端事件类别
Definition ril_backend.h:136
tbox_sms_message_t sms
接收短信
Definition ril_backend.h:140
静态模组后端接口
Definition ril_backend.h:312
void(* deinit)(void)
释放模组后端资源。
Definition ril_backend.h:316
int(* get_sv)(char *value, size_t *length)
查询模组 IMEI 软件版本号。
Definition ril_backend.h:324
int(* get_capabilities)(tbox_ril_capability_t *capabilities)
查询后端支持的功能域能力。
Definition ril_backend.h:318
void(* tick)(void)
驱动不具备独立事件线程的模组 SDK;无需轮询时为 NULL。
Definition ril_backend.h:326
const ril_backend_voice_ops_t * voice
语音功能域接口
Definition ril_backend.h:333
int(* get_imei)(char *value, size_t *length)
查询模组 IMEI。
Definition ril_backend.h:322
const ril_backend_data_ops_t * data
数据拨号功能域接口
Definition ril_backend.h:332
int(* get_version)(char *value, size_t *length)
查询模组版本。
Definition ril_backend.h:320
const ril_backend_sim_ops_t * sim
SIM 功能域接口
Definition ril_backend.h:330
const ril_backend_radio_ops_t * radio
无线网络功能域接口
Definition ril_backend.h:329
const ril_backend_sms_ops_t * sms
短消息功能域接口
Definition ril_backend.h:331
int(* reset_modem)(void)
释放全部功能域资源并重置模组;调用后所有功能域均需重新初始化。
Definition ril_backend.h:328
int(* init)(ril_backend_event_callback_t callback, void *context)
初始化模组后端并注册事件接收函数。
Definition ril_backend.h:314
模组 profile 参数
Definition ril_backend.h:92
char apn[RIL_BACKEND_APN_MAX]
APN 名称
Definition ril_backend.h:93
ril_data_auth_t auth
鉴权类型
Definition ril_backend.h:96
char password[RIL_BACKEND_PASSWORD_MAX]
鉴权密码
Definition ril_backend.h:95
ril_ip_type_t ip_type
PDP 地址类型
Definition ril_backend.h:97
char username[RIL_BACKEND_USERNAME_MAX]
鉴权用户名
Definition ril_backend.h:94
无线网络功能域接口
Definition ril_backend.h:161
int(* get_ims_status)(tbox_radio_ims_status_t *status)
查询 IMS 注册状态。
Definition ril_backend.h:171
int(* get_rf_mode)(tbox_radio_rf_mode_t *mode)
查询 RF 模式。
Definition ril_backend.h:183
int(* set_rf_mode)(tbox_radio_rf_mode_t mode)
设置 RF 模式。
Definition ril_backend.h:181
int(* set_preferred_network)(tbox_radio_network_mask_t networks)
设置首选网络制式。
Definition ril_backend.h:175
void(* deinit)(void)
释放无线网络功能域资源。
Definition ril_backend.h:165
int(* get_preferred_network)(tbox_radio_network_mask_t *networks)
查询首选网络制式。
Definition ril_backend.h:177
int(* get_signal)(uint8_t *rssi)
查询并转换为 GSM RSSI 标准值。
Definition ril_backend.h:169
int(* get_operator_name)(char *value, size_t *length)
查询运营商名称。
Definition ril_backend.h:173
int(* get_registration)(tbox_radio_registration_status_t *status)
查询网络注册状态。
Definition ril_backend.h:167
int(* init)(void)
初始化无线网络功能域。
Definition ril_backend.h:163
int(* set_ims_enabled)(bool enabled)
设置 IMS 开关。
Definition ril_backend.h:179
SIM 功能域接口
Definition ril_backend.h:190
int(* init)(void)
初始化 SIM 功能域。
Definition ril_backend.h:192
int(* get_iccid)(char *value, size_t *length)
查询 ICCID。
Definition ril_backend.h:200
int(* unblock_pin)(const tbox_sim_pin_request_t *request)
使用 PUK 解锁 PIN。
Definition ril_backend.h:208
void(* deinit)(void)
释放 SIM 功能域资源。
Definition ril_backend.h:194
int(* enable_pin)(const tbox_sim_pin_request_t *request)
启用 PIN 校验。
Definition ril_backend.h:210
int(* get_number)(char *value, size_t *length)
查询 SIM 卡号。
Definition ril_backend.h:202
int(* disable_pin)(const tbox_sim_pin_request_t *request)
禁用 PIN 校验。
Definition ril_backend.h:212
int(* verify_pin)(const tbox_sim_pin_request_t *request)
校验 PIN。
Definition ril_backend.h:204
int(* change_pin)(const tbox_sim_pin_request_t *request)
修改 PIN。
Definition ril_backend.h:206
int(* get_imsi)(char *value, size_t *length)
查询 IMSI。
Definition ril_backend.h:198
int(* get_status)(tbox_sim_state_t *status)
查询 SIM 卡状态。
Definition ril_backend.h:196
短消息功能域接口
Definition ril_backend.h:219
void(* deinit)(void)
释放短消息功能域资源。
Definition ril_backend.h:223
int(* send_pdu)(const tbox_sms_pdu_request_t *request)
发送 PDU 短信。
Definition ril_backend.h:227
int(* send_text)(const tbox_sms_text_request_t *request)
发送文本短信。
Definition ril_backend.h:225
int(* set_service_center)(const char *value)
设置短信服务中心号码。
Definition ril_backend.h:233
int(* init)(void)
初始化短消息功能域。
Definition ril_backend.h:221
int(* get_service_center)(char *value, size_t *length)
查询短信服务中心号码。
Definition ril_backend.h:231
int(* delete_message)(tbox_sms_storage_t storage, tbox_sms_mode_t mode, uint32_t storage_index)
删除模组内短信。
Definition ril_backend.h:229
语音和 eCall 功能域接口
Definition ril_backend.h:275
int(* get_volume)(uint32_t *volume)
查询通话音量。
Definition ril_backend.h:293
int(* send_dtmf)(char digit)
发送 DTMF 字符。
Definition ril_backend.h:289
int(* answer)(uint32_t call_id)
接听呼叫。
Definition ril_backend.h:283
int(* hangup)(uint32_t call_id)
挂断呼叫。
Definition ril_backend.h:285
int(* set_ecall_msd)(uint32_t call_id, const uint8_t *data, size_t length)
更新 eCall MSD。
Definition ril_backend.h:305
int(* start_ecall)(const tbox_ecall_request_t *request)
发起 eCall。
Definition ril_backend.h:301
void(* deinit)(void)
释放语音功能域资源。
Definition ril_backend.h:279
int(* get_audio_mode)(tbox_voice_audio_mode_t *mode)
查询音频路由模式。
Definition ril_backend.h:297
int(* set_audio_mode)(tbox_voice_audio_mode_t mode)
设置音频路由模式。
Definition ril_backend.h:295
int(* switch_active)(void)
切换当前活动呼叫。
Definition ril_backend.h:287
int(* get_call)(uint32_t call_id, tbox_call_event_t *call)
查询指定呼叫。
Definition ril_backend.h:299
int(* init)(void)
初始化语音功能域。
Definition ril_backend.h:277
int(* set_ecall_test_number)(tbox_ecall_number_type_t type, const char *number)
设置测试 eCall 号码。
Definition ril_backend.h:303
int(* dial)(const tbox_voice_dial_request_t *request, uint32_t *call_id)
发起普通语音呼叫。
Definition ril_backend.h:281
int(* set_volume)(uint32_t volume)
设置通话音量。
Definition ril_backend.h:291
通话状态事件。
Definition voice.h:157
eCall 启动请求。
Definition voice.h:167
分业务注册状态。
Definition radio.h:81
PIN 操作请求。
Definition sim.h:66
收到的短消息。
Definition sms.h:113
PDU 短信发送请求。
Definition sms.h:103
文本短信发送请求。
Definition sms.h:91
拨号请求。
Definition voice.h:147
语音事件。
Definition voice.h:196