added assfile
[raydungeon] / libs / assfile / tar.h
1 /*
2 assfile - library for accessing assets with an fopen/fread-like interface
3 Copyright (C) 2018  John Tsiombikas <nuclear@member.fsf.org>
4
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License
16 along with this program.  If not, see <https://www.gnu.org/licenses/>.
17 */
18 #ifndef TAR_H_
19 #define TAR_H_
20
21 #include <stdio.h>
22
23 struct tar_entry {
24         char *path;
25         unsigned long offset;
26         unsigned long size;
27 };
28
29 struct tar {
30         FILE *fp;
31         struct tar_entry *files;
32         int num_files;
33 };
34
35 int load_tar(struct tar *tar, const char *fname);
36 void close_tar(struct tar *tar);
37
38 #endif  /* TAR_H_ */