2005-04-16 15:20:36 -07:00
/*********************************************************************
*
* Filename : ircomm_event . h
* Version :
* Description :
* Status : Experimental .
* Author : Dag Brattli < dagb @ cs . uit . no >
* Created at : Sun Jun 6 23 : 51 : 13 1999
* Modified at : Thu Jun 10 08 : 36 : 25 1999
* Modified by : Dag Brattli < dagb @ cs . uit . no >
*
* Copyright ( c ) 1999 Dag Brattli , 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 .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
2013-12-06 09:13:40 -08:00
* along with this program ; if not , see < http : //www.gnu.org/licenses/>.
2005-04-16 15:20:36 -07:00
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
# ifndef IRCOMM_EVENT_H
# define IRCOMM_EVENT_H
# include <net/irda/irmod.h>
typedef enum {
IRCOMM_IDLE ,
IRCOMM_WAITI ,
IRCOMM_WAITR ,
IRCOMM_CONN ,
} IRCOMM_STATE ;
/* IrCOMM Events */
typedef enum {
IRCOMM_CONNECT_REQUEST ,
IRCOMM_CONNECT_RESPONSE ,
IRCOMM_TTP_CONNECT_INDICATION ,
IRCOMM_LMP_CONNECT_INDICATION ,
IRCOMM_TTP_CONNECT_CONFIRM ,
IRCOMM_LMP_CONNECT_CONFIRM ,
IRCOMM_LMP_DISCONNECT_INDICATION ,
IRCOMM_TTP_DISCONNECT_INDICATION ,
IRCOMM_DISCONNECT_REQUEST ,
IRCOMM_TTP_DATA_INDICATION ,
IRCOMM_LMP_DATA_INDICATION ,
IRCOMM_DATA_REQUEST ,
IRCOMM_CONTROL_REQUEST ,
IRCOMM_CONTROL_INDICATION ,
} IRCOMM_EVENT ;
/*
* Used for passing information through the state - machine
*/
struct ircomm_info {
__u32 saddr ; /* Source device address */
__u32 daddr ; /* Destination device address */
__u8 dlsap_sel ;
LM_REASON reason ; /* Reason for disconnect */
__u32 max_data_size ;
__u32 max_header_size ;
struct qos_info * qos ;
} ;
2009-08-05 10:42:58 -07:00
extern const char * const ircomm_state [ ] ;
2005-04-16 15:20:36 -07:00
struct ircomm_cb ; /* Forward decl. */
int ircomm_do_event ( struct ircomm_cb * self , IRCOMM_EVENT event ,
struct sk_buff * skb , struct ircomm_info * info ) ;
void ircomm_next_state ( struct ircomm_cb * self , IRCOMM_STATE state ) ;
# endif