rev |
line source |
nuclear@0
|
1 #ifndef PACKIO_H_
|
nuclear@0
|
2 #define PACKIO_H_
|
nuclear@0
|
3
|
nuclear@0
|
4 struct pack_file;
|
nuclear@0
|
5 struct pack_dir;
|
nuclear@0
|
6
|
nuclear@0
|
7 #define PACK_NAME_MAX 256
|
nuclear@0
|
8
|
nuclear@0
|
9 struct pack_dirent {
|
nuclear@0
|
10 char d_name[PACK_NAME_MAX];
|
nuclear@0
|
11 };
|
nuclear@0
|
12
|
nuclear@0
|
13 /* not sure I like this capitalization, but it matches the libc counterparts */
|
nuclear@0
|
14 typedef struct pack_file PACKFILE;
|
nuclear@0
|
15 typedef struct pack_dir PACKDIR;
|
nuclear@0
|
16
|
nuclear@0
|
17
|
nuclear@0
|
18 int pack_init(void);
|
nuclear@0
|
19 void pack_cleanup(void);
|
nuclear@0
|
20 int pack_mount(const char *fname, const char *path);
|
nuclear@0
|
21
|
nuclear@0
|
22 int pack_exists(const char *path);
|
nuclear@0
|
23 int pack_isfile(const char *path);
|
nuclear@0
|
24 int pack_isdir(const char *path);
|
nuclear@0
|
25
|
nuclear@0
|
26
|
nuclear@0
|
27 /* file i/o */
|
nuclear@0
|
28 PACKFILE *pack_fopen(const char *path, const char *mode);
|
nuclear@0
|
29 int pack_fclose(PACKFILE *fp);
|
nuclear@0
|
30
|
nuclear@0
|
31 int pack_feof(PACKFILE *fp);
|
nuclear@0
|
32 long pack_filesize(PACKFILE *fp);
|
nuclear@0
|
33
|
nuclear@0
|
34 int pack_fseek(PACKFILE *fp, long offs, int whence);
|
nuclear@0
|
35 long pack_ftell(PACKFILE *fp);
|
nuclear@0
|
36 void pack_rewind(PACKFILE *fp);
|
nuclear@0
|
37
|
nuclear@0
|
38 size_t pack_fread(void *ptr, size_t size, size_t nmemb, PACKFILE *fp);
|
nuclear@0
|
39 size_t pack_fwrite(void *ptr, size_t size, size_t nmemb, PACKFILE *fp);
|
nuclear@0
|
40
|
nuclear@0
|
41 int pack_fgetc(PACKFILE *fp);
|
nuclear@0
|
42 char *pack_fgets(char *buf, int size, PACKFILE *fp);
|
nuclear@0
|
43
|
nuclear@0
|
44 /* directory handling */
|
nuclear@0
|
45 PACKDIR *pack_opendir(const char *name);
|
nuclear@0
|
46 int pack_closedir(PACKDIR *dir);
|
nuclear@0
|
47 struct pack_dirent *pack_readdir(PACKDIR *dir);
|
nuclear@0
|
48
|
nuclear@0
|
49
|
nuclear@0
|
50 #endif /* PACKIO_H_ */
|