]> git.draconx.ca Git - upkg.git/blob - src/upkg.h
Move stuff into a separate source directory.
[upkg.git] / src / upkg.h
1 #ifndef UPKG_H_
2 #define UPKG_H_
3
4 #define UPKG_FLAG_ALLOW_DOWNLOAD  0x0001
5 #define UPKG_FLAG_CLIENT_OPTIONAL 0x0002
6 #define UPKG_FLAG_SERVER_ONLY     0x0004
7 #define UPKG_FLAG_BROKEN_LINKS    0x0008
8 #define UPKG_FLAG_INSECURE        0x0010
9 #define UPKG_FLAG_REQUIRED        0x8000
10
11 #define UPKG_OBJ_FLAG_TRANSACTIONAL   0x00000001
12 #define UPKG_OBJ_FLAG_UNREACHABLE     0x00000002
13 #define UPKG_OBJ_FLAG_PUBLIC          0x00000004
14 #define UPKG_OBJ_FLAG_TAG_IMPORT      0x00000008
15 #define UPKG_OBJ_FLAG_TAG_EXPORT      0x00000010
16 #define UPKG_OBJ_FLAG_SOURCE_MODIFIED 0x00000020
17 #define UPKG_OBJ_FLAG_TAG_GARBAGE     0x00000040
18 #define UPKG_OBJ_FLAG_NEED_LOAD       0x00000200
19 #define UPKG_OBJ_FLAG_HIGHLIGHT_NAME  0x00000400
20
21 #define UPKG_HDR_MAGIC 0x9e2a83c1
22 #define UPKG_HDR_SIZE  36
23
24 struct upkg {
25         unsigned version, license;
26         unsigned long flags;
27
28         unsigned long name_count, export_count, import_count;
29
30         struct upkg_private *priv;
31 };
32
33 struct upkg *upkg_fopen(const char *path);
34 int upkg_close(struct upkg *pkg);
35 const char *upkg_get_name(struct upkg *pkg, unsigned long idx);
36
37 #endif