3.2.4. 数字电视解复用器 write()

3.2.4.1. 名称

数字电视解复用器 write()

3.2.4.2. 概要

ssize_t write(int fd, const void *buf, size_t count)

3.2.4.3. 参数

fd

先前调用 open() 返回的文件描述符。

buf

包含要写入的数据的缓冲区

count

缓冲区中的字节数

3.2.4.4. 描述

此系统调用仅由与提供实际 DVR 功能的物理解复用器设备关联的逻辑设备 /dev/dvb/adapter?/dvr? 提供。 它用于重放数字记录的传输流。 匹配的过滤器必须在相应的物理解复用器设备 /dev/dvb/adapter?/demux? 中定义。 要传输的数据量由 count 暗示。

3.2.4.5. 返回值

成功时返回 0。

出错时返回 -1,并且会相应地设置 errno 变量。

EWOULDBLOCK

未写入任何数据。 如果指定了 O_NONBLOCK 并且没有更多的缓冲区空间可用,则可能会发生这种情况(如果未指定 O_NONBLOCK,则该函数将阻塞,直到有缓冲区空间可用)。

EBUSY

此错误代码表示存在冲突的请求。 相应的解复用器设备设置为从前端接收数据。 确保这些过滤器已停止,并且已启动输入设置为 DMX_IN_DVR 的过滤器。

通用错误代码在 通用错误代码 一章中描述。