All pastes #345327 Raw Edit

Something

public text v1 · immutable
·published 2007-02-08 12:34 UTC
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