• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  /*
2   * These are the public elements of the Linux LAPB module.
3   */
4  
5  #ifndef	LAPB_KERNEL_H
6  #define	LAPB_KERNEL_H
7  
8  #define	LAPB_OK			0
9  #define	LAPB_BADTOKEN		1
10  #define	LAPB_INVALUE		2
11  #define	LAPB_CONNECTED		3
12  #define	LAPB_NOTCONNECTED	4
13  #define	LAPB_REFUSED		5
14  #define	LAPB_TIMEDOUT		6
15  #define	LAPB_NOMEM		7
16  
17  #define	LAPB_STANDARD		0x00
18  #define	LAPB_EXTENDED		0x01
19  
20  #define	LAPB_SLP		0x00
21  #define	LAPB_MLP		0x02
22  
23  #define	LAPB_DTE		0x00
24  #define	LAPB_DCE		0x04
25  
26  struct lapb_register_struct {
27  	void (*connect_confirmation)(struct net_device *dev, int reason);
28  	void (*connect_indication)(struct net_device *dev, int reason);
29  	void (*disconnect_confirmation)(struct net_device *dev, int reason);
30  	void (*disconnect_indication)(struct net_device *dev, int reason);
31  	int  (*data_indication)(struct net_device *dev, struct sk_buff *skb);
32  	void (*data_transmit)(struct net_device *dev, struct sk_buff *skb);
33  };
34  
35  struct lapb_parms_struct {
36  	unsigned int t1;
37  	unsigned int t1timer;
38  	unsigned int t2;
39  	unsigned int t2timer;
40  	unsigned int n2;
41  	unsigned int n2count;
42  	unsigned int window;
43  	unsigned int state;
44  	unsigned int mode;
45  };
46  
47  extern int lapb_register(struct net_device *dev,
48  			 const struct lapb_register_struct *callbacks);
49  extern int lapb_unregister(struct net_device *dev);
50  extern int lapb_getparms(struct net_device *dev, struct lapb_parms_struct *parms);
51  extern int lapb_setparms(struct net_device *dev, struct lapb_parms_struct *parms);
52  extern int lapb_connect_request(struct net_device *dev);
53  extern int lapb_disconnect_request(struct net_device *dev);
54  extern int lapb_data_request(struct net_device *dev, struct sk_buff *skb);
55  extern int lapb_data_received(struct net_device *dev, struct sk_buff *skb);
56  
57  #endif
58