Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
irlap_event.h
Go to the documentation of this file.
1 /*********************************************************************
2  *
3  *
4  * Filename: irlap_event.h
5  * Version: 0.1
6  * Description:
7  * Status: Experimental.
8  * Author: Dag Brattli <[email protected]>
9  * Created at: Sat Aug 16 00:59:29 1997
10  * Modified at: Tue Dec 21 11:20:30 1999
11  * Modified by: Dag Brattli <[email protected]>
12  *
13  * Copyright (c) 1998-1999 Dag Brattli <[email protected]>,
14  * All Rights Reserved.
15  * Copyright (c) 2000-2002 Jean Tourrilhes <[email protected]>
16  *
17  * This program is free software; you can redistribute it and/or
18  * modify it under the terms of the GNU General Public License as
19  * published by the Free Software Foundation; either version 2 of
20  * the License, or (at your option) any later version.
21  *
22  * This program is distributed in the hope that it will be useful,
23  * but WITHOUT ANY WARRANTY; without even the implied warranty of
24  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25  * GNU General Public License for more details.
26  *
27  * You should have received a copy of the GNU General Public License
28  * along with this program; if not, write to the Free Software
29  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
30  * MA 02111-1307 USA
31  *
32  ********************************************************************/
33 
34 #ifndef IRLAP_EVENT_H
35 #define IRLAP_EVENT_H
36 
37 #include <net/irda/irda.h>
38 
39 /* A few forward declarations (to make compiler happy) */
40 struct irlap_cb;
41 struct irlap_info;
42 
43 /* IrLAP States */
44 typedef enum {
45  LAP_NDM, /* Normal disconnected mode */
48  LAP_CONN, /* Connect indication */
49  LAP_SETUP, /* Setting up connection */
50  LAP_OFFLINE, /* A really boring state */
53  LAP_NRM_P, /* Normal response mode as primary */
56  LAP_NRM_S, /* Normal response mode as secondary */
60 } IRLAP_STATE;
61 
62 /* IrLAP Events */
63 typedef enum {
64  /* Services events */
72 
73  /* Send events */
76 
77  /* Receive events */
99 
100  /* Timer events */
109 } IRLAP_EVENT;
110 
111 /*
112  * Disconnect reason code
113  */
114 typedef enum { /* FIXME check the two first reason codes */
115  LAP_DISC_INDICATION=1, /* Received a disconnect request from peer */
116  LAP_NO_RESPONSE, /* To many retransmits without response */
117  LAP_RESET_INDICATION, /* To many retransmits, or invalid nr/ns */
118  LAP_FOUND_NONE, /* No devices were discovered */
121 } LAP_REASON;
122 
123 extern const char *const irlap_state[];
124 
125 void irlap_do_event(struct irlap_cb *self, IRLAP_EVENT event,
126  struct sk_buff *skb, struct irlap_info *info);
128 
129 extern int irlap_qos_negotiate(struct irlap_cb *self, struct sk_buff *skb);
130 
131 #endif