Blame view

kernel/linux-rt-4.4.41/drivers/tty/ipwireless/setup_protocol.h 3.19 KB
5113f6f70   김현기   kernel add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
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_ */