Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /********************************************************************* |
2 | * | |
3 | * Filename: irlmp_event.h | |
4 | * Version: 0.1 | |
5 | * Description: IrDA-LMP event handling | |
6 | * Status: Experimental. | |
7 | * Author: Dag Brattli <dagb@cs.uit.no> | |
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 <dagb@cs.uit.no> | |
11 | * | |
12 | * Copyright (c) 1997, 1999 Dag Brattli <dagb@cs.uit.no>, | |
13 | * All Rights Reserved. | |
14 | * Copyright (c) 2000-2002 Jean Tourrilhes <jt@hpl.hp.com> | |
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 | * | |
121e70b6 | 21 | * Neither Dag Brattli nor University of Tromsø admit liability nor |
1da177e4 LT |
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 */ | |
56 | LM_CONNECT_REQUEST, | |
57 | LM_CONNECT_CONFIRM, | |
58 | LM_CONNECT_RESPONSE, | |
59 | LM_CONNECT_INDICATION, | |
60 | ||
61 | LM_DISCONNECT_INDICATION, | |
62 | LM_DISCONNECT_REQUEST, | |
63 | ||
64 | LM_DATA_REQUEST, | |
65 | LM_UDATA_REQUEST, | |
66 | LM_DATA_INDICATION, | |
67 | LM_UDATA_INDICATION, | |
68 | ||
69 | LM_WATCHDOG_TIMEOUT, | |
70 | ||
71 | /* IrLAP events */ | |
72 | LM_LAP_CONNECT_REQUEST, | |
73 | LM_LAP_CONNECT_INDICATION, | |
74 | LM_LAP_CONNECT_CONFIRM, | |
75 | LM_LAP_DISCONNECT_INDICATION, | |
76 | LM_LAP_DISCONNECT_REQUEST, | |
77 | LM_LAP_DISCOVERY_REQUEST, | |
78 | LM_LAP_DISCOVERY_CONFIRM, | |
79 | LM_LAP_IDLE_TIMEOUT, | |
80 | } IRLMP_EVENT; | |
81 | ||
36cbd3dc JE |
82 | extern const char *const irlmp_state[]; |
83 | extern const char *const irlsap_state[]; | |
1da177e4 LT |
84 | |
85 | void irlmp_watchdog_timer_expired(void *data); | |
86 | void irlmp_discovery_timer_expired(void *data); | |
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 |