]> git.draconx.ca Git - upkg.git/blobdiff - src/upkg.c
upkg: Print export flags.
[upkg.git] / src / upkg.c
index a8c7c7e560ca02bb61bd66d3e36e352d4bcd2b80..8b1493e33846a390645144f4e0ab5ec74fabbbb8 100644 (file)
@@ -82,7 +82,7 @@ void print_help(void)
        }
 }
 
-void print_upkg_flags(const char *prefix, unsigned long flags)
+static void print_upkg_flags(const char *prefix, unsigned long flags)
 {
        if (flags & UPKG_FLAG_ALLOW_DOWNLOAD)
                printf("%sAllowDownload\n", prefix);
@@ -98,6 +98,70 @@ void print_upkg_flags(const char *prefix, unsigned long flags)
                printf("%sRequired\n", prefix);
 }
 
+static void print_upkg_object_flags(const char *prefix, unsigned long flags)
+{
+       if (flags & UPKG_OBJ_FLAG_TRANSACTIONAL)
+               printf("%sTransactional\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_UNREACHABLE)
+               printf("%sUnreachable\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_PUBLIC)
+               printf("%sPublic\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_TAG_IMPORT)
+               printf("%sImport\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_TAG_EXPORT)
+               printf("%sTagExport\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_SOURCE_MODIFIED)
+               printf("%sSourceModified\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_TAG_GARBAGE)
+               printf("%sTagGarbage\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_NEED_LOAD)
+               printf("%sNeedLoad\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_HIGHLIGHT_NAME)
+               printf("%sHighlightName\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_IN_SINGULAR_FUNC)
+               printf("%sInSingularFunc\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_SUPPRESSED)
+               printf("%sSuppressed\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_IN_END_STATE)
+               printf("%sInEndState\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_TRANSIENT)
+               printf("%sTransient\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_PRELOADING)
+               printf("%sPreloading\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_LOAD_FOR_CLIENT)
+               printf("%sLoadForClient\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_LOAD_FOR_SERVER)
+               printf("%sLoadForServer\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_LOAD_FOR_EDIT)
+               printf("%sLoadForEdit\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_STANDALONE)
+               printf("%sStandalone\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_NOT_FOR_CLIENT)
+               printf("%sNotForClient\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_NOT_FOR_SERVER)
+               printf("%sNotForServer\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_NOT_FOR_EDIT)
+               printf("%sNotForEdit\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_DESTROYED)
+               printf("%sDestroyed\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_NEED_POST_LOAD)
+               printf("%sNeedPostLoad\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_HAS_STACK)
+               printf("%sHasStack\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_NATIVE)
+               printf("%sNative\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_MARKED)
+               printf("%sMarked\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_ERROR_SHUTDOWN)
+               printf("%sErrorShutdown\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_DEBUG_POST_LOAD)
+               printf("%sDebugPostLoad\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_DEBUG_SERIALIZE)
+               printf("%sDebugSerialize\n", prefix);
+       if (flags & UPKG_OBJ_FLAG_DEBUG_DESTROY)
+               printf("%sDebugDestroy\n", prefix);
+}
+
 void print_guid(unsigned char guid[static 16])
 {
        for (unsigned i = 0; i < 16; i++) {
@@ -121,6 +185,8 @@ void print_upkg_exports(struct upkg *pkg)
                        continue;
 
                printf("%u - %s (%s.%s)\n", i+1, name, package, class);
+               printf("  Flags: %lx\n", upkg_export_flags(pkg, i));
+               print_upkg_object_flags("    ", upkg_export_flags(pkg, i));
        }
 }
 
@@ -133,7 +199,7 @@ int package_info(struct upkg *pkg)
 
        printf("Flags:   %lx\n", pkg->flags);
        if (verbose >= 1) {
-               print_upkg_flags("\t", pkg->flags);
+               print_upkg_flags("        ", pkg->flags);
        }
 
        if (verbose >= 1) {