1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     tpl_crc32.h
4   Copyright (C)2009 Nintendo Co., Ltd.  All rights reserved.
5   These coded instructions, statements, and computer programs contain
6   proprietary information of Nintendo of America Inc. and/or Nintendo
7   Company Ltd., and are protected by Federal copyright law. They may
8   not be disclosed to third parties or copied or duplicated in any form,
9   in whole or in part, without the prior written consent of Nintendo.
10   $Rev: 19639 $
11  *---------------------------------------------------------------------------
12 
13 
14 */
15 
16 #ifndef NN_TPL_CTR_TPL_CRC32_H_
17 #define NN_TPL_CTR_TPL_CRC32_H_
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 namespace nn { namespace tpl { namespace CTR {
24 
25 // Implementation to search for texture using the hash (search_crc32_data()) from the texture package (.ctpk) header information.
26 //
27 struct TPK_SEARCH_DATA
28 {
29     const char *szFileName; // Texture file name being searched
30     int fileNameLen;        // Character count for comparison (will change depending on whether extensions are compared)
31     const void *infoData;   // Texture package header information
32 };
33 
34 /* Please see man pages for details
35 
36 */
37 unsigned int calculate_crc32(
38     const void *data,
39     unsigned int size);
40 
41 
42 /* Please see man pages for details
43 
44 
45 
46 
47 
48 
49 
50 */
51 int search_crc32_index(
52     const void *base, unsigned int num, unsigned int width, unsigned int crc);
53 
54 
55 /* Please see man pages for details
56  
57  
58 
59 
60 
61 
62 
63 
64 
65 
66 
67 
68 
69 
70 
71 
72 
73 */
74 int search_crc32_data(
75     const void *base, unsigned int num, unsigned int width, unsigned int crc,
76     const void *value);
77 
78 }}} // Namespace
79 
80 #ifdef __cplusplus
81 }
82 #endif
83 
84 
85 #endif	// NN_TPL_CTR_TPL_CRC32_H_
86