/* Please see man pages for details */ #ifndef NN_VOICESEL_CTR_VOICESEL_API_H_ #define NN_VOICESEL_CTR_VOICESEL_API_H_ #include #include #include #ifdef __cplusplus namespace nn { namespace voicesel { namespace CTR { // const u32 VERSION = 0; /* Please see man pages for details */ enum ReturnCode { // RETURN_CODE_UNKNOWN = -1, // RETURN_CODE_INVALID_CONFIG = -2, // RETURN_CODE_OUT_OF_MEMORY = -3, // RETURN_CODE_NONE = 0, // RETURN_CODE_SUCCESS = 1, // RETURN_CODE_HOME_BUTTON = 10, // RETURN_CODE_SOFTWARE_RESET = 11, // RETURN_CODE_POWER_BUTTON = 12, // RETURN_CODE_PARENTAL_CONTROLS_SUCCESS = 20, // RETURN_CODE_PARENTAL_CONTROLS_FAILURE = 21, RETURN_CODE_MAX_BIT = (s32)(1u << 31) }; /* Please see man pages for details */ enum FilterFillType { // FILTER_FILL_TYPE_ALL = 0, // FILTER_FILL_TYPE_100_LT = 1, // FILTER_FILL_TYPE_75_LT = 2, // FILTER_FILL_TYPE_50_LT = 3, // FILTER_FILL_TYPE_25_LT = 4 }; /* Please see man pages for details */ struct Config { //---------------------------------------- // // /* Please see man pages for details */ bool homeButton; /* Please see man pages for details */ bool softwareReset; u8 padding1[6]; /* Please see man pages for details */ u8 reserved[32-8]; // }; NN_STATIC_ASSERT( sizeof(Config) == 32 ); /* Please see man pages for details */ struct Input { // static const std::size_t MAX_TITLE_LENGTH = 63; //---------------------------------------- // // /* Please see man pages for details */ wchar_t titleText[ MAX_TITLE_LENGTH+1 ]; /* Please see man pages for details */ FilterFillType filterFillType; /* Please see man pages for details */ u8 reserved[ 256-sizeof(wchar_t)*(MAX_TITLE_LENGTH+1)-1 ]; // }; NN_STATIC_ASSERT( sizeof(Input) == 256 ); /* Please see man pages for details */ struct Output { // static const std::size_t MAX_FILE_PATH_LENGTH = nn::fs::MAX_FILE_PATH_LENGTH; //---------------------------------------- // // /* Please see man pages for details */ ReturnCode returnCode; /* Please see man pages for details */ wchar_t filePath[ MAX_FILE_PATH_LENGTH+1 ]; /* Please see man pages for details */ u8 reserved[ 1024-4-sizeof(wchar_t)*(MAX_FILE_PATH_LENGTH+1) ]; // }; NN_STATIC_ASSERT( sizeof(Output) == 1024 ); /* Please see man pages for details */ struct Parameter { /* Please see man pages for details */ u32 version; /* Please see man pages for details */ Config config; /* Please see man pages for details */ Input input; /* Please see man pages for details */ Output output; }; /* Please see man pages for details */ extern void InitializeParameter( Parameter* pParameter ); extern bool PreloadVoiceSel(); extern bool CancelPreloadVoiceSel(); extern void WaitForPreloadVoiceSel(); extern bool IsRegisteredVoiceSel(); extern nn::applet::AppletWakeupState StartVoiceSel( Parameter* pParameter ); }}} #endif // __cplusplus #endif // ifndef NN_VOICESEL_CTR_VOICESEL_API_H_