aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/irda/iriap_event.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/irda/iriap_event.h')
-rw-r--r--include/net/irda/iriap_event.h85
1 files changed, 85 insertions, 0 deletions
diff --git a/include/net/irda/iriap_event.h b/include/net/irda/iriap_event.h
new file mode 100644
index 000000000000..4ca3d2071b03
--- /dev/null
+++ b/include/net/irda/iriap_event.h
@@ -0,0 +1,85 @@
1/*********************************************************************
2 *
3 * Filename: iriap_event.h
4 * Version:
5 * Description:
6 * Status: Experimental.
7 * Author: Dag Brattli <dagb@cs.uit.no>
8 * Created at: Mon Aug 4 20:40:53 1997
9 * Modified at: Sun Oct 31 22:02:54 1999
10 * Modified by: Dag Brattli <dagb@cs.uit.no>
11 *
12 * Copyright (c) 1998-1999 Dag Brattli <dagb@cs.uit.no>, All Rights Reserved.
13 *
14 * This program is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License as
16 * published by the Free Software Foundation; either version 2 of
17 * the License, or (at your option) any later version.
18 *
19 * Neither Dag Brattli nor University of Tromsų admit liability nor
20 * provide warranty for any of this software. This material is
21 * provided "AS-IS" and at no charge.
22 *
23 ********************************************************************/
24
25#ifndef IRIAP_FSM_H
26#define IRIAP_FSM_H
27
28/* Forward because of circular include dependecies */
29struct iriap_cb;
30
31/* IrIAP states */
32typedef enum {
33 /* Client */
34 S_DISCONNECT,
35 S_CONNECTING,
36 S_CALL,
37
38 /* S-Call */
39 S_MAKE_CALL,
40 S_CALLING,
41 S_OUTSTANDING,
42 S_REPLYING,
43 S_WAIT_FOR_CALL,
44 S_WAIT_ACTIVE,
45
46 /* Server */
47 R_DISCONNECT,
48 R_CALL,
49
50 /* R-Connect */
51 R_WAITING,
52 R_WAIT_ACTIVE,
53 R_RECEIVING,
54 R_EXECUTE,
55 R_RETURNING,
56} IRIAP_STATE;
57
58typedef enum {
59 IAP_CALL_REQUEST,
60 IAP_CALL_REQUEST_GVBC,
61 IAP_CALL_RESPONSE,
62 IAP_RECV_F_LST,
63 IAP_LM_DISCONNECT_INDICATION,
64 IAP_LM_CONNECT_INDICATION,
65 IAP_LM_CONNECT_CONFIRM,
66} IRIAP_EVENT;
67
68void iriap_next_client_state (struct iriap_cb *self, IRIAP_STATE state);
69void iriap_next_call_state (struct iriap_cb *self, IRIAP_STATE state);
70void iriap_next_server_state (struct iriap_cb *self, IRIAP_STATE state);
71void iriap_next_r_connect_state(struct iriap_cb *self, IRIAP_STATE state);
72
73
74void iriap_do_client_event(struct iriap_cb *self, IRIAP_EVENT event,
75 struct sk_buff *skb);
76void iriap_do_call_event (struct iriap_cb *self, IRIAP_EVENT event,
77 struct sk_buff *skb);
78
79void iriap_do_server_event (struct iriap_cb *self, IRIAP_EVENT event,
80 struct sk_buff *skb);
81void iriap_do_r_connect_event(struct iriap_cb *self, IRIAP_EVENT event,
82 struct sk_buff *skb);
83
84#endif /* IRIAP_FSM_H */
85