Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph...
[linux-2.6.git] / include / linux / lapb.h
blob873c1eb635e478a3259cbf1fb59cd57545c0d701
1 /*
2 * These are the public elements of the Linux LAPB module.
3 */
5 #ifndef LAPB_KERNEL_H
6 #define LAPB_KERNEL_H
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
17 #define LAPB_STANDARD 0x00
18 #define LAPB_EXTENDED 0x01
20 #define LAPB_SLP 0x00
21 #define LAPB_MLP 0x02
23 #define LAPB_DTE 0x00
24 #define LAPB_DCE 0x04
26 struct lapb_register_struct {
27 void (*connect_confirmation)(struct net_device *dev, int reason);
28 void (*connect_indication)(struct net_device *dev, int reason);
29 void (*disconnect_confirmation)(struct net_device *dev, int reason);
30 void (*disconnect_indication)(struct net_device *dev, int reason);
31 int (*data_indication)(struct net_device *dev, struct sk_buff *skb);
32 void (*data_transmit)(struct net_device *dev, struct sk_buff *skb);
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;
47 extern int lapb_register(struct net_device *dev,
48 const struct lapb_register_struct *callbacks);
49 extern int lapb_unregister(struct net_device *dev);
50 extern int lapb_getparms(struct net_device *dev, struct lapb_parms_struct *parms);
51 extern int lapb_setparms(struct net_device *dev, struct lapb_parms_struct *parms);
52 extern int lapb_connect_request(struct net_device *dev);
53 extern int lapb_disconnect_request(struct net_device *dev);
54 extern int lapb_data_request(struct net_device *dev, struct sk_buff *skb);
55 extern int lapb_data_received(struct net_device *dev, struct sk_buff *skb);
57 #endif