Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / staging / gdm72xx / wm_ioctl.h
1 /*
2  * Copyright (c) 2012 GCT Semiconductor, Inc. All rights reserved.
3  *
4  * This software is licensed under the terms of the GNU General Public
5  * License version 2, as published by the Free Software Foundation, and
6  * may be copied, distributed, and modified under those terms.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  */
13
14 #ifndef __GDM72XX_WM_IOCTL_H__
15 #define __GDM72XX_WM_IOCTL_H__
16
17 #if !defined(__KERNEL__)
18 #include <net/if.h>
19 #endif
20
21 #define NETLINK_WIMAX   31
22
23 #define SIOCWMIOCTL     SIOCDEVPRIVATE
24
25 #define SIOCG_DATA      0x8D10
26 #define SIOCS_DATA      0x8D11
27
28 enum {
29         SIOC_DATA_FSM,
30         SIOC_DATA_NETLIST,
31         SIOC_DATA_CONNNSP,
32         SIOC_DATA_CONNCOMP,
33         SIOC_DATA_PROFILEID,
34
35         SIOC_DATA_END
36 };
37
38 #define SIOC_DATA_MAX   16
39
40 /* FSM */
41 enum {
42         M_INIT = 0,
43         M_OPEN_OFF,
44         M_OPEN_ON,
45         M_SCAN,
46         M_CONNECTING,
47         M_CONNECTED,
48         M_FSM_END,
49
50         C_INIT = 0,
51         C_CONNSTART,
52         C_ASSOCSTART,
53         C_RNG,
54         C_SBC,
55         C_AUTH,
56         C_REG,
57         C_DSX,
58         C_ASSOCCOMPLETE,
59         C_CONNCOMPLETE,
60         C_FSM_END,
61
62         D_INIT = 0,
63         D_READY,
64         D_LISTEN,
65         D_IPACQUISITION,
66
67         END_FSM
68 };
69
70 struct fsm_s {
71         int     m_status;       /*main status*/
72         int     c_status;       /*connection status*/
73         int     d_status;       /*oma-dm status*/
74 };
75
76 struct data_s {
77         int     size;
78         void    *buf;
79 };
80
81 struct wm_req_s {
82         union {
83                 char ifrn_name[IFNAMSIZ];
84         } ifr_ifrn;
85         unsigned short  cmd;
86         unsigned short  data_id;
87         struct data_s   data;
88
89 /* NOTE: sizeof(struct wm_req_s) must be less than sizeof(struct ifreq). */
90 };
91
92 #ifndef ifr_name
93 #define ifr_name ifr_ifrn.ifrn_name
94 #endif
95
96 #endif /* __GDM72XX_WM_IOCTL_H__ */