Linux-2.6.12-rc2
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / include / net / irda / iriap_event.h
blob4ca3d2071b0392da937b077ba0b361a12817d844
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>
12 * Copyright (c) 1998-1999 Dag Brattli <dagb@cs.uit.no>, All Rights Reserved.
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.
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.
23 ********************************************************************/
25 #ifndef IRIAP_FSM_H
26 #define IRIAP_FSM_H
28 /* Forward because of circular include dependecies */
29 struct iriap_cb;
31 /* IrIAP states */
32 typedef enum {
33 /* Client */
34 S_DISCONNECT,
35 S_CONNECTING,
36 S_CALL,
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,
46 /* Server */
47 R_DISCONNECT,
48 R_CALL,
50 /* R-Connect */
51 R_WAITING,
52 R_WAIT_ACTIVE,
53 R_RECEIVING,
54 R_EXECUTE,
55 R_RETURNING,
56 } IRIAP_STATE;
58 typedef 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;
68 void iriap_next_client_state (struct iriap_cb *self, IRIAP_STATE state);
69 void iriap_next_call_state (struct iriap_cb *self, IRIAP_STATE state);
70 void iriap_next_server_state (struct iriap_cb *self, IRIAP_STATE state);
71 void iriap_next_r_connect_state(struct iriap_cb *self, IRIAP_STATE state);
74 void iriap_do_client_event(struct iriap_cb *self, IRIAP_EVENT event,
75 struct sk_buff *skb);
76 void iriap_do_call_event (struct iriap_cb *self, IRIAP_EVENT event,
77 struct sk_buff *skb);
79 void iriap_do_server_event (struct iriap_cb *self, IRIAP_EVENT event,
80 struct sk_buff *skb);
81 void iriap_do_r_connect_event(struct iriap_cb *self, IRIAP_EVENT event,
82 struct sk_buff *skb);
84 #endif /* IRIAP_FSM_H */