UVLoader
Userland Vita Loader
 All Data Structures Files Functions Variables Typedefs Macros Groups Pages
Data Structures | Macros
load.h File Reference

Functions to load executable. More...

#include "types.h"

Data Structures

struct  Elf32_Ehdr
 
struct  Elf32_Shdr
 
struct  Elf32_Phdr
 

Macros

#define UVL_SEC_MODINFO   ".sceModuleInfo.rodata"
 Name of module information section.
 
#define UVL_SEC_MIN_ALIGN   0x100000
 Alignment of each section.
 
#define UVL_BIN_MAX_SIZE   0x200000
 2MB max, change in the future
 
#define ATTR_MOD_INFO   0x8000
 module_exports_t attribute
 
#define ENTRY_NID   0x935CD196
 NID of entry function.
 
ELF identification
#define EI_NIDENT   16
 
#define EI_MAG0   0
 
#define EI_MAG1   1
 
#define EI_MAG2   2
 
#define EI_MAG3   3
 
#define EI_CLASS   4
 
#define EI_DATA   5
 
#define EI_VERSION   6
 
#define EI_PAD   7
 
#define ELFMAG0   0x7F
 
#define ELFMAG1   'E'
 
#define ELFMAG2   'L'
 
#define ELFMAG3   'F'
 
#define ELFCLASS32   1
 
#define ELFDATA2LSB   1
 
ELF object types
#define ET_EXEC   0x0002
 
#define ET_SCE_EXEC   0xFE00
 
ELF machine types
#define EM_ARM   40
 
ELF version
#define EV_CURRENT   1
 
ELF sh section type
#define SHT_RELA   4
 
#define SHT_REL   9
 
ELF ph section type
#define PT_LOAD   1
 
ELF ph formats
#define PF_X   1
 
#define PF_W   2
 
#define PF_R   4
 
SCE identification
#define MAGIC_LEN   4
 
#define SCEMAG0   'S'
 
#define SCEMAG1   'C'
 
#define SCEMAG2   'E'
 
#define SCEMAG3   0
 
#define SCEHDR_LEN   0x1000
 

Typedefs

ELF data types
typedef void * Elf32_Addr
 
typedef u32_t Elf32_Off
 
typedef u32_t Elf32_Sword
 
typedef u32_t Elf32_Word
 
typedef u16_t Elf32_Half
 
ELF structures

See the ELF specification for more information.

typedef struct Elf32_Ehdr Elf32_Ehdr_t
 
typedef struct Elf32_Shdr Elf32_Shdr_t
 
typedef struct Elf32_Phdr Elf32_Phdr_t
 

Detailed Description

Functions to load executable.