1 /* SPDX-License-Identifier: GPL-2.0 */
3 * These are the public elements of the Linux LAPB module.
9 #include <linux/skbuff.h>
10 #include <linux/timer.h>
15 #define LAPB_BADTOKEN 1
16 #define LAPB_INVALUE 2
17 #define LAPB_CONNECTED 3
18 #define LAPB_NOTCONNECTED 4
19 #define LAPB_REFUSED 5
20 #define LAPB_TIMEDOUT 6
23 #define LAPB_STANDARD 0x00
24 #define LAPB_EXTENDED 0x01
32 struct lapb_register_struct {
33 void (*connect_confirmation)(struct net_device *dev, int reason);
34 void (*connect_indication)(struct net_device *dev, int reason);
35 void (*disconnect_confirmation)(struct net_device *dev, int reason);
36 void (*disconnect_indication)(struct net_device *dev, int reason);
37 int (*data_indication)(struct net_device *dev, struct sk_buff *skb);
38 void (*data_transmit)(struct net_device *dev, struct sk_buff *skb);
41 struct lapb_parms_struct {
53 extern int lapb_register(struct net_device *dev,
54 const struct lapb_register_struct *callbacks);
55 extern int lapb_unregister(struct net_device *dev);
56 extern int lapb_getparms(struct net_device *dev, struct lapb_parms_struct *parms);
57 extern int lapb_setparms(struct net_device *dev, struct lapb_parms_struct *parms);
58 extern int lapb_connect_request(struct net_device *dev);
59 extern int lapb_disconnect_request(struct net_device *dev);
60 extern int lapb_data_request(struct net_device *dev, struct sk_buff *skb);
61 extern int lapb_data_received(struct net_device *dev, struct sk_buff *skb);