1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     ro_Types.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: 47393 $
14  *---------------------------------------------------------------------------*/
15 
16 #ifndef NN_RO_RO_TYPES_H_
17 #define NN_RO_RO_TYPES_H_
18 
19 #include <nn/Handle.h>
20 #include <nn/Result.h>
21 #include <nn/types.h>
22 
23 
24 
25 namespace nn {
26 namespace ro {
27 
28     //---------------------------------------------------------------------------
29     //
30     //
31     //---------------------------------------------------------------------------
32     enum FixLevel
33     {
34         FIX_LEVEL_0,    //
35         FIX_LEVEL_1,    //
36         FIX_LEVEL_2,    //
37         FIX_LEVEL_3,    //
38 
39         //---------------------------------------------------------------------------
40         //
41         //---------------------------------------------------------------------------
42         FIX_LEVEL_NONE = FIX_LEVEL_0,
43 
44         //---------------------------------------------------------------------------
45         //
46         //---------------------------------------------------------------------------
47         FIX_LEVEL_INTERNAL = FIX_LEVEL_1,
48 
49         //---------------------------------------------------------------------------
50         //
51         //
52         //---------------------------------------------------------------------------
53         FIX_LEVEL_INTERNAL_IMPORT = FIX_LEVEL_2,
54 
55         //---------------------------------------------------------------------------
56         //
57         //
58         //
59         //---------------------------------------------------------------------------
60         FIX_LEVEL_INTERNAL_IMPORT_EXPORT = FIX_LEVEL_3,
61 
62         FIX_LEVEL_MAX_BITS = (1u << 31)
63     };
64 
65     //---------------------------------------------------------------------------
66     //
67     //
68     //
69     //
70     //
71     //
72     //
73     //
74     //
75     //
76     //
77     //
78     //
79     //
80     //
81     //---------------------------------------------------------------------------
82     struct SizeInfo
83     {
84         //---------------------------------------------------------------------------
85         //
86         //
87         //---------------------------------------------------------------------------
88         uptr    fix0End;
89 
90         //---------------------------------------------------------------------------
91         //
92         //
93         //---------------------------------------------------------------------------
94         uptr    fix1End;
95 
96         //---------------------------------------------------------------------------
97         //
98         //
99         //---------------------------------------------------------------------------
100         uptr    fix2End;
101 
102         //---------------------------------------------------------------------------
103         //
104         //
105         //---------------------------------------------------------------------------
106         uptr    fix3End;
107 
108         //---------------------------------------------------------------------------
109         //
110         //
111         //
112         //
113         //---------------------------------------------------------------------------
114         size_t  bufferSize;
115     };
116 
117     //---------------------------------------------------------------------------
118     //
119     //---------------------------------------------------------------------------
120     struct RegionInfo
121     {
122         //---------------------------------------------------------------------------
123         //
124         //---------------------------------------------------------------------------
125         uptr    mapBegin;
126 
127         //---------------------------------------------------------------------------
128         //
129         //---------------------------------------------------------------------------
130         size_t  mapSize;
131 
132 
133         //---------------------------------------------------------------------------
134         //
135         //---------------------------------------------------------------------------
136         uptr    croBegin;
137 
138         //---------------------------------------------------------------------------
139         //
140         //---------------------------------------------------------------------------
141         size_t  croSize;
142 
143 
144         //---------------------------------------------------------------------------
145         //
146         //---------------------------------------------------------------------------
147         uptr    dataBssBegin;
148 
149         //---------------------------------------------------------------------------
150         //
151         //---------------------------------------------------------------------------
152         size_t  dataBssSize;
153 
154 
155         //---------------------------------------------------------------------------
156         //
157         //---------------------------------------------------------------------------
158         uptr    codeBegin;
159 
160         //---------------------------------------------------------------------------
161         //
162         //---------------------------------------------------------------------------
163         size_t  codeSize;
164     };
165 
166 } // end of namespace ro
167 } // end of namespace nn
168 
169 
170 
171 #endif  // ifndef NN_RO_RO_TYPES_H_
172