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. 描述

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

3.2.4.5. 返回值

成功时返回 0。

出错时返回 -1,并适当设置 errno 变量。

EWOULDBLOCK

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

EBUSY

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

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