sdk-core
v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Toggle main menu visibility
Loading...
Searching...
No Matches
erl.h
Go to the documentation of this file.
1
/*
2
# _____ ___ ____ ___ ____
3
# ____| | ____| | | |____|
4
# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5
#-----------------------------------------------------------------------
6
# Copyright 2001-2004, ps2dev - http://www.ps2dev.org
7
# Licenced under Academic Free License version 2.0
8
# Review ps2sdk README & LICENSE files for further details.
9
*/
10
16
17
#ifndef __ERL_H__
18
#define __ERL_H__
19
20
#include <
tamtypes.h
>
21
22
struct
htab
;
23
25
#define ERL_FLAG_STICKY 1
27
#define ERL_FLAG_STATIC 2
29
#define ERL_FLAG_CLEAR 4
30
31
struct
erl_record_t
{
32
u8 * bytes;
33
u32 fullsize;
34
char
* name;
35
char
** dependancies;
36
u32 flags;
37
38
/* Private */
39
struct
htab
* symbols;
40
struct
erl_record_t
* next, * prev;
41
};
// 32 bytes.
42
43
struct
symbol_t
{
44
struct
erl_record_t
* provider;
45
u32 address;
46
};
47
48
#ifdef __cplusplus
49
extern
"C"
{
50
#endif
51
52
extern
char
_init_erl_prefix[];
53
54
typedef
struct
erl_record_t
* (*erl_loader_t)(
char
* erl_id);
55
56
extern
erl_loader_t _init_load_erl;
57
58
extern
struct
erl_record_t
* load_erl_from_mem(u8 *
mem
,
int
argc,
char
** argv);
59
extern
struct
erl_record_t
* load_erl_from_file(
const
char
* fname,
int
argc,
char
** argv);
60
extern
struct
erl_record_t
* _init_load_erl_from_file(
const
char
* fname,
char
* erl_id);
61
62
/*
63
* By default, ERLs are relocated at a dynamic memory address -- a pointer
64
* returned by malloc(). The *_to_addr functions allow you to define a static
65
* address (must be different from ERL_DYN_ADDR) without allocating any memory.
66
*/
67
#define ERL_DYN_ADDR 0
68
69
extern
struct
erl_record_t
* load_erl_from_mem_to_addr(u8 *
mem
, u32 addr,
int
argc,
char
** argv);
70
extern
struct
erl_record_t
* load_erl_from_file_to_addr(
const
char
* fname, u32 addr,
int
argc,
char
** argv);
71
extern
struct
erl_record_t
* _init_load_erl_from_file_to_addr(
const
char
* fname, u32 addr,
char
* erl_id);
72
73
extern
int
unload_erl(
struct
erl_record_t
* erl);
74
75
extern
int
erl_add_global_symbol(
const
char
* symbol, u32 address);
76
77
extern
struct
erl_record_t
* find_erl(
const
char
* name);
78
extern
struct
erl_record_t
* erl_resolve(u32 address);
79
80
extern
struct
symbol_t
* erl_find_local_symbol(
const
char
* symbol,
struct
erl_record_t
* erl);
81
extern
struct
symbol_t
* erl_find_symbol(
const
char
* symbol);
82
83
extern
void
erl_flush_symbols(
struct
erl_record_t
* erl);
84
85
#ifdef __cplusplus
86
}
87
#endif
88
89
#endif
/* __ERL_H__ */
erl_record_t
Definition
erl.h:31
htab
Definition
hashtab.h:58
mem
Definition
mem.c:336
symbol_t
Definition
erl.h:43
tamtypes.h
core
erl
include
erl.h
Generated by
1.18.0