[funini.com] -> [kei@sodan] -> Kernel Reading

root/include/net/irda/iriap_event.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


/*********************************************************************
 *                
 * 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 */


/* [<][>][^][v][top][bottom][index][help] */

[funini.com] -> [kei@sodan] -> Kernel Reading