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-10-1#$ 14 $Rev: 28042 $ 15 $Author: niwa_kazutomo $ 16 *-------------------------------------------------------------------------*/ 17 #ifndef NN_AC_CTR_AC_TYPES_H_ 18 #define NN_AC_CTR_AC_TYPES_H_ 19 20 #include <nn.h> 21 22 /*! 23 * @brief 接続対象とするAPの種別を示す列挙体です。 24 */ 25 typedef enum nnacApType 26 { 27 NN_AC_AP_TYPE_NONE = 0, //!< なし 28 NN_AC_AP_TYPE_USER_SETTING_1 = 1 << 0, //!< ネットワーク設定1 29 NN_AC_AP_TYPE_USER_SETTING_2 = 1 << 1, //!< ネットワーク設定2 30 NN_AC_AP_TYPE_USER_SETTING_3 = 1 << 2, //!< ネットワーク設定3 31 NN_AC_AP_TYPE_NINTENDO_WIFI_USB_CONNECTOR = 1 << 3, //!< ニンテンドーWi-Fi USBコネクタ 32 NN_AC_AP_TYPE_NINTENDO_ZONE = 1 << 4, //!< ニンテンドーゾーン 33 NN_AC_AP_TYPE_WIFI_STATION = 1 << 5, //!< Wi-Fiステーション 34 NN_AC_AP_TYPE_FREESPOT = 1 << 6, //!< FreeSpot 35 NN_AC_AP_TYPE_HOTSPOT = 1 << 7, //!< ホットスポット 36 37 NN_AC_AP_TYPE_ALL = 0x7FFFFFFF //!< 全て 38 } nnacApType; 39 40 /*! 41 * @brief 接続するAPに要求する接続レベルを示す列挙体です。 42 */ 43 typedef enum nnacNetworkArea 44 { 45 NN_AC_NETWORK_AREA_WAN = 0, //!< WAN接続必須 46 NN_AC_NETWORK_AREA_AUTO = 1, //!< WAN接続推奨。LAN接続でも可 47 NN_AC_NETWORK_AREA_LAN = 2 //!< LAN接続のみで可 48 } nnacNetworkArea; 49 50 /*! 51 * @brief アクセスポイントの認証方式を示す列挙体です。 52 */ 53 typedef enum nnacSecurityMode 54 { 55 NN_AC_OPEN, //!< オープン認証 56 NN_AC_WEP_40BIT, //!< WEP 40bit 57 NN_AC_WEP_104BIT, //!< WEP 104bit 58 NN_AC_WEP_128BIT, //!< WEP 128bit 59 NN_AC_WPA_TKIP, //!< WPA TKIP 60 NN_AC_WPA2_TKIP, //!< WPA2 TKIP 61 NN_AC_WPA_AES, //!< WPA AES 62 NN_AC_WPA2_AES //!< WPA2 AES 63 } nnacSecurityMode; 64 65 /*! 66 * @brief ACの現在の処理ステートを示す列挙体です。 67 */ 68 typedef enum nnacStatus 69 { 70 NN_AC_STATUS_NONE = 0, //!< なし 71 NN_AC_STATUS_IDLE = 1, //!< 未接続状態 72 NN_AC_STATUS_LAN_CONNECTED = 2, //!< LAN接続状態 73 NN_AC_STATUS_WAN_CONNECTED = 3, //!< WAN接続状態 74 75 NN_AC_STATUS_ACTIVE_SCAN = 100, //!< 即時接続中 76 NN_AC_STATUS_PASSIVE_SCAN = 101, //!< 全チャンネルスキャン中 77 NN_AC_STATUS_CONNECT_AP = 102, //!< AP接続中 78 NN_AC_STATUS_GET_IP_ADDRESS = 103, //!< IPアドレス取得中 79 NN_AC_STATUS_CONNTEST = 200, //!< 接続テスト中 80 NN_AC_STATUS_AUTH_HOTSPOT = 201, //!< ホットスポット認証中 81 NN_AC_STATUS_DISCONNECT_AP = 300 //!< AP切断中 82 } nnacStatus; 83 84 /*! 85 @brief 通信品質(リンクレベル) を表す列挙型です。 86 */ 87 typedef enum nnacLinkLevel 88 { 89 NN_AC_LINK_LEVEL_0 = 0, //!< 非常に通信品質が悪い、もしくは通信が成立していない 90 NN_AC_LINK_LEVEL_1, //!< 通信品質が悪い 91 NN_AC_LINK_LEVEL_2, //!< 通信品質があまり良くない 92 NN_AC_LINK_LEVEL_3 //!< 通信品質がよい 93 } nnacLinkLevel; 94 95 /*! 96 * @brief 自動接続設定を格納する構造体です。 97 */ 98 typedef struct nnacConfig 99 { 100 u8 value[512]; 101 } nnacConfig; 102 103 /*! 104 * @brief ニンテンドーゾーンビーコン情報を格納する構造体です。 105 */ 106 typedef struct nnacNintendoZoneBeaconSubset 107 { 108 u8 apnum[10]; 109 NN_PADDING2; 110 u8 hotspotname[24]; 111 } nnacNintendoZoneBeaconSubset; 112 113 /*! 114 * @brief ホットスポット情報を格納する構造体です。 115 */ 116 typedef struct nnacHotspotSubset 117 { 118 u8 apnum[10]; 119 NN_PADDING2; 120 u8 hotspotname[64]; 121 } nnacHotspotSubset; 122 123 #ifdef __cplusplus 124 125 namespace nn { 126 namespace ac { 127 namespace CTR { 128 129 /*! 130 * @brief 接続対象とするAPの種別を示す列挙体です。 131 */ 132 enum ApType 133 { 134 AP_TYPE_NONE = 0, //!< なし 135 AP_TYPE_USER_SETTING_1 = 1 << 0, //!< ネットワーク設定1 136 AP_TYPE_USER_SETTING_2 = 1 << 1, //!< ネットワーク設定2 137 AP_TYPE_USER_SETTING_3 = 1 << 2, //!< ネットワーク設定3 138 AP_TYPE_NINTENDO_WIFI_USB_CONNECTOR = 1 << 3, //!< ニンテンドーWi-Fi USBコネクタ 139 AP_TYPE_NINTENDO_ZONE = 1 << 4, //!< ニンテンドーゾーン 140 AP_TYPE_WIFI_STATION = 1 << 5, //!< Wi-Fiステーション 141 AP_TYPE_FREESPOT = 1 << 6, //!< FreeSpot 142 AP_TYPE_HOTSPOT = 1 << 7, //!< ホットスポット 143 144 AP_TYPE_ALL = 0x7FFFFFFF //!< 全て 145 }; 146 147 /*! 148 * @brief 接続するAPに要求する接続レベルを示す列挙体です。 149 */ 150 enum NetworkArea 151 { 152 NETWORK_AREA_WAN = 0, //!< WAN接続必須 153 NETWORK_AREA_AUTO = 1, //!< WAN接続推奨。LAN接続でも可 154 NETWORK_AREA_LAN = 2 //!< LAN接続のみで可 155 }; 156 157 /*! 158 * @brief アクセスポイントの認証方式を示す列挙体です。 159 */ 160 enum SecurityMode 161 { 162 OPEN, //!< オープン認証 163 WEP_40BIT, //!< WEP 40bit 164 WEP_104BIT, //!< WEP 104bit 165 WEP_128BIT, //!< WEP 128bit 166 WPA_TKIP, //!< WPA TKIP 167 WPA2_TKIP, //!< WPA2 TKIP 168 WPA_AES, //!< WPA AES 169 WPA2_AES //!< WPA2 AES 170 }; 171 172 /*! 173 * @brief ACの現在の処理ステートを示す列挙体です。 174 */ 175 enum Status 176 { 177 STATUS_NONE = 0, //!< なし 178 STATUS_IDLE = 1, //!< 未接続状態 179 STATUS_LAN_CONNECTED = 2, //!< LAN接続状態 180 STATUS_WAN_CONNECTED = 3, //!< WAN接続状態 181 182 STATUS_ACTIVE_SCAN = 100, //!< 即時接続中 183 STATUS_PASSIVE_SCAN = 101, //!< 全チャンネルスキャン中 184 STATUS_CONNECT_AP = 102, //!< AP接続中 185 STATUS_GET_IP_ADDRESS = 103, //!< IPアドレス取得中 186 STATUS_CONNTEST = 200, //!< 接続テスト中 187 STATUS_AUTH_HOTSPOT = 201, //!< ホットスポット認証中 188 STATUS_DISCONNECT_AP = 300 //!< AP切断中 189 }; 190 191 /*! 192 @brief 通信品質(リンクレベル) を表す列挙型です。 193 */ 194 enum LinkLevel 195 { 196 LINK_LEVEL_0 = 0, //!< 非常に通信品質が悪い、もしくは通信が成立していない 197 LINK_LEVEL_1, //!< 通信品質が悪い 198 LINK_LEVEL_2, //!< 通信品質があまり良くない 199 LINK_LEVEL_3 //!< 通信品質がよい 200 }; 201 202 /*! 203 * @brief 自動接続設定を格納する構造体です。 204 */ 205 typedef nnacConfig Config; 206 207 /*! 208 * @brief ニンテンドーゾーンビーコン情報を格納する構造体です。 209 */ 210 typedef nnacNintendoZoneBeaconSubset NintendoZoneBeaconSubset; 211 212 /*! 213 * @brief ホットスポット情報を格納する構造体です。 214 */ 215 typedef nnacHotspotSubset HotspotSubset; 216 217 } // namespace CTR 218 } // namespace ac 219 } // namespace nn 220 221 #endif // __cplusplus 222 223 #endif //NN_AC_CTR_AC_TYPES_H_ 224