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