diff options
author | Sergi Granell | 2018-08-09 10:20:35 +0200 |
---|---|---|
committer | Sergi Granell | 2018-08-09 10:21:04 +0200 |
commit | 923d96120f3d37296259d7e8d19392019502ef97 (patch) | |
tree | 11d7627927dd9f7ffdb9579dad9fee8edd5fbdaf /include | |
parent | Update paf.h (diff) | |
download | vds-libraries-923d96120f3d37296259d7e8d19392019502ef97.tar.gz |
Update UDCD
Diffstat (limited to 'include')
-rw-r--r-- | include/kernel/kernel/sysmem.h | 2 | ||||
-rw-r--r-- | include/kernel/udcd.h | 32 |
2 files changed, 30 insertions, 4 deletions
diff --git a/include/kernel/kernel/sysmem.h b/include/kernel/kernel/sysmem.h index 617538e..51e45e4 100644 --- a/include/kernel/kernel/sysmem.h +++ b/include/kernel/kernel/sysmem.h @@ -290,7 +290,7 @@ int sceKernelMapBlockUserVisible(SceUID uid); int sceKernelMapUserBlock(const char *name, int permission, int type, const void *user_buf, unsigned int size, void **kernel_page, unsigned int *kernel_size, unsigned int *kernel_offset); -int sceKernelMapUserBlockDefaultType(const char *name, int permission, void *user_buf, +int sceKernelMapUserBlockDefaultType(const char *name, int permission, const void *user_buf, unsigned int size, void **kernel_page, unsigned int *kernel_size, unsigned int *kernel_offset); int sceKernelMapUserBlockDefaultTypeForPid(int pid, const char *name, int permission, diff --git a/include/kernel/udcd.h b/include/kernel/udcd.h index 78fe6c6..e309899 100644 --- a/include/kernel/udcd.h +++ b/include/kernel/udcd.h @@ -194,6 +194,12 @@ typedef enum SceUdcdErrorCode { SCE_UDCD_ERROR_USBDRIVER_INVALID_FUNCS = 0x80243202 } SceUdcdErrorCode; +/** SceUdcdDeviceRequest Flags + */ +typedef enum SceUdcdDeviceRequestAttr { + SCE_UDCD_DEVICE_REQUEST_ATTR_PHYCONT = 0x00000001 +} SceUdcdDeviceRequestAttr; + /** USB string descriptor */ typedef struct SceUdcdStringDescriptor { @@ -356,7 +362,7 @@ typedef struct SceUdcdDriver { typedef struct SceUdcdDeviceRequest { SceUdcdEndpoint *endpoint; //!< Pointer to the endpoint to queue request on void *data; //!< Pointer to the data buffer to use in the request - unsigned int unk; //!< Unknown data + unsigned int attributes; //!< Request attributes (See ::SceUdcdDeviceRequestAttr) int size; //!< Size of the data buffer int isControlRequest; //!< Is a control request? void (*onComplete)(struct SceUdcdDeviceRequest *req); //!< Pointer to the function to call on completion @@ -550,7 +556,7 @@ int sceUdcdReqCancelAll(SceUdcdEndpoint *endp); int sceUdcdStall(SceUdcdEndpoint *endp); /** - * Queue a send request(IN from host pov) + * Queue a send request (IN from host pov) * * @param req - Pointer to a filled out ::SceUdcdDeviceRequest structure. * @@ -559,7 +565,17 @@ int sceUdcdStall(SceUdcdEndpoint *endp); int sceUdcdReqSend(SceUdcdDeviceRequest *req); /** - * Queue a receive request(OUT from host pov) + * Queue a send request (IN from host pov) for an UDCD bus + * + * @param req - Pointer to a filled out ::SceUdcdDeviceRequest structure. + * @param[in] bus - UDCD bus (default is 2) + * + * @return 0 on success, < 0 on error + */ +int sceUdcdReqSendInternal(SceUdcdDeviceRequest *req, int bus); + +/** + * Queue a receive request (OUT from host pov) * * @param req - Pointer to a filled out ::SceUdcdDeviceRequest structure * @@ -567,6 +583,16 @@ int sceUdcdReqSend(SceUdcdDeviceRequest *req); */ int sceUdcdReqRecv(SceUdcdDeviceRequest *req); +/** + * Queue a receive request (OUT from host pov) for an UDCD bus + * + * @param req - Pointer to a filled out ::SceUdcdDeviceRequest structure + * @param[in] bus - UDCD bus (default is 2) + * + * @return 0 on success, < 0 on error + */ +int sceUdcdReqRecvInternal(SceUdcdDeviceRequest *req, int bus); + #ifdef __cplusplus } #endif |