1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: cfg_UserInfo.h 4 5 Copyright (C)2009 Nintendo Co., Ltd. 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 $Rev: 26506 $ 14 *---------------------------------------------------------------------------*/ 15 16 #ifndef NN_CFG_CTR_CFG_USER_INFO_H_ 17 #define NN_CFG_CTR_CFG_USER_INFO_H_ 18 19 #include <nn/fnd.h> 20 21 namespace nn { 22 namespace cfg { 23 namespace CTR { 24 25 /*---------------------------------------------------------------------------* 26 * ユーザ情報 27 *---------------------------------------------------------------------------*/ 28 /*! 29 @brief ユーザ名の最大文字列長です。(終端文字を含みます) 30 */ 31 const u8 CFG_USER_NAME_LENGTH = 11; 32 33 /*! 34 @brief ユーザ名を表す構造体です。 35 */ 36 struct UserName 37 { 38 wchar_t userName[CFG_USER_NAME_LENGTH]; //!< ユーザ名です。 39 bool isNgUserName; //!< ユーザ名に NG ワードが含まれるかどうかを表します。 NG ワードが含まれている場合には true になります。 40 NN_PADDING1; 41 }; 42 43 /*! 44 @brief 誕生日を表す構造体です。 45 */ 46 struct Birthday 47 { 48 s8 month; //!< 誕生日の月 (1-12) が格納されます。 49 s8 day; //!< 誕生日の日 (1-31) が格納されます。 50 }; 51 52 53 /*---------------------------------------------------------------------------* 54 * 簡易アドレス情報 55 *---------------------------------------------------------------------------*/ 56 /*! 57 @brief SimpleAddress の ID 内の国コードの格納位置を表します。 58 */ 59 const u8 CFG_SIMPLE_ADDRESS_ID_COUNTRY_SHIFT = 24; 60 /*! 61 @brief SimpleAddress の ID 内のリージョンコードの格納位置を表します。 62 */ 63 const u8 CFG_SIMPLE_ADDRESS_ID_REGION_SHIFT = 16; 64 /*! 65 @brief SimpleAddress の ID の国コードのマスクです。 66 */ 67 const u32 CFG_SIMPLE_ADDRESS_ID_COUNTRY_MASK = 0xffU << CFG_SIMPLE_ADDRESS_ID_COUNTRY_SHIFT; 68 /*! 69 @brief SimpleAddress の ID のリージョンコードのマスクです。 70 */ 71 const u32 CFG_SIMPLE_ADDRESS_ID_REGION_MASK = 0xffU << CFG_SIMPLE_ADDRESS_ID_REGION_SHIFT; 72 /*! 73 @brief SimpleAddress の ID の予約領域のマスクです。 74 */ 75 const u32 CFG_SIMPLE_ADDRESS_ID_RESERVED_MASK = 0x0000ffff; 76 77 /*! 78 @brief SimpleAddress の 未定義の ID です。 79 */ 80 const u32 CFG_SIMPLE_ADDRESS_ID_NOT_DEFINED = 0xffffffff; 81 /*! 82 @brief SimpleAddress の 未定義の国コードです。 83 */ 84 const u32 CFG_SIMPLE_ADDRESS_ID_COUNTRY_UNDEFINED = 0x00U << CFG_SIMPLE_ADDRESS_ID_COUNTRY_SHIFT; 85 /*! 86 @brief SimpleAddress の 未定義の国コードです。 87 */ 88 const u32 CFG_SIMPLE_ADDRESS_ID_COUNTRY_UNDEFINED2 = 0xffU << CFG_SIMPLE_ADDRESS_ID_COUNTRY_SHIFT; 89 /*! 90 @brief SimpleAddress の 未定義のリージョンコードです。 91 */ 92 const u32 CFG_SIMPLE_ADDRESS_ID_REGION_UNDEFINED = 0x00U << CFG_SIMPLE_ADDRESS_ID_REGION_SHIFT; 93 /*! 94 @brief SimpleAddress の 未定義のリージョンコードです。 95 */ 96 const u32 CFG_SIMPLE_ADDRESS_ID_REGION_UNDEFINED2 = 0xffU << CFG_SIMPLE_ADDRESS_ID_REGION_SHIFT; 97 98 /*! 99 @brief 簡易アドレス情報の国名・リージョン名の言語数です。 100 */ 101 const u8 CFG_SIMPLE_ADDRESS_NUM_LANGUAGES = 16; 102 /*! 103 @brief 簡易アドレス情報の国名・リージョン名の最大文字列長です。 104 */ 105 const u8 CFG_SIMPLE_ADDRESS_NAME_LENGTH = 64; 106 107 /*! 108 @brief 簡易アドレス情報を表す構造体です。 109 */ 110 struct SimpleAddress 111 { 112 u32 id; //!< 簡易アドレス情報の ID です。 113 wchar_t countryName[CFG_SIMPLE_ADDRESS_NUM_LANGUAGES][CFG_SIMPLE_ADDRESS_NAME_LENGTH]; //!< 各言語の国名です。 114 wchar_t regionName [CFG_SIMPLE_ADDRESS_NUM_LANGUAGES][CFG_SIMPLE_ADDRESS_NAME_LENGTH]; //!< 各言語のリージョン名です。 115 u16 latitude; //!< 緯度。値の範囲は0x0000-0x4000(0°~+90°)、0xC000-0xFFFF(-90°~-0.005°)。「+(プラス)」は北緯、「-(マイナス)」は南緯を表します。 116 u16 longitude; //!< 経度。値の範囲は0x0000-0x7FFF(0°~+179.995°)、0x8000-0xFFFF(-180°~-0.005°)。「+(プラス)」は東経、「-(マイナス)」は西経を表します。 117 }; 118 119 } // end of namespace CTR 120 } // end of namespace cfg 121 } // end of namespace nn 122 123 #endif // NN_CFG_CTR_CFG_USER_INFO_H_ 124