4 * Copyright 2008 by Karsten Keil <kkeil@novell.com>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
17 #include <linux/mISDNif.h>
18 #include <linux/skbuff.h>
24 struct mISDNchannel ch
;
25 struct mISDNchannel bcast
;
27 struct list_head layer2
;
30 struct FsmTimer datimer
;
31 struct sk_buff_head sendq
;
32 struct mISDNchannel
*up
;
41 struct FsmTimer timer
;
53 struct list_head list
;
54 struct mISDNchannel ch
;
57 struct mISDNchannel
*up
;
68 struct FsmTimer t200
, t203
;
72 struct sk_buff
*windowar
[MAX_WINDOW
];
73 struct sk_buff_head i_queue
;
74 struct sk_buff_head ui_queue
;
75 struct sk_buff_head down_queue
;
76 struct sk_buff_head tmp_queue
;
90 #define L2_STATE_COUNT (ST_L2_8+1)
92 extern struct layer2
*create_l2(struct mISDNchannel
*, u_int
,
94 extern int tei_l2(struct layer2
*, u_int
, u_long arg
);
98 extern int l2_tei(struct layer2
*, u_int
, u_long arg
);
99 extern void TEIrelease(struct layer2
*);
100 extern int TEIInit(u_int
*);
101 extern void TEIFree(void);
103 #define MAX_L2HEADER_LEN 4
120 #define LC_FLUSH_WAIT 1
126 #define FLG_PEND_REL 4
127 #define FLG_L3_INIT 5
128 #define FLG_T200_RUN 6
129 #define FLG_ACK_PEND 7
131 #define FLG_OWN_BUSY 9
132 #define FLG_PEER_BUSY 10
133 #define FLG_DCHAN_BUSY 11
134 #define FLG_L1_ACTIV 12
135 #define FLG_ESTAB_PEND 13
137 #define FLG_FIXED_TEI 15
138 #define FLG_L2BLOCK 16
139 #define FLG_L1_NOTREADY 17
140 #define FLG_LAPD_NET 18