summaryrefslogtreecommitdiff
path: root/include/user/kernel/sysmem.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/user/kernel/sysmem.h')
-rw-r--r--include/user/kernel/sysmem.h38
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
}