vita-export.h (1028B)
1 #ifndef VITA_EXPORT_H 2 #define VITA_EXPORT_H 3 4 #include <vita-toolchain-public.h> 5 #include <stdbool.h> 6 #include <stdint.h> 7 #include <stdio.h> 8 9 typedef struct { 10 const char *name; 11 uint32_t nid; 12 } vita_export_symbol; 13 14 typedef struct { 15 const char *name; 16 int syscall; 17 size_t function_n; 18 vita_export_symbol **functions; 19 size_t variable_n; 20 vita_export_symbol **variables; 21 uint32_t nid; 22 } vita_library_export; 23 24 typedef struct { 25 char name[27]; 26 uint8_t ver_major; 27 uint8_t ver_minor; 28 uint16_t attributes; 29 uint32_t nid; 30 const char *start; 31 const char *stop; 32 const char *exit; 33 size_t module_n; 34 vita_library_export **modules; 35 } vita_export_t; 36 37 VITA_TOOLCHAIN_PUBLIC vita_export_t *vita_exports_load(const char *filename, const char *elf, int verbose); 38 VITA_TOOLCHAIN_PUBLIC vita_export_t *vita_exports_loads(FILE *text, const char *elf, int verbose); 39 VITA_TOOLCHAIN_PUBLIC vita_export_t *vita_export_generate_default(const char *elf); 40 VITA_TOOLCHAIN_PUBLIC void vita_exports_free(vita_export_t *exp); 41 42 #endif // VITA_EXPORT_H