Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * IPWireless 3G PCMCIA Network Driver
0004  *
0005  * Original code
0006  *   by Stephen Blackheath <stephen@blacksapphire.com>,
0007  *      Ben Martel <benm@symmetric.co.nz>
0008  *
0009  * Copyrighted as follows:
0010  *   Copyright (C) 2004 by Symmetric Systems Ltd (NZ)
0011  *
0012  * Various driver changes and rewrites, port to new kernels
0013  *   Copyright (C) 2006-2007 Jiri Kosina
0014  *
0015  * Misc code cleanups and updates
0016  *   Copyright (C) 2007 David Sterba
0017  */
0018 
0019 #ifndef _IPWIRELESS_CS_SETUP_PROTOCOL_H_
0020 #define _IPWIRELESS_CS_SETUP_PROTOCOL_H_
0021 
0022 /* Version of the setup protocol and transport protocols */
0023 #define TL_SETUP_VERSION        1
0024 
0025 #define TL_SETUP_VERSION_QRY_TMO    1000
0026 #define TL_SETUP_MAX_VERSION_QRY    30
0027 
0028 /* Message numbers 0-9 are obsoleted and must not be reused! */
0029 #define TL_SETUP_SIGNO_GET_VERSION_QRY  10
0030 #define TL_SETUP_SIGNO_GET_VERSION_RSP  11
0031 #define TL_SETUP_SIGNO_CONFIG_MSG   12
0032 #define TL_SETUP_SIGNO_CONFIG_DONE_MSG  13
0033 #define TL_SETUP_SIGNO_OPEN_MSG     14
0034 #define TL_SETUP_SIGNO_CLOSE_MSG    15
0035 
0036 #define TL_SETUP_SIGNO_INFO_MSG     20
0037 #define TL_SETUP_SIGNO_INFO_MSG_ACK 21
0038 
0039 #define TL_SETUP_SIGNO_REBOOT_MSG      22
0040 #define TL_SETUP_SIGNO_REBOOT_MSG_ACK  23
0041 
0042 /* Synchronous start-messages */
0043 struct tl_setup_get_version_qry {
0044     unsigned char sig_no;       /* TL_SETUP_SIGNO_GET_VERSION_QRY */
0045 } __attribute__ ((__packed__));
0046 
0047 struct tl_setup_get_version_rsp {
0048     unsigned char sig_no;       /* TL_SETUP_SIGNO_GET_VERSION_RSP */
0049     unsigned char version;      /* TL_SETUP_VERSION */
0050 } __attribute__ ((__packed__));
0051 
0052 struct tl_setup_config_msg {
0053     unsigned char sig_no;       /* TL_SETUP_SIGNO_CONFIG_MSG */
0054     unsigned char port_no;
0055     unsigned char prio_data;
0056     unsigned char prio_ctrl;
0057 } __attribute__ ((__packed__));
0058 
0059 struct tl_setup_config_done_msg {
0060     unsigned char sig_no;       /* TL_SETUP_SIGNO_CONFIG_DONE_MSG */
0061 } __attribute__ ((__packed__));
0062 
0063 /* Asynchronous messages */
0064 struct tl_setup_open_msg {
0065     unsigned char sig_no;       /* TL_SETUP_SIGNO_OPEN_MSG */
0066     unsigned char port_no;
0067 } __attribute__ ((__packed__));
0068 
0069 struct tl_setup_close_msg {
0070     unsigned char sig_no;       /* TL_SETUP_SIGNO_CLOSE_MSG */
0071     unsigned char port_no;
0072 } __attribute__ ((__packed__));
0073 
0074 /* Driver type  - for use in tl_setup_info_msg.driver_type */
0075 #define COMM_DRIVER     0
0076 #define NDISWAN_DRIVER  1
0077 #define NDISWAN_DRIVER_MAJOR_VERSION  2
0078 #define NDISWAN_DRIVER_MINOR_VERSION  0
0079 
0080 /*
0081  * It should not matter when this message comes over as we just store the
0082  * results and send the ACK.
0083  */
0084 struct tl_setup_info_msg {
0085     unsigned char sig_no;       /* TL_SETUP_SIGNO_INFO_MSG */
0086     unsigned char driver_type;
0087     unsigned char major_version;
0088     unsigned char minor_version;
0089 } __attribute__ ((__packed__));
0090 
0091 struct tl_setup_info_msgAck {
0092     unsigned char sig_no;       /* TL_SETUP_SIGNO_INFO_MSG_ACK */
0093 } __attribute__ ((__packed__));
0094 
0095 struct TlSetupRebootMsgAck {
0096     unsigned char sig_no;       /* TL_SETUP_SIGNO_REBOOT_MSG_ACK */
0097 } __attribute__ ((__packed__));
0098 
0099 /* Define a union of all the msgs that the driver can receive from the card.*/
0100 union ipw_setup_rx_msg {
0101     unsigned char sig_no;
0102     struct tl_setup_get_version_rsp version_rsp_msg;
0103     struct tl_setup_open_msg open_msg;
0104     struct tl_setup_close_msg close_msg;
0105     struct tl_setup_info_msg InfoMsg;
0106     struct tl_setup_info_msgAck info_msg_ack;
0107 } __attribute__ ((__packed__));
0108 
0109 #endif              /* _IPWIRELESS_CS_SETUP_PROTOCOL_H_ */