Commit | Line | Data |
c3242ac4 |
1 | /* |
2 | Copyright (c) 2002-2013, ShadowFlare <blakflare@hotmail.com> |
3 | All rights reserved. |
4 | |
5 | Redistribution and use in source and binary forms, with or without |
6 | modification, are permitted provided that the following conditions |
7 | are met: |
8 | |
9 | 1. Redistributions of source code must retain the above copyright |
10 | notice, this list of conditions and the following disclaimer. |
11 | 2. Redistributions in binary form must reproduce the above copyright |
12 | notice, this list of conditions and the following disclaimer in the |
13 | documentation and/or other materials provided with the distribution. |
14 | |
15 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND |
16 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
17 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
18 | ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE |
19 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
20 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
21 | OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
22 | HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
23 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
24 | OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
25 | SUCH DAMAGE. |
26 | */ |
27 | |
cfca19c6 |
28 | #ifndef CWADLIB_INCLUDED |
29 | #define CWADLIB_INCLUDED |
30 | |
31 | #include <tchar.h> |
32 | |
33 | #define CWAD_INFO_NUM_FILES 0x03 //Number of files in CWAD |
34 | #define CWAD_INFO_SIZE 0x05 //Size of CWAD or uncompressed file |
35 | #define CWAD_INFO_COMPRESSED_SIZE 0x06 //Size of compressed file |
36 | #define CWAD_INFO_FLAGS 0x07 //File flags (compressed, etc.) |
37 | #define CWAD_INFO_PARENT 0x08 //Handle of CWAD that file is in |
38 | #define CWAD_INFO_POSITION 0x09 //Position of file pointer in files |
39 | |
40 | #define CWAD_FILE_BEGIN 0 |
41 | #define CWAD_FILE_CURRENT 1 |
42 | #define CWAD_FILE_END 2 |
43 | |
44 | void * CWadOpenArchive(const TCHAR *pszFileName); |
45 | bool CWadCloseArchive(void *hCWAD); |
46 | unsigned long CWadGetArchiveInfo(void *hCWAD, int nInfoType); |
47 | unsigned long CWadListFiles(void *hCWAD, char *pmszBuffer, unsigned long nBufferLength); // Returns required buffer size. Strings are in multi string form. (null-terminated strings with an extra null after the last string) |
48 | void * CWadOpenFile(void *hCWAD, const char *pszFileName); |
49 | bool CWadCloseFile(void *hFile); |
50 | unsigned long CWadGetFileSize(void *hFile); |
51 | unsigned long CWadGetFileInfo(void *hFile, int nInfoType); |
52 | unsigned long CWadSetFilePointer(void *hFile, long nDistanceToMove, int nMoveMethod); |
53 | unsigned long CWadReadFile(void *hFile, void *pBuffer, unsigned long nNumberOfBytesToRead); |
54 | unsigned long CWadFindHeader(FILE *pFile); |
55 | |
56 | #endif |