patch-2.2.15 linux/include/net/irda/ircomm_common.h
Next file: linux/include/net/irda/ircomm_core.h
Previous file: linux/include/net/irda/dongle.h
Back to the patch index
Back to the overall index
- Lines: 271
- Date:
Thu Jan 1 01:00:00 1970
- Orig file:
v2.2.14/include/net/irda/ircomm_common.h
- Orig date:
Sat Aug 14 02:26:51 1999
diff -u --new-file --recursive --exclude-from ../../exclude v2.2.14/include/net/irda/ircomm_common.h linux/include/net/irda/ircomm_common.h
@@ -1,270 +0,0 @@
-/*********************************************************************
- *
- * Filename: ircomm_common.h
- * Version:
- * Description: An implementation of IrCOMM service interface and state machine
- * Status: Experimental.
- * Author: Takahide Higuchi <thiguchi@pluto.dti.ne.jp>
- *
- * Copyright (c) 1998-1999, Takahide Higuchi, <thiguchi@pluto.dti.ne.jp>,
- * 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.
- *
- * I, Takahide Higuchi, provide no warranty for any of this software.
- * This material is provided "AS-IS" and at no charge.
- *
- ********************************************************************/
-
-#ifndef IRCOMM_H
-#define IRCOMM_H
-
-/* #define DEBUG(n, args...) printk( KERN_DEBUG args) */ /* enable all debug message */
-
-#include <linux/types.h>
-#include <net/irda/irmod.h>
-
-typedef enum {
- COMM_IDLE,
-
- COMM_DISCOVERY_WAIT,
- COMM_QUERYPARAM_WAIT,
- COMM_QUERYLSAP_WAIT,
-
- COMM_WAITI,
- COMM_WAITR,
- COMM_CONN,
-} IRCOMM_STATE;
-
-/* IrCOMM Events */
-typedef enum {
- IRCOMM_CONNECT_REQUEST,
- TTP_CONNECT_INDICATION,
- LMP_CONNECT_INDICATION,
-
- TTP_CONNECT_CONFIRM,
- TTP_DISCONNECT_INDICATION,
- LMP_CONNECT_CONFIRM,
- LMP_DISCONNECT_INDICATION,
-
- IRCOMM_CONNECT_RESPONSE,
- IRCOMM_DISCONNECT_REQUEST,
-
- TTP_DATA_INDICATION,
- IRCOMM_DATA_REQUEST,
- LMP_DATA_INDICATION,
- IRCOMM_CONTROL_REQUEST,
-
- DISCOVERY_INDICATION,
- GOT_PARAMETERS,
- GOT_LSAPSEL,
- QUERYIAS_ERROR,
-
-} IRCOMM_EVENT;
-
-typedef enum {
- TX_READY,
- TX_BUSY,
-
- IAS_PARAM,
- CONTROL_CHANNEL,
-} IRCOMM_CMD;
-
-
-
-#define IRCOMM_MAGIC 0x434f4d4d
-#define COMM_INIT_CTRL_PARAM 3 /* length of initial control parameters */
-#define COMM_HEADER_SIZE 1 /* length of clen field */
-#define COMM_MAX_HEADER_SIZE (TTP_MAX_HEADER+COMM_HEADER_SIZE)
-#define COMM_DEFAULT_SDU_SIZE (64 - COMM_HEADER_SIZE)
-#define IRCOMM_MAX_CONNECTION 1 /* Don't change for now */
-
-
-
-
-#define UNKNOWN 0x00 /* not defined yet. */
-/* we use 9wire if servicetype=DEFAULT, but is it good? */
-#define DEFAULT 0x0a /* private number */
-#define THREE_WIRE_RAW 0x01 /* bit 0 */
-#define THREE_WIRE 0x02 /* bit 1 */
-#define NINE_WIRE 0x04 /* bit 2 */
-#define CENTRONICS 0x08 /* bit 3 */
-
-#define SERIAL 0x01 /* bit 0 */
-#define PARALLEL 0x02 /* bit 1 */
-
-
-#define SERVICETYPE 0x00
-#define PORT_TYPE 0x01
-#define PORT_NAME 0x02
-#define FIXED_PORT_NAME 0x82
-
-#define DATA_RATE 0x10
-#define DATA_FORMAT 0x11
-#define FLOW_CONTROL 0x12
-#define XON_XOFF_CHAR 0x13
-#define ENQ_ACK_CHAR 0x14
-#define LINESTATUS 0x15
-#define BREAK_SIGNAL 0x16
-
-#define DTELINE_STATE 0x20
-#define DCELINE_STATE 0x21
-#define POLL_FOR_LINE_SETTINGS 0x22
-
-#define STATUS_QUERY 0x30
-#define SET_BUSY_TIMEOUT 0x31
-#define IEEE1284_MODE_SUPPORT 0x32
-#define IEEE1284_DEVICEID 0x33
-#define IEEE1284_MODE 0x34
-#define IEEE1284_ECP_EPP_DATA_TRANSFER 0x35
-
-/* parameters of FLOW_CONTROL */
-
-#define USE_RTS 0x08 /* use RTS on output */
-#define USE_CTS 0x04 /* use CTS on input */
-#define USE_DTR 0x20 /* use DTR on output */
-
-/* parameters of DTELINE_STATE */
-
-#define DELTA_DTR 0x01
-#define DELTA_RTS 0x02
-#define MCR_DTR 0x04
-#define MCR_RTS 0x08
-
-/* parameters of DCELINE_STATE */
-
-#define DELTA_CTS 0x01
-#define DELTA_DSR 0x02
-#define DELTA_RI 0x04
-#define DELTA_DCD 0x08
-#define MSR_CTS 0x10
-#define MSR_DSR 0x20
-#define MSR_RI 0x40
-#define MSR_DCD 0x80
-
-/* parameters of DATA_FORMAT */
-
-#define IRCOMM_WLEN5 0x00 /* word length is 5bit */
-#define IRCOMM_WLEN6 0x01 /* word length is 6bit */
-#define IRCOMM_WLEN7 0x02 /* word length is 7bit */
-#define IRCOMM_WLEN8 0x03 /* word length is 8bit */
-
-#define IRCOMM_STOP2 0x04 /* 2 stop bits mode */
-#define IRCOMM_PARENB 0x08 /* parity enable */
-#define IRCOMM_PARODD 0x00 /* odd parity */
-#define IRCOMM_PAREVEN 0x10 /* even parity */
-#define IRCOMM_PARMARK 0x20
-#define IRCOMM_PARSPC 0x30
-
-/* parameters of LINE_STATUS */
-
-#define LSR_OE 0x02 /* Overrun error indicator */
-#define LSR_PE 0x04 /* Parity error indicator */
-#define LSR_FE 0x08 /* Frame error indicator */
-#define LSR_BI 0x01 /* Break interrupt indicator */
-
-
-struct ircomm_cb {
- int magic;
- int state; /* Current state of IrCOMM layer:
- * DISCOVERY,COMM_IDLE, COMM_WAITR,
- * COMM_WAITI, COMM_CONN
- */
- int in_use;
- int null_modem_mode; /* switch for null modem emulation */
- int ttp_stop;
-
- __u32 tx_max_sdu_size;
- __u32 rx_max_sdu_size;
- __u8 max_header_size;
-
- __u32 daddr; /* Device address of the peer device */
- __u32 saddr;
- __u32 skey;
- __u32 ckey;
- int queryias_lock;
- int ias_type;
- int disconnect_priority; /* P_NORMAL or P_HIGH. see irttp.h */
- struct notify_t notify; /* container of callbacks */
- void (*d_handler)(struct ircomm_cb *self);
-
- int control_ch_pending;
- struct sk_buff *ctrl_skb; /* queue of control channel */
-
- __u8 dlsap; /* IrLMP dlsap */
- __u8 lsap; /* sap of local device */
- struct tsap_cb *tsap; /* IrTTP/LMP handle */
- struct qos_info *qos; /* Quality of Service */
- int reason; /* I don't know about reason:
- see Irlmp.c or somewhere :p)*/
- int peer_cap; /* capability of peer device */
-
- struct wait_queue *discovery_wait;
- struct wait_queue *ias_wait;
-
- /* statistics */
- int tx_packets;
- int rx_packets;
- int tx_controls;
- int pending_control_tuples;
- int ignored_control_tuples;
-
- __u8 pi ; /* instruction of control channel*/
-
- __u8 port_type;
- __u8 peer_port_type;
-
- __u8 servicetype;
- __u8 peer_servicetype;
- __u8 data_format;
- __u8 peer_data_format;
- __u8 flow_ctrl;
- __u8 peer_flow_ctrl;
- __u8 line_status;
- __u8 peer_line_status;
- __u8 break_signal;
- __u8 peer_break_signal;
- __u8 dte;
- __u8 peer_dte;
- __u8 dce;
- __u8 peer_dce;
- __u8 xon_char;
- __u8 xoff_char;
- __u8 peer_xon_char;
- __u8 peer_xoff_char;
- __u8 enq_char;
- __u8 ack_char;
- __u8 peer_enq_char;
- __u8 peer_ack_char;
- __u8 busy_timeout;
- __u8 peer_busy_timeout;
- __u8 ecp_epp_mode;
- __u8 peer_ecp_epp_mode;
- __u8 channel_or_addr;
- __u8 peer_channel_or_addr;
-
- __u32 data_rate;
- __u32 peer_data_rate;
- char port_name[33];
- int port_name_critical;
-};
-
-void ircomm_connect_request(struct ircomm_cb *self, __u8 servicetype);
-void ircomm_connect_response(struct ircomm_cb *self, struct sk_buff *userdata,
- __u32 maxsdusize);
-void ircomm_disconnect_request(struct ircomm_cb *self,
- struct sk_buff *userdata, int priority);
-int ircomm_data_request(struct ircomm_cb *self,
- struct sk_buff *userdata);
-void ircomm_control_request(struct ircomm_cb *self, __u8 instruction);
-
-void ircomm_parse_tuples(struct ircomm_cb *self, struct sk_buff *skb, int type);
-
-struct ircomm_cb *ircomm_open_instance(struct notify_t notify);
-int ircomm_close_instance(struct ircomm_cb *self);
-
-
-#endif
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)