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