Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
irlmp_event.h
Go to the documentation of this file.
1 /*********************************************************************
2  *
3  * Filename: irlmp_event.h
4  * Version: 0.1
5  * Description: IrDA-LMP event handling
6  * Status: Experimental.
7  * Author: Dag Brattli <[email protected]>
8  * Created at: Mon Aug 4 20:40:53 1997
9  * Modified at: Thu Jul 8 12:18:54 1999
10  * Modified by: Dag Brattli <[email protected]>
11  *
12  * Copyright (c) 1997, 1999 Dag Brattli <[email protected]>,
13  * All Rights Reserved.
14  * Copyright (c) 2000-2002 Jean Tourrilhes <[email protected]>
15  *
16  * This program is free software; you can redistribute it and/or
17  * modify it under the terms of the GNU General Public License as
18  * published by the Free Software Foundation; either version 2 of
19  * the License, or (at your option) any later version.
20  *
21  * Neither Dag Brattli nor University of Tromsø admit liability nor
22  * provide warranty for any of this software. This material is
23  * provided "AS-IS" and at no charge.
24  *
25  ********************************************************************/
26 
27 #ifndef IRLMP_EVENT_H
28 #define IRLMP_EVENT_H
29 
30 /* A few forward declarations (to make compiler happy) */
31 struct irlmp_cb;
32 struct lsap_cb;
33 struct lap_cb;
34 struct discovery_t;
35 
36 /* LAP states */
37 typedef enum {
38  /* IrLAP connection control states */
39  LAP_STANDBY, /* No LAP connection */
40  LAP_U_CONNECT, /* Starting LAP connection */
41  LAP_ACTIVE, /* LAP connection is active */
42 } IRLMP_STATE;
43 
44 /* LSAP connection control states */
45 typedef enum {
46  LSAP_DISCONNECTED, /* No LSAP connection */
47  LSAP_CONNECT, /* Connect indication from peer */
48  LSAP_CONNECT_PEND, /* Connect request from service user */
49  LSAP_DATA_TRANSFER_READY, /* LSAP connection established */
50  LSAP_SETUP, /* Trying to set up LSAP connection */
51  LSAP_SETUP_PEND, /* Request to start LAP connection */
52 } LSAP_STATE;
53 
54 typedef enum {
55  /* LSAP events */
60 
63 
68 
70 
71  /* IrLAP events */
80 } IRLMP_EVENT;
81 
82 extern const char *const irlmp_state[];
83 extern const char *const irlsap_state[];
84 
87 void irlmp_idle_timer_expired(void *data);
88 
89 void irlmp_do_lap_event(struct lap_cb *self, IRLMP_EVENT event,
90  struct sk_buff *skb);
91 int irlmp_do_lsap_event(struct lsap_cb *self, IRLMP_EVENT event,
92  struct sk_buff *skb);
93 
94 #endif /* IRLMP_EVENT_H */
95 
96 
97 
98