sdk-core v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Loading...
Searching...
No Matches
elf_loader_common.h File Reference
#include <elf-loader.h>
#include <stddef.h>
#include <tamtypes.h>

Go to the source code of this file.

Classes

struct  elf_loader_elf32_ehdr_
struct  elf_loader_elf32_phdr_
struct  elf_loader_loaderinfo_item_
struct  elf_loader_loaderinfo_
struct  elf_loader_arginfo_
struct  elf_loader_execinfo_
struct  elf_loader_reader_segment_info_
struct  elf_loader_reader_info_
struct  elf_loader_reader_info_stdio_resultbuf_

Macros

#define ELF_LOADER_MAX_PROGRAM_HEADERS   32
#define ELF_LOADER_MAX_LOADERINFO_ITEMS   (ELF_LOADER_MAX_PROGRAM_HEADERS + 3)

Typedefs

typedef struct elf_loader_elf32_ehdr_ elf_loader_elf32_ehdr_t
typedef struct elf_loader_elf32_phdr_ elf_loader_elf32_phdr_t
typedef struct elf_loader_loaderinfo_item_ elf_loader_loaderinfo_item_t
typedef struct elf_loader_loaderinfo_ elf_loader_loaderinfo_t
typedef struct elf_loader_arginfo_ elf_loader_arginfo_t
typedef struct elf_loader_execinfo_ elf_loader_execinfo_t
typedef struct elf_loader_reader_segment_info_ elf_loader_reader_segment_info_t
typedef enum elf_loader_reader_stage_ elf_loader_reader_stage_t
typedef void *(*) elf_loader_reader_allocation_callback_t(void *userdata, void *pointer, ptrdiff_t old_size, ptrdiff_t new_size)
typedef int(*) elf_loader_reader_read_callback_t(void *userdata, elf_loader_reader_stage_t stage, const elf_loader_reader_segment_info_t *segm_info, size_t segm_count)
typedef void(*) elf_loader_reader_result_callback_t(void *userdata, void *pointer, ptrdiff_t pointer_size, int errval)
typedef struct elf_loader_reader_info_ elf_loader_reader_info_t
typedef struct elf_loader_reader_info_stdio_resultbuf_ elf_loader_reader_info_stdio_resultbuf_t

Enumerations

enum  elf_loader_reader_stage_ { ELF_LOADER_READER_STAGE_ELF_HEADER , ELF_LOADER_READER_STAGE_PROGRAM_HEADERS , ELF_LOADER_READER_STAGE_SEGMENTS , ELF_LOADER_READER_STAGE_END }

Functions

int elf_loader_is_elf_ehdr_valid (const elf_loader_elf32_ehdr_t *ehdr)
int elf_loader_is_elf_valid_for_loading (const void *buf, size_t buf_size)
int elf_loader_exec_elf_prepare_loadinfo (elf_loader_execinfo_t *execinfo, const void *buf, size_t buf_size)
int elf_loader_exec_elf_prepare_arginfo (elf_loader_execinfo_t *execinfo, const char *filename, const char *partition, int argc, char *argv[])
int elf_loader_exec_elf (elf_loader_execinfo_t *execinfo)
void elf_loader_reader_read_elf_file (elf_loader_reader_info_t *info)
int elf_loader_reader_read_elf_file_stdio (elf_loader_reader_info_stdio_resultbuf_t *resultbuf, const char *filename, const char *flags)

Macro Definition Documentation

◆ ELF_LOADER_MAX_LOADERINFO_ITEMS

#define ELF_LOADER_MAX_LOADERINFO_ITEMS   (ELF_LOADER_MAX_PROGRAM_HEADERS + 3)

Definition at line 69 of file elf_loader_common.h.

◆ ELF_LOADER_MAX_PROGRAM_HEADERS

#define ELF_LOADER_MAX_PROGRAM_HEADERS   32

Definition at line 27 of file elf_loader_common.h.

Typedef Documentation

◆ elf_loader_reader_allocation_callback_t

typedef void *(*) elf_loader_reader_allocation_callback_t(void *userdata, void *pointer, ptrdiff_t old_size, ptrdiff_t new_size)

Definition at line 104 of file elf_loader_common.h.

◆ elf_loader_reader_read_callback_t

typedef int(*) elf_loader_reader_read_callback_t(void *userdata, elf_loader_reader_stage_t stage, const elf_loader_reader_segment_info_t *segm_info, size_t segm_count)

Definition at line 106 of file elf_loader_common.h.

◆ elf_loader_reader_result_callback_t

typedef void(*) elf_loader_reader_result_callback_t(void *userdata, void *pointer, ptrdiff_t pointer_size, int errval)

Definition at line 111 of file elf_loader_common.h.

Enumeration Type Documentation

◆ elf_loader_reader_stage_

enum elf_loader_reader_stage_

Definition at line 96 of file elf_loader_common.h.

Function Documentation

◆ elf_loader_exec_elf()

int elf_loader_exec_elf ( elf_loader_execinfo_t * execinfo)
extern

Definition at line 339 of file elf.c.

◆ elf_loader_exec_elf_prepare_arginfo()

int elf_loader_exec_elf_prepare_arginfo ( elf_loader_execinfo_t * execinfo,
const char * filename,
const char * partition,
int argc,
char * argv[] )
extern

Definition at line 242 of file elf.c.

◆ elf_loader_exec_elf_prepare_loadinfo()

int elf_loader_exec_elf_prepare_loadinfo ( elf_loader_execinfo_t * execinfo,
const void * buf,
size_t buf_size )
extern

Definition at line 128 of file elf.c.

◆ elf_loader_is_elf_ehdr_valid()

int elf_loader_is_elf_ehdr_valid ( const elf_loader_elf32_ehdr_t * ehdr)
extern

Definition at line 20 of file elf.c.

◆ elf_loader_is_elf_valid_for_loading()

int elf_loader_is_elf_valid_for_loading ( const void * buf,
size_t buf_size )
extern

Definition at line 73 of file elf.c.

◆ elf_loader_reader_read_elf_file()

void elf_loader_reader_read_elf_file ( elf_loader_reader_info_t * info)
extern

Definition at line 15 of file elf_loader_reader.c.

◆ elf_loader_reader_read_elf_file_stdio()

int elf_loader_reader_read_elf_file_stdio ( elf_loader_reader_info_stdio_resultbuf_t * resultbuf,
const char * filename,
const char * flags )
extern

Definition at line 82 of file elf_loader_stdio.c.