blob: 0edc99d40dc27b45031f01fe7ad195b55882a8a0 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* $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
Joe Perches475be4d2012-02-19 19:52:38 -08008#define SBIT(state) (1 << state)
Linus Torvalds1da177e2005-04-16 15:20:36 -07009#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
20struct 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
Adrian Bunkb19a8f02007-02-12 00:53:17 -080028struct PStack;
29
30void newl3state(struct l3_process *pc, int state);
31void L3InitTimer(struct l3_process *pc, struct L3Timer *t);
32void L3DelTimer(struct L3Timer *t);
33int L3AddTimer(struct L3Timer *t, int millisec, int event);
34void StopAllL3Timer(struct l3_process *pc);
35struct sk_buff *l3_alloc_skb(int len);
36struct l3_process *new_l3_process(struct PStack *st, int cr);
37void release_l3_process(struct l3_process *p);
38struct l3_process *getl3proc(struct PStack *st, int cr);
39void l3_msg(struct PStack *st, int pr, void *arg);
40void setstack_dss1(struct PStack *st);
41void setstack_ni1(struct PStack *st);
42void setstack_1tr6(struct PStack *st);