blob: 1906eb71422e2d401abaeb0c0310ba2db15a5699 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*********************************************************************
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 *
John Anthony Kazos Jr121e70b2007-05-09 08:30:57 +020020 * Neither Dag Brattli nor University of Tromsø admit liability nor
Linus Torvalds1da177e2005-04-16 15:20:36 -070021 * 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
Linus Torvalds1da177e2005-04-16 15:20:36 -070029#include <linux/skbuff.h>
30
31#include <net/irda/discovery.h>
32
33/* IrLMP frame opcodes */
34#define CONNECT_CMD 0x01
35#define CONNECT_CNF 0x81
36#define DISCONNECT 0x02
37#define ACCESSMODE_CMD 0x03
38#define ACCESSMODE_CNF 0x83
39
40#define CONTROL_BIT 0x80
41
42void irlmp_send_data_pdu(struct lap_cb *self, __u8 dlsap, __u8 slsap,
43 int expedited, struct sk_buff *skb);
44void irlmp_send_lcf_pdu(struct lap_cb *self, __u8 dlsap, __u8 slsap,
45 __u8 opcode, struct sk_buff *skb);
46void irlmp_link_data_indication(struct lap_cb *, struct sk_buff *,
47 int unreliable);
48#ifdef CONFIG_IRDA_ULTRA
49void irlmp_link_unitdata_indication(struct lap_cb *, struct sk_buff *);
50#endif /* CONFIG_IRDA_ULTRA */
51
52void irlmp_link_connect_indication(struct lap_cb *, __u32 saddr, __u32 daddr,
53 struct qos_info *qos, struct sk_buff *skb);
54void irlmp_link_connect_request(__u32 daddr);
55void irlmp_link_connect_confirm(struct lap_cb *self, struct qos_info *qos,
56 struct sk_buff *skb);
57void irlmp_link_disconnect_indication(struct lap_cb *, struct irlap_cb *,
58 LAP_REASON reason, struct sk_buff *);
59void irlmp_link_discovery_confirm(struct lap_cb *self, hashbin_t *log);
60void irlmp_link_discovery_indication(struct lap_cb *, discovery_t *discovery);
61
62#endif