rendered paste body#ifndef __DVB_ADAPTER_H
#define __DVB_ADAPTER_H
#include "dvbdev.h"
enum dvb_adaptor_type {
DVB_ADAPTOR_SIMPLE = (1 << 0),
DVB_ADAPTOR_HYBRID = (1 << 1),
DVB_ADAPTOR_FTA = (1 << 2),
DVB_ADAPTOR_CI = (1 << 3),
DVB_ADAPTOR_PCI = (1 << 4),
DVB_ADAPTOR_USB = (1 << 5),
DVB_ADAPTOR_FIREWIRE = (1 << 6),
DVB_ADAPTOR_PCIE = (1 << 7),
DVB_ADAPTOR_MINIPCI = (1 << 8),
DVB_ADAPTOR_CARDBUS = (1 << 9),
DVB_ADAPTOR_PLATFORM = (1 << 10),
DVB_ADAPTOR_DUMMY = (1 << 31)
};
enum dvb_adaptor_obj_type {
DVB_ADAPTOR_OBJ_DEMOD = (1 << 0),
DVB_ADAPTOR_OBJ_TUNER = (1 << 1),
DVB_ADAPTOR_OBJ_SEC = (1 << 2),
DVB_ADAPTOR_OBJ_DECODER = (1 << 3),
DVB_ADAPTOR_OBJ_DUMMY = (1 << 31)
};
struct dvb_adaptor_info {
char adaptor_model[64];
char adaptor_name[64];
u16 adaptor_rev;
enum dvb_adaptor_type adaptor_type;
};
struct dvb_adaptor;
struct dvb_adaptor_ops {
struct dvb_adaptor_info info;
int (*reset_adaptor)(struct dvb_adaptor *adaptor);
};
struct dvb_adaptor_obj {
struct list_head list;
char object_name[64];
enum dvb_adaptor_obj_type object_type;
struct dvb_adaptor *dvb;
};
struct dvb_adaptor {
struct list_head list;
struct dvb_adaptor_obj *obj;
struct dvb_adaptor_ops ops;
struct dvb_adapter *dvb;
void *adaptor_priv;
};
extern int dvb_register_adaptor(struct dvb_adapter *dvb, struct dvb_adaptor *adaptor);
#endif //__DVB_ADAPTER_H