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-11-3#$ 14 $Rev: 32066 $ 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 通信品質(リンクレベル) を表す列挙型です。 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 /*! 77 * @brief 自動接続設定を格納する構造体です。 78 */ 79 typedef struct nnacConfig 80 { 81 u8 value[512]; 82 } nnacConfig; 83 84 /*! 85 * @brief ニンテンドーゾーンビーコン情報を格納する構造体です。 86 */ 87 typedef struct nnacNintendoZoneBeaconSubset 88 { 89 u8 apnum[10]; 90 NN_PADDING2; 91 u8 hotspotname[24]; 92 } nnacNintendoZoneBeaconSubset; 93 94 /*! 95 * @brief ホットスポット情報を格納する構造体です。 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 /*! 111 * @brief 接続対象とするAPの種別を示す列挙体です。 112 */ 113 enum ApType 114 { 115 AP_TYPE_NONE = 0, //!< なし 116 AP_TYPE_USER_SETTING_1 = 1 << 0, //!< ネットワーク設定1 117 AP_TYPE_USER_SETTING_2 = 1 << 1, //!< ネットワーク設定2 118 AP_TYPE_USER_SETTING_3 = 1 << 2, //!< ネットワーク設定3 119 AP_TYPE_NINTENDO_WIFI_USB_CONNECTOR = 1 << 3, //!< ニンテンドーWi-Fi USBコネクタ 120 AP_TYPE_NINTENDO_ZONE = 1 << 4, //!< ニンテンドーゾーン 121 AP_TYPE_WIFI_STATION = 1 << 5, //!< Wi-Fiステーション 122 AP_TYPE_FREESPOT = 1 << 6, //!< FreeSpot 123 AP_TYPE_HOTSPOT = 1 << 7, //!< ホットスポット 124 125 AP_TYPE_ALL = 0x7FFFFFFF //!< 全て 126 }; 127 128 /*! 129 * @brief 接続するAPに要求する接続レベルを示す列挙体です。 130 */ 131 enum NetworkArea 132 { 133 NETWORK_AREA_WAN = 0, //!< WAN接続必須 134 NETWORK_AREA_AUTO = 1, //!< WAN接続推奨。LAN接続でも可 135 NETWORK_AREA_LAN = 2 //!< LAN接続のみで可 136 }; 137 138 /*! 139 * @brief アクセスポイントの認証方式を示す列挙体です。 140 */ 141 enum SecurityMode 142 { 143 OPEN, //!< オープン認証 144 WEP_40BIT, //!< WEP 40bit 145 WEP_104BIT, //!< WEP 104bit 146 WEP_128BIT, //!< WEP 128bit 147 WPA_TKIP, //!< WPA TKIP 148 WPA2_TKIP, //!< WPA2 TKIP 149 WPA_AES, //!< WPA AES 150 WPA2_AES //!< WPA2 AES 151 }; 152 153 /*! 154 @brief 通信品質(リンクレベル) を表す列挙型です。 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 /*! 165 * @brief 自動接続設定を格納する構造体です。 166 */ 167 typedef nnacConfig Config; 168 169 /*! 170 * @brief ニンテンドーゾーンビーコン情報を格納する構造体です。 171 */ 172 typedef nnacNintendoZoneBeaconSubset NintendoZoneBeaconSubset; 173 174 /*! 175 * @brief ホットスポット情報を格納する構造体です。 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