Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / tty / ipwireless / setup_protocol.h
diff --git a/kernel/drivers/tty/ipwireless/setup_protocol.h b/kernel/drivers/tty/ipwireless/setup_protocol.h
new file mode 100644 (file)
index 0000000..002c34e
--- /dev/null
@@ -0,0 +1,108 @@
+/*
+ * IPWireless 3G PCMCIA Network Driver
+ *
+ * Original code
+ *   by Stephen Blackheath <stephen@blacksapphire.com>,
+ *      Ben Martel <benm@symmetric.co.nz>
+ *
+ * Copyrighted as follows:
+ *   Copyright (C) 2004 by Symmetric Systems Ltd (NZ)
+ *
+ * Various driver changes and rewrites, port to new kernels
+ *   Copyright (C) 2006-2007 Jiri Kosina
+ *
+ * Misc code cleanups and updates
+ *   Copyright (C) 2007 David Sterba
+ */
+
+#ifndef _IPWIRELESS_CS_SETUP_PROTOCOL_H_
+#define _IPWIRELESS_CS_SETUP_PROTOCOL_H_
+
+/* Version of the setup protocol and transport protocols */
+#define TL_SETUP_VERSION               1
+
+#define TL_SETUP_VERSION_QRY_TMO       1000
+#define TL_SETUP_MAX_VERSION_QRY       30
+
+/* Message numbers 0-9 are obsoleted and must not be reused! */
+#define TL_SETUP_SIGNO_GET_VERSION_QRY 10
+#define TL_SETUP_SIGNO_GET_VERSION_RSP 11
+#define TL_SETUP_SIGNO_CONFIG_MSG      12
+#define TL_SETUP_SIGNO_CONFIG_DONE_MSG 13
+#define TL_SETUP_SIGNO_OPEN_MSG                14
+#define TL_SETUP_SIGNO_CLOSE_MSG       15
+
+#define TL_SETUP_SIGNO_INFO_MSG     20
+#define TL_SETUP_SIGNO_INFO_MSG_ACK 21
+
+#define TL_SETUP_SIGNO_REBOOT_MSG      22
+#define TL_SETUP_SIGNO_REBOOT_MSG_ACK  23
+
+/* Synchronous start-messages */
+struct tl_setup_get_version_qry {
+       unsigned char sig_no;           /* TL_SETUP_SIGNO_GET_VERSION_QRY */
+} __attribute__ ((__packed__));
+
+struct tl_setup_get_version_rsp {
+       unsigned char sig_no;           /* TL_SETUP_SIGNO_GET_VERSION_RSP */
+       unsigned char version;          /* TL_SETUP_VERSION */
+} __attribute__ ((__packed__));
+
+struct tl_setup_config_msg {
+       unsigned char sig_no;           /* TL_SETUP_SIGNO_CONFIG_MSG */
+       unsigned char port_no;
+       unsigned char prio_data;
+       unsigned char prio_ctrl;
+} __attribute__ ((__packed__));
+
+struct tl_setup_config_done_msg {
+       unsigned char sig_no;           /* TL_SETUP_SIGNO_CONFIG_DONE_MSG */
+} __attribute__ ((__packed__));
+
+/* Asynchronous messages */
+struct tl_setup_open_msg {
+       unsigned char sig_no;           /* TL_SETUP_SIGNO_OPEN_MSG */
+       unsigned char port_no;
+} __attribute__ ((__packed__));
+
+struct tl_setup_close_msg {
+       unsigned char sig_no;           /* TL_SETUP_SIGNO_CLOSE_MSG */
+       unsigned char port_no;
+} __attribute__ ((__packed__));
+
+/* Driver type  - for use in tl_setup_info_msg.driver_type */
+#define COMM_DRIVER     0
+#define NDISWAN_DRIVER  1
+#define NDISWAN_DRIVER_MAJOR_VERSION  2
+#define NDISWAN_DRIVER_MINOR_VERSION  0
+
+/*
+ * It should not matter when this message comes over as we just store the
+ * results and send the ACK.
+ */
+struct tl_setup_info_msg {
+       unsigned char sig_no;           /* TL_SETUP_SIGNO_INFO_MSG */
+       unsigned char driver_type;
+       unsigned char major_version;
+       unsigned char minor_version;
+} __attribute__ ((__packed__));
+
+struct tl_setup_info_msgAck {
+       unsigned char sig_no;           /* TL_SETUP_SIGNO_INFO_MSG_ACK */
+} __attribute__ ((__packed__));
+
+struct TlSetupRebootMsgAck {
+       unsigned char sig_no;           /* TL_SETUP_SIGNO_REBOOT_MSG_ACK */
+} __attribute__ ((__packed__));
+
+/* Define a union of all the msgs that the driver can receive from the card.*/
+union ipw_setup_rx_msg {
+       unsigned char sig_no;
+       struct tl_setup_get_version_rsp version_rsp_msg;
+       struct tl_setup_open_msg open_msg;
+       struct tl_setup_close_msg close_msg;
+       struct tl_setup_info_msg InfoMsg;
+       struct tl_setup_info_msgAck info_msg_ack;
+} __attribute__ ((__packed__));
+
+#endif                         /* _IPWIRELESS_CS_SETUP_PROTOCOL_H_ */