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

📄 hisax.h

📁 讲述linux的初始化过程
💻 H
📖 第 1 页 / 共 2 页
字号:
        unsigned char trm;	unsigned char stat;	unsigned char fifo;        unsigned char fifo_en;        unsigned char bswapped;        unsigned char nt_mode;        int nt_timer;	unsigned char pci_bus;        unsigned char pci_device_fn;        unsigned char *pci_io; /* start of PCI IO memory */        void *share_start; /* shared memory for Fifos start */        void *fifos; /* FIFO memory */ 	struct timer_list timer;};struct hfcSX_hw {        unsigned int  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;	unsigned long isac;	unsigned long isar;	struct isar_reg isar_r;};struct saphir_hw {	unsigned int cfg_reg;	unsigned int ale;	unsigned int isac;	unsigned int hscx;	struct timer_list timer;};struct bkm_hw {	unsigned int base;	/* A4T stuff */	unsigned int isac_adr;	unsigned int isac_ale;	unsigned int jade_adr;	unsigned int jade_ale;	/* Scitel Quadro stuff */	unsigned int plx_adr;	unsigned int data_adr;};	struct gazel_hw {	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 {	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 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 {	unsigned char typ;	unsigned char subtyp;	int protocol;	unsigned int irq;	unsigned long irq_flags;	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;	} hw;	int myid;	isdn_if iif;	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 *);	void   (*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 icc_chip icc;	} dc;	u_char *rcvbuf;	int rcvidx;	struct sk_buff *tx_skb;	int tx_cnt;	long event;	struct tq_struct tqueue;	struct timer_list dbusytimer;#ifdef ERROR_STATISTIC	int err_crc;	int err_tx;	int err_rx;#endif};#define  MON0_RX	1#define  MON1_RX	2#define  MON0_TX	4#define  MON1_TX	8#define	 HISAX_MAX_CARDS	8#define  ISDN_CTYPE_16_0	1#define  ISDN_CTYPE_8_0		2#define  ISDN_CTYPE_16_3	3#define  ISDN_CTYPE_PNP		4#define  ISDN_CTYPE_A1		5#define  ISDN_CTYPE_ELSA	6#define  ISDN_CTYPE_ELSA_PNP	7#define  ISDN_CTYPE_TELESPCMCIA	8#define  ISDN_CTYPE_IX1MICROR2	9#define  ISDN_CTYPE_ELSA_PCMCIA	10#define  ISDN_CTYPE_DIEHLDIVA	11#define  ISDN_CTYPE_ASUSCOM	12#define  ISDN_CTYPE_TELEINT	13#define  ISDN_CTYPE_TELES3C	14#define  ISDN_CTYPE_SEDLBAUER	15#define  ISDN_CTYPE_SPORTSTER	16#define  ISDN_CTYPE_MIC		17#define  ISDN_CTYPE_ELSA_PCI	18#define  ISDN_CTYPE_COMPAQ_ISA	19#define  ISDN_CTYPE_NETJET_S	20#define  ISDN_CTYPE_TELESPCI	21#define  ISDN_CTYPE_SEDLBAUER_PCMCIA	22#define  ISDN_CTYPE_AMD7930	23#define  ISDN_CTYPE_NICCY	24#define  ISDN_CTYPE_S0BOX	25#define  ISDN_CTYPE_A1_PCMCIA	26#define  ISDN_CTYPE_FRITZPCI	27#define  ISDN_CTYPE_SEDLBAUER_FAX     28#define  ISDN_CTYPE_ISURF	29#define  ISDN_CTYPE_ACERP10	30#define  ISDN_CTYPE_HSTSAPHIR	31#define	 ISDN_CTYPE_BKM_A4T	32#define	 ISDN_CTYPE_SCT_QUADRO	33#define  ISDN_CTYPE_GAZEL	34#define  ISDN_CTYPE_HFC_PCI	35#define  ISDN_CTYPE_W6692	36#define  ISDN_CTYPE_HFC_SX      37#define  ISDN_CTYPE_NETJET_U	38#define  ISDN_CTYPE_HFC_SP_PCMCIA      39#define  ISDN_CTYPE_COUNT	39#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#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);#endifstruct IsdnCard {	int typ;	int protocol;		/* EDSS1, 1TR6 or NI1 */	unsigned int para[4];	struct IsdnCardState *cs;};void init_bcstate(struct IsdnCardState *cs, int bc);void setstack_HiSax(struct PStack *st, struct IsdnCardState *cs);unsigned int random_ri(void);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 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);void 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);int discard_queue(struct sk_buff_head *q);#ifdef ISDN_CHIP_ISACvoid setstack_isac(struct PStack *st, struct IsdnCardState *cs);#endif	/* ISDN_CHIP_ISAC */#endif	/* __KERNEL__ */#define HZDELAY(jiffs) {int tout = jiffs; while (tout--) udelay(1000000/HZ);}int ll_run(struct IsdnCardState *cs, int addfeatures);void ll_stop(struct IsdnCardState *cs);void CallcNew(void);void CallcFree(void);int CallcNewChan(struct IsdnCardState *cs);void CallcFreeChan(struct IsdnCardState *cs);void Isdnl1New(void);void Isdnl1Free(void);void Isdnl2New(void);void Isdnl2Free(void);void 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);void TeiNew(void);void TeiFree(void);int certification_check(int output);

⌨️ 快捷键说明

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