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

DVB 介面卡,用於附加新的 CA 裝置。

struct dvb_ca_en50221 *ca

dvb_ca 例項。

int flags

描述 CA 裝置的標誌 (DVB_CA_EN50221_FLAG_*)。

int slot_count

支援的插槽數。

描述

return 成功返回 0,失敗返回非零值

void dvb_ca_en50221_release(struct dvb_ca_en50221 *ca)

釋放 DVB CA 裝置。

引數

struct dvb_ca_en50221 *ca

關聯的 dvb_ca 例項。