Merge branch 'master' into for_paulus
[linux-drm-fsl-dcu.git] / drivers / isdn / hisax / isdnl3.h
1 /* $Id: isdnl3.h,v 2.6.6.2 2001/09/23 22:24:49 kai Exp $
2  *
3  * This software may be used and distributed according to the terms
4  * of the GNU General Public License, incorporated herein by reference.
5  *
6  */
7
8 #define SBIT(state) (1<<state)
9 #define ALL_STATES  0x03ffffff
10
11 #define PROTO_DIS_EURO  0x08
12
13 #define L3_DEB_WARN     0x01
14 #define L3_DEB_PROTERR  0x02
15 #define L3_DEB_STATE    0x04
16 #define L3_DEB_CHARGE   0x08
17 #define L3_DEB_CHECK    0x10
18 #define L3_DEB_SI       0x20
19
20 struct stateentry {
21         int state;
22         int primitive;
23         void (*rout) (struct l3_process *, u8, void *);
24 };
25
26 #define l3_debug(st, fmt, args...) HiSax_putstatus(st->l1.hardware, "l3 ", fmt, ## args)
27
28 struct PStack;
29
30 void newl3state(struct l3_process *pc, int state);
31 void L3InitTimer(struct l3_process *pc, struct L3Timer *t);
32 void L3DelTimer(struct L3Timer *t);
33 int L3AddTimer(struct L3Timer *t, int millisec, int event);
34 void StopAllL3Timer(struct l3_process *pc);
35 struct sk_buff *l3_alloc_skb(int len);
36 struct l3_process *new_l3_process(struct PStack *st, int cr);
37 void release_l3_process(struct l3_process *p);
38 struct l3_process *getl3proc(struct PStack *st, int cr);
39 void l3_msg(struct PStack *st, int pr, void *arg);
40 void setstack_dss1(struct PStack *st);
41 void setstack_ni1(struct PStack *st);
42 void setstack_1tr6(struct PStack *st);
43