sdk-core v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Loading...
Searching...
No Matches
xsysmem.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 __XSYSMEM_H__
18#define __XSYSMEM_H__
19
20#include <sysmem.h>
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26#define xsysmem_IMPORTS_start DECLARE_IMPORT_TABLE(sysmem, 1, 2)
27#define xsysmem_IMPORTS_end END_IMPORT_TABLE
28
29typedef struct sysmem_meminfo_
30{
31 int allocation_count;
32 int memsize;
33 sysmem_alloc_table_t *memlist_last;
34 sysmem_alloc_table_t *memlist_first;
35} sysmem_meminfo_t;
36
37typedef struct sysmem_blockinfo_
38{
39 void *block_address;
40 /* Low 8 bits are flags. The rest is the size of this block */
41 /* flags_memsize == 0: block not found in passed in list */
42 /* flags_memsize & 1: passed in list is empty */
43 /* flags_memsize & 2: block is allocated */
44 u32 flags_memsize;
45 void *unused08;
46 sysmem_alloc_table_t *table_info;
47} sysmem_blockinfo_t;
48
49typedef union sysmem_info_
50{
51 sysmem_blockinfo_t blockinfo; /* when flag of GetSysMemoryInfo is zero */
52 sysmem_meminfo_t meminfo; /* when flag of GetSysMemoryInfo is nonzero */
53} sysmem_info_t;
54
55// The following was implemented around SDK 3.0.0
56extern void GetSysMemoryInfo(int flag, sysmem_info_t *info);
57
58#define I_GetSysMemoryInfo DECLARE_IMPORT(11, GetSysMemoryInfo)
59
60#ifdef __cplusplus
61}
62#endif
63
64#endif /* __XSYSMEM_H__ */