7161da1fc00b86293f2f27ba4c55abf0b8b09f92
[assman] / src / assman_impl.h
1 #ifndef ASSMAN_IMPL_H_
2 #define ASSMAN_IMPL_H_
3
4 typedef struct ass_file ass_file;
5
6 #include "assman.h"
7
8 struct ass_file {
9         void *file;
10         struct ass_fileops *fop;
11 };
12
13 struct mount {
14         char *prefix;
15         struct ass_fileops *fop;
16         int type;
17
18         struct mount *next;
19 };
20
21 enum {
22         MOD_PATH,
23         MOD_ARCHIVE,
24         MOD_URL,
25         MOD_USER
26 };
27
28 /* implemented in mod_*.c files */
29 struct ass_fileops *ass_alloc_path(const char *path);
30 void ass_free_path(struct ass_fileops *fop);
31 struct ass_fileops *ass_alloc_archive(const char *fname);
32 void ass_free_archive(struct ass_fileops *fop);
33 struct ass_fileops *ass_alloc_url(const char *url);
34 void ass_free_url(struct ass_fileops *fop);
35
36
37
38 #endif  /* ASSMAN_IMPL_H_ */