dropped aas, moved to maxmod
[gbajam21] / tools / mmutil / files.h
1 /****************************************************************************
2  *                                                          __              *
3  *                ____ ___  ____ __  ______ ___  ____  ____/ /              *
4  *               / __ `__ \/ __ `/ |/ / __ `__ \/ __ \/ __  /               *
5  *              / / / / / / /_/ />  </ / / / / / /_/ / /_/ /                *
6  *             /_/ /_/ /_/\__,_/_/|_/_/ /_/ /_/\____/\__,_/                 *
7  *                                                                          *
8  *         Copyright (c) 2008, Mukunda Johnson (mukunda@maxmod.org)         *
9  *                                                                          *
10  * Permission to use, copy, modify, and/or distribute this software for any *
11  * purpose with or without fee is hereby granted, provided that the above   *
12  * copyright notice and this permission notice appear in all copies.        *
13  *                                                                          *
14  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES *
15  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF         *
16  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR  *
17  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES   *
18  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN    *
19  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF  *
20  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.           *
21  ****************************************************************************/
22
23 #ifndef FILES_H
24 #define FILES_H
25
26 #include <stdio.h>
27
28 int file_size( char* filename );
29 int file_open_read( char* filename );
30 int file_open_write( char* filename );
31 int file_open_write_end( char* filename );
32 void file_close_read( void );
33 void file_close_write( void );
34 u8 read8( void );
35 u16 read16( void );
36 u32 read24( void );
37 u32 read32( void );
38 void write8( u8 p_v );
39 void write16( u16 p_v );
40 void write24( u32 p_v );
41 void write32( u32 p_v );
42 void align16( void );
43 void align32( void );
44 void skip8( u32 count );
45 int file_seek_read( int offset, int mode );
46 int file_seek_write( int offset, int mode );
47 int file_tell_read( void );
48 int file_tell_write( void );
49
50 u8 read8f( FILE* p_fin );
51 u16 read16f( FILE* p_fin );
52 u32 read32f( FILE* p_fin );
53 void align32f( FILE* p_file );
54 void skip8f( u32 count, FILE* p_file );
55
56 void file_delete( char* filename );
57
58 bool file_exists( char* filename );
59
60 int file_get_byte_count();
61
62 int file_tell_size( void );
63
64 #define FILE_OPEN_OKAY 0
65 #define FILE_OPEN_ERROR -1
66
67 #endif