1 /*---------------------------------------------------------------------*
2 Project:  tc library
3 File:     TCFileInternal.h
4 
5 Copyright 1998-2001 Nintendo.  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 Change History:
14 
15    $Log: TCFileInternal.h,v $
16    Revision 1.1  2006/02/17 09:02:16  mitu
17    1st version
18 
19 
20     2     4/11/01 3:04p John
21     Updated header copyrights and pathname.
22 
23     1     12/03/99 3:44p Ryan
24 
25     5     10/08/99 2:44p Mikepc
26     update for tplConv portability: altered data structures, replaced
27     references to 'read tga code' with ' *fileFn, removed redundant
28     functions.
29 
30     4     8/26/99 4:56p Mikepc
31     added namespace protection to remove potential name collisions with
32     tool code.  Exceptions are CreateTplFile and QuickConvert.  These are
33     extern "C" linked.
34 
35     3     8/26/99 11:37a Mikepc
36 
37     2     8/26/99 11:01a Mikepc
38     tplConv rewrite for memory usage efficiency, batch file processing
39     ability.
40 
41   $NoKeywords: $
42 
43 -----------------------------------------------------------------------*/
44 
45 #ifndef __TCFILEINTERNAL_H__
46 #define __TCFILEINTERNAL_H__
47 
48 /********************************/
49 #include <charPipeline/tc/TCFile.h>
50 
51 /********************************/
52 typedef struct TCFileNode
53 {
54 	char ext[4];                                              // type
55     u32 (*fileFn)( u32 rawSize, u8* rawBits, TCFile* dfPtr ); // pointer to 'read' function
56 
57 	struct TCFileNode* prev;
58 	struct TCFileNode* next;
59 
60 } TCFileNode, *TCFileNodePtr;
61 
62 /********************************/
63 extern u32          DFSize;
64 extern TCFile*		DF;       // cache for files
65 extern TCFileNode*	FileTable;
66 extern u32 (*FileFn)( u32 rawSize, u8* rawBits, TCFile* dfPtr );
67 
68 /*>*******************************(*)*******************************<*/
69 TCFile* TCReadFile	( char* fileName );
70 
71 /*>*******************************(*)*******************************<*/
72 
73 #endif // __TCFILEINTERNAL_H__
74