00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef IRCOMM_TTY_ATTACH_H
00032 #define IRCOMM_TTY_ATTACH_H
00033
00034 #include <net/irda/ircomm_tty.h>
00035
00036 typedef enum {
00037 IRCOMM_TTY_IDLE,
00038 IRCOMM_TTY_SEARCH,
00039 IRCOMM_TTY_QUERY_PARAMETERS,
00040 IRCOMM_TTY_QUERY_LSAP_SEL,
00041 IRCOMM_TTY_SETUP,
00042 IRCOMM_TTY_READY,
00043 } IRCOMM_TTY_STATE;
00044
00045
00046 typedef enum {
00047 IRCOMM_TTY_ATTACH_CABLE,
00048 IRCOMM_TTY_DETACH_CABLE,
00049 IRCOMM_TTY_DATA_REQUEST,
00050 IRCOMM_TTY_DATA_INDICATION,
00051 IRCOMM_TTY_DISCOVERY_REQUEST,
00052 IRCOMM_TTY_DISCOVERY_INDICATION,
00053 IRCOMM_TTY_CONNECT_CONFIRM,
00054 IRCOMM_TTY_CONNECT_INDICATION,
00055 IRCOMM_TTY_DISCONNECT_REQUEST,
00056 IRCOMM_TTY_DISCONNECT_INDICATION,
00057 IRCOMM_TTY_WD_TIMER_EXPIRED,
00058 IRCOMM_TTY_GOT_PARAMETERS,
00059 IRCOMM_TTY_GOT_LSAPSEL,
00060 } IRCOMM_TTY_EVENT;
00061
00062
00063 struct ircomm_tty_info {
00064 __u32 saddr;
00065 __u32 daddr;
00066 __u8 dlsap_sel;
00067 };
00068
00069 extern char *ircomm_state[];
00070 extern char *ircomm_event[];
00071 extern char *ircomm_tty_state[];
00072
00073 int ircomm_tty_do_event(struct ircomm_tty_cb *self, IRCOMM_TTY_EVENT event,
00074 struct sk_buff *skb, struct ircomm_tty_info *info);
00075 void ircomm_tty_next_state(struct ircomm_tty_cb *self, IRCOMM_TTY_STATE state);
00076
00077
00078 int ircomm_tty_attach_cable(struct ircomm_tty_cb *self);
00079 void ircomm_tty_detach_cable(struct ircomm_tty_cb *self);
00080 void ircomm_tty_connect_confirm(void *instance, void *sap,
00081 struct qos_info *qos,
00082 __u32 max_sdu_size,
00083 __u8 max_header_size,
00084 struct sk_buff *skb);
00085 void ircomm_tty_disconnect_indication(void *instance, void *sap,
00086 LM_REASON reason,
00087 struct sk_buff *skb);
00088 void ircomm_tty_connect_indication(void *instance, void *sap,
00089 struct qos_info *qos,
00090 __u32 max_sdu_size,
00091 __u8 max_header_size,
00092 struct sk_buff *skb);
00093 int ircomm_tty_send_initial_parameters(struct ircomm_tty_cb *self);
00094 void ircomm_tty_link_established(struct ircomm_tty_cb *self);
00095
00096 #endif