64 lines
1.8 KiB
C
64 lines
1.8 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
|
||
|
|
||
|
#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
|