diff options
Diffstat (limited to 'include/user/kernel/sysmem.h')
-rw-r--r-- | include/user/kernel/sysmem.h | 38 |
1 files changed, 28 insertions, 10 deletions
diff --git a/include/user/kernel/sysmem.h b/include/user/kernel/sysmem.h index 1930012..404e810 100644 --- a/include/user/kernel/sysmem.h +++ b/include/user/kernel/sysmem.h @@ -1,19 +1,20 @@ #ifndef _PSP2_KERNEL_SYSMEM_H_ #define _PSP2_KERNEL_SYSMEM_H_ -#include <psp2/types.h> +#include <psp2/kernel/types.h> #ifdef __cplusplus extern "C" { #endif -typedef enum SceKernelMemBlockType { +typedef enum _SceKernelMemBlockType { SCE_KERNEL_MEMBLOCK_TYPE_USER_RW_UNCACHE = 0x0C208060, + SCE_KERNEL_MEMBLOCK_TYPE_USER_RX = 0x0C20D050, SCE_KERNEL_MEMBLOCK_TYPE_USER_RW = 0x0C20D060, SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_PHYCONT_RW = 0x0C80D060, SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_PHYCONT_NC_RW = 0x0D808060, SCE_KERNEL_MEMBLOCK_TYPE_USER_CDRAM_RW = 0x09408060 -} SceKernelMemBlockType; +} _SceKernelMemBlockType; typedef struct SceKernelAllocMemBlockOpt { SceSize size; @@ -25,6 +26,13 @@ typedef struct SceKernelAllocMemBlockOpt { int reserved[10]; } SceKernelAllocMemBlockOpt; +typedef struct SceKernelFreeMemorySizeInfo { + int size; //!< sizeof(SceKernelFreeMemorySizeInfo) + int size_user; //!< Free memory size for *_USER_RW memory + int size_cdram; //!< Free memory size for USER_CDRAM_RW memory + int size_phycont; //!< Free memory size for USER_MAIN_PHYCONT_*_RW memory +} SceKernelFreeMemorySizeInfo; + typedef enum SceKernelModel { SCE_KERNEL_MODEL_VITA = 0x10000, SCE_KERNEL_MODEL_VITATV = 0x20000 @@ -50,7 +58,7 @@ typedef enum SceKernelMemoryType { SCE_KERNEL_MEMORY_TYPE_NORMAL = 0xD0 } SceKernelMemoryType; -/*** +/** * Allocates a new memory block * * @param[in] name - Name for the memory block @@ -62,7 +70,7 @@ typedef enum SceKernelMemoryType { */ SceUID sceKernelAllocMemBlock(const char *name, SceKernelMemBlockType type, int size, SceKernelAllocMemBlockOpt *optp); -/*** +/** * Frees new memory block * * @param[in] uid - SceUID of the memory block to free @@ -71,7 +79,7 @@ SceUID sceKernelAllocMemBlock(const char *name, SceKernelMemBlockType type, int */ int sceKernelFreeMemBlock(SceUID uid); -/*** +/** * Gets the base address of a memory block * * @param[in] uid - SceUID of the memory block to free @@ -94,19 +102,29 @@ int sceKernelCloseVMDomain(void); int sceKernelOpenMemBlock(const char *name, int flags); int sceKernelCloseMemBlock(SceUID uid); -/*** +/** * Get the model number of the device * * @return A value from SCE_KERNEL_MODEL */ -int sceKernelGetModelForCDialog(); +int sceKernelGetModelForCDialog(void); -/*** +/** * Get the model number of the device * * @return A value from SCE_KERNEL_MODEL */ -int sceKernelGetModel(); +int sceKernelGetModel(void); + +/** + * Get free memory size in bytes + * + * @param[out] info - Returned free memory size for different kind of memory block types + * @return 0 on success, < 0 on error. +*/ +int sceKernelGetFreeMemorySize(SceKernelFreeMemorySizeInfo *info); + +int sceKernelIsPSVitaTV(void); #ifdef __cplusplus } |