| /* SPDX-License-Identifier: GPL-2.0 */ | |
| /* | |
| * These are the public elements of the Linux LAPB module. | |
| */ | |
| #ifndef LAPB_KERNEL_H | |
| #define LAPB_KERNEL_H | |
| #include <linux/skbuff.h> | |
| #include <linux/timer.h> | |
| struct net_device; | |
| #define LAPB_OK 0 | |
| #define LAPB_BADTOKEN 1 | |
| #define LAPB_INVALUE 2 | |
| #define LAPB_CONNECTED 3 | |
| #define LAPB_NOTCONNECTED 4 | |
| #define LAPB_REFUSED 5 | |
| #define LAPB_TIMEDOUT 6 | |
| #define LAPB_NOMEM 7 | |
| #define LAPB_STANDARD 0x00 | |
| #define LAPB_EXTENDED 0x01 | |
| #define LAPB_SLP 0x00 | |
| #define LAPB_MLP 0x02 | |
| #define LAPB_DTE 0x00 | |
| #define LAPB_DCE 0x04 | |
| struct lapb_register_struct { | |
| void (*connect_confirmation)(struct net_device *dev, int reason); | |
| void (*connect_indication)(struct net_device *dev, int reason); | |
| void (*disconnect_confirmation)(struct net_device *dev, int reason); | |
| void (*disconnect_indication)(struct net_device *dev, int reason); | |
| int (*data_indication)(struct net_device *dev, struct sk_buff *skb); | |
| void (*data_transmit)(struct net_device *dev, struct sk_buff *skb); | |
| }; | |
| struct lapb_parms_struct { | |
| unsigned int t1; | |
| unsigned int t1timer; | |
| unsigned int t2; | |
| unsigned int t2timer; | |
| unsigned int n2; | |
| unsigned int n2count; | |
| unsigned int window; | |
| unsigned int state; | |
| unsigned int mode; | |
| }; | |
| extern int lapb_register(struct net_device *dev, | |
| const struct lapb_register_struct *callbacks); | |
| extern int lapb_unregister(struct net_device *dev); | |
| extern int lapb_getparms(struct net_device *dev, struct lapb_parms_struct *parms); | |
| extern int lapb_setparms(struct net_device *dev, struct lapb_parms_struct *parms); | |
| extern int lapb_connect_request(struct net_device *dev); | |
| extern int lapb_disconnect_request(struct net_device *dev); | |
| extern int lapb_data_request(struct net_device *dev, struct sk_buff *skb); | |
| extern int lapb_data_received(struct net_device *dev, struct sk_buff *skb); | |
| #endif |