XTOS / OPEN SOURCE REAL-TIME SYSTEMOPEN SOURCE · VERSION 0.9.0 · BUILD FROM SOURCE
libxtos-bcixtos_bci_get_stats

xtos_bci_get_stats

通过 ioctl 读取设备统计并复制到调用方结构。

本页目录

声明

c
#include <xtos/bci.h>

int xtos_bci_get_stats(xtos_bci_session_t *session,
                      struct xtos_bci_statistics *stats);

参数

参数类型说明
sessionxtos_bci_session_t *非 NULL 会话句柄。
statsstruct xtos_bci_statistics *非 NULL 输出结构,由调用方提供。

输出字段

字段类型含义
samples_readuint64_t设备统计的已读取样本数量;公开 Cyton 路径按写入缓冲的通道值计数,不等于应用消费帧数。
samples_droppeduint64_t设备统计的丢弃样本数量;具体计数语义由驱动定义。
errorsuint64_t设备统计的错误数量。
overrunsuint64_t环形缓冲区溢出数量。

返回值

成功返回 0 并写入 samples_read、samples_dropped、errors、overruns;失败返回 -1。

错误

errno条件
EINVALsession 或 stats 为 NULL。
ENOTTY/EOPNOTSUPP设备不支持统计 ioctl。
system errnoioctl 失败时返回驱动或系统 errno。

注意事项

  • 统计语义由驱动决定;公开 Cyton 的 samples_read 统计写入缓冲的通道值,不等于应用消费的帧数。
  • stats 由调用方拥有;并发 reset 或生产者更新时不保证跨字段一致快照。

示例

源码

本文按 OpenXTOS 提交 dd313955ad57542bcd2af8827157d1bbd0cf5e83 的头文件和实现编写。