/*---------------------------------------------------------------------------* Project: Horizon File: boss_Const.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: 31623 $ *---------------------------------------------------------------------------*/ #ifndef NN_BOSS_BOSS_CONST_H_ #define NN_BOSS_BOSS_CONST_H_ #include #ifdef __cplusplus namespace nn { namespace boss { /*! @brief NSDのデータ種別です。 */ static const bit32 DATA_TYPE_ALL = 0xffffffff; //!< すべてのデータ種別 static const bit32 DATA_TYPE_APPDATA = 0x00010000; //!< アプリ用のデータ種別 static const bit32 DATA_TYPE_NEWS = 0x00020000; //!< ニュース用データ種別 static const bit32 DATA_TYPE_EXBANNER = 0x00040000; //!< バナー用データ種別 /*! @brief BOSSシステムの定数です。 */ static const u32 MAX_FILEPATH_LENGTH = 256; //!< ファイルパス最大長 static const u32 MAX_URL_LENGTH = 512; //!< URLの最大長/ static const u32 MAX_HTTP_HEADER_LABEL = 32; //!< HTTPヘッダラベルの最大長 static const u32 MAX_HTTP_HEADER_VALUE = 256; //!< HTTPヘッダ値の最大長 static const u32 MAX_HTTP_HEADER = 3; //!< 登録可能なヘッダ最大個数 static const u32 MAX_ROOT_CA = 3; //!< 設定可能な内蔵RootCA証明書の最大数 static const u32 MAX_CLIENT_CERT = 1; //!< 設定可能な内蔵クライアント証明書の最大数 static const u32 TASK_ID_LENGTH = 8; //!< ゼロ終端文字を含むタスクIDの最大文字数 static const u32 MAX_ERROR_MESSAGE = 256; //!< エラーメッセージの最大文字数 static const u32 MAX_APPLICATION_ID = 128; //!< 登録可能なアプリIDの最大個数 static const u32 MAX_TASK_ID = 256; //!< 登録可能なタスクIDの最大個数 static const u32 MAX_STEP_ID = 255; //!< 1つのタスクに登録可能なタスクステップの最大個数 static const u32 CURRENT_STEP_ID = MAX_STEP_ID; //!< 実行中のタスクステップのID static const u32 DEFAULT_STEP_ID = 0; //!< ステップIDの指定を省略する場合のタスクステップID static const u32 U32_CANNOT_GET_DATA = 0xFFFFFFFF; //!< u32を返す関数で値が取得できない場合の戻り値 static const u32 MAX_LASTMODIFIED_LENGTH = 64; //!< HTTP通信における更新日時の最大文字数 static const u32 UNLIMITED_COUNT = 0xFFFFFFFF; //!< 無限の消尽回数の指定値 /*! @brief ファイルの読み書きの位置を指定することを示す定数群です。 */ enum PositionBase { /*! @brief ファイルの先頭を基準としてファイルのカレント位置を設定することを示す定数です。 */ POSITION_BASE_BEGIN, /*! @brief ファイルのカレント位置を基準としてファイルのカレント位置を設定することを示す定数です。 */ POSITION_BASE_CURRENT, /*! @brief ファイルの末尾を基準としてファイルのカレント位置を設定することを示す定数です。 */ POSITION_BASE_END }; /*! @brief プロパティを指定する定数群です。 */ enum PropertyType { /*! @brief TaskPolicyの属性を参照するための定数です。 */ TASK_PRIORITY, //!< タスク登録時のタスク実行優先順位。データの型は、TaskPriorityです。 TASK_SCHEDULING_POLICY, //!< タスクのスケジューリングポリシー。データの型は、SchedulingPolicyです。 TASK_TARGET_DURATION, //!< 目標とするタスク実行時間。データの型は、u32(秒)です。(将来的な拡張用ですので使用できません) TASK_EXEC_INTERVAL, //!< タスクの実行間隔。データの型は、u32(秒)です。 TASK_EXEC_COUNT, //!< タスクの消尽回数。データの型は、u16です。 TASK_PERMISSION, //!< タスク実行に伴うペアレンタルコントロール・EULAパーミッションの制御設定。データの型は、TaskPermission です。 /*! @brief TaskActionの属性を参照するための定数です。 */ ACTION_CODE, //!< タスクの種別コード。データの型は、Action です。 ACTION_URL, //!< 対象のURL。データの型は、char[MAX_URL_LENGTH] です。 ACTION_OFFSET, //!< URLで指定したデータの先頭位置オフセット。データの型は、u32 です。 ACTION_FILEDESC, //!< ファイル識別子のタイプ。データの型は、FileDescriptor です。 ACTION_FILEPATH, //!< ダウンロード先のファイルパス。データの型は、char[MAX_FILEPATH_LENGTH] です。 ACTION_FILEPATH_W, //!< ダウンロード先のファイルパス。データの型は、wchar_t[MAX_FILEPATH_LENGTH] です。 ACTION_FILE_HANDLE, //!< ダウンロード先のファイルハンドル。データの型は、nn::Handle です。 ACTION_HTTP_HEADER, //!< URLのオプションリクエストヘッダ構造体。データの型は、struct httpRequestHeader[MAX_HTTP_HEADER] です。 ACTION_CLIENT_CERT, //!< https通信用の内蔵クライアント証明書。データの型は、nn::http::InternalClientCertId[MAX_CLIENT_CERT] です。 ACTION_ROOT_CA, //!< https通信用の内蔵ルート証明書。データの型は、nn::http::InternalCaCertId です。 ACTION_PRIVATE_CLIENT_CERT, //!< プライベートクライアント証明書の有効フラグ。データの型は、u8 です。 ACTION_PRIVATE_ROOT_CA, //!< プライベートルート証明書の有効フラグ。データの型は、u8 です。 ACTION_AP_INFO, //!< HTTPクエリーへAP情報付与のためのアクセスポイント情報種別。データの型は、ApInfoType です。 ACTION_CLIENT_CERT_NUM, //!< 内蔵クライアント証明書の設定数。データの型は、u32 です。 ACTION_ROOT_CA_NUM, //!< 内蔵ルート証明書を指定の設定数。データの型は、u32 です。 ACTION_LAST_MODIFIED_TIME, //!< HTTPリクエストヘッダに設定する最終更新日時。データの型は、char[MAX_LASTMODIFIED_LENGTH] です。 ACTION_SERIAL_ID, //!< 起動タスク用のタイトルID。データの型は、nn::fs::TitleId です。(将来的な拡張用ですので使用できません) SIGNAL_TASK_EVENT, //!< 起動タスク用のイベント。データの型は、nn::os::Event* です。(将来的な拡張用ですので使用できません) /*! @brief TaskOptionの属性を参照するための定数です。 */ TASK_EXEC_OPTION, //!< タスク実行オプション。データの型は、ExecOption です。 TASK_STEP, //!< タスクステップのID番号。データの型は、u8 です。 TASK_OPTION_TARGET_STEP, //!< タスクステップのオプションID番号。データの型は、u8 です。(将来的な拡張用ですので使用できません) TASK_OPTION_PARAM1, //!< タスクステップ実行のオプションパラメータ1。データの型は、u32 です。(将来的な拡張用ですので使用できません) TASK_OPTION_PARAM2, //!< タスクステップ実行のオプションパラメータ2。データの型は、u32 です。(将来的な拡張用ですので使用できません) /*! @brief TaskStatusの属性を参照するための定数です。 */ TASK_STATE_CODE, //!< タスクの状態情報。データの型は、TaskStateCode です。 TASK_STATE_RESUME, //!< 内部的なタスクの状態情報。データの型は、TaskStateCode です。 TASK_RESULT_CODE, //!< タスク実行結果コード。データの型は、TaskResultCode です。 TASK_SERVICE_STATUS, //!< タスク属性で指定したURLのサービス利用可能ステータス。データの型は、TaskServiceStatus です。 TASK_SERVICE_TERMINATED, //!< タスク属性で指定したURLのサービス利用可能フラグ。データの型は、bool です。 TASK_COMM_ERROR_CODE, //!< タスク実行時の通信エラーコード。データの型は、u32 です。 TASK_CURRENT_PRIORITY, //!< 現在のタスク実行の優先順位。データの型は、u8 です。 TASK_EXECUTE_COUNT, //!< タスクの消尽回数。データの型は、u32 です。 TASK_PENDING_TIME, //!< タスク実行開始予定時刻からの経過時間。データの型は、u32(秒) です。 TASK_REMAIN_TIME, //!< タスク実行までの残り時間。データの型は、u32(秒) です。(将来的な拡張用ですので使用できません) TASK_START_TIME, //!< 2000/1/1を基点としたタスク実行指示時刻。データの型は、s64(ナノ秒) です。 TASK_STEP_START_TIME, //!< 2000/1/1を基点としたタスク実行指示時刻。データの型は、s64(ナノ秒) です。(将来的な拡張用ですので使用できません) TASK_PROGRESS, //!< ダウンロード済みバイト数。データの型は、u32 です。 TASK_DATA_SIZE, //!< ダウンロード対象のURLの総バイト数。データの型は、u32 です。 TASK_CURRENT_STEP, //!< 実行中のタスクステップID番号。データの型は、u8 です。 TASK_ACTIVE_RATE, //!< 平均実行率。データの型は、u16 です。(将来的な拡張用ですので使用できません) TASK_REQUEST_RATE, //!< 平均通信リクエスト率。データの型は、u16 です。(将来的な拡張用ですので使用できません) TASK_LAST_MODIFIED_TIME, //!< HTTPレスポンスヘッダで返された最終更新日時。データの型は、char[MAX_LASTMODIFIED_LENGTH] です。 /*! @brief TaskErrorの属性を参照するための定数です。 */ TASK_ERROR_RESULT_CODE, //!< タスク実行結果コード。データの型は、TaskResultCode です。 TASK_ERROR_CODE, //!< タスク実行時の通信エラーコード。データの型は、u32 です。 TASK_ERROR_MESSAGE, //!< タスク実行時の通信エラーメッセージ。データの型は、char[MAX_ERROR_MESSAGE] です。(将来的な拡張用ですので使用できません) /*! @brief ApplicationIdListの属性を参照するための定数です。(内部処理用の列挙子です。) */ TASK_APPID_LIST_SIZE, //!< ApplicationIdListクラス用の内部サイズ。データの型は、u16 です。(内部処理用の列挙子です。) TASK_APPID_LIST, //!< ApplicationIdListクラス用の内部アプリケーションIDリスト。データの型は、AppIdType[MAX_APPLICATION_ID] です。(内部処理用の列挙子です。) /*! @brief TaskIdListの属性を参照するための定数です。(内部処理用の列挙子です。) */ TASK_TASKID_LIST_SIZE, //!< TaskIdListクラス用の内部サイズ。データの型は、u16 です。(内部処理用の列挙子です。) TASK_TASKID_LIST, //!< TaskIdListクラス用の内部タスクIDリスト。データの型は、u8[MAX_TASK_ID][TASK_ID_LENGTH] です。(内部処理用の列挙子です。) /*! @brief StepIdListの属性を参照するための定数です。(内部処理用の列挙子です。) */ TASK_STEPID_LIST_SIZE, //!< StepIdListクラス用の内部サイズ。データの型は、u16 です。(内部処理用の列挙子です。) TASK_STEPID_LIST, //!< StepIdListクラス用の内部タスクステップIDリスト。データの型は、u8[MAX_TASK_ID] です。(内部処理用の列挙子です。) /*! @brief NsDataIdListの属性を参照するための定数です。(内部処理用の列挙子です。) */ TASK_NSDATA_LIST_SIZE, //!< NsDataIdListクラス用の内部サイズ。データの型は、u16 です。(内部処理用の列挙子です。) TASK_NSDATA_LIST, //!< NsDataIdListクラス用の内部NsDataリスト。データの型は、u32[serialSize] です。(内部処理用の列挙子です。) /*! @brief 内部処理用の定数です。 */ ACTION_SIGNAL_TASK_EVENT, //!< 起動タスク用のイベント。データの型は、nn::os::Event* です。(将来的な拡張用ですので使用できません) ACTION_HTTP_HEADER_VALUE, //!< (内部処理用の列挙子です。) TASK_ID, //!< (内部処理用の列挙子です。) PROPERTY_TYPE_MAX_VALUE = (0x1u << 15) }; /*! @brief スケジューリングポリシーを指定する定数群です。 */ enum SchedulingPolicy { ENUM_POLICY_START, STANDARD_POLICY, //!< 標準のスケジューリングポリシー設定 ENUM_POLICY_END, SCHEDULING_POLICY_MAX_VALUE = (0x1u << 7) }; /*! @brief タスクパーミッションを指定する定数群です。 */ enum TaskPermission { TASK_PERMISSION_IN_NONE = 0, //!< 機器のペアレンタルコントロール状態と、EULA同意状態に従いタスクの実行をする設定値です。 TASK_PERMISSION_IN_EULA_DISAGREEMENT, //!< EULA同意がない場合でもタスクの実行を認める設定値です。 TASK_PERMISSION_IN_PARENTAL_CONTROL, //!< ペアレンタルコントロール状態でもタスクの実行を認める設定値です。 TASK_PERMISSION_IN_BOTH, //!< ペアレンタルコントロール状態でも、EULA同意がない場合でもタスクの実行を認める設定値です。 TASK_PERMISSION_MAX_VALUE = (0x1u << 7) }; /*! @brief タスクのプライオリティを指定する定数群です。 */ enum TaskPriority { PRIORITY_EXPEDITE = 35, //!< 最優先のタスクの実行優先順位設定 PRIORITY_HIGH = 80, //!< 高いタスクの実行優先順位設定 PRIORITY_MEDIUM = 125, //!< 中間タスクの実行優先順位設定 PRIORITY_LOW = 170, //!< 低いタスクの実行優先順位設定 PRIORITY_STOPPED = 255, //!< タスク停止中の実行優先順位設定 PRIORITY_MAX_VALUE = (0x1u << 7) }; /*! @brief タスクアクションを指定する定数群です。 */ enum Action { ENUM_ACTION_START, DOWNLOAD_TASK, //!< RAWダウンロードタスク NSA_DOWNLOAD_TASK, //!< NSAダウンロードタスク UPLOAD_TASK, //!< アップロードタスク SIGNAL_TASK, //!< シグナルタスク ENUM_ACTION_END, ACTION_MAX_VALUE = (0x1u << 7) }; /*! @brief タスク実行オプションを指定する定数群です。 */ enum ExecOption { ENUM_EXECOPTION_START, NORMAL_EXEC, //!< 通常実行 ENUM_EXECOPTION_END, OPTION_MAX_VALUE = (0x1u << 7) }; /*! @brief タスクステートコードの定数群です。 */ enum TaskStateCode { TASK_STOPPED, //!< タスク停止中 TASK_WAITING_TIMER, //!< タスクの開始時刻待ち状態 TASK_WAITING, //!< タスクの実行待ち状態 TASK_RUNNING, //!< タスク実行中 TASK_PAUSED, //!< タスクポーズ中 TASK_REGISTERED, //!< タスクを登録した状態 TASK_DONE, //!< タスク実行完了状態 TASK_ERROR, //!< タスク実行の異常終了 TASK_RETRY, //!< タスク実行中の通信エラーによるリトライ状態 GET_TASK_STATE_ERROR, //!< タスク状態取得エラー STATUS_MAX_VALUE = (0x1u << 7) //!< }; /*! * @brief タスク終了状態。タスク終了後にTask::GetResult()等で取得可能。 */ enum TaskResultCode { TASK_SUCCESS, //!< タスク成功。 BOSS_ERROR_NOMEM, //!< メモリの動的取得失敗 GET_TASK_RESULT_ERROR, //!< タスクリザルトが取得できませんでした。 TASK_NOT_EXIST, //!< 指定されたタスクがありません。 // HTTP通信のエラー HTTP_ERROR_NOMEM, //!< HTTP通信処理で メモリの動的取得に失敗。 HTTP_ERROR_CREATE_EVENT, //!< HTTP通信処理で 内部リソース(イベント)の作成に失敗。 HTTP_ERROR_CREATE_MUTEX, //!< HTTP通信処理で 内部リソース(ミューテックス)の作成に失敗。 HTTP_ERROR_CREATE_QUEUE, //!< HTTP通信処理で 内部リソース(キュー)の作成に失敗。 HTTP_ERROR_CREATE_THREAD, //!< HTTP通信処理で 内部リソース(スレッド)の作成に失敗。 HTTP_ERROR_IPC_SESSION, //!< IPCセッションが不正。 HTTP_ERROR_CLIENT_PROCESS_MAX, //!< 同時利用可能なクライアントプロセス数のクライアントがすでに利用中です。 HTTP_ERROR_IPC_SESSION_MAX, //!< 同時に接続可能なIPCセッション数のセッションがすでに接続されています。 HTTP_ERROR_MSGQ_SEND_LSN, //!< リスナースレッドメッセージキューへの送信失敗。 HTTP_ERROR_MSGQ_RECV_LSN, //!< リスナースレッドメッセージキュー受信失敗。 HTTP_ERROR_MSGQ_SEND_COMM, //!< 通信スレッドメッセージキュー受信失敗。 HTTP_ERROR_CONN_NOMORE, //!< 接続ハンドル登録最大数越え。 HTTP_ERROR_CONN_STATUS, //!< 接続ハンドル不正ステータス。 HTTP_ERROR_CONN_ADD, //!< 接続ハンドル登録失敗。 HTTP_ERROR_CONN_HOST_MAX, //!< 同一ホストへの最大同時接続数越え。 HTTP_ERROR_INVALID_URL, //!< 不正なURL。 HTTP_ERROR_RESPONSE_HEADER, //!< 不正なHTTPヘッダ。 HTTP_ERROR_NO_NEWLINE, //!< HTTPヘッダ次行なし。 HTTP_ERROR_SSL, //!< SSL認証エラー。 HTTP_ERROR_CERT_EXIST, //!< SSL証明書設定済み。(再登録前に削除が必要) HTTP_ERROR_NO_CA_CERT_STORE, //!< SSL 該当するCA証明書ストアが登録されていません。 HTTP_ERROR_NO_CLIENT_CERT, //!< SSL 該当するクライアント証明書が登録されていません。 HTTP_ERROR_CA_CERT_STORE_MAX, //!< SSL プロセスごとのCA証明書ストア同時登録最大数の証明書ストアがすでに登録されています。 HTTP_ERROR_CLIENT_CERT_MAX, //!< SSL プロセスごとのクライアント証明書同時登録最大数の証明書がすでに登録されています。 HTTP_ERROR_FAIL_TO_CREATE_CERT_STORE, //!< SSL 証明書ストアの作成に失敗。 HTTP_ERROR_FAIL_TO_CREATE_CLIENT_STORE, //!< SSL クライアント証明書の作成に失敗。 HTTP_ERROR_DNS, //!< DNS名前解決失敗 HTTP_ERROR_SEND, //!< ソケットデータ送信失敗。(インフラ通信切断 など) HTTP_ERROR_RECV, //!< ソケットデータ受信失敗。(インフラ通信切断 など) HTTP_ERROR_CONNECT, //!< ソケット接続失敗。(サーバが見つからない場合 など) HTTP_ERROR_GET_PROXY_SETTING, //!< 機器情報のプロキシ設定の取得に失敗。 HTTP_ERROR_TIMEOUT, //!< HTTP通信のタイムアウト。 HTTP_ERROR_401_UNAUTHORIZED, //!< ステータスコード401 Unauthorized を受信。 HTTP_ERROR_403_FORBIDDEN, //!< ステータスコード403 Forbidden を受信。 HTTP_ERROR_404_NOT_FOUND, //!< ステータスコード404 Not Found を受信。 HTTP_ERROR_408_REQUEST_TIMEOUT, //!< ステータスコード408 Request Timeout を受信。 HTTP_ERROR_416_REQUESTED_RANGE_NOT_SATISFABLE, //!< ステータスコード416 Requested Range Not Satisfable を受信。 HTTP_ERROR_500_INTERNAL_SERVER_ERROR, //!< ステータスコード500 Internal Server Error を受信。 HTTP_ERROR_502_BAD_GATEWAY, //!< ステータスコード502 Bad Gateway を受信。 HTTP_ERROR_503_SERVICE_UNAVAILABLE, //!< ステータスコード503 Service Unavailable を受信。 HTTP_ERROR_504_GATEWAY_TIMEOUT, //!< ステータスコード504 Gateway Timeout を受信。 HTTP_ERROR_505_VERSION_NOT_SUPPORTED, //!< ステータスコード505 Version Not Supported を受信。 HTTP_ERROR_UNSUPPORTED_STATUS, //!< HTTP通信処理で 上記以外の1xx 3xx 4xx 5xxエラーを受信。 // SSLエラー SSL_ERROR_FAILED, //!< SSLプロトコルの失敗によるエラー。(サーバー側でクライアント証明書の検証が失敗した場合等) SSL_ERROR_WANT_READ, //!< SSLモジュールで非同期ソケット使用時の Read 関数の処理未完了。(再試行してください。) SSL_ERROR_WANT_WRITE, //!< SSLモジュールで非同期ソケット使用時のWrite 関数の処理未完了。(再試行してください。) SSL_ERROR_SYSCALL, //!< SSLモジュールで内部で使用しているシステム関数が予期せぬエラーを返しました。 SSL_ERROR_ZERO_RETURN, //!< SSLモジュールで内部でSocketのRead / Write を実施した際、予期せぬタイミングでゼロが返されました。 SSL_ERROR_WANT_CONNECT, //!< SSLモジュールで非同期ソケット使用時の接続未完了。(再試行してください。) SSL_ERROR_SSLID, //!< SSLモジュールで内部エラー。(不正なSSLID) SSL_ERROR_VERIFY_CERT, //!< サーバ認証エラー。サーバ証明書の 認証に失敗しました。 SSL_ERROR_VERIFY_COMMON_NAME, //!< サーバ認証エラー。サーバ証明書の CommonName と、AssignServer()で指定した通信先サーバのホスト名が一致しません。 SSL_ERROR_VERIFY_ROOT_CA, //!< サーバ認証エラー。サーバ証明書の Root CA 証明書が、Connectionに設定された証明書と一致しません。 SSL_ERROR_VERIFY_CHAIN, //!< サーバ認証エラー。サーバ証明書の証明書チェインが不正。 SSL_ERROR_VERIFY_DATE, //!< サーバ認証エラー。サーバ証明書が有効期限外です。 SSL_ERROR_GET_SERVER_CERT, //!< 証明書データのバッファへの格納失敗。(引数有りのDoHandshake()で 証明書のサイズがバッファより大きい場合に発生) SSL_ERROR_VERIFY_REVOKED_CERT, //!< サーバ認証エラー。サーバ証明書が失効リストに登録されているサーバ証明書でした。 SSL_ERROR_OUT_OF_MEMORY, //!< SSLモジュールでメモリの動的取得失敗。 SSL_ERROR_SESSION, //!< SSLモジュールでIPCセッションが不正。 SSL_ERROR_FAIL_TO_CREATE_CERT_STROE, //!< 証明書ストアの作成に失敗しました。 SSL_ERROR_FAIL_TO_CREATE_CRL_STORE, //!< CRLストアの作成に失敗しました。 SSL_ERROR_FAIL_TO_CREATE_CLIENT_CERT, //!< クライアント証明書の作成に失敗しました。 SSL_ERROR_CLIENT_PROCESS_MAX, //!< 同時利用可能なクライアントプロセス数のクライアントがすでに利用中です。 SSL_ERROR_IPC_SESSION, //!< 同時に接続可能なIPCセッション数のセッションがすでに接続されています。 SSL_ERROR_INTERNAL_CERT, //!< 内蔵証明書の利用に失敗。 SSL_ERROR_INTERNAL_CRL, //!< 内蔵CRLの利用に失敗。 // ファイルシステムアクセスのエラー FS_ERROR_INVALID_POSITION_BASE, //!< ファイルシステムに関するエラーが発生しました。 FS_ERROR_ARCHIVE_NOT_FOUND, //!< ファイルシステムに関するエラーが発生しました。 FS_ERROR_FAILED_OPEN_FILE, //!< ファイルシステムに関するエラーが発生しました。 FS_ERROR_UNSUPPORTED_OPERATION, //!< ファイルシステムに関するエラーが発生しました。 FS_ERROR_INVALID_PATH_FORMAT, //!< ファイルシステムに関するエラーが発生しました。 FS_ERROR_ACCESS_DENIED, //!< ファイルシステムに関するエラーが発生しました。 FS_ERROR_LIBRARY_NOT_INITIALIZED, //!< ファイルシステムに関するエラーが発生しました。 FS_ERROR_INVALID_POSITION, //!< ファイルシステムに関するエラーが発生しました。 FS_ERROR_TOO_LONG_PATH, //!< ファイルシステムに関するエラーが発生しました。 FS_ERROR_NOT_DEVELOPMENT_ID, //!< ファイルシステムに関するエラーが発生しました。 FS_ERROR_HASH_MISMATCH, //!< ファイルシステムに関するエラーが発生しました。 FS_ERROR_NO_SUCH_PROCESS_REGISTERED, //!< ファイルシステムに関するエラーが発生しました。 FS_ERROR_INVALID_CXI_FORMAT, //!< ファイルシステムに関するエラーが発生しました。 FS_ERROR_UNSUPPORTED_ALIGNMENT, //!< ファイルシステムに関するエラーが発生しました。 FS_ERROR_INVALID_HANDLE, //!< ファイルシステムに関するエラーが発生しました。 FS_ERROR_NOT_FOUND, //!< ファイルシステムに関するエラーが発生しました。 // NSAエラー NSA_ERROR_STORAGE_INSUFFICIENCY, //!< NSAストレージ領域が不足しています。 NSA_ERROR_NUMBER_OF_NSD_MAX, //!< NSA内のNSD数が最大数を超えました。 NSA_ERROR_VERIFY_HASH, //!< NSA INFOのハッシュにエラーが検出されました。 NSA_ERROR_VERIFY_SIGNATURE, //!< NSA INFOの署名にエラーが検出されました。 NSA_NSD_ERROR_VERIFY_HASH, //!< NSD HEADERのハッシュにエラーが検出されました。 NSA_NSD_ERROR_VERIFY_SIGNATURE, //!< NSD HEADDERの署名にエラーが検出されました。 NSA_NSD_ERROR_INVALID_FORMAT, //!< NSDフォーマット異常のエラーが検出されました。 NSA_ERROR_INVALID_FORMAT, //!< NSAフォーマット異常のエラーが検出されました。 // 想定外のエラー SEVERE_ERROR, //! 想定外のエラーが検出されました。 UNKNOWN_ERROR, //! 上記以外のエラーが検出された場合、この値に発生したモジュールの列挙子の値(nn::Result::Module)を足した値が返ります。 ERROR_MAX_VALUE = (0x1u << 7) }; /*! @brief タスクサービスステータスの定数群です。 */ enum TaskServiceStatus { SERVICE_TERMINATED, //!< サービスが終了した状態 SERVICE_AVAILABLE, //!< サービス利用可能な状態 SERVICE_UNKNOWN, //!< サービスが状態がまだ確認できていない状態 GET_SERVICE_STATUS_ERROR, //!< サービス状態取得中にエラーが検出されました。 SERVICE_MAX_VALUE = (0x1u << 7) }; /*! @brief NSDのヘッダ情報取得の種別を示す定数群です。 */ enum HeaderInfoType { NSD_TITLEID, //!< タイトルID NSD_FLAGS, //!< NSDフラグ NSD_DATATYPE, //!< データタイプ NSD_LENGTH, //!< ベイロードレングス NSD_SERIALID, //!< シリアルID NSD_VERSION, //!< バージョン番号 NSD_HEADER_MAX_VALUE = (0x1u << 7) }; /*! @brief タスクアクションのファイルパス指定の定数群です。 */ enum FileDescriptor { CHAR_TYPE, //!< 通常のキャラクタ(char)によるパス指定 WCHAR_TYPE, //!< ワイドキャラクタ(wchar_t)によるパス指定 HANDLE_TYPE, //!< ファイルハンドルによるファイル指定 FILE_TYPE_MAX_VALUE = (0x1u << 7) }; /*! @brief アクセスポイントの識別子種別を示す定数群です。 */ enum ApInfoType { APINFOTYPE_NONE = 0x00, //!< ゾーンAPの場合、HTTPクエリーへAP情報付与を行わない設定 APINFOTYPE_APGROUP = 0x01, //!< ゾーンAPの場合、HTTPクエリーへAPGROUP情報付与する設定 APINFOTYPE_APAREA = 0x02, //!< ゾーンAPの場合、HTTPクエリーへAPAREA情報付与する設定 APINFOTYPE_AP = 0x04, //!< ゾーンAPの場合、HTTPクエリーへすべてのAP情報付与する設定 APINFOTYPE_MAX_VALUE = (0x1u << 7) }; /*! @brief BOSSストレージの種類を示す定数群です。 */ enum StorageType { USER_EXT_SAVEDATA_STORAGE, //!< ユーザー拡張セーブデータ領域のBOSSストレージ。 SHARED_EXT_SAVEDATA_STORAGE, //!< 共有拡張セーブデータ領域のBOSSストレージ。 BOSSSTORAGETYPE_MAX_VALUE = (0x1u << 7) }; } // end of namespace boss } // end of namespace nn #endif /*__cplusplus*/ #endif /* NN_BOSS_BOSS_CONST_H_ */