File: /usr/include/linux/lapb.h

1     /*
2      * These are the public elements of the Linux LAPB module.
3      */
4     
5     #ifndef	LAPB_KERNEL_H
6     #define	LAPB_KERNEL_H
7     
8     #define	LAPB_OK			0
9     #define	LAPB_BADTOKEN		1
10     #define	LAPB_INVALUE		2
11     #define	LAPB_CONNECTED		3
12     #define	LAPB_NOTCONNECTED	4
13     #define	LAPB_REFUSED		5
14     #define	LAPB_TIMEDOUT		6
15     #define	LAPB_NOMEM		7
16     
17     #define	LAPB_STANDARD		0x00
18     #define	LAPB_EXTENDED		0x01
19     
20     #define	LAPB_SLP		0x00
21     #define	LAPB_MLP		0x02
22     
23     #define	LAPB_DTE		0x00
24     #define	LAPB_DCE		0x04
25     
26     struct lapb_register_struct {
27     	void (*connect_confirmation)(void *token, int reason);
28     	void (*connect_indication)(void *token, int reason);
29     	void (*disconnect_confirmation)(void *token, int reason);
30     	void (*disconnect_indication)(void *token, int reason);
31     	int  (*data_indication)(void *token, struct sk_buff *skb);
32     	void (*data_transmit)(void *token, struct sk_buff *skb);
33     };
34     
35     struct lapb_parms_struct {
36     	unsigned int t1;
37     	unsigned int t1timer;
38     	unsigned int t2;
39     	unsigned int t2timer;
40     	unsigned int n2;
41     	unsigned int n2count;
42     	unsigned int window;
43     	unsigned int state;
44     	unsigned int mode;
45     };
46     
47     extern int lapb_register(void *token, struct lapb_register_struct *callbacks);
48     extern int lapb_unregister(void *token);
49     extern int lapb_getparms(void *token, struct lapb_parms_struct *parms);
50     extern int lapb_setparms(void *token, struct lapb_parms_struct *parms);
51     extern int lapb_connect_request(void *token);
52     extern int lapb_disconnect_request(void *token);
53     extern int lapb_data_request(void *token, struct sk_buff *skb);
54     extern int lapb_data_received(void *token, struct sk_buff *skb);
55     
56     #endif
57