Commit | Line | Data |
---|---|---|
099dc4fb DS |
1 | /* |
2 | * IPWireless 3G PCMCIA Network Driver | |
3 | * | |
4 | * Original code | |
5 | * by Stephen Blackheath <stephen@blacksapphire.com>, | |
6 | * Ben Martel <benm@symmetric.co.nz> | |
7 | * | |
8 | * Copyrighted as follows: | |
9 | * Copyright (C) 2004 by Symmetric Systems Ltd (NZ) | |
10 | * | |
11 | * Various driver changes and rewrites, port to new kernels | |
12 | * Copyright (C) 2006-2007 Jiri Kosina | |
13 | * | |
14 | * Misc code cleanups and updates | |
15 | * Copyright (C) 2007 David Sterba | |
16 | */ | |
17 | ||
18 | #ifndef _IPWIRELESS_CS_SETUP_PROTOCOL_H_ | |
19 | #define _IPWIRELESS_CS_SETUP_PROTOCOL_H_ | |
20 | ||
21 | /* Version of the setup protocol and transport protocols */ | |
22 | #define TL_SETUP_VERSION 1 | |
23 | ||
24 | #define TL_SETUP_VERSION_QRY_TMO 1000 | |
25 | #define TL_SETUP_MAX_VERSION_QRY 30 | |
26 | ||
27 | /* Message numbers 0-9 are obsoleted and must not be reused! */ | |
28 | #define TL_SETUP_SIGNO_GET_VERSION_QRY 10 | |
29 | #define TL_SETUP_SIGNO_GET_VERSION_RSP 11 | |
30 | #define TL_SETUP_SIGNO_CONFIG_MSG 12 | |
31 | #define TL_SETUP_SIGNO_CONFIG_DONE_MSG 13 | |
32 | #define TL_SETUP_SIGNO_OPEN_MSG 14 | |
33 | #define TL_SETUP_SIGNO_CLOSE_MSG 15 | |
34 | ||
35 | #define TL_SETUP_SIGNO_INFO_MSG 20 | |
36 | #define TL_SETUP_SIGNO_INFO_MSG_ACK 21 | |
37 | ||
38 | #define TL_SETUP_SIGNO_REBOOT_MSG 22 | |
39 | #define TL_SETUP_SIGNO_REBOOT_MSG_ACK 23 | |
40 | ||
41 | /* Synchronous start-messages */ | |
42 | struct tl_setup_get_version_qry { | |
43 | unsigned char sig_no; /* TL_SETUP_SIGNO_GET_VERSION_QRY */ | |
44 | } __attribute__ ((__packed__)); | |
45 | ||
46 | struct tl_setup_get_version_rsp { | |
47 | unsigned char sig_no; /* TL_SETUP_SIGNO_GET_VERSION_RSP */ | |
48 | unsigned char version; /* TL_SETUP_VERSION */ | |
49 | } __attribute__ ((__packed__)); | |
50 | ||
51 | struct tl_setup_config_msg { | |
52 | unsigned char sig_no; /* TL_SETUP_SIGNO_CONFIG_MSG */ | |
53 | unsigned char port_no; | |
54 | unsigned char prio_data; | |
55 | unsigned char prio_ctrl; | |
56 | } __attribute__ ((__packed__)); | |
57 | ||
58 | struct tl_setup_config_done_msg { | |
59 | unsigned char sig_no; /* TL_SETUP_SIGNO_CONFIG_DONE_MSG */ | |
60 | } __attribute__ ((__packed__)); | |
61 | ||
b3834be5 | 62 | /* Asynchronous messages */ |
099dc4fb DS |
63 | struct tl_setup_open_msg { |
64 | unsigned char sig_no; /* TL_SETUP_SIGNO_OPEN_MSG */ | |
65 | unsigned char port_no; | |
66 | } __attribute__ ((__packed__)); | |
67 | ||
68 | struct tl_setup_close_msg { | |
69 | unsigned char sig_no; /* TL_SETUP_SIGNO_CLOSE_MSG */ | |
70 | unsigned char port_no; | |
71 | } __attribute__ ((__packed__)); | |
72 | ||
73 | /* Driver type - for use in tl_setup_info_msg.driver_type */ | |
74 | #define COMM_DRIVER 0 | |
75 | #define NDISWAN_DRIVER 1 | |
76 | #define NDISWAN_DRIVER_MAJOR_VERSION 2 | |
77 | #define NDISWAN_DRIVER_MINOR_VERSION 0 | |
78 | ||
79 | /* | |
80 | * It should not matter when this message comes over as we just store the | |
81 | * results and send the ACK. | |
82 | */ | |
83 | struct tl_setup_info_msg { | |
84 | unsigned char sig_no; /* TL_SETUP_SIGNO_INFO_MSG */ | |
85 | unsigned char driver_type; | |
86 | unsigned char major_version; | |
87 | unsigned char minor_version; | |
88 | } __attribute__ ((__packed__)); | |
89 | ||
90 | struct tl_setup_info_msgAck { | |
91 | unsigned char sig_no; /* TL_SETUP_SIGNO_INFO_MSG_ACK */ | |
92 | } __attribute__ ((__packed__)); | |
93 | ||
94 | struct TlSetupRebootMsgAck { | |
95 | unsigned char sig_no; /* TL_SETUP_SIGNO_REBOOT_MSG_ACK */ | |
96 | } __attribute__ ((__packed__)); | |
97 | ||
98 | /* Define a union of all the msgs that the driver can receive from the card.*/ | |
99 | union ipw_setup_rx_msg { | |
100 | unsigned char sig_no; | |
101 | struct tl_setup_get_version_rsp version_rsp_msg; | |
102 | struct tl_setup_open_msg open_msg; | |
103 | struct tl_setup_close_msg close_msg; | |
104 | struct tl_setup_info_msg InfoMsg; | |
105 | struct tl_setup_info_msgAck info_msg_ack; | |
106 | } __attribute__ ((__packed__)); | |
107 | ||
108 | #endif /* _IPWIRELESS_CS_SETUP_PROTOCOL_H_ */ |