blob: f9cf1c72179385f99bcc85a410a5361c30f4e879 [file] [log] [blame]
#ifndef _VM_JAR_H
#define _VM_JAR_H
#include "lib/list.h"
struct jar_section {
struct list_head headers;
};
struct jar_header {
char *name;
char *value;
struct list_head node;
};
struct jar_main_section {
unsigned int major_version;
unsigned int minor_version;
/* List of 'struct jar_header' */
struct list_head main_attributes;
};
struct jar_individual_section {
struct jar_header *name_header;
/* List of 'struct jar_header' */
struct list_head perentry_attributes;
struct list_head node;
};
struct jar_manifest {
struct jar_main_section *main_section;
struct list_head individual_sections;
};
struct vm_jar {
struct jar_manifest *manifest;
};
struct vm_jar *vm_jar_open(const char *filename);
const char *vm_jar_get_main_class(const struct vm_jar *jar);
#endif