3.5. 数字电视网络 kABI

struct dvb_net

描述一个 DVB 网络接口

定义:

struct dvb_net {
    struct dvb_device *dvbdev;
    struct net_device *device[DVB_NET_DEVICES_MAX];
    int state[DVB_NET_DEVICES_MAX];
    unsigned int exit:1;
    struct dmx_demux *demux;
    struct mutex ioctl_mutex;
    struct mutex remove_mutex;
};

成员

dvbdev

指向 struct dvb_device 的指针。

device

指向 struct net_device 的指针数组。

state

每个网络设备的整数数组。一个非零值表示该接口正在使用中。

exit

标志,指示设备何时被移除。

demux

指向 struct dmx_demux 的指针。

ioctl_mutex

保护对此结构的访问。

remove_mutex

互斥锁,用于避免在硬件断开连接时调用的回调和 dvb_net 的 file_operations 之间的竞争条件。

描述

目前,核心最多支持 DVB_NET_DEVICES_MAX (10) 个网络设备。

int dvb_net_init(struct dvb_adapter *adap, struct dvb_net *dvbnet, struct dmx_demux *dmxdemux)

初始化数字电视网络设备并注册它。

参数

struct dvb_adapter *adap

指向 struct dvb_adapter 的指针。

struct dvb_net *dvbnet

指向 struct dvb_net 的指针。

struct dmx_demux *dmxdemux

指向 struct dmx_demux 的指针。

void dvb_net_release(struct dvb_net *dvbnet)

释放数字电视网络设备并取消注册。

参数

struct dvb_net *dvbnet

指向 struct dvb_net 的指针。