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

RIL 守护进程事件队列 More...

#include <pthread.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include "ril_backend.h"
#include "ril_probe.h"

Go to the source code of this file.

Data Structures

struct  ril_radio_state_event_t
 无线状态刷新结果 More...
struct  ril_notification_t
 业务通知 More...
struct  ril_state_event_t
 可延后处理的守护进程状态事件 More...
struct  ril_event_queue_stats_t
 事件丢弃统计 More...
struct  ril_event_queues_t
 通知和状态事件队列 More...

Macros

#define RIL_NOTIFICATION_QUEUE_CAPACITY   32U
 业务通知队列容量
#define RIL_STATE_QUEUE_CAPACITY   32U
 状态事件队列容量

Typedefs

typedef struct ril_notification_node ril_notification_node_t
 业务通知链表节点前置声明。

Enumerations

enum  ril_queue_class_t { RIL_QUEUE_NOTIFICATION = 1 , RIL_QUEUE_STATE }
 事件所在队列 More...
enum  ril_notification_type_t { RIL_NOTIFICATION_SMS = 1 , RIL_NOTIFICATION_VOICE }
 业务通知类别 More...
enum  ril_state_event_type_t { RIL_STATE_RADIO_REFRESH = 1 , RIL_STATE_SIM , RIL_STATE_DATA , RIL_STATE_PROBE }
 守护进程状态事件类别 More...

Functions

int ril_event_queues_init (ril_event_queues_t *queues)
 初始化两个事件队列。
void ril_event_queues_deinit (ril_event_queues_t *queues)
 释放事件队列资源。
int ril_event_queues_push_notification (ril_event_queues_t *queues, const ril_notification_t *notification)
 将业务通知复制到通知队列。
int ril_event_queues_pop_notification (ril_event_queues_t *queues, ril_notification_t *notification)
 取出最早的业务通知。
int ril_event_queues_push_state (ril_event_queues_t *queues, const ril_state_event_t *event)
 将状态事件复制到状态队列。
int ril_event_queues_pop_state (ril_event_queues_t *queues, ril_state_event_t *event)
 取出最早的状态事件。
int ril_event_queues_pop_next (ril_event_queues_t *queues, ril_queue_class_t *queue_class, ril_notification_t *notification, ril_state_event_t *state)
 在非空的通知和状态队列之间交替取出事件。
size_t ril_event_queues_notification_count (ril_event_queues_t *queues)
 查询当前通知事件数。
size_t ril_event_queues_state_count (ril_event_queues_t *queues)
 查询当前状态事件数。
void ril_event_queues_get_stats (ril_event_queues_t *queues, ril_event_queue_stats_t *stats)
 查询队列丢弃统计。

Detailed Description

RIL 守护进程事件队列

Version
1.0.0
Date
2026-07-17

Enumeration Type Documentation

◆ ril_notification_type_t

业务通知类别

Enumerator
RIL_NOTIFICATION_SMS 

接收短信通知

RIL_NOTIFICATION_VOICE 

语音或 eCall 通知

◆ ril_queue_class_t

事件所在队列

Enumerator
RIL_QUEUE_NOTIFICATION 

业务通知队列

RIL_QUEUE_STATE 

状态事件队列

◆ ril_state_event_type_t

守护进程状态事件类别

Enumerator
RIL_STATE_RADIO_REFRESH 

无线网络状态刷新结果

RIL_STATE_SIM 

SIM 卡状态变化

RIL_STATE_DATA 

数据链路状态变化

RIL_STATE_PROBE 

网络探测结果

Function Documentation

◆ ril_event_queues_deinit()

void ril_event_queues_deinit ( ril_event_queues_t * queues)

释放事件队列资源。

Parameters
queues事件队列。

◆ ril_event_queues_get_stats()

void ril_event_queues_get_stats ( ril_event_queues_t * queues,
ril_event_queue_stats_t * stats )

查询队列丢弃统计。

Parameters
queues事件队列。
stats输出丢弃统计。

◆ ril_event_queues_init()

int ril_event_queues_init ( ril_event_queues_t * queues)

初始化两个事件队列。

Parameters
queues输出事件队列。
Returns
TBOX_OK 成功,其他值失败。

◆ ril_event_queues_notification_count()

size_t ril_event_queues_notification_count ( ril_event_queues_t * queues)

查询当前通知事件数。

Parameters
queues事件队列。
Returns
当前通知事件数;参数无效时返回 0。

◆ ril_event_queues_pop_next()

int ril_event_queues_pop_next ( ril_event_queues_t * queues,
ril_queue_class_t * queue_class,
ril_notification_t * notification,
ril_state_event_t * state )

在非空的通知和状态队列之间交替取出事件。

Parameters
queues事件队列。
queue_class输出事件所在队列。
notification通知队列被选中时输出业务通知。
state状态队列被选中时输出状态事件。
Returns
TBOX_OK 成功,其他值失败。

◆ ril_event_queues_pop_notification()

int ril_event_queues_pop_notification ( ril_event_queues_t * queues,
ril_notification_t * notification )

取出最早的业务通知。

Parameters
queues事件队列。
notification输出业务通知。
Returns
TBOX_OK 成功,其他值失败。

◆ ril_event_queues_pop_state()

int ril_event_queues_pop_state ( ril_event_queues_t * queues,
ril_state_event_t * event )

取出最早的状态事件。

Parameters
queues事件队列。
event输出状态事件。
Returns
TBOX_OK 成功,其他值失败。

◆ ril_event_queues_push_notification()

int ril_event_queues_push_notification ( ril_event_queues_t * queues,
const ril_notification_t * notification )

将业务通知复制到通知队列。

Parameters
queues事件队列。
notification业务通知。
Returns
TBOX_OK 成功,队列已满返回 TBOX_ERROR_BUSY,其他值失败。

◆ ril_event_queues_push_state()

int ril_event_queues_push_state ( ril_event_queues_t * queues,
const ril_state_event_t * event )

将状态事件复制到状态队列。

Parameters
queues事件队列。
event状态事件。
Returns
TBOX_OK 成功,其他值失败。

◆ ril_event_queues_state_count()

size_t ril_event_queues_state_count ( ril_event_queues_t * queues)

查询当前状态事件数。

Parameters
queues事件队列。
Returns
当前状态事件数;参数无效时返回 0。