Linux-2.6.12-rc2
[linux-flexiantxendom0-natty.git] / include / net / irda / irlmp_frame.h
1 /*********************************************************************
2  *                
3  * Filename:      irlmp_frame.h
4  * Version:       0.9
5  * Description:   
6  * Status:        Experimental.
7  * Author:        Dag Brattli <dagb@cs.uit.no>
8  * Created at:    Tue Aug 19 02:09:59 1997
9  * Modified at:   Fri Dec 10 13:21:53 1999
10  * Modified by:   Dag Brattli <dagb@cs.uit.no>
11  * 
12  *     Copyright (c) 1997, 1999 Dag Brattli <dagb@cs.uit.no>, 
13  *     All Rights Reserved.
14  *     
15  *     This program is free software; you can redistribute it and/or 
16  *     modify it under the terms of the GNU General Public License as 
17  *     published by the Free Software Foundation; either version 2 of 
18  *     the License, or (at your option) any later version.
19  *
20  *     Neither Dag Brattli nor University of Tromsø admit liability nor
21  *     provide warranty for any of this software. This material is 
22  *     provided "AS-IS" and at no charge.
23  *
24  ********************************************************************/
25
26 #ifndef IRMLP_FRAME_H
27 #define IRMLP_FRAME_H
28
29 #include <linux/config.h>
30 #include <linux/skbuff.h>
31
32 #include <net/irda/discovery.h>
33
34 /* IrLMP frame opcodes */
35 #define CONNECT_CMD    0x01
36 #define CONNECT_CNF    0x81
37 #define DISCONNECT     0x02
38 #define ACCESSMODE_CMD 0x03
39 #define ACCESSMODE_CNF 0x83
40
41 #define CONTROL_BIT    0x80
42
43 void irlmp_send_data_pdu(struct lap_cb *self, __u8 dlsap, __u8 slsap,
44                                 int expedited, struct sk_buff *skb);
45 void irlmp_send_lcf_pdu(struct lap_cb *self, __u8 dlsap, __u8 slsap, 
46                         __u8 opcode, struct sk_buff *skb);
47 void irlmp_link_data_indication(struct lap_cb *, struct sk_buff *, 
48                                 int unreliable);
49 #ifdef CONFIG_IRDA_ULTRA
50 void irlmp_link_unitdata_indication(struct lap_cb *, struct sk_buff *);
51 #endif /* CONFIG_IRDA_ULTRA */
52
53 void irlmp_link_connect_indication(struct lap_cb *, __u32 saddr, __u32 daddr,
54                                    struct qos_info *qos, struct sk_buff *skb);
55 void irlmp_link_connect_request(__u32 daddr);
56 void irlmp_link_connect_confirm(struct lap_cb *self, struct qos_info *qos, 
57                                 struct sk_buff *skb);
58 void irlmp_link_disconnect_indication(struct lap_cb *, struct irlap_cb *, 
59                                       LAP_REASON reason, struct sk_buff *); 
60 void irlmp_link_discovery_confirm(struct lap_cb *self, hashbin_t *log);
61 void irlmp_link_discovery_indication(struct lap_cb *, discovery_t *discovery);
62
63 #endif