59 строки
1.7 KiB
C
59 строки
1.7 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* These are the public elements of the Linux LAPB module.
|
|
*/
|
|
|
|
#ifndef LAPB_KERNEL_H
|
|
#define LAPB_KERNEL_H
|
|
|
|
#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
|