T-Box Basic dev
Loading...
Searching...
No Matches
ril_data.h File Reference

RIL 多路 APN 自动拨号 More...

#include <stddef.h>
#include <stdint.h>
#include "ril_data_types.h"

Go to the source code of this file.

Data Structures

struct  ril_data_t
 多路 APN 拨号上下文 More...

Typedefs

typedef struct ril_route ril_route_t
 默认路由管理器前置声明。

Functions

int ril_data_init (ril_data_t *data, const ril_config_t *config, const ril_backend_data_ops_t *backend, ril_route_t *route)
 初始化多路 APN 运行时。
void ril_data_deinit (ril_data_t *data)
 释放多路 APN 运行时。
void ril_data_set_readiness (ril_data_t *data, const ril_data_readiness_t *readiness)
 更新拨号就绪条件。
int ril_data_tick (ril_data_t *data, uint64_t now_ms, ril_data_tick_result_t *tick_result)
 公平执行至多一个 APN 后端动作。
int ril_data_handle_event (ril_data_t *data, const ril_backend_data_event_t *event, uint64_t now_ms)
 应用一条已归一化的数据链路事件。
int ril_data_request_action (ril_data_t *data, uint8_t apn_index, ril_data_action_t action, uint64_t earliest_ms)
 为一路 APN 安排恢复动作。
int ril_data_set_enabled (ril_data_t *data, uint8_t apn_index, bool enabled)
 设置一路 APN 的运行时期望启用状态。
int ril_data_get_enabled (const ril_data_t *data, uint8_t apn_index, bool *enabled)
 查询一路 APN 的运行时期望启用状态。
int ril_data_get_state (const ril_data_t *data, uint8_t apn_index, tbox_data_state_t *state)
 查询一路 APN 的当前运行状态。
int ril_data_get_probe_status (const ril_data_t *data, uint8_t apn_index, tbox_data_probe_status_t *status)
 查询一路 APN 的网络探测状态。
int ril_data_set_probe_status (ril_data_t *data, uint8_t apn_index, tbox_data_probe_status_t status)
 更新一路 APN 的网络探测状态。
int ril_data_get_probe_enabled (const ril_data_t *data, uint8_t apn_index, bool *enabled)
 查询一路 APN 的自动网络探测期望状态。
int ril_data_set_probe_enabled (ril_data_t *data, uint8_t apn_index, bool enabled)
 设置一路 APN 的自动网络探测期望状态。
int ril_data_set_recovery (ril_data_t *data, uint8_t apn_index, uint32_t failure_count, ril_recovery_level_t level)
 同步一路 APN 的恢复策略状态。
int ril_data_get_runtime (const ril_data_t *data, uint8_t apn_index, const ril_apn_runtime_t **runtime)
 查询一路 APN 的只读运行时。
int ril_data_abandon (ril_data_t *data)
 模组 reset 前清理默认路由并遗忘全部 profile 和链路状态。

Detailed Description

RIL 多路 APN 自动拨号

Version
1.0.0
Date
2026-07-17

Typedef Documentation

◆ ril_route_t

typedef struct ril_route ril_route_t

默认路由管理器前置声明。

默认路由管理器不透明类型

Function Documentation

◆ ril_data_abandon()

int ril_data_abandon ( ril_data_t * data)

模组 reset 前清理默认路由并遗忘全部 profile 和链路状态。

本函数不调用已失效的 SDK handle,并清理 RIL 持有的默认路由。

Parameters
data拨号上下文。
Returns
TBOX_OK 成功,其他值失败;清理失败时保留原运行时状态。

◆ ril_data_deinit()

void ril_data_deinit ( ril_data_t * data)

释放多路 APN 运行时。

本函数不调用模组后端;后端资源由 daemon 按逆序释放。

Parameters
data拨号上下文。

◆ ril_data_get_enabled()

int ril_data_get_enabled ( const ril_data_t * data,
uint8_t apn_index,
bool * enabled )

查询一路 APN 的运行时期望启用状态。

Parameters
data拨号上下文。
apn_indexAPN 配置索引。
enabled输出期望启用状态。
Returns
TBOX_OK 成功,其他值失败。

◆ ril_data_get_probe_enabled()

int ril_data_get_probe_enabled ( const ril_data_t * data,
uint8_t apn_index,
bool * enabled )

查询一路 APN 的自动网络探测期望状态。

Parameters
data拨号上下文。
apn_indexAPN 配置索引。
enabled输出自动网络探测期望状态。
Returns
TBOX_OK 成功,其他值失败。

