Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / include / net / irda / iriap_event.h
diff --git a/kernel/include/net/irda/iriap_event.h b/kernel/include/net/irda/iriap_event.h
new file mode 100644 (file)
index 0000000..89747f0
--- /dev/null
@@ -0,0 +1,85 @@
+/*********************************************************************
+ *                
+ * Filename:      iriap_event.h
+ * Version:       
+ * Description:   
+ * Status:        Experimental.
+ * Author:        Dag Brattli <dagb@cs.uit.no>
+ * Created at:    Mon Aug  4 20:40:53 1997
+ * Modified at:   Sun Oct 31 22:02:54 1999
+ * Modified by:   Dag Brattli <dagb@cs.uit.no>
+ * 
+ *     Copyright (c) 1998-1999 Dag Brattli <dagb@cs.uit.no>, All Rights Reserved.
+ *     
+ *     This program is free software; you can redistribute it and/or 
+ *     modify it under the terms of the GNU General Public License as 
+ *     published by the Free Software Foundation; either version 2 of 
+ *     the License, or (at your option) any later version.
+ *
+ *     Neither Dag Brattli nor University of Tromsø admit liability nor
+ *     provide warranty for any of this software. This material is 
+ *     provided "AS-IS" and at no charge.
+ *
+ ********************************************************************/
+
+#ifndef IRIAP_FSM_H
+#define IRIAP_FSM_H
+
+/* Forward because of circular include dependecies */
+struct iriap_cb;
+
+/* IrIAP states */
+typedef enum {
+       /* Client */
+       S_DISCONNECT,
+       S_CONNECTING,
+       S_CALL,
+
+       /* S-Call */
+       S_MAKE_CALL,
+       S_CALLING,
+       S_OUTSTANDING,
+       S_REPLYING,
+       S_WAIT_FOR_CALL,
+       S_WAIT_ACTIVE,
+
+       /* Server */
+       R_DISCONNECT,
+       R_CALL,
+       
+       /* R-Connect */
+       R_WAITING,
+       R_WAIT_ACTIVE,
+       R_RECEIVING,
+       R_EXECUTE,
+       R_RETURNING,
+} IRIAP_STATE;
+
+typedef enum {
+       IAP_CALL_REQUEST,
+       IAP_CALL_REQUEST_GVBC,
+       IAP_CALL_RESPONSE,
+       IAP_RECV_F_LST,
+       IAP_LM_DISCONNECT_INDICATION,
+       IAP_LM_CONNECT_INDICATION,
+       IAP_LM_CONNECT_CONFIRM,
+} IRIAP_EVENT;
+
+void iriap_next_client_state   (struct iriap_cb *self, IRIAP_STATE state);
+void iriap_next_call_state     (struct iriap_cb *self, IRIAP_STATE state);
+void iriap_next_server_state   (struct iriap_cb *self, IRIAP_STATE state);
+void iriap_next_r_connect_state(struct iriap_cb *self, IRIAP_STATE state);
+
+
+void iriap_do_client_event(struct iriap_cb *self, IRIAP_EVENT event, 
+                          struct sk_buff *skb);
+void iriap_do_call_event  (struct iriap_cb *self, IRIAP_EVENT event, 
+                          struct sk_buff *skb);
+
+void iriap_do_server_event   (struct iriap_cb *self, IRIAP_EVENT event, 
+                             struct sk_buff *skb);
+void iriap_do_r_connect_event(struct iriap_cb *self, IRIAP_EVENT event, 
+                             struct sk_buff *skb);
+
+#endif /* IRIAP_FSM_H */
+