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