swh:1:snp:c2847dfd741eae21606027cf29250d1ebcd63fb4
Tip revision: 9cb1fd0efd195590b828b9b865421ad345a4a145 authored by Linus Torvalds on 24 May 2020, 22:32:54 UTC
Linux 5.7-rc7
Linux 5.7-rc7
Tip revision: 9cb1fd0
lapb.h
/* 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