2005-04-16 15:20:36 -07:00
/*********************************************************************
*
* Filename : ircomm_tty_attach . h
* Version :
* Description :
* Status : Experimental .
* Author : Dag Brattli < dagb @ cs . uit . no >
* Created at : Wed Jun 9 15 : 55 : 18 1999
* Modified at : Fri Dec 10 21 : 04 : 55 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_TTY_ATTACH_H
# define IRCOMM_TTY_ATTACH_H
# include <net/irda/ircomm_tty.h>
typedef enum {
IRCOMM_TTY_IDLE ,
IRCOMM_TTY_SEARCH ,
IRCOMM_TTY_QUERY_PARAMETERS ,
IRCOMM_TTY_QUERY_LSAP_SEL ,
IRCOMM_TTY_SETUP ,
IRCOMM_TTY_READY ,
} IRCOMM_TTY_STATE ;
/* IrCOMM TTY Events */
typedef enum {
IRCOMM_TTY_ATTACH_CABLE ,
IRCOMM_TTY_DETACH_CABLE ,
IRCOMM_TTY_DATA_REQUEST ,
IRCOMM_TTY_DATA_INDICATION ,
IRCOMM_TTY_DISCOVERY_REQUEST ,
IRCOMM_TTY_DISCOVERY_INDICATION ,
IRCOMM_TTY_CONNECT_CONFIRM ,
IRCOMM_TTY_CONNECT_INDICATION ,
IRCOMM_TTY_DISCONNECT_REQUEST ,
IRCOMM_TTY_DISCONNECT_INDICATION ,
IRCOMM_TTY_WD_TIMER_EXPIRED ,
IRCOMM_TTY_GOT_PARAMETERS ,
IRCOMM_TTY_GOT_LSAPSEL ,
} IRCOMM_TTY_EVENT ;
/* Used for passing information through the state-machine */
struct ircomm_tty_info {
__u32 saddr ; /* Source device address */
__u32 daddr ; /* Destination device address */
__u8 dlsap_sel ;
} ;
2009-08-05 10:42:58 -07:00
extern const char * const ircomm_state [ ] ;
extern const char * const ircomm_tty_state [ ] ;
2005-04-16 15:20:36 -07:00
int ircomm_tty_do_event ( struct ircomm_tty_cb * self , IRCOMM_TTY_EVENT event ,
struct sk_buff * skb , struct ircomm_tty_info * info ) ;
int ircomm_tty_attach_cable ( struct ircomm_tty_cb * self ) ;
void ircomm_tty_detach_cable ( struct ircomm_tty_cb * self ) ;
void ircomm_tty_connect_confirm ( void * instance , void * sap ,
struct qos_info * qos ,
__u32 max_sdu_size ,
__u8 max_header_size ,
struct sk_buff * skb ) ;
void ircomm_tty_disconnect_indication ( void * instance , void * sap ,
LM_REASON reason ,
struct sk_buff * skb ) ;
void ircomm_tty_connect_indication ( void * instance , void * sap ,
struct qos_info * qos ,
__u32 max_sdu_size ,
__u8 max_header_size ,
struct sk_buff * skb ) ;
int ircomm_tty_send_initial_parameters ( struct ircomm_tty_cb * self ) ;
void ircomm_tty_link_established ( struct ircomm_tty_cb * self ) ;
# endif /* IRCOMM_TTY_ATTACH_H */