From 63043bfcd07ee2d2d2708318f57bcededceef3cb Mon Sep 17 00:00:00 2001 From: Tim Keller Date: Thu, 10 Nov 2016 21:41:29 -0500 Subject: Add DB defines and Header for SceUsbSerial (#81) * Added DB defines for SceUsbSerial Added in header for SceUsbSerial * Changed to usbserial.h updated db.json to camelCase Fixed spelling errors in usbserial.h added documentation from wiki to usbserial.h * sceUsbSerialget_len -> sceUsbSerialGetLen sceUsbSerialget_lenForKernel -> sceUsbSerialGetLenForKernel * Dangit missed some information on the wiki! * fix camelCase. * fix some formatting issues * Split usbserial.h to psp2kern/kernel/usbserial.h fix some documentation. * Moved kernel defines for usbserial.h to appropriate folder Fix preprocessor macros update copyright * Git decided my changes were not important and chose to ignore them --- include/user/usbserial.h | 83 +++++++++++++++++++++++++++++++++++++++++++++++ nids/360/SceUsbSerial.yml | 24 ++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 include/user/usbserial.h create mode 100644 nids/360/SceUsbSerial.yml diff --git a/include/user/usbserial.h b/include/user/usbserial.h new file mode 100644 index 0000000..baf4c41 --- /dev/null +++ b/include/user/usbserial.h @@ -0,0 +1,83 @@ +#ifndef _PSP2_USBSERIAL_H_ +#define _PSP2_USBSERIAL_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Activate USB serial device + * + * @return 0 on success, < 0 on error + * + * @note The user is responsible for making sure no other UDC driver is active. This activates UDC as a "PS Vita" Type D device. + * + * @note Wrapper for kernel function sceUsbSerialStart() + */ +int sceUsbSerialStart(void); + +/** + * Setup USB serial device + * + * @return 0 on success, < 0 on error + * + * @param unk Unknown + * + * @note Wrapper for kernel function sceUsbSerialSetup() + */ +int sceUsbSerialSetup(int unk); + +/** + * Close USB serial device + * + * @note Wrapper for kernel function sceUsbSerialClose() + */ +int sceUsbSerialClose(void); + +/** + * Close USB serial device + * + * @return Returns 1 when serial port is open + * + * @note Wrapper for kernel function sceUsbSerialStatus() + */ +int sceUsbSerialStatus(void); + +/** + * Get receive buffer length + * + * @return Returns length of USB rx buffer + * + * @note Wrapper for kernel function sceUsbSerialGetLen() + */ +unsigned int sceUsbSerialGetLen(void); + +/** + * Send data + * @param[in] *buffer data to send over usb + * @param len int len of serial buffer data + * @param unk1 Unknown + * @param unk2 Unknown + * @note max send length is 0x10000 + * @note Wrapper for kernel function sceUsbSerialSend() + */ +unsigned int sceUsbSerialSend(const void *buffer, unsigned int len, int unk1, int unk2); + +/** + * Receive Data + * + * @param[out] *buffer buffer for incoming data + * @param max_len max data length to receive + * @param unk1 Unknown + * @param unk2 Unknown + * @note max recv length is 0x10000 + * @note Wrapper for kernel function sceUsbSerialRecv() + */ +unsigned int sceUsbSerialRecv(void *buffer, unsigned int max_len, int unk1, int unk2); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/nids/360/SceUsbSerial.yml b/nids/360/SceUsbSerial.yml new file mode 100644 index 0000000..0b22b63 --- /dev/null +++ b/nids/360/SceUsbSerial.yml @@ -0,0 +1,24 @@ +modules: + SceUsbSerial: + nid: 0xF8D9930F + libraries: + SceUsbSerial: + nid: 0x2820117D + functions: + sceUsbSerialClose: 0xF2415853 + sceUsbSerialGetLen: 0xE8567A87 + sceUsbSerialRecv: 0xF26DC8D8 + sceUsbSerialSend: 0x89E71202 + sceUsbSerialSetup: 0x290E08B4 + sceUsbSerialStart: 0xE3BEC18C + sceUsbSerialStatus: 0xA6A2F5DE + SceUsbSerialForDriver: + nid: 0x8829C2F3 + functions: + sceUsbSerialClose: 0xE6B1E64F + sceUsbSerialGetLen: 0xF531B5AE + sceUsbSerialRecv: 0x6B5E296F + sceUsbSerialSend: 0x0C2E73C0 + sceUsbSerialSetup: 0x590B8F97 + sceUsbSerialStart: 0xFEE7F4BA + sceUsbSerialStatus: 0x8C426906 -- cgit v1.2.3