| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* | 
 | 2 |  * Interface between low level (hardware) drivers and  | 
 | 3 |  * HiSax protocol stack | 
 | 4 |  * | 
 | 5 |  * Author       Kai Germaschewski | 
 | 6 |  * Copyright    2001 by Kai Germaschewski  <kai.germaschewski@gmx.de> | 
 | 7 |  *  | 
 | 8 |  * This software may be used and distributed according to the terms | 
 | 9 |  * of the GNU General Public License, incorporated herein by reference. | 
 | 10 |  * | 
 | 11 |  */ | 
 | 12 |  | 
 | 13 | #ifndef __HISAX_IF_H__ | 
 | 14 | #define __HISAX_IF_H__ | 
 | 15 |  | 
 | 16 | #include <linux/skbuff.h> | 
 | 17 |  | 
 | 18 | #define REQUEST		0 | 
 | 19 | #define CONFIRM		1 | 
 | 20 | #define INDICATION	2 | 
 | 21 | #define RESPONSE	3 | 
 | 22 |  | 
 | 23 | #define PH_ACTIVATE	0x0100 | 
 | 24 | #define PH_DEACTIVATE	0x0110 | 
 | 25 | #define PH_DATA		0x0120 | 
 | 26 | #define PH_PULL		0x0130 | 
 | 27 | #define PH_DATA_E	0x0140 | 
 | 28 |  | 
 | 29 | #define L1_MODE_NULL	0 | 
 | 30 | #define L1_MODE_TRANS	1 | 
 | 31 | #define L1_MODE_HDLC	2 | 
 | 32 | #define L1_MODE_EXTRN	3 | 
 | 33 | #define L1_MODE_HDLC_56K 4 | 
 | 34 | #define L1_MODE_MODEM	7 | 
 | 35 | #define L1_MODE_V32	8 | 
 | 36 | #define L1_MODE_FAX	9 | 
 | 37 |  | 
 | 38 | struct hisax_if { | 
 | 39 | 	void *priv; // private to driver | 
 | 40 | 	void (*l1l2)(struct hisax_if *, int pr, void *arg); | 
 | 41 | 	void (*l2l1)(struct hisax_if *, int pr, void *arg); | 
 | 42 | }; | 
 | 43 |  | 
 | 44 | struct hisax_b_if { | 
 | 45 | 	struct hisax_if ifc; | 
 | 46 |  | 
 | 47 | 	// private to hisax | 
 | 48 | 	struct BCState *bcs; | 
 | 49 | }; | 
 | 50 |  | 
 | 51 | struct hisax_d_if { | 
 | 52 | 	struct hisax_if ifc; | 
 | 53 |  | 
 | 54 | 	// private to hisax | 
 | 55 | 	struct module *owner; | 
 | 56 | 	struct IsdnCardState *cs; | 
 | 57 | 	struct hisax_b_if *b_if[2]; | 
 | 58 | 	struct sk_buff_head erq; | 
| Al Viro | 64b3361 | 2007-10-14 19:35:20 +0100 | [diff] [blame] | 59 | 	unsigned long ph_state; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 60 | }; | 
 | 61 |  | 
 | 62 | int hisax_register(struct hisax_d_if *hisax_if, struct hisax_b_if *b_if[], | 
 | 63 | 		   char *name, int protocol); | 
 | 64 | void hisax_unregister(struct hisax_d_if *hisax_if); | 
 | 65 |  | 
 | 66 | #endif |