VSF Documented
Data Structures
vsf_loader.h File Reference

vsf loader support More...

#include "service/vsf_service_cfg.h"
#include "utilities/vsf_utilities.h"
#include "utilities/ooc_class.h"
#include "./elf/vsf_elfloader.h"
#include "./pe/vsf_peloader.h"

Go to the source code of this file.

Data Structures

struct  vsf_loader_heap_op_t
 
struct  vsf_loader_target_t
 
struct  vsf_loader_op_t
 
class  vsf_loader_t
 
#define PUBLIC_CONST   const
 
#define vsf_loader_read(__target, __offset, __ptr, __size)    (__target)->fn_read((__target), (__offset), (__ptr), (__size))
 
#define vsf_loader_malloc(__loader, __attr, __size, __align)    (__loader)->heap_op->fn_malloc((vsf_loader_t *)(__loader), (__attr), (__size), (__align))
 
#define vsf_loader_free(__loader, __attr, __ptr)    (__loader)->heap_op->fn_free((vsf_loader_t *)(__loader), (__attr), (__ptr))
 
enum  vsf_loader_mem_attr_t {
  VSF_LOADER_MEM_R = 1 << 0 ,
  VSF_LOADER_MEM_W = 1 << 1 ,
  VSF_LOADER_MEM_X = 1 << 2 ,
  VSF_LOADER_MEM_RW = VSF_LOADER_MEM_R | VSF_LOADER_MEM_W ,
  VSF_LOADER_MEM_RWX = VSF_LOADER_MEM_X | VSF_LOADER_MEM_RW
}
 
typedef enum vsf_loader_mem_attr_t vsf_loader_mem_attr_t
 
typedef struct vsf_loader_heap_op_t vsf_loader_heap_op_t
 
typedef struct vsf_loader_target_t vsf_loader_target_t
 
typedef struct vsf_loader_op_t vsf_loader_op_t
 
const vsf_loader_heap_op_t vsf_loader_default_heap_op
 
uint32_t vsf_loader_xip_read (vsf_loader_target_t *target, uint32_t offset, void *buffer, uint32_t size)
 
uint32_t vsf_loader_stdio_read (vsf_loader_target_t *target, uint32_t offset, void *buffer, uint32_t size)
 
int vsf_loader_load (vsf_loader_t *loader, vsf_loader_target_t *target)
 
void vsf_loader_cleanup (vsf_loader_t *loader)
 
int vsf_loader_call_init_array (vsf_loader_t *loader)
 
void vsf_loader_call_fini_array (vsf_loader_t *loader)
 
void * vsf_loader_remap (vsf_loader_t *loader, void *vaddr)
 

Detailed Description

vsf loader support

provides a application loader implementation