/*---------------------------------------------------------------------------* Copyright (C) Nintendo. 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. *---------------------------------------------------------------------------*/ // sciEnum.h // // Declares enums #ifndef _CAFE_SCI_ENUM_H_ #define _CAFE_SCI_ENUM_H_ #include #ifdef __cplusplus extern "C" { #endif // __cplusplus /// \brief Status of API /// typedef enum _SCIStatus { SCI_STATUS_SUCCESS = 1, ///< Success SCI_STATUS_FAIL = 0, ///< Fail SCI_STATUS_READ_ERROR = -1, ///< Error reading system file SCI_STATUS_WRITE_ERROR = -2, ///< Error writing system file SCI_STATUS_FILE_NOT_FOUND = -3, ///< File is not found SCI_STATUS_ITEM_NOT_FOUND = -4, ///< Item is not found in system file SCI_STATUS_ACCOUNT_NOT_FOUND = -5, ///< Passed account is not found SCI_STATUS_INVALID_SIZE = -6, ///< Passed buffer size is invalid SCI_STATUS_INVALID_PARAM = -7, ///< Passed parameter is invalid SCI_STATUS_COMPAT_ERROR = -8, ///< Error happens at transition to compat mode SCI_STATUS_FATAL_ERROR = -255, ///< Fatal internal error } SCIStatus; /// \brief Boolean /// typedef u8 SCIBoolean; #define SCI_FALSE FALSE #define SCI_TRUE TRUE #define SCI_DISABLE SCI_FALSE #define SCI_ENABLE SCI_TRUE #define SCI_INVALID SCI_FALSE #define SCI_VALID SCI_TRUE #define SCI_ALLOWED SCI_FALSE #define SCI_FORBIDDEN SCI_TRUE /// \brief Platform Region /// typedef enum SCIPlatformRegion { SCI_PLATFORM_REGION_JPN = 0x00000001, ///< Japan SCI_PLATFORM_REGION_USA = 0x00000002, ///< United States of America SCI_PLATFORM_REGION_EUR = 0x00000004, ///< Europa SCI_PLATFORM_REGION_AUS = 0x00000008, ///< Australia (Obsolete) SCI_PLATFORM_REGION_CHN = 0x00000010, ///< China SCI_PLATFORM_REGION_KOR = 0x00000020, ///< Korea SCI_PLATFORM_REGION_TWN = 0x00000040, ///< Taiwan SCI_PLATFORM_REGION_FIRST = SCI_PLATFORM_REGION_JPN, SCI_PLATFORM_REGION_LAST = SCI_PLATFORM_REGION_TWN, SCI_PLATFORM_REGION_INVALID = 0x00000000 ///< Invalid platform region } SCIPlatformRegion; /// \brief Languages /// typedef enum _SCICafeLanguage { SCI_CAFE_LANGUAGE_JAPANESE = 0, ///< Japanese SCI_CAFE_LANGUAGE_ENGLISH = 1, ///< English SCI_CAFE_LANGUAGE_FRENCH = 2, ///< French SCI_CAFE_LANGUAGE_GERMAN = 3, ///< German SCI_CAFE_LANGUAGE_ITALIAN = 4, ///< Italian SCI_CAFE_LANGUAGE_SPANISH = 5, ///< Spanish SCI_CAFE_LANGUAGE_CHINESE = 6, ///< Chinese SCI_CAFE_LANGUAGE_KOREAN = 7, ///< Korean SCI_CAFE_LANGUAGE_DUTCH = 8, ///< Dutch SCI_CAFE_LANGUAGE_PORTUGUESE = 9, ///< Portuguese SCI_CAFE_LANGUAGE_RUSSIAN = 10, ///< Russian SCI_CAFE_LANGUAGE_TAIWANESE = 11, ///< Taiwanese SCI_CAFE_LANGUAGE_FIRST = SCI_CAFE_LANGUAGE_JAPANESE, SCI_CAFE_LANGUAGE_LAST = SCI_CAFE_LANGUAGE_TAIWANESE, SCI_CAFE_LANGUAGE_INVALID = 255 ///< Invalid language setting } SCICafeLanguage; /// \brief Devices /// typedef enum _SCIDeviceType { SCI_DEVICE_TYPE_DISC = 0, ///< Disc SCI_DEVICE_TYPE_NAND = 1, ///< Nand SCI_DEVICE_TYPE_USB = 2, ///< USB Stroage SCI_DEVICE_TYPE_INVALID = 255 ///< Invalid device type } SCIDeviceType; /// \brief Restriction Level /// typedef u8 SCIRestrictionLevel; #define SCI_RESTRICTION_LEVEL_0 0 ///< No restriction #define SCI_RESTRICTION_LEVEL_1 1 ///< Part of restriction #define SCI_RESTRICTION_LEVEL_2 2 ///< Full restriction /// \brief Parent Pin length /// /// includes '\0' /// #define SCI_PARENT_PIN_LENGTH (4 + 1) /// \brief Max number of country. /// #define SCI_CAFE_COUNTRY_MAX (255) /// \brief Max size of country name. /// /// includes '\0'. /// #define SCI_CAFE_COUNTRY_NAME_SIZE_MAX (192) /// \brief Max size of area name. /// /// includes '\0'. /// #define SCI_CAFE_AREA_NAME_SIZE_MAX (192) /// \brief Structure holding area info with name as utf-8 string /// typedef struct _SCICafeAreaInfo { char name[SCI_CAFE_AREA_NAME_SIZE_MAX]; u16 latitude; u16 longitude; } SCICafeAreaInfo; /// \brief Structure holding area info with name as utf-16 string /// typedef struct _SCICafeAreaInfoUtf16 { wchar_t name[SCI_CAFE_AREA_NAME_SIZE_MAX / 3]; u16 latitude; u16 longitude; } SCICafeAreaInfoUtf16; /// \brief Maximum number of titles that does not appear in quick start menu. /// #define SCI_CAFFINE_INVISIBLE_TITLE_MAX (64) /// \brief Maximum number of error logs. /// #define SCI_MAX_ERRORLOG_IDX 100 /// \brief Index of latest error log. /// #define SCI_LAST_ERRORLOG_IDX 0 /// \brief Maximum size of an error log. /// #define SCI_MAX_ERRORLOG_SIZE (32*1024) #ifdef __cplusplus } #endif // __cplusplus #endif // _CAFE_SCI_ENUM_H_