Add memcpy/strncpy document
@@ -274,10 +274,39 @@ void *ksceKernelAllocHeapMemoryWithOption(SceUID heapid, SceSize len, SceAllocOp
*/
int ksceKernelFreeHeapMemory(SceUID uid, void *ptr);
-int ksceKernelMemcpyUserToKernelForPid(SceUID pid, void *dst, uintptr_t src, SceSize len);
+/**
+ * Memory copy from user
+ *
+ * @param[in] dst - The pointer of kern memory output buffer
+ * @param[in] src - The pointer of user memory
+ * @param[in] len - The copy length
+ *
+ * @return 0 on success, < 0 on error.
+ */
int ksceKernelMemcpyUserToKernel(void *dst, uintptr_t src, SceSize len);
+
+/**
+ * Memory copy from user with process
+ *
+ * @param[in] pid - The target process id
+ * @param[in] dst - The pointer of kern memory
+ * @param[in] src - The pointer of user memory
+ * @param[in] len - The copy length
+ *
+ * @return 0 on success, < 0 on error.
+ */
+int ksceKernelMemcpyUserToKernelForPid(SceUID pid, void *dst, uintptr_t src, SceSize len);
+
+/**
+ * Memory copy to user
+ *
+ * @param[in] dst - The pointer of user memory
+ * @param[in] src - The pointer of kern memory
+ * @param[in] len - The copy length
+ *
+ * @return 0 on success, < 0 on error.
+ */
int ksceKernelMemcpyKernelToUser(uintptr_t dst, const void *src, SceSize len);
-int ksceKernelRxMemcpyKernelToUserForPid(SceUID pid, uintptr_t dst, const void *src, SceSize len);
/**
* Memory copy to user Read only memory
@@ -301,7 +330,38 @@ int ksceKernelMemcpyToUserRo(uintptr_t dst, const void *src, SceSize len);
*/
int ksceKernelMemcpyToUserRx(uintptr_t dst, const void *src, SceSize len);
+/**
+ * Memory copy to user with process
+ *
+ * @param[in] pid - The target process id
+ * @param[in] dst - The pointer of user memory
+ * @param[in] src - The pointer of kern memory
+ * @param[in] len - The copy length
+ *
+ * @return 0 on success, < 0 on error.
+ */
+int ksceKernelRxMemcpyKernelToUserForPid(SceUID pid, uintptr_t dst, const void *src, SceSize len);
+
+/**
+ * Strncpy from user
+ *
+ * @param[in] dst - The pointer of user space strings
+ * @param[in] src - The pointer of kern strings output
+ * @param[in] len - The copy length
+ *
+ * @return 0 on success, < 0 on error.
+ */
int ksceKernelStrncpyUserToKernel(void *dst, uintptr_t src, SceSize len);
+
+/**
+ * Strncpy to user
+ *
+ * @param[in] dst - The pointer of kern space strings
+ * @param[in] src - The pointer of user strings output
+ * @param[in] len - The copy length
+ *
+ * @return 0 on success, < 0 on error.
+ */
int ksceKernelStrncpyKernelToUser(uintptr_t dst, const void *src, SceSize len);
int ksceKernelStrncpyUserForPid(SceUID pid, void *dst, uintptr_t src, SceSize len);
