1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     phtsel_Api.h
4 
5   Copyright (C)2009-2012 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:$
14  *---------------------------------------------------------------------------*/
15 
16 #ifndef NN_PHTSEL_CTR_PHTSEL_API_H_
17 #define NN_PHTSEL_CTR_PHTSEL_API_H_
18 
19 /* Please see man pages for details
20 
21 
22 */
23 
24 #include <nn/types.h>
25 #include <nn/applet.h>
26 #include <nn/phtsel/CTR/phtsel_input.h>
27 #include <nn/phtsel/CTR/phtsel_output.h>
28 
29 #ifdef  __cplusplus
30 
31 namespace nn {
32 namespace phtsel {
33 namespace CTR {
34 
35 /* Please see man pages for details
36 
37 */
38 static const u32    VERSION = 0;
39 
40 /* Please see man pages for details
41 
42 
43 
44 */
45 struct Config
46 {
47     /* Please see man pages for details
48 
49 
50 
51     */
52     static const size_t CONFIG_RESERVED_SIZE    = 200;
53 
54     //----------------------------------------
55     //
56     //
57     /* Please see man pages for details
58 
59     */
60     u32                 version;
61 
62     /* Please see man pages for details
63 
64     */
65     bool                enableSoftReset;
66     /* Please see man pages for details
67 
68     */
69     bool                enableHomeButton;
70 
71     NN_PADDING2;
72 
73     /* Please see man pages for details
74 
75 
76 
77     */
78     u8                  reserved[CONFIG_RESERVED_SIZE];
79     //
80 };
81 
82 /* Please see man pages for details
83 
84 
85 
86 */
87 struct Parameter
88 {
89     Config          config;   //
90     PhtselInput     input;    //
91     PhtselOutput    output;   //
92 };
93 
94 /* Please see man pages for details
95 
96 
97 
98 
99 */
100 void InitializeParameter(Parameter& parameter);
101 
102 /* Please see man pages for details
103 
104 
105 
106 
107 */
108 bool PreloadPhtsel();
109 
110 /* Please see man pages for details
111 
112 
113 
114 
115 */
116 bool CancelPreloadPhtsel();
117 
118 /* Please see man pages for details
119 
120 */
121 void WaitForPreloadPhtsel();
122 
123 /* Please see man pages for details
124 
125 
126 
127 
128 
129 */
130 bool IsRegisteredPhtsel();
131 
132 /* Please see man pages for details
133 
134 
135 */
136 size_t GetWorkBufferSize();
137 
138 /* Please see man pages for details
139 
140 
141 
142 
143 
144 
145 
146 
147 */
148 nn::applet::AppletWakeupState StartPhtsel(Parameter* pParameter, void* pWorkBuffer);
149 
150 /* Please see man pages for details
151 
152 
153 
154 
155 
156 */
157 nn::applet::AppletWakeupState StartPhtselNoCapture(Parameter* pParameter);
158 
159 } // end of namespace CTR
160 } // end of namespace phtsel
161 } // end of namespace nn
162 
163 #endif /*__cplusplus*/
164 
165 #endif /* NN_PHTSEL_CTR_PHTSEL_API_H_ */
166