home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / net / irda / iriap_event.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  2.3 KB  |  86 lines

  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 */
  29. struct iriap_cb;
  30.  
  31. /* IrIAP states */
  32. typedef 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.  
  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;
  67.  
  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);
  72.  
  73.  
  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);
  78.  
  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);
  83.  
  84. #endif /* IRIAP_FSM_H */
  85.  
  86.