1 /*-------------------------------------------------------------
2 
3 gccore.h -- GC core header
4 
5 Copyright (C) 2004
6 Michael Wiedenbauer (shagkur)
7 Dave Murphy (WinterMute)
8 
9 This software is provided 'as-is', without any express or implied
10 warranty.  In no event will the authors be held liable for any
11 damages arising from the use of this software.
12 
13 Permission is granted to anyone to use this software for any
14 purpose, including commercial applications, and to alter it and
15 redistribute it freely, subject to the following restrictions:
16 
17 1.	The origin of this software must not be misrepresented; you
18 must not claim that you wrote the original software. If you use
19 this software in a product, an acknowledgment in the product
20 documentation would be appreciated but is not required.
21 
22 2.	Altered source versions must be plainly marked as such, and
23 must not be misrepresented as being the original software.
24 
25 3.	This notice may not be removed or altered from any source
26 distribution.
27 
28 -------------------------------------------------------------*/
29 
30 #ifndef __GCCORE_H__
31 #define __GCCORE_H__
32 
33 /*! \file gccore.h
34 \brief Core header which includes all subsequent subsystem headers
35 
36 */
37 
38 #include "ogc/dsp.h"
39 #include "ogc/aram.h"
40 #include "ogc/arqueue.h"
41 #include "ogc/arqmgr.h"
42 #include "ogc/audio.h"
43 #include "ogc/cache.h"
44 #include "ogc/card.h"
45 #include "ogc/cast.h"
46 #include "ogc/color.h"
47 #include "ogc/consol.h"
48 #include "ogc/dvd.h"
49 #include "ogc/exi.h"
50 #include "ogc/gu.h"
51 #include "ogc/gx.h"
52 #include "ogc/si.h"
53 #include "ogc/gx_struct.h"
54 #include "ogc/irq.h"
55 #include "ogc/lwp.h"
56 #include "ogc/mutex.h"
57 #include "ogc/message.h"
58 #include "ogc/semaphore.h"
59 #include "ogc/pad.h"
60 #include "ogc/tpl.h"
61 #include "ogc/system.h"
62 #include "ogc/video.h"
63 #include "ogc/usbgecko.h"
64 #include "ogc/video_types.h"
65 #include "ogc/texconv.h"
66 
67 #if defined(HW_RVL)
68 #include "ogc/ipc.h"
69 #include "ogc/es.h"
70 #include "ogc/stm.h"
71 #include "ogc/ios.h"
72 #include "ogc/usb.h"
73 #include "ogc/isfs.h"
74 #include "ogc/conf.h"
75 #include "ogc/usbstorage.h"
76 
77 #include "ogc/wiilaunch.h"
78 
79 #endif
80 
81 /*
82  * Error returns
83  */
84 #define RNC_FILE_IS_NOT_RNC				-1
85 #define RNC_HUF_DECODE_ERROR			-2
86 #define RNC_FILE_SIZE_MISMATCH			-3
87 #define RNC_PACKED_CRC_ERROR			-4
88 #define RNC_UNPACKED_CRC_ERROR			-5
89 
90 #ifndef ATTRIBUTE_ALIGN
91 # define ATTRIBUTE_ALIGN(v)				__attribute__((aligned(v)))
92 #endif
93 #ifndef ATTRIBUTE_PACKED
94 # define ATTRIBUTE_PACKED				__attribute__((packed))
95 #endif
96 
97 #ifdef __cplusplus
98    extern "C" {
99 #endif /* __cplusplus */
100 
101 /*!
102  * \mainpage
103  *
104  * - \subpage intro
105  * - \subpage api_doc
106  */
107 
108 /*!
109  * \page intro Introduction
110  * Welcome to the libOGC reference documentation.
111  */
112 
113 /*!
114  * \page api_doc Detailed API description
115  *
116  * - \ref aram.h "ARAM subsystem"
117  * - \ref arqmgr.h "ARAM queue management subsystem"
118  * - \ref audio.h "AUDIO subsystem"
119  * - \ref asndlib.h "ASND library"
120  * - \ref exi.h "EXI subsystem"
121  * - \ref irq.h "IRQ subsystem"
122  * - \ref dsp.h "DSP subsystem"
123  * - \ref dvd.h "DVD subsystem"
124  * - \ref gx.h "GX subsystem"
125  * - \ref gu.h "gu/Matrix subsystem"
126  * - \ref video.h "VIDEO subsystem"
127  * - \ref cache.h "Cache subsystem"
128  * - \ref card.h "Memory card subsystem"
129  * - \ref consol.h "Console subsystem"
130  * - \ref system.h "OS functions and initialization"
131  * - \ref lwp.h "Thread subsystem I"
132  * - \ref message.h "Thread subsystem II"
133  * - \ref mutex.h "Thread subsystem III"
134  * - \ref semaphore.h "Thread subsystem IV"
135  * - \ref cond.h "Thread subsystem V"
136  */
137 
138 s32 depackrnc1_ulen(void *packed);
139 s32 depackrnc1(void *packed,void *unpacked);
140 
141 void depackrnc2(void *packed,void *unpacked);
142 
143 #ifdef __cplusplus
144    }
145 #endif /* __cplusplus */
146 
147 #endif
148