• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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__ */
97