1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     applet_Parameters.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: 26481 $
14  *---------------------------------------------------------------------------*/
15 
16 #ifndef NN_APPLET_CTR_APPLET_PARAMETERS_H_
17 #define NN_APPLET_CTR_APPLET_PARAMETERS_H_
18 
19 #include <nn/applet/CTR/applet_Ipc.h>
20 #include <nn/fnd.h>
21 
22 namespace nn{
23 namespace applet{
24 namespace CTR{
25 
26     enum Attribute
27     {
28         //---- アプレット種類
29         TYPE_APP                        = (0x0<<0), //000 アプリケーション
30         TYPE_APPLIB                     = (0x1<<0), //001 ライブラリアプレット
31         TYPE_SYS                        = (0x2<<0), //010 システムアプレット
32         TYPE_SYSLIB                     = (0x3<<0), //011 システムライブラリアプレット
33         TYPE_RESIDENT                   = (0x4<<0), //100 常駐アプレット
34         TYPE_MASK                       = (0x7<<0), //111 (アプレット種類用のマスク)
35 
36         //---- GPU権利設定
37         MANUAL_GPU_RIGHT                = (1<<3),   // 手動でAssign/Releaseを行う
38 
39         //---- DSP権利設定
40         MANUAL_DSP_RIGHT                = (1<<4)    // 手動でAssign/Releaseを行う
41 
42         //デバッグ用(後で消す必要あり)
43         ,TYPE_SYS_DEBUG                 = (0x1<<30) // 0x80000000;
44     };
45     const bit32 DEFAULT_APPLET_ATTRIBUTE = (TYPE_APP);
46 
47     enum DisplayBufferMode
48     {
49         FORMAT_R8G8B8A8                 = 0,
50         FORMAT_R8G8B8                   = 1,
51         FORMAT_R5G6B5                   = 2,
52         FORMAT_R5G5B5A1                 = 3,
53         FORAMT_R4G4B4A4                 = 4,
54         FORMAT_UNIMPORTABLE             = 0xFFFFFFFF
55     };
56 
57     /*!
58       @brief ホームボタンの状態を表す列挙形です。
59 
60              GetHomeButtonState() で取得することが出来ます。
61 
62              ClearHomeButtonState() を呼び出すと状態は HOME_BUTTON_NONE になります。
63     */
64     enum HomeButtonState
65     {
66         HOME_BUTTON_NONE                = 0, //!< ホームボタンが押されたことを検出していない
67         HOME_BUTTON_SINGLE_PRESSED      = 1, //!< ホームボタンがシングルクリックされたことを検出した
68         HOME_BUTTON_DOUBLE_PRESSED      = 2  //!< ホームボタンがダブルクリックされたことを検出した
69     };
70 
71     enum ShutdownState
72     {
73         SHUTDOWN_STATE_NONE             = 0, // シャットダウン通知を受け取っていない
74         SHUTDOWN_STATE_RECEIVED         = 1  // シャットダウン通知を受け取っている
75     };
76 
77     enum PowerButtonState
78     {
79         POWER_BUTTON_STATE_NONE         = 0, // 押されていない
80         POWER_BUTTON_STATE_CLICK        = 1  // クリック
81     };
82 
83     /*!
84       @brief スリープ通知の状態を表す列挙形です。
85 
86              ClearSleepNotificationState() を呼び出すと、NOTIFY_NONE になります。
87     */
88     enum SleepNotificationState
89     {
90         NOTIFY_NONE                     = 0, //!< スリープ関連の通知が行われていない状態
91         NOTIFY_SLEEP_QUERY              = 1, //!< スリープ問い合わせコールバックが呼び出され、"保留"(nn::applet::CTR::REPLY_LATER) を返した
92         NOTIFY_SLEEP_ACCEPT             = 2, //!< スリープ問い合わせコールバックが呼び出され、"承諾"(nn::applet::CTR::REPLY_ACCEPT) を返した
93         NOTIFY_SLEEP_REJECT             = 3, //!< スリープ問い合わせコールバックが呼び出され、"拒否"(nn::applet::CTR::REPLY_REJECT) を返した
94         NOTIFY_SLEEP                    = 4, //!< スリープ通知のコールバックが呼び出された
95         NOTIFY_AWAKE                    = 5  //!< スリープ復帰のコールバックが呼び出された
96     };
97 
98     // システム用途
99     enum Notification
100     {
101         NOTIFICATION_NONE               = 0,
102         NOTIFICATION_HOME_BUTTON_1      = 1,
103         NOTIFICATION_HOME_BUTTON_2      = 2,
104         NOTIFICATION_SLEEP_QUERY        = 3,
105         NOTIFICATION_SLEEP              = 4,
106         NOTIFICATION_AWAKE              = 5,
107         NOTIFICATION_SHUTDOWN           = 6,
108         NOTIFICATION_POWER_BUTTON_CLICK = 7
109     };
110 
111     enum AppletPos
112     {
113         POS_APP                         = 0, // アプリ
114         POS_APPLIB                      = 1, // アプリが立ち上げるライブラリアプレット
115         POS_SYS                         = 2, // システム
116         POS_SYSLIB                      = 3, // システムが立ち上げるライブラリアプレット
117         POS_RESIDENT                    = 4, // 常駐アプレット
118         POS_MAX,
119 
120         POS_NONE                        = -1 // どこでもない状態
121     };
122 
123     /*!
124       @brief 起動要求の種類を表す列挙形です。
125 
126              WaitForStartin() や、JumpToHomeMenuIfPrepared()(内部でWaitForStarting() を呼んでおり、その値を返しています)
127              の返り値として用いられます。
128     */
129     enum WakeupState
130     {
131         WAKEUP_SKIP                     = 0,  // スキップされた
132 
133         WAKEUP_TO_START                 = 1,  //!< 通常の要求で起こされた     → 起こされた方は動作再開
134         WAKEUP_BY_EXIT                  = 2,  //!< 終了して起こされた         → 起こされた方は動作再開
135         WAKEUP_BY_PAUSE                 = 3,  //!< 中断して起こされた         → 起こされた方は動作再開
136         WAKEUP_BY_CANCEL                = 4,  //!< 取り消しの通知で起こされた → 起こされた方は終了
137         WAKEUP_BY_CANCELALL             = 5,  //!< 取り消しの通知で起こされた → 起こされた方は終了 → 必要なら他のものも終了させる
138         WAKEUP_BY_POWER_BUTTON_CLICK    = 6,  //!< 電源ボタンクリックで起こされた → 起こされる可能性があるのはシステムメニューだけで、スリープ推奨画面に移行する
139 
140         WAKEUP_BY_TIMEOUT               = -1  //!< 時間切れ
141     };
142 
143     /*!
144       @brief スリープ問い合わせに対する返答を表す列挙型です。
145 
146              スリープ問い合わせのコールバックの返り値に用いたり、
147              ReplySleepQuery() の引数に用います。
148 
149              スリープ問い合わせのコールバックの返り値には
150              REPLY_REJECT, REPLY_ACCEPT, REPLY_LATER のいずれかを指定してください。
151 
152              ReplySleepQuery() の引数には
153              REPLY_REJECT, REPLY_ACCEPT のいずれかを指定してください。
154     */
155 
156     enum QueryReply
157     {
158         REPLY_REJECT                    = 0, //!< スリープを拒否します。
159         REPLY_ACCEPT                    = 1, //!< スリープを承諾します。
160         REPLY_LATER                     = 2  //!< 返答を保留します。(これを返した後は、速やかにReplySleepQuery()で返答してください)
161     };
162 
163     // 切り替えのための準備状況
164     enum AppletPreparationState
165     {
166         NO_PREPARATION                  = 0,
167 
168         PREPARED_TO_LAUNCH_APP          = 1,
169         PREPARED_TO_CLOSE_APP           = 2,
170         PREPARED_TO_FORCE_TO_CLOSE_APP  = 3,
171 
172         PREPARED_TO_PRELOAD_APPLIB      = 4,
173         PREPARED_TO_LAUNCH_APPLIB       = 5,
174         PREPARED_TO_CLOSE_APPLIB        = 6,
175 
176         PREPARED_TO_LAUNCH_SYS          = 7,
177         PREPARED_TO_CLOSE_SYS           = 8,
178 
179         PREPARED_TO_LAUNCH_SYSLIB       = 9,
180         PREPARED_TO_CLOSE_SYSLIB        = 10,
181 
182         PREPARED_TO_LAUNCH_RESIDENT     = 11,
183         PREPARED_TO_LEAVE_RESIDENT      = 12,
184 
185         PREPARED_TO_DO_HOMEMENU         = 13,
186         PREPARED_TO_LEAVE_HOMEMENU      = 14,
187 
188         PREPARED_TO_START_RESIDENT      = 15,
189 
190         PREPARED_TO_DO_SHORTCUT         = 16
191     };
192 
193     enum UsableAppletId
194     {
195         APPLET_ID_NONE                  = 0,    // 未使用
196         //
197         HOME_MENU_APPLET_ID             = 0x101, // ホームメニュー
198         DS_HOME_MENU_APPLET_ID          = 0x102, // DSホームメニュー(定義のみ)
199         PHOME_MENU_APPLET_ID            = 0x103, // 仮(pseudo)ホームメニュー
200 
201         // system applet
202         PNOTE_APPLET_ID                 = 0x110, // PNOTE
203         SNOTE_APPLET_ID                 = 0x111, // SNOTE
204         FRUITS_APPLET_ID                = 0x112, // FRUITS
205         CHERRY_APPLET_ID                = 0x113, // CHERRY
206         SPIDER_APPLET_ID                = 0x114, // SPIDER
207 
208         // system library applet
209         KEYBOARD_SL_APPLET_ID           = 0x201, // KEYBOARD (SL)
210         MII_SELECT_SL_APPLET_ID         = 0x202, // MII SELECT (SL)
211         PHOTO_SHOT_SL_APPLET_ID         = 0x203, // PHOTO SHOT (SL)
212         PHOTO_SELECT_SL_APPLET_ID       = 0x204, // PHOTO SELECT (SL)
213         SOUND_SELECT_SL_APPLET_ID       = 0x205, // SOUND SELECT (SL)
214 
215         // application
216         APPLICATION_APPLET_ID           = 0x300, // application
217 
218         // library applet
219         KEYBOARD_L_APPLET_ID            = 0x401, // KEYBOARD (L)
220         MII_SELECT_L_APPLET_ID          = 0x402, // MII SELECT (L)
221         PHOTO_SHOT_L_APPLET_ID          = 0x403, // PHOTO SHOT (L)
222         PHOTO_SELECT_L_APPLET_ID        = 0x404, // PHOTO SELECT (L)
223         SOUND_SELECT_L_APPLET_ID        = 0x405, // SOUND SELECT (L)
224 
225         // resident applet
226         ERRDISP_APPLET_ID               = 0x501, // ERROR DISPLAY
227 
228         // test applet
229         TEST_APPLET_ID                  = 0xF10, // TEST
230         TEST1_APPLET_ID                 = 0xF11, // test1
231         TEST2_APPLET_ID                 = 0xF12, // test2
232         TEST3_APPLET_ID                 = 0xF13, // test3
233         TEST4_APPLET_ID                 = 0xF14, // test4
234         TEST5_APPLET_ID                 = 0xF15, // test5
235         TEST6_APPLET_ID                 = 0xF16, // test6
236         TEST7_APPLET_ID                 = 0xF17, // test7
237         TEST8_APPLET_ID                 = 0xF18, // test8
238 
239         APPLET_ID_MAX
240     };
241 
242     /*!
243       @brief APPLET ID です。
244     */
245     typedef bit32 AppletId;
246 
247     /*!
248       @brief APPLET の属性です。
249     */
250     typedef bit32 AppletAttr;
251 
252     typedef nn::applet::CTR::DisplayBufferMode      AppletDisplayBufferMode;
253 
254     typedef nn::applet::CTR::HomeButtonState        AppletHomeButtonState;
255 
256     typedef nn::applet::CTR::SleepNotificationState AppletSleepNotificationState;
257 
258     typedef nn::applet::CTR::ShutdownState          AppletShutdownState;
259 
260     typedef nn::applet::CTR::PowerButtonState       AppletPowerButtonState;
261 
262     typedef nn::applet::CTR::WakeupState            AppletWakeupState;
263 
264     typedef nn::applet::CTR::QueryReply             AppletQueryReply;
265 
266     typedef nn::applet::CTR::Notification           AppletNotification;
267 
268     // 無効なハンドル
269     extern const nn::Handle                         HANDLE_NONE;
270 
271     // 時間
272     /*!
273       @brief 時間を指定する APPLETライブラリの関数において、
274              結果が得られるまで継続して動作を行うことを意味する指定となります。
275     */
276     extern const nn::fnd::TimeSpan                  WAIT_INFINITE;
277     /*!
278       @brief 時間を指定する APPLETライブラリの関数において、
279              一度だけ動作を行い、結果が得られない場合でも繰り返して動作を行わないことを意味する指定となります。
280     */
281     extern const nn::fnd::TimeSpan                  NO_WAIT;
282 
283     // 無効アプレットID
284     const bit32 INVALID_ID                          = 0;
285 
286     // 無効プログラムID
287     const bit64 INVALID_PROGRAM_ID                  = 0;
288 
289     // ----コールバック群
290     /*!
291       @brief ホームボタン検出コールバックを表す関数型です。
292     */
293     typedef bool (*AppletHomeButtonCallback)( uptr arg, bool isActive, nn::applet::CTR::HomeButtonState state );
294     /*!
295       @brief メッセージ受け取りコールバックを表す関数型です。
296     */
297     typedef void (*AppletMessageCallback)( uptr arg, AppletId senderId, u8 pParam[], size_t paramSize, nn::Handle handle );
298 
299     // メモリリクエスト
300     typedef void (*AppletRequestMemoryCallback)( uptr arg, size_t size, nn::Handle* pHandle );
301     // メモリリクエストのファイナライズ
302     typedef void (*AppletReleaseMemoryCallback)( uptr arg );
303 
304     // DSP スリープ
305     typedef void (*AppletDspSleepCallback)( uptr arg );
306     // DSP ウェイクアップ
307     typedef void (*AppletDspWakeUpCallback)( uptr arg );
308 
309     /*!
310       @brief スリープ問い合わせコールバックを表す関数型です。
311     */
312     typedef AppletQueryReply (*AppletSleepQueryCallback)( uptr arg );
313     /*!
314       @brief スリープコールバックを表す関数型です。(この型は廃止予定です)
315     */
316     typedef void (*AppletSleepCallback)( uptr arg );
317     /*!
318       @brief スリープからの復帰コールバックを表す関数型です。
319     */
320     typedef void (*AppletAwakeCallback)( uptr arg );
321 
322     /*!
323       @brief シャットダウン通知のコールバックを表す関数型です。
324     */
325     typedef void (*AppletShutdownCallback)( uptr arg );
326     /*!
327       @brief アプリケーション終了コールバックを表す関数型です。
328     */
329     typedef void (*AppletCloseAppletCallback)( uptr arg ); // 実際にはすべてのアプレットに共通です
330 
331     /*!
332       @brief 電源ボタン検出コールバックを表す関数型です。
333     */
334     typedef void (*AppletPowerButtonCallback)( uptr arg );
335 
336 }
337 }
338 }
339 
340 /*!
341     @addtogroup nn_applet
342     @{
343 */
344 #define NN_APPLET_PORT_NAME_USER        "APT:U"  // User Application
345 
346 /*!
347     @brief    アプレットマネージャに登録できる APPLET の最大数
348 */
349 #define NN_APPLET_MAX_APPLET_NUM        5
350 
351 #define NN_APPLET_PARAMETER_MAX         4096    //!<APPLET の呼び出し時や戻り時にやり取りできるパラメータ領域の最大サイズ(byte)です。
352 #define NN_APPLET_HMAC_BUF_SIZE         32
353 
354 // アトリビュート
355 #define NN_APPLET_TYPE_APP                      (nn::applet::CTR::TYPE_APP)
356 #define NN_APPLET_TYPE_APPLIB                   (nn::applet::CTR::TYPE_APPLIB)
357 #define NN_APPLET_TYPE_SYS                      (nn::applet::CTR::TYPE_SYS)
358 #define NN_APPLET_TYPE_SYSLIB                   (nn::applet::CTR::TYPE_SYSLIB)
359 #define NN_APPLET_TYPE_RESIDENT                 (nn::applet::CTR::TYPE_RESIDENT)
360 #define NN_APPLET_TYPE_MASK                     (nn::applet::CTR::TYPE_MASK)
361 
362 #define NN_APPLET_MANUAL_GPU_RIGHT              (nn::applet::CTR::MANUAL_GPU_RIGHT)
363 #define NN_APPLET_MANUAL_DSP_RIGHT              (nn::applet::CTR::MANUAL_DSP_RIGHT)
364 
365 // ホームボタン
366 #define NN_APPLET_HOME_BUTTON_NONE              (nn::applet::CTR::HOME_BUTTON_NONE)
367 #define NN_APPLET_HOME_BUTTON_SINGLE_PRESSED    (nn::applet::CTR::HOME_BUTTON_SINGLE_PRESSED)
368 #define NN_APPLET_HOME_BUTTON_DOUBLE_PRESSED    (nn::applet::CTR::HOME_BUTTON_DOUBLE_PRESSED)
369 
370 // システム用途の通知
371 #define NN_APPLET_NOTIFY_NONE                   (nn::applet::NOTIFY_NONE)
372 #define NN_APPLET_NOTIFY_SLEEP_QUERY            (nn::applet::NOTIFY_SLEEP_QUERY)
373 #define NN_APPLET_NOTIFY_SLEEP_ACCEPT           (nn::applet::NOTIFY_SLEEP_ACCEPT)
374 #define NN_APPLET_NOTIFY_SLEEP_REJECT           (nn::applet::NOTIFY_SLEEP_REJECT)
375 #define NN_APPLET_NOTIFY_SLEEP                  (nn::applet::NOTIFY_SLEEP)
376 #define NN_APPLET_NOTIFY_AWAKE                  (nn::applet::NOTIFY_AWAKE)
377 
378 // アプレット種類
379 #define NN_APPLET_POS_SYSLIB                    (nn::applet::CTR::POS_SYSLIB)
380 #define NN_APPLET_POS_SYS                       (nn::applet::CTR::POS_SYS)
381 #define NN_APPLET_POS_APP                       (nn::applet::CTR::POS_APP)
382 #define NN_APPLET_POS_APPLIB                    (nn::applet::CTR::POS_APPLIB)
383 #define NN_APPLET_POS_RESIDENT                  (nn::applet::CTR::POS_RESIDENT)
384 #define NN_APPLET_POS_MAX                       (nn::applet::CTR::POS_MAX)
385 
386 // スリープ問い合わせの返答
387 #define NN_APPLET_REPLY_ACCEPT                  (nn::applet::REPLY_ACCEPT)
388 #define NN_APPLET_REPLY_REJECT                  (nn::applet::REPLY_REJECT)
389 #define NN_APPLET_REPLY_LATER                   (nn::applet::REPLY_LATER)
390 
391 //
392 #define NN_APPLET_NO_PREPARATION                (nn::applet::NO_PREPARATION)
393 #define NN_APPLET_PREPARED_TO_LAUNCH_APP        (nn::applet::PREPARED_TO_LAUNCH_APP)
394 #define NN_APPLET_PREPARED_TO_CLOSE_APP         (nn::applet::PREPARED_TO_CLOSE_APP)
395 #define NN_APPLET_PREPARED_TO_LAUNCH_APPLIB     (nn::applet::PREPARED_TO_LAUNCH_APPLIB)
396 #define NN_APPLET_PREPARED_TO_CLOSE_APPLIB      (nn::applet::PREPARED_TO_CLOSE_APPLIB)
397 #define NN_APPLET_PREPARED_TO_LAUNCH_SYS        (nn::applet::PREPARED_TO_LAUNCH_SYS)
398 #define NN_APPLET_PREPARED_TO_CLOSE_SYS         (nn::applet::PREPARED_TO_CLOSE_SYS)
399 #define NN_APPLET_PREPARED_TO_LAUNCH_SYSLIB     (nn::applet::PREPARED_TO_LAUNCH_SYSLIB)
400 #define NN_APPLET_PREPARED_TO_CLOSE_SYSLIB      (nn::applet::PREPARED_TO_CLOSE_SYSLIB)
401 #define NN_APPLET_PREPARED_TO_LAUNCH_RESIDENT   (nn::applet::PREPARED_TO_LAUNCH_RESIDENT)
402 #define NN_APPLET_PREPARED_TO_LEAVE_RESIDENT    (nn::applet::PREPARED_TO_LEAVE_RESIDENT)
403 #define NN_APPLET_PREPARED_TO_DO_HOMEMENU       (nn::applet::PREPARED_TO_DO_HOMEMENU)
404 #define NN_APPLET_PREPARED_TO_LEAVE_HOMEMENU    (nn::applet::PREPARED_TO_LEAVE_HOMEMENU)
405 #define NN_APPLET_PREPARED_TO_DO_SHORTCUT       (nn::applet::PREPARED_TO_DO_SHORTCUT)
406 
407 // アプレットID
408 #define NN_APPLET_NUI_SHELL_APPLET_ID           (nn::applet::CTR::NUI_SHELL_APPLET_ID)
409 #define NN_APPLET_SYSTEM_MENU_APPLET_ID         (nn::applet::CTR::SYSTEM_MENU_APPLET_ID)
410 #define NN_APPLET_HOME_MENU_APPLET_ID           (nn::applet::CTR::HOME_MENU_APPLET_ID)
411 #define NN_APPLET_DS_HOME_MENU_APPLET_ID        (nn::applet::CTR::DS_HOME_MENU_APPLET_ID)
412 #define NN_APPLET_PHOME_MENU_APPLET_ID          (nn::applet::CTR::PHOME_MENU_APPLET_ID)
413 #define NN_APPLET_PNOTE_APPLET_ID               (nn::applet::CTR::PNOTE_APPLET_ID)
414 #define NN_APPLET_SNOTE_APPLET_ID               (nn::applet::CTR::SNOTE_APPLET_ID)
415 #define NN_APPLET_FRUITS_APPLET_ID              (nn::applet::CTR::FRUITS_APPLET_ID)
416 #define NN_APPLET_CHERRY_APPLET_ID              (nn::applet::CTR::CHERRY_APPLET_ID)
417 #define NN_APPLET_SPIDER_APPLET_ID              (nn::applet::CTR::SPIDER_APPLET_ID)
418 #define NN_APPLET_TEST_APPLET_APPLET_ID         (nn::applet::CTR::TEST_APPLET_ID)
419 #define NN_APPLET_KEYBOARD_L_APPLET_ID          (nn::applet::CTR::KEYBOARD_L_APPLET_ID)
420 #define NN_APPLET_MII_SELECT_L_APPLET_ID        (nn::applet::CTR::MII_SELECT_L_APPLET_ID)
421 #define NN_APPLET_PHOTO_SHOT_L_APPLET_ID        (nn::applet::CTR::PHOTO_SHOT_L_APPLET_ID)
422 #define NN_APPLET_PHOTO_SELECT_L_APPLET_ID      (nn::applet::CTR::PHOTO_SELECT_L_APPLET_ID)
423 #define NN_APPLET_SOUND_SELECT_L_APPLET_ID      (nn::applet::CTR::SOUND_SELECT_L_APPLET_ID)
424 #define NN_APPLET_ERRDISP_L_APPLET_ID           (nn::applet::CTR::ERRDISP_L_APPLET_ID)
425 #define NN_APPLET_APPLICATION_APPLET_ID         (nn::applet::CTR::APPLICATION_APPLET_ID)
426 #define NN_APPLET_TEST1_APPLET_ID               (nn::applet::CTR::TEST1_APPLET_ID)
427 #define NN_APPLET_TEST2_APPLET_ID               (nn::applet::CTR::TEST2_APPLET_ID)
428 #define NN_APPLET_TEST3_APPLET_ID               (nn::applet::CTR::TEST3_APPLET_ID)
429 #define NN_APPLET_TEST4_APPLET_ID               (nn::applet::CTR::TEST4_APPLET_ID)
430 #define NN_APPLET_TEST5_APPLET_ID               (nn::applet::CTR::TEST5_APPLET_ID)
431 #define NN_APPLET_TEST6_APPLET_ID               (nn::applet::CTR::TEST6_APPLET_ID)
432 
433 // 無効なハンドル
434 #define NN_APPLET_HANDLE_NONE                   (nn::applet::CTR::HANDLE_NONE)
435 
436 // 時間
437 #define NN_APPLET_WAIT_INFINITE                 (nn::applet::CTR::WAIT_INFINITE)
438 #define NN_APPLET_NO_WAIT                       (nn::applet::CTR::NO_WAIT)
439 
440 // 無効アプレットID
441 #define NN_APPLET_INVALID_ID                    (nn::applet::CTR::INVALID_ID)
442 // 無効プログラムID
443 #define NN_APPLET_INVALID_PROGRAM_ID            (nn::applet::CTR::INVALID_PROGRAM_ID)
444 
445 #define NN_APPLET_DEFAULT_APPLET_ATTRIBUTE      (nn::applet::CTR::DEFAULT_APPLET_ATTRIBUTE)
446 
447 /*!
448     @}
449 */
450 
451 
452 using nn::applet::CTR::AppletId;
453 using nn::applet::CTR::AppletAttr;
454 
455 using nn::applet::CTR::AppletHomeButtonState;
456 using nn::applet::CTR::AppletSleepNotificationState;
457 
458 using nn::applet::CTR::AppletHomeButtonCallback;
459 using nn::applet::CTR::AppletMessageCallback;
460 using nn::applet::CTR::AppletRequestMemoryCallback;
461 using nn::applet::CTR::AppletReleaseMemoryCallback;
462 using nn::applet::CTR::AppletDspSleepCallback;
463 using nn::applet::CTR::AppletDspWakeUpCallback;
464 using nn::applet::CTR::AppletSleepQueryCallback;
465 using nn::applet::CTR::AppletSleepCallback;
466 using nn::applet::CTR::AppletAwakeCallback;
467 using nn::applet::CTR::AppletShutdownCallback;
468 using nn::applet::CTR::AppletCloseAppletCallback;
469 using nn::applet::CTR::AppletPowerButtonCallback;
470 //using nn::applet::CTR::AppletExitCallback;
471 
472 using nn::applet::CTR::AppletPreparationState;
473 using nn::applet::CTR::AppletWakeupState;
474 using nn::applet::CTR::AppletQueryReply;
475 
476 
477 #endif  // ifndef NN_APPLET_CTR_APPLET_PARAMETERS_H_
478