3.4. 数字电视条件接收 kABI¶
-
struct dvb_ca_en50221¶
描述 CA 接口的结构
定义:
struct dvb_ca_en50221 {
struct module *owner;
int (*read_attribute_mem)(struct dvb_ca_en50221 *ca, int slot, int address);
int (*write_attribute_mem)(struct dvb_ca_en50221 *ca, int slot, int address, u8 value);
int (*read_cam_control)(struct dvb_ca_en50221 *ca, int slot, u8 address);
int (*write_cam_control)(struct dvb_ca_en50221 *ca, int slot, u8 address, u8 value);
int (*read_data)(struct dvb_ca_en50221 *ca, int slot, u8 *ebuf, int ecount);
int (*write_data)(struct dvb_ca_en50221 *ca, int slot, u8 *ebuf, int ecount);
int (*slot_reset)(struct dvb_ca_en50221 *ca, int slot);
int (*slot_shutdown)(struct dvb_ca_en50221 *ca, int slot);
int (*slot_ts_enable)(struct dvb_ca_en50221 *ca, int slot);
int (*poll_slot_status)(struct dvb_ca_en50221 *ca, int slot, int open);
void *data;
void *private;
};
成员
owner
拥有此结构的模块
read_attribute_mem
用于读取 CAM 上属性内存的函数
write_attribute_mem
用于写入 CAM 上属性内存的函数
read_cam_control
用于读取 CAM 上控制接口的函数
write_cam_control
用于读取 CAM 上控制接口的函数
read_data
用于读取数据(块模式)的函数
write_data
用于写入数据(块模式)的函数
slot_reset
用于重置 CAM 插槽的函数
slot_shutdown
用于关闭 CAM 插槽的函数
slot_ts_enable
用于在 CAM 插槽上启用传输流的函数
poll_slot_status
用于轮询插槽状态的函数。仅当未设置 DVB_CA_FLAG_EN50221_IRQ_CAMCHANGE 时才需要。
data
调用者使用的私有数据。
private
dvb_ca 核心使用的不透明数据。请勿修改!
注意
read_*、write_* 和 poll_slot_status 函数将针对不同的插槽并发调用,并且需要在适当的地方和情况下使用锁。不会同时访问一个插槽。
-
void dvb_ca_en50221_camchange_irq(struct dvb_ca_en50221 *pubca, int slot, int change_type)¶
发生了 CAMCHANGE IRQ。
参数
struct dvb_ca_en50221 *pubca
CA 实例。
int slot
相关插槽。
int change_type
DVB_CA_CAMCHANGE_* 值之一
-
void dvb_ca_en50221_camready_irq(struct dvb_ca_en50221 *pubca, int slot)¶
发生了 CAMREADY IRQ。
参数
struct dvb_ca_en50221 *pubca
CA 实例。
int slot
相关插槽。
-
void dvb_ca_en50221_frda_irq(struct dvb_ca_en50221 *ca, int slot)¶
发生了 FR 或 DA IRQ。
参数
struct dvb_ca_en50221 *ca
CA 实例。
int slot
相关插槽。
-
int dvb_ca_en50221_init(struct dvb_adapter *dvb_adapter, struct dvb_ca_en50221 *ca, int flags, int slot_count)¶
初始化新的 DVB CA 设备。
参数
struct dvb_adapter *dvb_adapter
要将新 CA 设备附加到的 DVB 适配器。
struct dvb_ca_en50221 *ca
dvb_ca 实例。
int flags
描述 CA 设备的标志 (DVB_CA_EN50221_FLAG_*)。
int slot_count
支持的插槽数。
描述
返回 成功时返回 0,失败时返回非零值
-
void dvb_ca_en50221_release(struct dvb_ca_en50221 *ca)¶
释放 DVB CA 设备。
参数
struct dvb_ca_en50221 *ca
关联的 dvb_ca 实例。