forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.3 KiB
85 lines
2.3 KiB
/********************************************************************* |
|
* |
|
* Filename: iriap_event.h |
|
* Version: |
|
* Description: |
|
* Status: Experimental. |
|
* Author: Dag Brattli <[email protected]> |
|
* Created at: Mon Aug 4 20:40:53 1997 |
|
* Modified at: Sun Oct 31 22:02:54 1999 |
|
* Modified by: Dag Brattli <[email protected]> |
|
* |
|
* Copyright (c) 1998-1999 Dag Brattli <[email protected]>, 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 */ |
|
|
|
|