[PATCH] fix semaphore handling in __unregister_chrdev_region
[linux/fpc-iii.git] / drivers / isdn / hisax / isdnl3.h
blob1dbe0297a506e4b391d6591ff77560527cd05240
1 /* $Id: isdnl3.h,v 2.6.6.2 2001/09/23 22:24:49 kai Exp $
3 * This software may be used and distributed according to the terms
4 * of the GNU General Public License, incorporated herein by reference.
6 */
8 #define SBIT(state) (1<<state)
9 #define ALL_STATES 0x03ffffff
11 #define PROTO_DIS_EURO 0x08
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
20 struct stateentry {
21 int state;
22 int primitive;
23 void (*rout) (struct l3_process *, u8, void *);
26 #define l3_debug(st, fmt, args...) HiSax_putstatus(st->l1.hardware, "l3 ", fmt, ## args)
28 extern void newl3state(struct l3_process *pc, int state);
29 extern void L3InitTimer(struct l3_process *pc, struct L3Timer *t);
30 extern void L3DelTimer(struct L3Timer *t);
31 extern int L3AddTimer(struct L3Timer *t, int millisec, int event);
32 extern void StopAllL3Timer(struct l3_process *pc);
33 extern struct sk_buff *l3_alloc_skb(int len);
34 extern struct l3_process *new_l3_process(struct PStack *st, int cr);
35 extern void release_l3_process(struct l3_process *p);
36 extern struct l3_process *getl3proc(struct PStack *st, int cr);
37 extern void l3_msg(struct PStack *st, int pr, void *arg);