]> git.draconx.ca Git - upkg.git/blob - src/upkg.c
Move stuff into a separate source directory.
[upkg.git] / src / upkg.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include "upkg.h"
4
5 void print_upkg_flags(const char *prefix, unsigned long flags)
6 {
7         if (flags & UPKG_FLAG_ALLOW_DOWNLOAD)
8                 printf("%sAllowDownload\n", prefix);
9         if (flags & UPKG_FLAG_CLIENT_OPTIONAL)
10                 printf("%sClientOptional\n", prefix);
11         if (flags & UPKG_FLAG_SERVER_ONLY)
12                 printf("%sServerOnly\n", prefix);
13         if (flags & UPKG_FLAG_BROKEN_LINKS)
14                 printf("%sBrokenLinks\n", prefix);
15         if (flags & UPKG_FLAG_INSECURE)
16                 printf("%sInsecure\n", prefix);
17         if (flags & UPKG_FLAG_REQUIRED)
18                 printf("%sRequired\n", prefix);
19 }
20
21
22 int main(int argc, char **argv)
23 {
24         struct upkg *pkg;
25
26         if (argc < 2) {
27                 fprintf(stderr, "usage: upkg file\n");
28                 return EXIT_FAILURE;
29         }
30
31         pkg = upkg_fopen(argv[1]);
32         if (!pkg) {
33                 fprintf(stderr, "failed to open package!\n");
34                 return EXIT_FAILURE;
35         }
36
37         printf("Version: %u\n",  pkg->version);
38         printf("License: %u\n",  pkg->license);
39
40         printf("Flags:   %lx\n", pkg->flags);
41         print_upkg_flags("\t", pkg->flags);
42
43         printf("Names:   %lu\n", pkg->name_count);
44         for (unsigned long i = 0; i < pkg->name_count; i++) {
45                 printf("\t%s\n", upkg_get_name(pkg, i));
46         }
47
48         printf("Exports: %lu\n", pkg->export_count);
49         printf("Imports: %lu\n", pkg->import_count);
50
51         upkg_close(pkg);
52         return 0;
53 }