/*---------------------------------------------------------------------------* Project: Horizon File: cfg_UserInfo.h Copyright (C)2009 Nintendo Co., Ltd. All rights reserved. These coded instructions, statements, and computer programs contain proprietary information of Nintendo of America Inc. and/or Nintendo Company Ltd., and are protected by Federal copyright law. They may not be disclosed to third parties or copied or duplicated in any form, in whole or in part, without the prior written consent of Nintendo. $Rev: 26506 $ *---------------------------------------------------------------------------*/ #ifndef NN_CFG_CTR_CFG_USER_INFO_H_ #define NN_CFG_CTR_CFG_USER_INFO_H_ #include namespace nn { namespace cfg { namespace CTR { /*---------------------------------------------------------------------------* * ユーザ情報 *---------------------------------------------------------------------------*/ /*! @brief ユーザ名の最大文字列長です。(終端文字を含みます) */ const u8 CFG_USER_NAME_LENGTH = 11; /*! @brief ユーザ名を表す構造体です。 */ struct UserName { wchar_t userName[CFG_USER_NAME_LENGTH]; //!< ユーザ名です。 bool isNgUserName; //!< ユーザ名に NG ワードが含まれるかどうかを表します。 NG ワードが含まれている場合には true になります。 NN_PADDING1; }; /*! @brief 誕生日を表す構造体です。 */ struct Birthday { s8 month; //!< 誕生日の月 (1-12) が格納されます。 s8 day; //!< 誕生日の日 (1-31) が格納されます。 }; /*---------------------------------------------------------------------------* * 簡易アドレス情報 *---------------------------------------------------------------------------*/ /*! @brief SimpleAddress の ID 内の国コードの格納位置を表します。 */ const u8 CFG_SIMPLE_ADDRESS_ID_COUNTRY_SHIFT = 24; /*! @brief SimpleAddress の ID 内のリージョンコードの格納位置を表します。 */ const u8 CFG_SIMPLE_ADDRESS_ID_REGION_SHIFT = 16; /*! @brief SimpleAddress の ID の国コードのマスクです。 */ const u32 CFG_SIMPLE_ADDRESS_ID_COUNTRY_MASK = 0xffU << CFG_SIMPLE_ADDRESS_ID_COUNTRY_SHIFT; /*! @brief SimpleAddress の ID のリージョンコードのマスクです。 */ const u32 CFG_SIMPLE_ADDRESS_ID_REGION_MASK = 0xffU << CFG_SIMPLE_ADDRESS_ID_REGION_SHIFT; /*! @brief SimpleAddress の ID の予約領域のマスクです。 */ const u32 CFG_SIMPLE_ADDRESS_ID_RESERVED_MASK = 0x0000ffff; /*! @brief SimpleAddress の 未定義の ID です。 */ const u32 CFG_SIMPLE_ADDRESS_ID_NOT_DEFINED = 0xffffffff; /*! @brief SimpleAddress の 未定義の国コードです。 */ const u32 CFG_SIMPLE_ADDRESS_ID_COUNTRY_UNDEFINED = 0x00U << CFG_SIMPLE_ADDRESS_ID_COUNTRY_SHIFT; /*! @brief SimpleAddress の 未定義の国コードです。 */ const u32 CFG_SIMPLE_ADDRESS_ID_COUNTRY_UNDEFINED2 = 0xffU << CFG_SIMPLE_ADDRESS_ID_COUNTRY_SHIFT; /*! @brief SimpleAddress の 未定義のリージョンコードです。 */ const u32 CFG_SIMPLE_ADDRESS_ID_REGION_UNDEFINED = 0x00U << CFG_SIMPLE_ADDRESS_ID_REGION_SHIFT; /*! @brief SimpleAddress の 未定義のリージョンコードです。 */ const u32 CFG_SIMPLE_ADDRESS_ID_REGION_UNDEFINED2 = 0xffU << CFG_SIMPLE_ADDRESS_ID_REGION_SHIFT; /*! @brief 簡易アドレス情報の国名・リージョン名の言語数です。 */ const u8 CFG_SIMPLE_ADDRESS_NUM_LANGUAGES = 16; /*! @brief 簡易アドレス情報の国名・リージョン名の最大文字列長です。 */ const u8 CFG_SIMPLE_ADDRESS_NAME_LENGTH = 64; /*! @brief 簡易アドレス情報を表す構造体です。 */ struct SimpleAddress { u32 id; //!< 簡易アドレス情報の ID です。 wchar_t countryName[CFG_SIMPLE_ADDRESS_NUM_LANGUAGES][CFG_SIMPLE_ADDRESS_NAME_LENGTH]; //!< 各言語の国名です。 wchar_t regionName [CFG_SIMPLE_ADDRESS_NUM_LANGUAGES][CFG_SIMPLE_ADDRESS_NAME_LENGTH]; //!< 各言語のリージョン名です。 u16 latitude; //!< 緯度。値の範囲は0x0000-0x4000(0°~+90°)、0xC000-0xFFFF(-90°~-0.005°)。「+(プラス)」は北緯、「-(マイナス)」は南緯を表します。 u16 longitude; //!< 経度。値の範囲は0x0000-0x7FFF(0°~+179.995°)、0x8000-0xFFFF(-180°~-0.005°)。「+(プラス)」は東経、「-(マイナス)」は西経を表します。 }; } // end of namespace CTR } // end of namespace cfg } // end of namespace nn #endif // NN_CFG_CTR_CFG_USER_INFO_H_