summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorReiko Asakura2021-03-08 14:03:14 -0500
committerReiko Asakura2021-03-08 14:03:14 -0500
commitc061907ca2ca71d9fed5c0c4e65f9e1d5ed492e3 (patch)
tree99b58add95e5ce9c56bc5ba388c4c175ebc2347a /include
parentRemove old SDK functions (diff)
downloadvds-libraries-c061907ca2ca71d9fed5c0c4e65f9e1d5ed492e3.tar.gz
Fix name and type sceKernelExtendKernelStackWide
Name is from prototype 0.940 threadmgr.skprx. In practice, sceKernelExtendKernelStack is the same function as sceKernelExtendKernelStackWide, but are named differently for two reason: 1. SceThreadmgrForDriver exports both of them. 2. iofilemgr.skprx uses both of them depending on if a wide return value is required.
Diffstat (limited to 'include')
-rw-r--r--include/kernel/kernel/threadmgr.h37
1 files changed, 31 insertions, 6 deletions
diff --git a/include/kernel/kernel/threadmgr.h b/include/kernel/kernel/threadmgr.h
index b81ee23..9b4de5e 100644
--- a/include/kernel/kernel/threadmgr.h
+++ b/include/kernel/kernel/threadmgr.h
@@ -120,16 +120,41 @@ void *sceKernelGetThreadTLSAddr(SceUID thid, int key);
*/
void *sceKernelGetTLSAddr(int key);
+/** Type of function used with sceKernelExtendKernelStack */
+typedef SceInt32 (*SceKernelExtendKernelStackFunction)(void *pArg);
+
+/** Type of function used with sceKernelExtendKernelStackWide */
+typedef SceInt64 (*SceKernelExtendKernelStackWideFunction)(void *pArg);
+
/**
- * @brief Runs a function with larger stack size
+ * @brief Changes the stack address range and calls extendKernelStackFunc
*
- * @param[in] stack_size The stack size
- * @param[in] to_call To call
- * @param args The arguments
+ * @param[in] stackSize Size of the changed stack
+ * @param[in] extendKernelStackFunc Function to call
+ * @param[in] pCommon Argument to pass to extendKernelStackFunc
*
- * @return Zero on success
+ * @return Return value of extendKernelStackFunc
+ */
+SceInt32 sceKernelExtendKernelStack(
+ SceSize stackSize,
+ SceKernelExtendKernelStackFunction extendKernelStackFunc,
+ void *pCommon
+);
+
+/**
+ * @brief Changes the stack address range and calls extendKernelStackWideFunc
+ *
+ * @param[in] stackSize Size of the changed stack
+ * @param[in] extendKernelStackWideFunc Function to call
+ * @param[in] pCommon Argument to pass to extendKernelStackWideFunc
+ *
+ * @return Return value of extendKernelStackWideFunc
*/
-int sceKernelRunWithStack(SceSize stack_size, int (* to_call)(void *), void *args);
+SceInt64 sceKernelExtendKernelStackWide(
+ SceSize stackSize,
+ SceKernelExtendKernelStackWideFunction extendKernelStackWideFunc,
+ void *pCommon
+);
/**
* @brief Call from an abort handler to get info on faulting process