VSF Documented
vsf loader

Data Structures

class  vsf_peloader_t
 
struct  vsf_loader_heap_op_t
 
struct  vsf_loader_target_t
 
struct  vsf_loader_op_t
 
class  vsf_loader_t
 
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)
 
#define __VSF_LOADER_PUBLIC_CONST__   const
 
#define vsf_loader_read(__target, __offset, __ptr, __size)
 
#define vsf_loader_malloc(__loader, __attr, __size, __align)
 
#define vsf_loader_free(__loader, __attr, __ptr)
 

Detailed Description

Macro Definition Documentation

◆ __VSF_LOADER_PUBLIC_CONST__

#define __VSF_LOADER_PUBLIC_CONST__   const

◆ vsf_loader_read

#define vsf_loader_read ( __target,
__offset,
__ptr,
__size )
Value:
(__target)->fn_read((__target), (__offset), (__ptr), (__size))

◆ vsf_loader_malloc

#define vsf_loader_malloc ( __loader,
__attr,
__size,
__align )
Value:
(__loader)->heap_op->fn_malloc((vsf_loader_t *)(__loader), (__attr), (__size), (__align))
Definition vsf_loader.h:176

◆ vsf_loader_free

#define vsf_loader_free ( __loader,
__attr,
__ptr )
Value:
(__loader)->heap_op->fn_free((vsf_loader_t *)(__loader), (__attr), (__ptr))

Typedef Documentation

◆ vsf_loader_mem_attr_t

vsf loader memory attributes

Note
TODO

◆ vsf_loader_heap_op_t

typedef struct vsf_loader_heap_op_t vsf_loader_heap_op_t

vsf loader heap functions

Note
TODO

◆ vsf_loader_target_t

typedef struct vsf_loader_target_t vsf_loader_target_t

◆ vsf_loader_op_t

typedef struct vsf_loader_op_t vsf_loader_op_t

Enumeration Type Documentation

◆ vsf_loader_mem_attr_t

vsf loader memory attributes

Note
TODO
Enumerator
VSF_LOADER_MEM_R 
VSF_LOADER_MEM_W 
VSF_LOADER_MEM_X 
VSF_LOADER_MEM_RW 
VSF_LOADER_MEM_RWX 

Function Documentation

◆ vsf_loader_xip_read()

uint32_t vsf_loader_xip_read ( vsf_loader_target_t * target,
uint32_t offset,
void * buffer,
uint32_t size )
extern

read function for xip target, set to fn_read member of vsf_loader_target_t.

Parameters
targetloader target, object of target MUST be the address of image.
offsetoffset in image.
bufferbuffer to hold the data read.
sizesize to read.
Returns
the actual data size read.

◆ vsf_loader_stdio_read()

uint32_t vsf_loader_stdio_read ( vsf_loader_target_t * target,
uint32_t offset,
void * buffer,
uint32_t size )
extern

read function for xip target, set to fn_read member of vsf_loader_target_t.

Parameters
targetloader target, object of target MUST be the file opened with FILE * type.
offsetoffset in image.
bufferbuffer to hold the data read.
sizesize to read.
Returns
the actual data size read.

◆ vsf_loader_load()

int vsf_loader_load ( vsf_loader_t * loader,
vsf_loader_target_t * target )
extern

◆ vsf_loader_cleanup()

void vsf_loader_cleanup ( vsf_loader_t * loader)
extern

◆ vsf_loader_call_init_array()

int vsf_loader_call_init_array ( vsf_loader_t * loader)
extern

◆ vsf_loader_call_fini_array()

void vsf_loader_call_fini_array ( vsf_loader_t * loader)
extern

◆ vsf_loader_remap()

void * vsf_loader_remap ( vsf_loader_t * loader,
void * vaddr )
extern

Variable Documentation

◆ vsf_loader_default_heap_op

const vsf_loader_heap_op_t vsf_loader_default_heap_op
extern

default heap op.

Note
alignment is not supported.
Generated from commit: vsfteam/vsf@e8d75ac