1 /*--------------------------------------------------------------------------
2   Project:  Horizon
3   File:     ac_Types.h
4 
5   Copyright 2009 Nintendo. All rights reserved.
6 
7   These coded instructions, statements, and computer programs contain
8   proprietary information of Nintendo of America Inc. and/or Nintendo
9   Company Ltd., and are protected by Federal copyright law. They may
10   not be disclosed to third parties or copied or duplicated in any form,
11   in whole or in part, without the prior written consent of Nintendo.
12 
13   $Date:: 2010-12-0#$
14   $Rev: 32255 $
15   $Author: okubata_ryoma $
16  *-------------------------------------------------------------------------*/
17 #ifndef NN_AC_CTR_AC_TYPES_H_
18 #define NN_AC_CTR_AC_TYPES_H_
19 
20 #include <nn.h>
21 
22 /* Please see man pages for details
23 
24  */
25 typedef enum nnacApType
26 {
27     NN_AC_AP_TYPE_NONE = 0,                             //
28     NN_AC_AP_TYPE_USER_SETTING_1 = 1 << 0,              //
29     NN_AC_AP_TYPE_USER_SETTING_2 = 1 << 1,              //
30     NN_AC_AP_TYPE_USER_SETTING_3 = 1 << 2,              //
31     NN_AC_AP_TYPE_NINTENDO_WIFI_USB_CONNECTOR = 1 << 3, //
32     NN_AC_AP_TYPE_NINTENDO_ZONE = 1 << 4,               //
33     NN_AC_AP_TYPE_WIFI_STATION = 1 << 5,                //
34     NN_AC_AP_TYPE_FREESPOT = 1 << 6,                    //
35     NN_AC_AP_TYPE_HOTSPOT = 1 << 7,                     //
36 
37     NN_AC_AP_TYPE_ALL = 0x7FFFFFFF                      //
38 } nnacApType;
39 
40 /* Please see man pages for details
41 
42  */
43 typedef enum nnacNetworkArea
44 {
45     NN_AC_NETWORK_AREA_WAN = 0,     //
46     NN_AC_NETWORK_AREA_AUTO = 1,    //
47     NN_AC_NETWORK_AREA_LAN = 2      //
48 } nnacNetworkArea;
49 
50 /* Please see man pages for details
51 
52  */
53 typedef enum nnacSecurityMode
54 {
55     NN_AC_OPEN,             //
56     NN_AC_WEP_40BIT,        //
57     NN_AC_WEP_104BIT,       //
58     NN_AC_WEP_128BIT,       //
59     NN_AC_WPA_TKIP,         //
60     NN_AC_WPA2_TKIP,        //
61     NN_AC_WPA_AES,          //
62     NN_AC_WPA2_AES          //
63 } nnacSecurityMode;
64 
65 /* Please see man pages for details
66 
67 */
68 typedef enum nnacLinkLevel
69 {
70     NN_AC_LINK_LEVEL_0 = 0,   //
71     NN_AC_LINK_LEVEL_1,       //
72     NN_AC_LINK_LEVEL_2,       //
73     NN_AC_LINK_LEVEL_3        //
74 } nnacLinkLevel;
75 
76 /* Please see man pages for details
77 
78  */
79 typedef struct nnacConfig
80 {
81     u8 value[512];
82 } nnacConfig;
83 
84 /* Please see man pages for details
85 
86  */
87 typedef struct nnacNintendoZoneBeaconSubset
88 {
89     u8 apnum[10];
90     NN_PADDING2;
91     u8 hotspotname[24];
92 } nnacNintendoZoneBeaconSubset;
93 
94 /* Please see man pages for details
95 
96  */
97 typedef struct nnacHotspotSubset
98 {
99     u8 apnum[10];
100     NN_PADDING2;
101     u8 hotspotname[64];
102 } nnacHotspotSubset;
103 
104 #ifdef __cplusplus
105 
106 namespace nn {
107 namespace ac {
108 namespace CTR {
109 
110     /* Please see man pages for details
111 
112      */
113     enum ApType
114     {
115         AP_TYPE_NONE = 0,                             //
116         AP_TYPE_USER_SETTING_1 = 1 << 0,              //
117         AP_TYPE_USER_SETTING_2 = 1 << 1,              //
118         AP_TYPE_USER_SETTING_3 = 1 << 2,              //
119         AP_TYPE_NINTENDO_WIFI_USB_CONNECTOR = 1 << 3, //
120         AP_TYPE_NINTENDO_ZONE = 1 << 4,               //
121         AP_TYPE_WIFI_STATION = 1 << 5,                //
122         AP_TYPE_FREESPOT = 1 << 6,                    //
123         AP_TYPE_HOTSPOT = 1 << 7,                     //
124 
125         AP_TYPE_ALL = 0x7FFFFFFF                      //
126     };
127 
128     /* Please see man pages for details
129 
130      */
131     enum NetworkArea
132     {
133         NETWORK_AREA_WAN = 0,     //
134         NETWORK_AREA_AUTO = 1,    //
135         NETWORK_AREA_LAN = 2      //
136     };
137 
138     /* Please see man pages for details
139 
140      */
141     enum SecurityMode
142     {
143         OPEN,             //
144         WEP_40BIT,        //
145         WEP_104BIT,       //
146         WEP_128BIT,       //
147         WPA_TKIP,         //
148         WPA2_TKIP,        //
149         WPA_AES,          //
150         WPA2_AES          //
151     };
152 
153     /* Please see man pages for details
154 
155     */
156     enum LinkLevel
157     {
158         LINK_LEVEL_0 = 0,   //
159         LINK_LEVEL_1,       //
160         LINK_LEVEL_2,       //
161         LINK_LEVEL_3        //
162     };
163 
164     /* Please see man pages for details
165 
166      */
167     typedef nnacConfig Config;
168 
169     /* Please see man pages for details
170 
171      */
172     typedef nnacNintendoZoneBeaconSubset NintendoZoneBeaconSubset;
173 
174     /* Please see man pages for details
175 
176      */
177     typedef nnacHotspotSubset HotspotSubset;
178 
179 } // namespace CTR
180 } // namespace ac
181 } // namespace nn
182 
183 #endif // __cplusplus
184 
185 #endif //NN_AC_CTR_AC_TYPES_H_
186