◆ ril_data_get_probe_status()

int ril_data_get_probe_status ( const ril_data_t * data,
uint8_t apn_index,
tbox_data_probe_status_t * status )

查询一路 APN 的网络探测状态。

Parameters
data拨号上下文。
apn_indexAPN 配置索引。
status输出网络探测状态。
Returns
TBOX_OK 成功,其他值失败。

◆ ril_data_get_runtime()

int ril_data_get_runtime ( const ril_data_t * data,
uint8_t apn_index,
const ril_apn_runtime_t ** runtime )

查询一路 APN 的只读运行时。

runtime 的有效期不超过下一次 ril_data_* 调用。

Parameters
data拨号上下文。
apn_indexAPN 配置索引。
runtime输出只读运行时指针。
Returns
TBOX_OK 成功,其他值失败。

◆ ril_data_get_state()

int ril_data_get_state ( const ril_data_t * data,
uint8_t apn_index,
tbox_data_state_t * state )

查询一路 APN 的当前运行状态。

Parameters
data拨号上下文。
apn_indexAPN 配置索引。
state输出 APN 运行状态。
Returns
TBOX_OK 成功,其他值失败。

◆ ril_data_handle_event()

int ril_data_handle_event ( ril_data_t * data,
const ril_backend_data_event_t * event,
uint64_t now_ms )

应用一条已归一化的数据链路事件。

只有配置选中的 APN 可以更新默认路由。

Parameters
data拨号上下文。
event数据链路事件。
now_ms当前单调时钟毫秒数。
Returns
TBOX_OK 成功,其他值失败。

◆ ril_data_init()

int ril_data_init ( ril_data_t * data,
const ril_config_t * config,
const ril_backend_data_ops_t * backend,
ril_route_t * route )

初始化多路 APN 运行时。

Parameters
data输出拨号上下文。
config不可变启动配置。
backend数据功能域后端。
route默认路由管理器,可为 NULL。
Returns
TBOX_OK 成功,其他值失败。

◆ ril_data_request_action()

int ril_data_request_action ( ril_data_t * data,
uint8_t apn_index,
ril_data_action_t action,
uint64_t earliest_ms )

为一路 APN 安排恢复动作。

Parameters
data拨号上下文。
apn_indexAPN 配置索引。
action后续动作。
earliest_ms最早执行的单调时钟毫秒数。
Returns
TBOX_OK 成功,其他值失败。

◆ ril_data_set_enabled()

int ril_data_set_enabled ( ril_data_t * data,
uint8_t apn_index,
bool enabled )

设置一路 APN 的运行时期望启用状态。

Parameters
data拨号上下文。
apn_indexAPN 配置索引。
enabled期望启用状态。
Returns
TBOX_OK 成功,其他值失败。

◆ ril_data_set_probe_enabled()

int ril_data_set_probe_enabled ( ril_data_t * data,
uint8_t apn_index,
bool enabled )

设置一路 APN 的自动网络探测期望状态。

Parameters
data拨号上下文。
apn_indexAPN 配置索引。
enabled自动网络探测期望状态。
Returns
TBOX_OK 成功,其他值失败。

◆ ril_data_set_probe_status()

int ril_data_set_probe_status ( ril_data_t * data,
uint8_t apn_index,
tbox_data_probe_status_t status )

更新一路 APN 的网络探测状态。

Parameters
data拨号上下文。
apn_indexAPN 配置索引。
status网络探测状态。
Returns
TBOX_OK 成功,其他值失败。

◆ ril_data_set_readiness()

void ril_data_set_readiness ( ril_data_t * data,
const ril_data_readiness_t * readiness )

更新拨号就绪条件。

Parameters
data拨号上下文。
readiness当前 SIM、RF 和注册条件。

◆ ril_data_set_recovery()

int ril_data_set_recovery ( ril_data_t * data,
uint8_t apn_index,
uint32_t failure_count,
ril_recovery_level_t level )

同步一路 APN 的恢复策略状态。

Parameters
data拨号上下文。
apn_indexAPN 配置索引。
failure_count连续失败次数。
level当前恢复层级。
Returns
TBOX_OK 成功,其他值失败。

◆ ril_data_tick()

int ril_data_tick ( ril_data_t * data,
uint64_t now_ms,
ril_data_tick_result_t * tick_result )

公平执行至多一个 APN 后端动作。

Parameters
data拨号上下文。
now_ms当前单调时钟毫秒数。
tick_result输出本轮动作结果。
Returns
TBOX_OK 调度成功,其他值表示调度参数或状态错误;后端结果位于 tick_result。