⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hisax.h

📁 linux-2.6.15.6
💻 H
📖 第 1 页 / 共 2 页
字号:
	unsigned char dmactrl;	unsigned char ctrl_reg;	unsigned char irqmask0;	unsigned char irqstat0;	unsigned char last_is0;	struct pci_dev *dev;};struct hfcPCI_hw {	unsigned char cirm;	unsigned char ctmt;	unsigned char conn;	unsigned char mst_m;	unsigned char int_m1;	unsigned char int_m2;	unsigned char int_s1;	unsigned char sctrl;        unsigned char sctrl_r;        unsigned char sctrl_e;        unsigned char trm;	unsigned char stat;	unsigned char fifo;        unsigned char fifo_en;        unsigned char bswapped;        unsigned char nt_mode;        int nt_timer;        struct pci_dev *dev;        unsigned char *pci_io; /* start of PCI IO memory */        void *share_start; /* shared memory for Fifos start */        void *fifos; /* FIFO memory */         int last_bfifo_cnt[2]; /* marker saving last b-fifo frame count */	struct timer_list timer;};struct hfcSX_hw {        unsigned long base;	unsigned char cirm;	unsigned char ctmt;	unsigned char conn;	unsigned char mst_m;	unsigned char int_m1;	unsigned char int_m2;	unsigned char int_s1;	unsigned char sctrl;        unsigned char sctrl_r;        unsigned char sctrl_e;        unsigned char trm;	unsigned char stat;	unsigned char fifo;        unsigned char bswapped;        unsigned char nt_mode;        unsigned char chip;        int b_fifo_size;        unsigned char last_fifo;        void *extra;        int nt_timer;	struct timer_list timer;};struct hfcD_hw {	unsigned int addr;	unsigned int bfifosize;	unsigned int dfifosize;	unsigned char cirm;	unsigned char ctmt;	unsigned char cip;	unsigned char conn;	unsigned char mst_m;	unsigned char int_m1;	unsigned char int_m2;	unsigned char int_s1;	unsigned char sctrl;	unsigned char stat;	unsigned char fifo;	unsigned char f1;	unsigned char f2;	unsigned int *send;	struct timer_list timer;};struct isurf_hw {	unsigned int reset;	unsigned long phymem;	void __iomem *isac;	void __iomem *isar;	struct isar_reg isar_r;};struct saphir_hw {	struct pci_dev *dev;	unsigned int cfg_reg;	unsigned int ale;	unsigned int isac;	unsigned int hscx;	struct timer_list timer;};struct bkm_hw {	struct pci_dev *dev;	unsigned long base;	/* A4T stuff */	unsigned long isac_adr;	unsigned int isac_ale;	unsigned long jade_adr;	unsigned int jade_ale;	/* Scitel Quadro stuff */	unsigned long plx_adr;	unsigned long data_adr;};	struct gazel_hw {	struct pci_dev *dev;	unsigned int cfg_reg;	unsigned int pciaddr[2];        signed   int ipac;	signed   int isac;	signed   int hscx[2];	signed   int isacfifo;	signed   int hscxfifo[2];	unsigned char timeslot;	unsigned char iom2;};struct w6692_hw {	struct pci_dev *dev;	unsigned int iobase;	struct timer_list timer;};#ifdef  CONFIG_HISAX_TESTEMUstruct te_hw {	unsigned char *sfifo;	unsigned char *sfifo_w;	unsigned char *sfifo_r;	unsigned char *sfifo_e;	int sfifo_cnt;	unsigned int stat;	wait_queue_head_t rwaitq;	wait_queue_head_t swaitq;};#endifstruct arcofi_msg {	struct arcofi_msg *next;	u_char receive;	u_char len;	u_char msg[10];};struct isac_chip {	int ph_state;	u_char *mon_tx;	u_char *mon_rx;	int mon_txp;	int mon_txc;	int mon_rxp;	struct arcofi_msg *arcofi_list;	struct timer_list arcofitimer;	wait_queue_head_t arcofi_wait;	u_char arcofi_bc;	u_char arcofi_state;	u_char mocr;	u_char adf2;};struct hfcd_chip {	int ph_state;};struct hfcpci_chip {	int ph_state;};struct hfcsx_chip {	int ph_state;};struct w6692_chip {	int ph_state;};struct amd7930_chip {	u_char lmr1;	u_char ph_state;	u_char old_state;	u_char flg_t3;	unsigned int tx_xmtlen;	struct timer_list timer3;	void (*ph_command) (struct IsdnCardState *, u_char, char *);	void (*setIrqMask) (struct IsdnCardState *, u_char);};struct icc_chip {	int ph_state;	u_char *mon_tx;	u_char *mon_rx;	int mon_txp;	int mon_txc;	int mon_rxp;	struct arcofi_msg *arcofi_list;	struct timer_list arcofitimer;	wait_queue_head_t arcofi_wait;	u_char arcofi_bc;	u_char arcofi_state;	u_char mocr;	u_char adf2;};#define HW_IOM1			0#define HW_IPAC			1#define HW_ISAR			2#define HW_ARCOFI		3#define FLG_TWO_DCHAN		4#define FLG_L1_DBUSY		5#define FLG_DBUSY_TIMER 	6#define FLG_LOCK_ATOMIC 	7#define FLG_ARCOFI_TIMER	8#define FLG_ARCOFI_ERROR	9#define FLG_HW_L1_UINT		10struct IsdnCardState {	spinlock_t	lock;	u_char		typ;	u_char		subtyp;	int		protocol;	u_int		irq;	u_long		irq_flags;	u_long		HW_Flags;	int		*busy_flag;        int		chanlimit; /* limited number of B-chans to use */        int		logecho; /* log echo if supported by card */	union {		struct elsa_hw elsa;		struct teles0_hw teles0;		struct teles3_hw teles3;		struct avm_hw avm;		struct ix1_hw ix1;		struct diva_hw diva;		struct asus_hw asus;		struct hfc_hw hfc;		struct sedl_hw sedl;		struct spt_hw spt;		struct mic_hw mic;		struct njet_hw njet;		struct hfcD_hw hfcD;		struct hfcPCI_hw hfcpci;		struct hfcSX_hw hfcsx;		struct ix1_hw niccy;		struct isurf_hw isurf;		struct saphir_hw saphir;#ifdef CONFIG_HISAX_TESTEMU		struct te_hw te;#endif		struct bkm_hw ax;		struct gazel_hw gazel;		struct w6692_hw w6692;		struct hisax_d_if *hisax_d_if;	} hw;	int		myid;	isdn_if		iif;	spinlock_t	statlock;	u_char		*status_buf;	u_char		*status_read;	u_char		*status_write;	u_char		*status_end;	u_char		(*readisac) (struct IsdnCardState *, u_char);	void		(*writeisac) (struct IsdnCardState *, u_char, u_char);	void		(*readisacfifo) (struct IsdnCardState *, u_char *, int);	void		(*writeisacfifo) (struct IsdnCardState *, u_char *, int);	u_char		(*BC_Read_Reg) (struct IsdnCardState *, int, u_char);	void		(*BC_Write_Reg) (struct IsdnCardState *, int, u_char, u_char);	void		(*BC_Send_Data) (struct BCState *);	int		(*cardmsg) (struct IsdnCardState *, int, void *);	void		(*setstack_d) (struct PStack *, struct IsdnCardState *);	void		(*DC_Close) (struct IsdnCardState *);	int		(*irq_func) (int, void *, struct pt_regs *);	int		(*auxcmd) (struct IsdnCardState *, isdn_ctrl *);	struct Channel	channel[2+MAX_WAITING_CALLS];	struct BCState	bcs[2+MAX_WAITING_CALLS];	struct PStack	*stlist;	struct sk_buff_head rq, sq; /* D-channel queues */	int		cardnr;	char		*dlog;	int		debug;	union {		struct isac_chip isac;		struct hfcd_chip hfcd;		struct hfcpci_chip hfcpci;		struct hfcsx_chip hfcsx;		struct w6692_chip w6692;		struct amd7930_chip amd7930;		struct icc_chip icc;	} dc;	u_char		*rcvbuf;	int		rcvidx;	struct sk_buff	*tx_skb;	int		tx_cnt;	u_long		event;	struct work_struct tqueue;	struct timer_list dbusytimer;#ifdef ERROR_STATISTIC	int		err_crc;	int		err_tx;	int		err_rx;#endif};#define  schedule_event(s, ev)	do {test_and_set_bit(ev, &s->event);schedule_work(&s->tqueue); } while(0)#define  MON0_RX	1#define  MON1_RX	2#define  MON0_TX	4#define  MON1_TX	8#ifdef ISDN_CHIP_ISAC#undef ISDN_CHIP_ISAC#endif#ifdef	CONFIG_HISAX_16_0#define  CARD_TELES0 1#ifndef ISDN_CHIP_ISAC#define ISDN_CHIP_ISAC 1#endif#else#define  CARD_TELES0  0#endif#ifdef	CONFIG_HISAX_16_3#define  CARD_TELES3 1#ifndef ISDN_CHIP_ISAC#define ISDN_CHIP_ISAC 1#endif#else#define  CARD_TELES3  0#endif#ifdef	CONFIG_HISAX_TELESPCI#define  CARD_TELESPCI 1#ifndef ISDN_CHIP_ISAC#define ISDN_CHIP_ISAC 1#endif#else#define  CARD_TELESPCI  0#endif#ifdef	CONFIG_HISAX_AVM_A1#define  CARD_AVM_A1 1#ifndef ISDN_CHIP_ISAC#define ISDN_CHIP_ISAC 1#endif#else#define  CARD_AVM_A1  0#endif#ifdef	CONFIG_HISAX_AVM_A1_PCMCIA#define  CARD_AVM_A1_PCMCIA 1#ifndef ISDN_CHIP_ISAC#define ISDN_CHIP_ISAC 1#endif#else#define  CARD_AVM_A1_PCMCIA  0#endif#ifdef	CONFIG_HISAX_FRITZPCI#define  CARD_FRITZPCI 1#ifndef ISDN_CHIP_ISAC#define ISDN_CHIP_ISAC 1#endif#else#define  CARD_FRITZPCI  0#endif#ifdef	CONFIG_HISAX_ELSA#define  CARD_ELSA 1#ifndef ISDN_CHIP_ISAC#define ISDN_CHIP_ISAC 1#endif#else#define  CARD_ELSA  0#endif#ifdef	CONFIG_HISAX_IX1MICROR2#define	CARD_IX1MICROR2 1#ifndef ISDN_CHIP_ISAC#define ISDN_CHIP_ISAC 1#endif#else#define CARD_IX1MICROR2 0#endif#ifdef  CONFIG_HISAX_DIEHLDIVA#define CARD_DIEHLDIVA 1#ifndef ISDN_CHIP_ISAC#define ISDN_CHIP_ISAC 1#endif#else#define CARD_DIEHLDIVA 0#endif#ifdef  CONFIG_HISAX_ASUSCOM#define CARD_ASUSCOM 1#ifndef ISDN_CHIP_ISAC#define ISDN_CHIP_ISAC 1#endif#else#define CARD_ASUSCOM 0#endif#ifdef  CONFIG_HISAX_TELEINT#define CARD_TELEINT 1#ifndef ISDN_CHIP_ISAC#define ISDN_CHIP_ISAC 1#endif#else#define CARD_TELEINT 0#endif#ifdef  CONFIG_HISAX_SEDLBAUER#define CARD_SEDLBAUER 1#ifndef ISDN_CHIP_ISAC#define ISDN_CHIP_ISAC 1#endif#else#define CARD_SEDLBAUER 0#endif#ifdef  CONFIG_HISAX_SPORTSTER#define CARD_SPORTSTER 1#ifndef ISDN_CHIP_ISAC#define ISDN_CHIP_ISAC 1#endif#else#define CARD_SPORTSTER 0#endif#ifdef  CONFIG_HISAX_MIC#define CARD_MIC 1#ifndef ISDN_CHIP_ISAC#define ISDN_CHIP_ISAC 1#endif#else#define CARD_MIC 0#endif#ifdef  CONFIG_HISAX_NETJET#define CARD_NETJET_S 1#ifndef ISDN_CHIP_ISAC#define ISDN_CHIP_ISAC 1#endif#else#define CARD_NETJET_S 0#endif#ifdef	CONFIG_HISAX_HFCS#define  CARD_HFCS 1#else#define  CARD_HFCS 0#endif#ifdef	CONFIG_HISAX_HFC_PCI#define  CARD_HFC_PCI 1#else#define  CARD_HFC_PCI 0#endif#ifdef	CONFIG_HISAX_HFC_SX#define  CARD_HFC_SX 1#else#define  CARD_HFC_SX 0#endif#ifdef  CONFIG_HISAX_AMD7930#define CARD_AMD7930 1#else#define CARD_AMD7930 0#endif#ifdef	CONFIG_HISAX_NICCY#define	CARD_NICCY 1#ifndef ISDN_CHIP_ISAC#define ISDN_CHIP_ISAC 1#endif#else#define CARD_NICCY 0#endif#ifdef	CONFIG_HISAX_ISURF#define	CARD_ISURF 1#ifndef ISDN_CHIP_ISAC#define ISDN_CHIP_ISAC 1#endif#else#define CARD_ISURF 0#endif#ifdef	CONFIG_HISAX_S0BOX#define	CARD_S0BOX 1#ifndef ISDN_CHIP_ISAC#define ISDN_CHIP_ISAC 1#endif#else#define CARD_S0BOX 0#endif#ifdef	CONFIG_HISAX_HSTSAPHIR#define	CARD_HSTSAPHIR 1#ifndef ISDN_CHIP_ISAC#define ISDN_CHIP_ISAC 1#endif#else#define CARD_HSTSAPHIR 0#endif#ifdef	CONFIG_HISAX_TESTEMU#define	CARD_TESTEMU 1#define ISDN_CTYPE_TESTEMU 99#undef ISDN_CTYPE_COUNT#define  ISDN_CTYPE_COUNT ISDN_CTYPE_TESTEMU#else#define CARD_TESTEMU 0#endif#ifdef	CONFIG_HISAX_BKM_A4T#define	CARD_BKM_A4T 1#ifndef ISDN_CHIP_ISAC#define ISDN_CHIP_ISAC 1#endif#else#define CARD_BKM_A4T 0#endif#ifdef	CONFIG_HISAX_SCT_QUADRO#define	CARD_SCT_QUADRO 1#ifndef ISDN_CHIP_ISAC#define ISDN_CHIP_ISAC 1#endif#else#define CARD_SCT_QUADRO 0#endif#ifdef	CONFIG_HISAX_GAZEL#define  CARD_GAZEL 1#ifndef ISDN_CHIP_ISAC#define ISDN_CHIP_ISAC 1#endif#else#define  CARD_GAZEL  0#endif#ifdef	CONFIG_HISAX_W6692#define	CARD_W6692	1#ifndef	ISDN_CHIP_W6692#define	ISDN_CHIP_W6692	1#endif#else#define	CARD_W6692	0#endif#ifdef  CONFIG_HISAX_NETJET_U#define CARD_NETJET_U 1#ifndef ISDN_CHIP_ICC#define ISDN_CHIP_ICC 1#endif#ifndef HISAX_UINTERFACE#define HISAX_UINTERFACE 1#endif#else#define CARD_NETJET_U 0#endif#ifdef CONFIG_HISAX_ENTERNOW_PCI#define CARD_FN_ENTERNOW_PCI 1#else#define CARD_FN_ENTERNOW_PCI 0#endif#define TEI_PER_CARD 1/* L1 Debug */#define	L1_DEB_WARN		0x01#define	L1_DEB_INTSTAT		0x02#define	L1_DEB_ISAC		0x04#define	L1_DEB_ISAC_FIFO	0x08#define	L1_DEB_HSCX		0x10#define	L1_DEB_HSCX_FIFO	0x20#define	L1_DEB_LAPD	        0x40#define	L1_DEB_IPAC	        0x80#define	L1_DEB_RECEIVE_FRAME    0x100#define L1_DEB_MONITOR		0x200#define DEB_DLOG_HEX		0x400#define DEB_DLOG_VERBOSE	0x800#define L2FRAME_DEBUG#ifdef L2FRAME_DEBUGextern void Logl2Frame(struct IsdnCardState *cs, struct sk_buff *skb, char *buf, int dir);#endif#include "hisax_cfg.h"void init_bcstate(struct IsdnCardState *cs, int bc);void setstack_HiSax(struct PStack *st, struct IsdnCardState *cs);void HiSax_addlist(struct IsdnCardState *sp, struct PStack *st);void HiSax_rmlist(struct IsdnCardState *sp, struct PStack *st);void setstack_l1_B(struct PStack *st);void setstack_tei(struct PStack *st);void setstack_manager(struct PStack *st);void setstack_isdnl2(struct PStack *st, char *debug_id);void releasestack_isdnl2(struct PStack *st);void setstack_transl2(struct PStack *st);void releasestack_transl2(struct PStack *st);void lli_writewakeup(struct PStack *st, int len);void setstack_l3dc(struct PStack *st, struct Channel *chanp);void setstack_l3bc(struct PStack *st, struct Channel *chanp);void releasestack_isdnl3(struct PStack *st);u_char *findie(u_char * p, int size, u_char ie, int wanted_set);int getcallref(u_char * p);int newcallref(void);int FsmNew(struct Fsm *fsm, struct FsmNode *fnlist, int fncount);void FsmFree(struct Fsm *fsm);int FsmEvent(struct FsmInst *fi, int event, void *arg);void FsmChangeState(struct FsmInst *fi, int newstate);void FsmInitTimer(struct FsmInst *fi, struct FsmTimer *ft);int FsmAddTimer(struct FsmTimer *ft, int millisec, int event,	void *arg, int where);void FsmRestartTimer(struct FsmTimer *ft, int millisec, int event,	void *arg, int where);void FsmDelTimer(struct FsmTimer *ft, int where);int jiftime(char *s, long mark);int HiSax_command(isdn_ctrl * ic);int HiSax_writebuf_skb(int id, int chan, int ack, struct sk_buff *skb);void HiSax_putstatus(struct IsdnCardState *cs, char *head, char *fmt, ...);void VHiSax_putstatus(struct IsdnCardState *cs, char *head, char *fmt, va_list args);void HiSax_reportcard(int cardnr, int sel);int QuickHex(char *txt, u_char * p, int cnt);void LogFrame(struct IsdnCardState *cs, u_char * p, int size);void dlogframe(struct IsdnCardState *cs, struct sk_buff *skb, int dir);void iecpy(u_char * dest, u_char * iestart, int ieoffset);#endif	/* __KERNEL__ */#define HZDELAY(jiffs) {int tout = jiffs; while (tout--) udelay(1000000/HZ);}int ll_run(struct IsdnCardState *cs, int addfeatures);int CallcNew(void);void CallcFree(void);int CallcNewChan(struct IsdnCardState *cs);void CallcFreeChan(struct IsdnCardState *cs);int Isdnl1New(void);void Isdnl1Free(void);int Isdnl2New(void);void Isdnl2Free(void);int Isdnl3New(void);void Isdnl3Free(void);void init_tei(struct IsdnCardState *cs, int protocol);void release_tei(struct IsdnCardState *cs);char *HiSax_getrev(const char *revision);int TeiNew(void);void TeiFree(void);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -