summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRinnegatamante2017-10-05 19:20:28 +0200
committerRinnegatamante2017-10-05 19:20:28 +0200
commite42bb51b42456f1f80bd58fe46a774086f8fcd08 (patch)
tree0e67037326e09dea019fc0b3691c55e46bac7ae8
parentUpdate SceFiber and SceDeci4p (#226) (diff)
downloadvds-libraries-e42bb51b42456f1f80bd58fe46a774086f8fcd08.tar.gz
Named anonymous enums in psp2kern
Named anonymous enums in psp2kern
-rw-r--r--include/kernel/bt.h523
-rw-r--r--include/kernel/ctrl.h26
-rw-r--r--include/kernel/display.h48
-rw-r--r--include/kernel/kernel/cpu.h6
-rw-r--r--include/kernel/kernel/modulemgr.h20
-rw-r--r--include/kernel/kernel/processmgr.h8
-rw-r--r--include/kernel/kernel/sysmem.h34
-rw-r--r--include/kernel/kernel/threadmgr.h39
-rw-r--r--include/kernel/lowio/gpio.h12
-rw-r--r--include/kernel/net/net.h802
-rw-r--r--include/kernel/udcd.h469
-rw-r--r--include/kernel/usbd.h43
12 files changed, 904 insertions, 1126 deletions
diff --git a/include/kernel/bt.h b/include/kernel/bt.h
index f0b0102..a5324f8 100644
--- a/include/kernel/bt.h
+++ b/include/kernel/bt.h
@@ -7,269 +7,268 @@
extern "C" {
#endif
-#define SCE_BT_ERROR_ACL_TX_BUF_OVERFLOW 0x802f0b03
-#define SCE_BT_ERROR_ACL_TX_CB_OVERFLOW 0x802f0b04
-#define SCE_BT_ERROR_ATT_APPLICATION_ERROR_HI 0x802f23ff
-#define SCE_BT_ERROR_ATT_APPLICATION_ERROR_LO 0x802f2380
-#define SCE_BT_ERROR_ATT_ATTRIBUTE_NOT_FOUND 0x802f230a
-#define SCE_BT_ERROR_ATT_ATTRIBUTE_NOT_LONG 0x802f230b
-#define SCE_BT_ERROR_ATT_BASE 0x802f2300
-#define SCE_BT_ERROR_ATT_INSUFFICIENT_AUTHENTICATION 0x802f2305
-#define SCE_BT_ERROR_ATT_INSUFFICIENT_AUTHORIZATION 0x802f2308
-#define SCE_BT_ERROR_ATT_INSUFFICIENT_ENCRYPTION 0x802f230f
-#define SCE_BT_ERROR_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE 0x802f230c
-#define SCE_BT_ERROR_ATT_INSUFFICIENT_RESOURCES 0x802f2311
-#define SCE_BT_ERROR_ATT_INVALID_ATTRIBUTE_VALUE_LENGTH 0x802f230d
-#define SCE_BT_ERROR_ATT_INVALID_HANDLE 0x802f2301
-#define SCE_BT_ERROR_ATT_INVALID_OFFSET 0x802f2307
-#define SCE_BT_ERROR_ATT_INVALID_PDU 0x802f2304
-#define SCE_BT_ERROR_ATT_NOT_YET 0x802f2a07
-#define SCE_BT_ERROR_ATT_PEPARE_QUEUE_FULL 0x802f2309
-#define SCE_BT_ERROR_ATT_READ_INVALID_INTERNAL 0x802f2a03
-#define SCE_BT_ERROR_ATT_READ_INVALID_LENGTH 0x802f2a02
-#define SCE_BT_ERROR_ATT_READ_INVALID_NO 0x802f2a01
-#define SCE_BT_ERROR_ATT_READ_NOT_PERMITTED 0x802f2302
-#define SCE_BT_ERROR_ATT_REQUEST_NOT_SUPPORTED 0x802f2306
-#define SCE_BT_ERROR_ATT_UNLIKELY_ERROR 0x802f230e
-#define SCE_BT_ERROR_ATT_UNSUPPORTED_GROUP_TYPE 0x802f2310
-#define SCE_BT_ERROR_ATT_WRITE_INVALID_INTERNAL 0x802f2a06
-#define SCE_BT_ERROR_ATT_WRITE_INVALID_LENGTH 0x802f2a05
-#define SCE_BT_ERROR_ATT_WRITE_INVALID_NO 0x802f2a04
-#define SCE_BT_ERROR_ATT_WRITE_NOT_PERMITTED 0x802f2303
-#define SCE_BT_ERROR_AUDIO_COMBI_NOT_FOUND 0x802f0d16
-#define SCE_BT_ERROR_AUDIO_FREQ_IS_LE 0x802f2209
-#define SCE_BT_ERROR_AUDIO_FREQ_NOT_CONNECTED 0x802f0d0f
-#define SCE_BT_ERROR_AUDIO_INTERNAL_1 0x802f0d18
-#define SCE_BT_ERROR_AUDIO_RECV_BAD_TYPE 0x802f0d12
-#define SCE_BT_ERROR_AUDIO_RECV_BUSY 0x802f0d1a
-#define SCE_BT_ERROR_AUDIO_RECV_INVALID_LENGTH 0x802f0d0a
-#define SCE_BT_ERROR_AUDIO_RECV_IS_LE 0x802f2208
-#define SCE_BT_ERROR_AUDIO_RECV_NO_CAP 0x802f0d1d
-#define SCE_BT_ERROR_AUDIO_RECV_NOT_CONNECTED 0x802f0d08
-#define SCE_BT_ERROR_AUDIO_RECV_NOT_STARTED 0x802f0d09
-#define SCE_BT_ERROR_AUDIO_RECV_SERV_FAILED 0x802f0d1e
-#define SCE_BT_ERROR_AUDIO_SEND_BAD_TYPE 0x802f0d11
-#define SCE_BT_ERROR_AUDIO_SEND_BUSY 0x802f0d19
-#define SCE_BT_ERROR_AUDIO_SEND_INVALID_LENGTH 0x802f0d07
-#define SCE_BT_ERROR_AUDIO_SEND_IS_LE 0x802f2207
-#define SCE_BT_ERROR_AUDIO_SEND_NO_CAP 0x802f0d1b
-#define SCE_BT_ERROR_AUDIO_SEND_NO_CP 0x802f0d10
-#define SCE_BT_ERROR_AUDIO_SEND_NO_L2C 0x802f0d17
-#define SCE_BT_ERROR_AUDIO_SEND_NOT_CONNECTED 0x802f0d05
-#define SCE_BT_ERROR_AUDIO_SEND_NOT_STARTED 0x802f0d06
-#define SCE_BT_ERROR_AUDIO_SEND_SERV_FAILED 0x802f0d1c
-#define SCE_BT_ERROR_AUDIO_START_INVALID_SERV 0x802f0d0b
-#define SCE_BT_ERROR_AUDIO_START_IS_LE 0x802f2205
-#define SCE_BT_ERROR_AUDIO_START_NO_CAP 0x802f0d02
-#define SCE_BT_ERROR_AUDIO_START_NOT_CONNECTED 0x802f0d01
-#define SCE_BT_ERROR_AUDIO_START_SERV_FAILED 0x802f0d0d
-#define SCE_BT_ERROR_AUDIO_STOP_INVALID_SERV 0x802f0d0c
-#define SCE_BT_ERROR_AUDIO_STOP_IS_LE 0x802f2206
-#define SCE_BT_ERROR_AUDIO_STOP_NO_CAP 0x802f0d04
-#define SCE_BT_ERROR_AUDIO_STOP_NOT_CONNECTED 0x802f0d03
-#define SCE_BT_ERROR_AUDIO_STOP_SERV_FAILED 0x802f0d0e
-#define SCE_BT_ERROR_AVCTP_CLOSE_NO_L2C 0x802f0602
-#define SCE_BT_ERROR_AVCTP_IS_LE 0x802f2203
-#define SCE_BT_ERROR_AVCTP_NOT_CONNECTED 0x802f0604
-#define SCE_BT_ERROR_AVCTP_OPEN_NO_L2C 0x802f0601
-#define SCE_BT_ERROR_AVCTP_READ_NO_VOLUME 0x802f0608
-#define SCE_BT_ERROR_AVCTP_SEND_BUSY 0x802f0605
-#define SCE_BT_ERROR_AVCTP_SEND_NO_L2C 0x802f0603
-#define SCE_BT_ERROR_AVCTP_SEND_NO_PRESS 0x802f0606
-#define SCE_BT_ERROR_AVCTP_SEND_NO_RELEASE 0x802f0607
-#define SCE_BT_ERROR_AVCTP_SEND_NOT_RUBY 0x802f0609
-#define SCE_BT_ERROR_AVDTP_CLOSE_BAD_SERV 0x802f0502
-#define SCE_BT_ERROR_AVDTP_CLOSE_BAD_STATE 0x802f0503
-#define SCE_BT_ERROR_AVDTP_OPEN_NO_L2C 0x802f0501
-#define SCE_BT_ERROR_AVDTP_RECONF_BAD_SERV 0x802f0509
-#define SCE_BT_ERROR_AVDTP_RECONF_BAD_STATE 0x802f050a
-#define SCE_BT_ERROR_AVDTP_SEND_BAD_STATE 0x802f0508
-#define SCE_BT_ERROR_AVDTP_START_BAD_SERV 0x802f0504
-#define SCE_BT_ERROR_AVDTP_START_BAD_STATE 0x802f0505
-#define SCE_BT_ERROR_AVDTP_STOP_BAD_SERV 0x802f0506
-#define SCE_BT_ERROR_AVDTP_STOP_BAD_STATE 0x802f0507
-#define SCE_BT_ERROR_AVRCP_INVALID_PLAY_STATUS 0x802f1202
-#define SCE_BT_ERROR_AVRCP_TOO_LONG_TITLE 0x802f1201
-#define SCE_BT_ERROR_CB_NOT_REGISTERED 0x802f0c03
-#define SCE_BT_ERROR_CB_OVERFLOW 0x802f0c04
-#define SCE_BT_ERROR_CB_TOO_MANY 0x802f0c02
-#define SCE_BT_ERROR_CONF_BT_INACTIVE 0x802f1503
-#define SCE_BT_ERROR_CONF_CANT_DISABLE_FUNCTION 0x802f1508
-#define SCE_BT_ERROR_CONF_CANT_ENABLE_FUNCTION 0x802f1507
-#define SCE_BT_ERROR_CONF_CANT_ENTER 0x802f1520
-#define SCE_BT_ERROR_CONF_CARD_NOT_FOUND 0x802f1505
-#define SCE_BT_ERROR_CONF_DISABLE_SUBINTR 0x802f150c
-#define SCE_BT_ERROR_CONF_ENABLE_SUBINTR 0x802f150b
-#define SCE_BT_ERROR_CONF_FUNCTION_NOT_FOUND 0x802f1506
-#define SCE_BT_ERROR_CONF_INVALID_VALUE 0x802f1502
-#define SCE_BT_ERROR_CONF_NOT_READY 0x802f1501
-#define SCE_BT_ERROR_CONF_OFF_TIMEOUT 0x802f150e
-#define SCE_BT_ERROR_CONF_ON_TIMEOUT 0x802f150d
-#define SCE_BT_ERROR_CONF_REGISTER_SUBINTR_HANDLER 0x802f1509
-#define SCE_BT_ERROR_CONF_RELEASE_SUBINTR_HANDLER 0x802f150a
-#define SCE_BT_ERROR_CONF_SUSPEND_TIMEOUT 0x802f150f
-#define SCE_BT_ERROR_CONF_TIMEOUT 0x802f1504
-#define SCE_BT_ERROR_CONNECT_START_BUSY 0x802f0204
-#define SCE_BT_ERROR_CONNECT_START_CONNECTED 0x802f020a
-#define SCE_BT_ERROR_CONNECT_START_DELETING 0x802f020e
-#define SCE_BT_ERROR_CONNECT_START_IS_LE 0x802f2202
-#define SCE_BT_ERROR_CONNECT_START_NO_REG 0x802f0202
-#define SCE_BT_ERROR_CONNECT_START_NOT_CONNECTABLE 0x802f0203
-#define SCE_BT_ERROR_CONNECT_START_REG_FULL 0x802f0209
-#define SCE_BT_ERROR_CONNECT_START_TOO_MANY 0x802f020d
-#define SCE_BT_ERROR_COPYIN_FAILED 0x802f0b09
-#define SCE_BT_ERROR_COPYOUT_FAILED 0x802f0b0a
-#define SCE_BT_ERROR_DISCONNECT_START_NOT_CONNECTED 0x802f0205
-#define SCE_BT_ERROR_GATT_BUSY 0x802f2403
-#define SCE_BT_ERROR_GATT_DISCONNECT 0x802f240a
-#define SCE_BT_ERROR_GATT_ENTER 0x802f240c
-#define SCE_BT_ERROR_GATT_INVALID_FLAGS 0x802f2405
-#define SCE_BT_ERROR_GATT_INVALID_HANDLE 0x802f2404
-#define SCE_BT_ERROR_GATT_INVALID_NO 0x802f2401
-#define SCE_BT_ERROR_GATT_INVALID_SIZE 0x802f2406
-#define SCE_BT_ERROR_GATT_NOT_CONNECTED 0x802f2402
-#define SCE_BT_ERROR_GATT_NOT_LE 0x802f2407
-#define SCE_BT_ERROR_GATT_NOT_YET 0x802f2409
-#define SCE_BT_ERROR_GATT_TOO_BIG_BUFFER 0x802f240d
-#define SCE_BT_ERROR_GATT_TOO_BIG_RECORD 0x802f2408
-#define SCE_BT_ERROR_GATT_TSLEEP 0x802f240b
-#define SCE_BT_ERROR_GET_DEBUG_INFO_INVALID_ARGUMENT 0x802f2105
-#define SCE_BT_ERROR_GET_DEBUG_INFO_INVALID_REQUEST 0x802f2101
-#define SCE_BT_ERROR_GET_DEBUG_INFO_INVALID_SIZE 0x802f2103
-#define SCE_BT_ERROR_GET_DEBUG_INFO_INVALID_STATE 0x802f2107
-#define SCE_BT_ERROR_GET_DEBUG_INFO_NOT_CONNECTED 0x802f2109
-#define SCE_BT_ERROR_GET_JACK_STATUS_NOT_CONNECTED 0x802f3301
-#define SCE_BT_ERROR_GET_NAME_NO_DEVICE 0x802f0c01
-#define SCE_BT_ERROR_HCI_TX_OVERFLOW 0x802f0b02
-#define SCE_BT_ERROR_HID_CLOSE_NO_L2C 0x802f0902
-#define SCE_BT_ERROR_HID_INVALID_BUFFER_ADDRESS 0x802f0907
-#define SCE_BT_ERROR_HID_INVALID_IDLE 0x802f0909
-#define SCE_BT_ERROR_HID_INVALID_LENGTH 0x802f090d
-#define SCE_BT_ERROR_HID_INVALID_PROTOCOL 0x802f0908
-#define SCE_BT_ERROR_HID_INVALID_REPORT_ID 0x802f090e
-#define SCE_BT_ERROR_HID_INVALID_REQUEST_TYPE 0x802f0906
-#define SCE_BT_ERROR_HID_IS_LE 0x802f2204
-#define SCE_BT_ERROR_HID_NO_CAP 0x802f0905
-#define SCE_BT_ERROR_HID_NOT_CONNECTED 0x802f0904
-#define SCE_BT_ERROR_HID_NOT_YET 0x802f090c
-#define SCE_BT_ERROR_HID_OPEN_NO_L2C 0x802f0901
-#define SCE_BT_ERROR_HID_OVERWRITE_REQ 0x802f090f
-#define SCE_BT_ERROR_HID_RECV_INVALID_LENGTH 0x802f0e02
-#define SCE_BT_ERROR_HID_RECV_NOT_CONNECTED 0x802f0e01
-#define SCE_BT_ERROR_HID_SEND_NO_L2C 0x802f0903
-#define SCE_BT_ERROR_INQUIRY_START_BUSY 0x802f0201
-#define SCE_BT_ERROR_JEDI_SNIFF_NOT_CONNECTED 0x802f3601
-#define SCE_BT_ERROR_JEDI_SNIFF_NOT_JEDI 0x802f3602
-#define SCE_BT_ERROR_JEDI_VOLUME_GAIN_NOT_CONNECTED 0x802f3501
-#define SCE_BT_ERROR_JUMBO_UNLOCK_NOT_OWNER 0x802f0b01
-#define SCE_BT_ERROR_KPROC_CREATE 0x802f2002
-#define SCE_BT_ERROR_LE_CREATE_CONNECTION_BUSY 0x802f290d
-#define SCE_BT_ERROR_LE_CREATE_CONNECTION_CONNECTED 0x802f290b
-#define SCE_BT_ERROR_LE_CREATE_CONNECTION_FULL 0x802f290c
-#define SCE_BT_ERROR_LE_CREATE_CONNECTION_INVALID_INTERVAL_MAX 0x802f2906
-#define SCE_BT_ERROR_LE_CREATE_CONNECTION_INVALID_INTERVAL_MIN 0x802f2905
-#define SCE_BT_ERROR_LE_CREATE_CONNECTION_INVALID_LATENCY 0x802f2907
-#define SCE_BT_ERROR_LE_CREATE_CONNECTION_INVALID_OWN_ADDRESS_TYPE 0x802f2904
-#define SCE_BT_ERROR_LE_CREATE_CONNECTION_INVALID_PEER_ADDRESS 0x802f2903
-#define SCE_BT_ERROR_LE_CREATE_CONNECTION_INVALID_SCAN_INTERVAL 0x802f2901
-#define SCE_BT_ERROR_LE_CREATE_CONNECTION_INVALID_SCAN_WINDOW 0x802f2902
-#define SCE_BT_ERROR_LE_CREATE_CONNECTION_INVALID_TIMEOUT 0x802f2908
-#define SCE_BT_ERROR_LE_CREATE_CONNECTION_REG_ERROR 0x802f290a
-#define SCE_BT_ERROR_LE_CREATE_CONNECTION_REG_FULL 0x802f2909
-#define SCE_BT_ERROR_LE_GET_ADVERTISING_NOT_FOUND 0x802f2801
-#define SCE_BT_ERROR_LE_NOT_SUPPORTED 0x802f2b01
-#define SCE_BT_ERROR_LE_SET_ADVERTISING_INVALID_DIRECT_ADDRESS 0x802f2607
-#define SCE_BT_ERROR_LE_SET_ADVERTISING_INVALID_DIRECT_ADDRESS_TYPE 0x802f2606
-#define SCE_BT_ERROR_LE_SET_ADVERTISING_INVALID_INTERVAL_MAX 0x802f2604
-#define SCE_BT_ERROR_LE_SET_ADVERTISING_INVALID_INTERVAL_MIN 0x802f2603
-#define SCE_BT_ERROR_LE_SET_ADVERTISING_INVALID_LENGTH 0x802f2602
-#define SCE_BT_ERROR_LE_SET_ADVERTISING_INVALID_OWN_ADDRESS_TYPE 0x802f2605
-#define SCE_BT_ERROR_LE_SET_ADVERTISING_INVALID_REQ 0x802f2601
-#define SCE_BT_ERROR_LE_SET_SCAN_INVALID_INTERVAL 0x802f2703
-#define SCE_BT_ERROR_LE_SET_SCAN_INVALID_LENGTH 0x802f2702
-#define SCE_BT_ERROR_LE_SET_SCAN_INVALID_OWN_ADDRESS_TYPE 0x802f2705
-#define SCE_BT_ERROR_LE_SET_SCAN_INVALID_REQ 0x802f2701
-#define SCE_BT_ERROR_LE_SET_SCAN_INVALID_WINDOW 0x802f2704
-#define SCE_BT_ERROR_NOT_READY 0x802f3201
-#define SCE_BT_ERROR_NOT_SUPPORTED_DEVICE 0x802f3403
-#define SCE_BT_ERROR_NOTIMP 0x802f2001
-#define SCE_BT_ERROR_PAIRING_OOB_CAN_NOT_DISCONNECT 0x802f3103
-#define SCE_BT_ERROR_PAIRING_OOB_FULL 0x802f3102
-#define SCE_BT_ERROR_PAIRING_OOB_INTERNAL_ERROR 0x802f3104
-#define SCE_BT_ERROR_PAIRING_OOB_TIMEOUT 0x802f3101
-#define SCE_BT_ERROR_PIN_INVALID_LENGTH 0x802f0206
-#define SCE_BT_ERROR_PIN_IS_LE 0x802f2201
-#define SCE_BT_ERROR_REG_CANNOT_LOAD 0x802f010a
-#define SCE_BT_ERROR_REG_CANNOT_OPEN 0x802f010b
-#define SCE_BT_ERROR_REG_CANNOT_READ 0x802f010c
-#define SCE_BT_ERROR_REG_CANNOT_WRITE 0x802f010d
-#define SCE_BT_ERROR_REG_DELETE_CONNECTING 0x802f0109
-#define SCE_BT_ERROR_REG_DELETE_NO_ENTRY 0x802f0102
-#define SCE_BT_ERROR_REG_GET_HID_DESC_NO_REG 0x802f0107
-#define SCE_BT_ERROR_REG_GET_HID_DESC_TOO_SHORT 0x802f0108
-#define SCE_BT_ERROR_REG_NOT_READY 0x802f0101
-#define SCE_BT_ERROR_REG_SET_HID_DESC_BAD_ARG 0x802f0105
-#define SCE_BT_ERROR_REG_SET_HID_DESC_NO_REG 0x802f0106
-#define SCE_BT_ERROR_REG_UPDATE_CANNOT_SAVE 0x802f0103
-#define SCE_BT_ERROR_SDIO_DISABLE_FUNCTION 0x802f2009
-#define SCE_BT_ERROR_SDIO_ENABLE_FUNCTION 0x802f2008
-#define SCE_BT_ERROR_SDIO_GET_FUNCTION 0x802f2003
-#define SCE_BT_ERROR_SDIO_LOCK 0x802f2006
-#define SCE_BT_ERROR_SDIO_READ_DIR 0x802f200c
-#define SCE_BT_ERROR_SDIO_READ_FIX 0x802f200e
-#define SCE_BT_ERROR_SDIO_REGISTER_INTR_HANDLER 0x802f2004
-#define SCE_BT_ERROR_SDIO_SET_BLOCK_LEN 0x802f200a
-#define SCE_BT_ERROR_SDIO_SET_BUS_SPEED 0x802f200b
-#define SCE_BT_ERROR_SDIO_UNLOCK 0x802f2007
-#define SCE_BT_ERROR_SDIO_UNREGISTER_INTR_HANDLER 0x802f2005
-#define SCE_BT_ERROR_SDIO_WRITE_DIR 0x802f200d
-#define SCE_BT_ERROR_SDIO_WRITE_FIX 0x802f200f
-#define SCE_BT_ERROR_SDP_OPEN_NO_L2C 0x802f0208
-#define SCE_BT_ERROR_SET_DEBUG_INFO_INVALID_ARGUMENT 0x802f2106
-#define SCE_BT_ERROR_SET_DEBUG_INFO_INVALID_REQUEST 0x802f2102
-#define SCE_BT_ERROR_SET_DEBUG_INFO_INVALID_SIZE 0x802f2104
-#define SCE_BT_ERROR_SET_DEBUG_INFO_INVALID_STATE 0x802f2108
-#define SCE_BT_ERROR_SET_DEBUG_INFO_NOT_CONNECTED 0x802f210a
-#define SCE_BT_ERROR_SM_INVALID_CONFIRM_REPLY 0x802f2505
-#define SCE_BT_ERROR_SM_INVALID_KEY_LENGTH 0x802f2501
-#define SCE_BT_ERROR_SM_NO_REQ 0x802f2503
-#define SCE_BT_ERROR_SM_NOT_DIGIT 0x802f2502
-#define SCE_BT_ERROR_SM_NOT_NEEDED_PIN 0x802f2504
-#define SCE_BT_ERROR_TIMER_CANCEL_BAD_ID 0x802f0b05
-#define SCE_BT_ERROR_TIMER_CANCEL_NOT_INITIALIZED 0x802f0b06
-#define SCE_BT_ERROR_TIMER_SET_NO_SPACE 0x802f0b08
-#define SCE_BT_ERROR_TIMER_SET_NOT_INITIALIZED 0x802f0b07
-#define SCE_BT_ERROR_TOO_MANY_CONNECTION 0x802f3401
-#define SCE_BT_ERROR_TOO_MANY_HID 0x802f3402
-#define SCE_BT_ERROR_TSLEEP 0x802f2010
-#define SCE_BT_ERROR_USER_CONFIRM_NOT_CONNECTED 0x802f0207
+typedef enum SceBtErrorCode {
+ SCE_BT_ERROR_REG_NOT_READY = 0x802f0101,
+ SCE_BT_ERROR_REG_DELETE_NO_ENTRY = 0x802f0102,
+ SCE_BT_ERROR_REG_UPDATE_CANNOT_SAVE = 0x802f0103,
+ SCE_BT_ERROR_REG_SET_HID_DESC_BAD_ARG = 0x802f0105,
+ SCE_BT_ERROR_REG_SET_HID_DESC_NO_REG = 0x802f0106,
+ SCE_BT_ERROR_REG_GET_HID_DESC_NO_REG = 0x802f0107,
+ SCE_BT_ERROR_REG_GET_HID_DESC_TOO_SHORT = 0x802f0108,
+ SCE_BT_ERROR_REG_DELETE_CONNECTING = 0x802f0109,
+ SCE_BT_ERROR_REG_CANNOT_LOAD = 0x802f010a,
+ SCE_BT_ERROR_REG_CANNOT_OPEN = 0x802f010b,
+ SCE_BT_ERROR_REG_CANNOT_READ = 0x802f010c,
+ SCE_BT_ERROR_REG_CANNOT_WRITE = 0x802f010d,
+ SCE_BT_ERROR_INQUIRY_START_BUSY = 0x802f0201,
+ SCE_BT_ERROR_CONNECT_START_NO_REG = 0x802f0202,
+ SCE_BT_ERROR_CONNECT_START_NOT_CONNECTABLE = 0x802f0203,
+ SCE_BT_ERROR_CONNECT_START_BUSY = 0x802f0204,
+ SCE_BT_ERROR_DISCONNECT_START_NOT_CONNECTED = 0x802f0205,
+ SCE_BT_ERROR_PIN_INVALID_LENGTH = 0x802f0206,
+ SCE_BT_ERROR_USER_CONFIRM_NOT_CONNECTED = 0x802f0207,
+ SCE_BT_ERROR_SDP_OPEN_NO_L2C = 0x802f0208,
+ SCE_BT_ERROR_CONNECT_START_REG_FULL = 0x802f0209,
+ SCE_BT_ERROR_CONNECT_START_CONNECTED = 0x802f020a,
+ SCE_BT_ERROR_CONNECT_START_TOO_MANY = 0x802f020d,
+ SCE_BT_ERROR_CONNECT_START_DELETING = 0x802f020e,
+ SCE_BT_ERROR_AVDTP_OPEN_NO_L2C = 0x802f0501,
+ SCE_BT_ERROR_AVDTP_CLOSE_BAD_SERV = 0x802f0502,
+ SCE_BT_ERROR_AVDTP_CLOSE_BAD_STATE = 0x802f0503,
+ SCE_BT_ERROR_AVDTP_START_BAD_SERV = 0x802f0504,
+ SCE_BT_ERROR_AVDTP_START_BAD_STATE = 0x802f0505,
+ SCE_BT_ERROR_AVDTP_STOP_BAD_SERV = 0x802f0506,
+ SCE_BT_ERROR_AVDTP_STOP_BAD_STATE = 0x802f0507,
+ SCE_BT_ERROR_AVDTP_SEND_BAD_STATE = 0x802f0508,
+ SCE_BT_ERROR_AVDTP_RECONF_BAD_SERV = 0x802f0509,
+ SCE_BT_ERROR_AVDTP_RECONF_BAD_STATE = 0x802f050a,
+ SCE_BT_ERROR_AVCTP_OPEN_NO_L2C = 0x802f0601,
+ SCE_BT_ERROR_AVCTP_SEND_NO_L2C = 0x802f0603,
+ SCE_BT_ERROR_AVCTP_NOT_CONNECTED = 0x802f0604,
+ SCE_BT_ERROR_AVCTP_SEND_BUSY = 0x802f0605,
+ SCE_BT_ERROR_AVCTP_SEND_NO_PRESS = 0x802f0606,
+ SCE_BT_ERROR_AVCTP_SEND_NO_RELEASE = 0x802f0607,
+ SCE_BT_ERROR_AVCTP_READ_NO_VOLUME = 0x802f0608,
+ SCE_BT_ERROR_AVCTP_SEND_NOT_RUBY = 0x802f0609,
+ SCE_BT_ERROR_HID_OPEN_NO_L2C = 0x802f0901,
+ SCE_BT_ERROR_HID_CLOSE_NO_L2C = 0x802f0902,
+ SCE_BT_ERROR_HID_SEND_NO_L2C = 0x802f0903,
+ SCE_BT_ERROR_HID_NOT_CONNECTED = 0x802f0904,
+ SCE_BT_ERROR_HID_NO_CAP = 0x802f0905,
+ SCE_BT_ERROR_HID_INVALID_REQUEST_TYPE = 0x802f0906,
+ SCE_BT_ERROR_HID_INVALID_BUFFER_ADDRESS = 0x802f0907,
+ SCE_BT_ERROR_HID_INVALID_PROTOCOL = 0x802f0908,
+ SCE_BT_ERROR_HID_INVALID_IDLE = 0x802f0909,
+ SCE_BT_ERROR_HID_NOT_YET = 0x802f090c,
+ SCE_BT_ERROR_HID_INVALID_LENGTH = 0x802f090d,
+ SCE_BT_ERROR_HID_INVALID_REPORT_ID = 0x802f090e,
+ SCE_BT_ERROR_HID_OVERWRITE_REQ = 0x802f090f,
+ SCE_BT_ERROR_JUMBO_UNLOCK_NOT_OWNER = 0x802f0b01,
+ SCE_BT_ERROR_HCI_TX_OVERFLOW = 0x802f0b02,
+ SCE_BT_ERROR_ACL_TX_BUF_OVERFLOW = 0x802f0b03,
+ SCE_BT_ERROR_ACL_TX_CB_OVERFLOW = 0x802f0b04,
+ SCE_BT_ERROR_TIMER_CANCEL_BAD_ID = 0x802f0b05,
+ SCE_BT_ERROR_TIMER_CANCEL_NOT_INITIALIZED = 0x802f0b06,
+ SCE_BT_ERROR_TIMER_SET_NOT_INITIALIZED = 0x802f0b07,
+ SCE_BT_ERROR_TIMER_SET_NO_SPACE = 0x802f0b08,
+ SCE_BT_ERROR_COPYIN_FAILED = 0x802f0b09,
+ SCE_BT_ERROR_COPYOUT_FAILED = 0x802f0b0a,
+ SCE_BT_ERROR_GET_NAME_NO_DEVICE = 0x802f0c01,
+ SCE_BT_ERROR_CB_TOO_MANY = 0x802f0c02,
+ SCE_BT_ERROR_CB_NOT_REGISTERED = 0x802f0c03,
+ SCE_BT_ERROR_CB_OVERFLOW = 0x802f0c04,
+ SCE_BT_ERROR_AUDIO_START_NOT_CONNECTED = 0x802f0d01,
+ SCE_BT_ERROR_AUDIO_START_NO_CAP = 0x802f0d02,
+ SCE_BT_ERROR_AUDIO_STOP_NOT_CONNECTED = 0x802f0d03,
+ SCE_BT_ERROR_AUDIO_STOP_NO_CAP = 0x802f0d04,
+ SCE_BT_ERROR_AUDIO_SEND_NOT_CONNECTED = 0x802f0d05,
+ SCE_BT_ERROR_AUDIO_SEND_NOT_STARTED = 0x802f0d06,
+ SCE_BT_ERROR_AUDIO_SEND_INVALID_LENGTH = 0x802f0d07,
+ SCE_BT_ERROR_AUDIO_RECV_NOT_CONNECTED = 0x802f0d08,
+ SCE_BT_ERROR_AUDIO_RECV_NOT_STARTED = 0x802f0d09,
+ SCE_BT_ERROR_AUDIO_RECV_INVALID_LENGTH = 0x802f0d0a,
+ SCE_BT_ERROR_AUDIO_START_INVALID_SERV = 0x802f0d0b,
+ SCE_BT_ERROR_AUDIO_STOP_INVALID_SERV = 0x802f0d0c,
+ SCE_BT_ERROR_AUDIO_START_SERV_FAILED = 0x802f0d0d,
+ SCE_BT_ERROR_AUDIO_STOP_SERV_FAILED = 0x802f0d0e,
+ SCE_BT_ERROR_AUDIO_FREQ_NOT_CONNECTED = 0x802f0d0f,
+ SCE_BT_ERROR_AUDIO_SEND_NO_CP = 0x802f0d10,
+ SCE_BT_ERROR_AUDIO_SEND_BAD_TYPE = 0x802f0d11,
+ SCE_BT_ERROR_AUDIO_RECV_BAD_TYPE = 0x802f0d12,
+ SCE_BT_ERROR_AUDIO_COMBI_NOT_FOUND = 0x802f0d16,
+ SCE_BT_ERROR_AUDIO_SEND_NO_L2C = 0x802f0d17,
+ SCE_BT_ERROR_AUDIO_INTERNAL_1 = 0x802f0d18,
+ SCE_BT_ERROR_AUDIO_SEND_BUSY = 0x802f0d19,
+ SCE_BT_ERROR_AUDIO_RECV_BUSY = 0x802f0d1a,
+ SCE_BT_ERROR_AUDIO_SEND_NO_CAP = 0x802f0d1b,
+ SCE_BT_ERROR_AUDIO_SEND_SERV_FAILED = 0x802f0d1c,
+ SCE_BT_ERROR_AUDIO_RECV_NO_CAP = 0x802f0d1d,
+ SCE_BT_ERROR_AUDIO_RECV_SERV_FAILED = 0x802f0d1e,
+ SCE_BT_ERROR_HID_RECV_NOT_CONNECTED = 0x802f0e01,
+ SCE_BT_ERROR_HID_RECV_INVALID_LENGTH = 0x802f0e02,
+ SCE_BT_ERROR_AVRCP_TOO_LONG_TITLE = 0x802f1201,
+ SCE_BT_ERROR_AVRCP_INVALID_PLAY_STATUS = 0x802f1202,
+ SCE_BT_ERROR_CONF_NOT_READY = 0x802f1501,
+ SCE_BT_ERROR_CONF_INVALID_VALUE = 0x802f1502,
+ SCE_BT_ERROR_CONF_BT_INACTIVE = 0x802f1503,
+ SCE_BT_ERROR_CONF_TIMEOUT = 0x802f1504,
+ SCE_BT_ERROR_CONF_CARD_NOT_FOUND = 0x802f1505,
+ SCE_BT_ERROR_CONF_FUNCTION_NOT_FOUND = 0x802f1506,
+ SCE_BT_ERROR_CONF_CANT_ENABLE_FUNCTION = 0x802f1507,
+ SCE_BT_ERROR_CONF_CANT_DISABLE_FUNCTION = 0x802f1508,
+ SCE_BT_ERROR_CONF_REGISTER_SUBINTR_HANDLER = 0x802f1509,
+ SCE_BT_ERROR_CONF_RELEASE_SUBINTR_HANDLER = 0x802f150a,
+ SCE_BT_ERROR_CONF_ENABLE_SUBINTR = 0x802f150b,
+ SCE_BT_ERROR_CONF_DISABLE_SUBINTR = 0x802f150c,
+ SCE_BT_ERROR_CONF_ON_TIMEOUT = 0x802f150d,
+ SCE_BT_ERROR_CONF_OFF_TIMEOUT = 0x802f150e,
+ SCE_BT_ERROR_CONF_SUSPEND_TIMEOUT = 0x802f150f,
+ SCE_BT_ERROR_CONF_CANT_ENTER = 0x802f1520,
+ SCE_BT_ERROR_NOTIMP = 0x802f2001,
+ SCE_BT_ERROR_KPROC_CREATE = 0x802f2002,
+ SCE_BT_ERROR_SDIO_GET_FUNCTION = 0x802f2003,
+ SCE_BT_ERROR_SDIO_REGISTER_INTR_HANDLER = 0x802f2004,
+ SCE_BT_ERROR_SDIO_UNREGISTER_INTR_HANDLER = 0x802f2005,
+ SCE_BT_ERROR_SDIO_LOCK = 0x802f2006,
+ SCE_BT_ERROR_SDIO_UNLOCK = 0x802f2007,
+ SCE_BT_ERROR_SDIO_ENABLE_FUNCTION = 0x802f2008,
+ SCE_BT_ERROR_SDIO_DISABLE_FUNCTION = 0x802f2009,
+ SCE_BT_ERROR_SDIO_SET_BLOCK_LEN = 0x802f200a,
+ SCE_BT_ERROR_SDIO_SET_BUS_SPEED = 0x802f200b,
+ SCE_BT_ERROR_SDIO_READ_DIR = 0x802f200c,
+ SCE_BT_ERROR_SDIO_WRITE_DIR = 0x802f200d,
+ SCE_BT_ERROR_SDIO_READ_FIX = 0x802f200e,
+ SCE_BT_ERROR_SDIO_WRITE_FIX = 0x802f200f,
+ SCE_BT_ERROR_TSLEEP = 0x802f2010,
+ SCE_BT_ERROR_GET_DEBUG_INFO_INVALID_REQUEST = 0x802f2101,
+ SCE_BT_ERROR_SET_DEBUG_INFO_INVALID_REQUEST = 0x802f2102,
+ SCE_BT_ERROR_GET_DEBUG_INFO_INVALID_SIZE = 0x802f2103,
+ SCE_BT_ERROR_SET_DEBUG_INFO_INVALID_SIZE = 0x802f2104,
+ SCE_BT_ERROR_GET_DEBUG_INFO_INVALID_ARGUMENT = 0x802f2105,
+ SCE_BT_ERROR_SET_DEBUG_INFO_INVALID_ARGUMENT = 0x802f2106,
+ SCE_BT_ERROR_GET_DEBUG_INFO_INVALID_STATE = 0x802f2107,
+ SCE_BT_ERROR_SET_DEBUG_INFO_INVALID_STATE = 0x802f2108,
+ SCE_BT_ERROR_GET_DEBUG_INFO_NOT_CONNECTED = 0x802f2109,
+ SCE_BT_ERROR_SET_DEBUG_INFO_NOT_CONNECTED = 0x802f210a,
+ SCE_BT_ERROR_PIN_IS_LE = 0x802f2201,
+ SCE_BT_ERROR_CONNECT_START_IS_LE = 0x802f2202,
+ SCE_BT_ERROR_AVCTP_IS_LE = 0x802f2203,
+ SCE_BT_ERROR_HID_IS_LE = 0x802f2204,
+ SCE_BT_ERROR_AUDIO_START_IS_LE = 0x802f2205,
+ SCE_BT_ERROR_AUDIO_STOP_IS_LE = 0x802f2206,
+ SCE_BT_ERROR_AUDIO_SEND_IS_LE = 0x802f2207,
+ SCE_BT_ERROR_AUDIO_RECV_IS_LE = 0x802f2208,
+ SCE_BT_ERROR_AUDIO_FREQ_IS_LE = 0x802f2209,
+ SCE_BT_ERROR_ATT_BASE = 0x802f2300,
+ SCE_BT_ERROR_ATT_INVALID_HANDLE = 0x802f2301,
+ SCE_BT_ERROR_ATT_READ_NOT_PERMITTED = 0x802f2302,
+ SCE_BT_ERROR_ATT_WRITE_NOT_PERMITTED = 0x802f2303,
+ SCE_BT_ERROR_ATT_INVALID_PDU = 0x802f2304,
+ SCE_BT_ERROR_ATT_INSUFFICIENT_AUTHENTICATION = 0x802f2305,
+ SCE_BT_ERROR_ATT_REQUEST_NOT_SUPPORTED = 0x802f2306,
+ SCE_BT_ERROR_ATT_INVALID_OFFSET = 0x802f2307,
+ SCE_BT_ERROR_ATT_INSUFFICIENT_AUTHORIZATION = 0x802f2308,
+ SCE_BT_ERROR_ATT_PEPARE_QUEUE_FULL = 0x802f2309,
+ SCE_BT_ERROR_ATT_ATTRIBUTE_NOT_FOUND = 0x802f230a,
+ SCE_BT_ERROR_ATT_ATTRIBUTE_NOT_LONG = 0x802f230b,
+ SCE_BT_ERROR_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE = 0x802f230c,
+ SCE_BT_ERROR_ATT_INVALID_ATTRIBUTE_VALUE_LENGTH = 0x802f230d,
+ SCE_BT_ERROR_ATT_UNLIKELY_ERROR = 0x802f230e,
+ SCE_BT_ERROR_ATT_INSUFFICIENT_ENCRYPTION = 0x802f230f,
+ SCE_BT_ERROR_ATT_UNSUPPORTED_GROUP_TYPE = 0x802f2310,
+ SCE_BT_ERROR_ATT_INSUFFICIENT_RESOURCES = 0x802f2311,
+ SCE_BT_ERROR_ATT_APPLICATION_ERROR_LO = 0x802f2380,
+ SCE_BT_ERROR_ATT_APPLICATION_ERROR_HI = 0x802f23ff,
+ SCE_BT_ERROR_GATT_INVALID_NO = 0x802f2401,
+ SCE_BT_ERROR_GATT_NOT_CONNECTED = 0x802f2402,
+ SCE_BT_ERROR_GATT_BUSY = 0x802f2403,
+ SCE_BT_ERROR_GATT_INVALID_HANDLE = 0x802f2404,
+ SCE_BT_ERROR_GATT_INVALID_FLAGS = 0x802f2405,
+ SCE_BT_ERROR_GATT_INVALID_SIZE = 0x802f2406,
+ SCE_BT_ERROR_GATT_NOT_LE = 0x802f2407,
+ SCE_BT_ERROR_GATT_TOO_BIG_RECORD = 0x802f2408,
+ SCE_BT_ERROR_GATT_NOT_YET = 0x802f2409,
+ SCE_BT_ERROR_GATT_DISCONNECT = 0x802f240a,
+ SCE_BT_ERROR_GATT_TSLEEP = 0x802f240b,
+ SCE_BT_ERROR_GATT_ENTER = 0x802f240c,
+ SCE_BT_ERROR_GATT_TOO_BIG_BUFFER = 0x802f240d,
+ SCE_BT_ERROR_SM_INVALID_KEY_LENGTH = 0x802f2501,
+ SCE_BT_ERROR_SM_NOT_DIGIT = 0x802f2502,
+ SCE_BT_ERROR_SM_NO_REQ = 0x802f2503,
+ SCE_BT_ERROR_SM_NOT_NEEDED_PIN = 0x802f2504,
+ SCE_BT_ERROR_SM_INVALID_CONFIRM_REPLY = 0x802f2505,
+ SCE_BT_ERROR_LE_SET_ADVERTISING_INVALID_REQ = 0x802f2601,
+ SCE_BT_ERROR_LE_SET_ADVERTISING_INVALID_LENGTH = 0x802f2602,
+ SCE_BT_ERROR_LE_SET_ADVERTISING_INVALID_INTERVAL_MIN = 0x802f2603,
+ SCE_BT_ERROR_LE_SET_ADVERTISING_INVALID_INTERVAL_MAX = 0x802f2604,
+ SCE_BT_ERROR_LE_SET_ADVERTISING_INVALID_OWN_ADDRESS_TYPE = 0x802f2605,
+ SCE_BT_ERROR_LE_SET_ADVERTISING_INVALID_DIRECT_ADDRESS_TYPE = 0x802f2606,
+ SCE_BT_ERROR_LE_SET_ADVERTISING_INVALID_DIRECT_ADDRESS = 0x802f2607,
+ SCE_BT_ERROR_LE_SET_SCAN_INVALID_REQ = 0x802f2701,
+ SCE_BT_ERROR_LE_SET_SCAN_INVALID_LENGTH = 0x802f2702,
+ SCE_BT_ERROR_LE_SET_SCAN_INVALID_INTERVAL = 0x802f2703,
+ SCE_BT_ERROR_LE_SET_SCAN_INVALID_WINDOW = 0x802f2704,
+ SCE_BT_ERROR_LE_SET_SCAN_INVALID_OWN_ADDRESS_TYPE = 0x802f2705,
+ SCE_BT_ERROR_LE_GET_ADVERTISING_NOT_FOUND = 0x802f2801,
+ SCE_BT_ERROR_LE_CREATE_CONNECTION_INVALID_SCAN_INTERVAL = 0x802f2901,
+ SCE_BT_ERROR_LE_CREATE_CONNECTION_INVALID_SCAN_WINDOW = 0x802f2902,
+ SCE_BT_ERROR_LE_CREATE_CONNECTION_INVALID_PEER_ADDRESS = 0x802f2903,
+ SCE_BT_ERROR_LE_CREATE_CONNECTION_INVALID_OWN_ADDRESS_TYPE = 0x802f2904,
+ SCE_BT_ERROR_LE_CREATE_CONNECTION_INVALID_INTERVAL_MIN = 0x802f2905,
+ SCE_BT_ERROR_LE_CREATE_CONNECTION_INVALID_INTERVAL_MAX = 0x802f2906,
+ SCE_BT_ERROR_LE_CREATE_CONNECTION_INVALID_LATENCY = 0x802f2907,
+ SCE_BT_ERROR_LE_CREATE_CONNECTION_INVALID_TIMEOUT = 0x802f2908,
+ SCE_BT_ERROR_LE_CREATE_CONNECTION_REG_FULL = 0x802f2909,
+ SCE_BT_ERROR_LE_CREATE_CONNECTION_REG_ERROR = 0x802f290a,
+ SCE_BT_ERROR_LE_CREATE_CONNECTION_CONNECTED = 0x802f290b,
+ SCE_BT_ERROR_LE_CREATE_CONNECTION_FULL = 0x802f290c,
+ SCE_BT_ERROR_LE_CREATE_CONNECTION_BUSY = 0x802f290d,
+ SCE_BT_ERROR_ATT_READ_INVALID_NO = 0x802f2a01,
+ SCE_BT_ERROR_ATT_READ_INVALID_LENGTH = 0x802f2a02,
+ SCE_BT_ERROR_ATT_READ_INVALID_INTERNAL = 0x802f2a03,
+ SCE_BT_ERROR_ATT_WRITE_INVALID_NO = 0x802f2a04,
+ SCE_BT_ERROR_ATT_WRITE_INVALID_LENGTH = 0x802f2a05,
+ SCE_BT_ERROR_ATT_WRITE_INVALID_INTERNAL = 0x802f2a06,
+ SCE_BT_ERROR_ATT_NOT_YET = 0x802f2a07,
+ SCE_BT_ERROR_LE_NOT_SUPPORTED = 0x802f2b01,
+ SCE_BT_ERROR_PAIRING_OOB_TIMEOUT = 0x802f3101,
+ SCE_BT_ERROR_PAIRING_OOB_FULL = 0x802f3102,
+ SCE_BT_ERROR_PAIRING_OOB_CAN_NOT_DISCONNECT = 0x802f3103,
+ SCE_BT_ERROR_PAIRING_OOB_INTERNAL_ERROR = 0x802f3104,
+ SCE_BT_ERROR_NOT_READY = 0x802f3201,
+ SCE_BT_ERROR_GET_JACK_STATUS_NOT_CONNECTED = 0x802f3301,
+ SCE_BT_ERROR_TOO_MANY_CONNECTION = 0x802f3401,
+ SCE_BT_ERROR_TOO_MANY_HID = 0x802f3402,
+ SCE_BT_ERROR_NOT_SUPPORTED_DEVICE = 0x802f3403,
+ SCE_BT_ERROR_JEDI_VOLUME_GAIN_NOT_CONNECTED = 0x802f3501,
+ SCE_BT_ERROR_JEDI_SNIFF_NOT_CONNECTED = 0x802f3601,
+ SCE_BT_ERROR_JEDI_SNIFF_NOT_JEDI = 0x802f3602
+} SceBtErrorCode;
-typedef struct {
- unsigned char mac[6];
+typedef struct SceBtRegisteredInfo {
+ unsigned char mac[6];
unsigned short unk0;
- unsigned int bt_class;
- unsigned int unk1;
- unsigned int unk2;
+ unsigned int bt_class;
+ unsigned int unk1;
+ unsigned int unk2;
unsigned short vid;
unsigned short pid;
- unsigned int unk3;
- unsigned int unk4;
- char name[128];
- unsigned char unk5[0x60];
-} SceBtRegisteredInfo; /* size = 0x100 */
+ unsigned int unk3;
+ unsigned int unk4;
+ char name[128];
+ unsigned char unk5[0x60];
+} SceBtRegisteredInfo;
-typedef struct {
- // mac0 is at *(unsigned int *)&data[0x08];
- // mac1 is at *(unsigned int *)&data[0x0C];
+typedef struct SceBtEvent {
union {
unsigned char data[0x10];
struct {
- unsigned char id;
- unsigned char unk1;
+ unsigned char id;
+ unsigned char unk1;
unsigned short unk2;
- unsigned int unk3;
- unsigned int mac0;
- unsigned int mac1;
+ unsigned int unk3;
+ unsigned int mac0;
+ unsigned int mac1;
};
};
} SceBtEvent;
@@ -279,14 +278,14 @@ typedef void (*SceBtCallback)(int r0, int r1, int r2, int r3);
typedef struct _SceBtHidRequest {
uint32_t unk00;
uint32_t unk04;
- uint8_t type; //@0x08, 0 = read?, 1 = write?, 2 = feature?, 3 = ?
- uint8_t unk09;
- uint8_t unk0A;
- uint8_t unk0B;
- void *buffer; // 0x0C
- uint32_t length; // 0x10
- struct _SceBtHidRequest *next;
-} __attribute__((packed)) SceBtHidRequest; /* size = 0x18 */
+ uint8_t type; // 0 = read?, 1 = write?, 2 = feature?, 3 = ?
+ uint8_t unk09;
+ uint8_t unk0A;
+ uint8_t unk0B;
+ void *buffer;
+ uint32_t length;
+ struct _SceBtHidRequest *next;
+} __attribute__((packed)) SceBtHidRequest;
int sceBtAvrcpReadVolume(int r0, int r1, int r2, int r3);
int sceBtAvrcpSendButton(int r0, int r1, int r2, int r3);
diff --git a/include/kernel/ctrl.h b/include/kernel/ctrl.h
index bfc29a8..b1013f3 100644
--- a/include/kernel/ctrl.h
+++ b/include/kernel/ctrl.h
@@ -7,11 +7,11 @@
extern "C" {
#endif
-enum {
- SCE_CTRL_ERROR_INVALID_ARG = 0x80340001,
- SCE_CTRL_ERROR_PRIV_REQUIRED = 0x80340002,
- SCE_CTRL_ERROR_FATAL = 0x803400FF
-};
+typedef enum SceCtrlErrorCode {
+ SCE_CTRL_ERROR_INVALID_ARG = 0x80340001,
+ SCE_CTRL_ERROR_PRIV_REQUIRED = 0x80340002,
+ SCE_CTRL_ERROR_FATAL = 0x803400FF
+} SceCtrlErrorCode;
/** Enumeration for the digital controller buttons.
* @note - L1/R1/L3/R3 only can bind using ::sceCtrlReadBufferPositiveExt2
@@ -43,7 +43,7 @@ typedef enum SceCtrlButtons {
/** Enumeration for the controller types. */
enum SceCtrlExternalInputMode {
- SCE_CTRL_TYPE_UNPAIRED = 0,
+ SCE_CTRL_TYPE_UNPAIRED = 0, //!< Unpaired controller
SCE_CTRL_TYPE_PHY = 1, //!< Physical controller for VITA
SCE_CTRL_TYPE_VIRT = 2, //!< Virtual controller for PSTV
SCE_CTRL_TYPE_DS3 = 4, //!< DualShock 3
@@ -51,14 +51,14 @@ enum SceCtrlExternalInputMode {
};
/** Controller mode. */
-enum SceCtrlPadInputMode {
+typedef enum SceCtrlPadInputMode {
/** Digital buttons only. */
SCE_CTRL_MODE_DIGITAL = 0,
/** Digital buttons + Analog support. */
SCE_CTRL_MODE_ANALOG = 1,
/** Same as ::SCE_CTRL_MODE_ANALOG, but with larger range for analog sticks. */
SCE_CTRL_MODE_ANALOG_WIDE = 2
-};
+} SceCtrlPadInputMode;
/** Returned controller data */
typedef struct SceCtrlData {
@@ -96,9 +96,9 @@ typedef struct SceCtrlRapidFireRule {
/** Structure to pass as argument to ::sceCtrlSetActuator */
typedef struct SceCtrlActuator {
- unsigned char small; //!< Vibration strength of the small motor
- unsigned char large; //!< Vibration strength of the large motor
- uint8_t unk[6]; //!< Unknown
+ unsigned char small; //!< Vibration strength of the small motor
+ unsigned char large; //!< Vibration strength of the large motor
+ uint8_t unk[6]; //!< Unknown
} SceCtrlActuator;
/** Structure to pass as argument to ::sceCtrlGetControllerPortInfo */
@@ -127,7 +127,7 @@ typedef struct SceCtrlVirtualControllerDriver {
/**
* Set the controller mode.
*
- * @param[in] mode - One of ::CtrlMode.
+ * @param[in] mode - One of ::SceCtrlPadInputMode.
*
* @return The previous mode, <0 on error.
*/
@@ -136,7 +136,7 @@ int sceCtrlSetSamplingMode(int mode);
/**
* Get the current controller mode.
*
- * @param[out] pMode - Return value, see ::CtrlMode.
+ * @param[out] pMode - Return value, see ::SceCtrlPadInputMode.
*
* @return The current mode, <0 on error.
*/
diff --git a/include/kernel/display.h b/include/kernel/display.h
index c1236a6..abf0d2b 100644
--- a/include/kernel/display.h
+++ b/include/kernel/display.h
@@ -7,43 +7,45 @@
extern "C" {
#endif
-enum {
- SCE_DISPLAY_ERROR_OK = 0,
- SCE_DISPLAY_ERROR_INVALID_HEAD = 0x80290000,
- SCE_DISPLAY_ERROR_INVALID_VALUE = 0x80290001,
- SCE_DISPLAY_ERROR_INVALID_ADDR = 0x80290002,
- SCE_DISPLAY_ERROR_INVALID_PIXELFORMAT = 0x80290003,
- SCE_DISPLAY_ERROR_INVALID_PITCH = 0x80290004,
- SCE_DISPLAY_ERROR_INVALID_RESOLUTION = 0x80290005,
- SCE_DISPLAY_ERROR_INVALID_UPDATETIMING = 0x80290006,
- SCE_DISPLAY_ERROR_NO_FRAME_BUFFER = 0x80290007,
- SCE_DISPLAY_ERROR_NO_PIXEL_DATA = 0x80290008
-};
+typedef enum SceDisplayErrorCode {
+ SCE_DISPLAY_ERROR_OK = 0,
+ SCE_DISPLAY_ERROR_INVALID_HEAD = 0x80290000,
+ SCE_DISPLAY_ERROR_INVALID_VALUE = 0x80290001,
+ SCE_DISPLAY_ERROR_INVALID_ADDR = 0x80290002,
+ SCE_DISPLAY_ERROR_INVALID_PIXELFORMAT = 0x80290003,
+ SCE_DISPLAY_ERROR_INVALID_PITCH = 0x80290004,
+ SCE_DISPLAY_ERROR_INVALID_RESOLUTION = 0x80290005,
+ SCE_DISPLAY_ERROR_INVALID_UPDATETIMING = 0x80290006,
+ SCE_DISPLAY_ERROR_NO_FRAME_BUFFER = 0x80290007,
+ SCE_DISPLAY_ERROR_NO_PIXEL_DATA = 0x80290008
+} SceDisplayErrorCode;
-#define SCE_DISPLAY_PIXELFORMAT_A8B8G8R8 0x00000000U
+typedef enum SceDisplayPixelFormat {
+ SCE_DISPLAY_PIXELFORMAT_A8B8G8R8 = 0x00000000U
+} SceDisplayPixelFormat;
-enum {
+typedef enum SceDisplaySetBufSync {
/** Buffer change effective immediately */
SCE_DISPLAY_SETBUF_IMMEDIATE = 0,
/** Buffer change effective next frame */
SCE_DISPLAY_SETBUF_NEXTFRAME = 1
-};
+} SceDisplaySetBufSync;
/**
- * Structure used with sceDisplaySetFrameBuf to set/update framebuffer.
+ * Structure used with ::sceDisplaySetFrameBuf to set/update framebuffer.
* Original screen resolution is 960x544, but the following resolutions
* can also be supplied as width and height :
* 480x272, 640x368, 720x408
*
- * @note - This structure is returned by sceDisplayGetFrameBuf
+ * @note - This structure is returned by ::sceDisplayGetFrameBuf
*/
typedef struct SceDisplayFrameBuf {
- SceSize size; //!< sizeof(SceDisplayFrameBuf)
- void *base; //!< Pointer to framebuffer
- unsigned int pitch; //!< pitch pixels
- unsigned int pixelformat; //!< use SCE_DISPLAY_PIXELFORMAT_A8B8G8R8
- unsigned int width; //!< framebuffer width
- unsigned int height; //!< framebuffer height
+ SceSize size; //!< sizeof(SceDisplayFrameBuf)
+ void *base; //!< Pointer to framebuffer
+ unsigned int pitch; //!< pitch pixels
+ unsigned int pixelformat; //!< pixel format (one of ::SceDisplayPixelFormat)
+ unsigned int width; //!< framebuffer width
+ unsigned int height; //!< framebuffer height
} SceDisplayFrameBuf;
/**
diff --git a/include/kernel/kernel/cpu.h b/include/kernel/kernel/cpu.h
index f7c4c52..cdc075f 100644
--- a/include/kernel/kernel/cpu.h
+++ b/include/kernel/kernel/cpu.h
@@ -40,7 +40,7 @@ static inline void sceKernelCpuSaveContext(int context[3]) {
/**
* @brief Restore process context
*
- * @param context The context, can be from `sceKernelGetPidContext`
+ * @param context The context, can be from ::sceKernelGetPidContext
*/
static inline void sceKernelCpuRestoreContext(int context[3]) {
int cpsr;
@@ -205,7 +205,7 @@ int sceKernelCpuUnrestrictedMemcpy(void *dst, const void *src, size_t len);
*
* @param[in] addr Mutex associated to the suspend-resume pair
*
- * @return The current state of the interrupt controller, to be used with sceKernelCpuResumeIntr.
+ * @return The current state of the interrupt controller, to be used with ::sceKernelCpuResumeIntr.
*/
int sceKernelCpuSuspendIntr(int *addr);
@@ -213,7 +213,7 @@ int sceKernelCpuSuspendIntr(int *addr);
* @brief Resume all interrupts (enables IRQs)
*
* @param[in] addr Mutex associated to the suspend-resume pair
- * @param[in] prev_state State obtained from sceKernelCpuSuspendIntr
+ * @param[in] prev_state State obtained from ::sceKernelCpuSuspendIntr.
*
* @return The previous state of the interrupt controller.
*/
diff --git a/include/kernel/kernel/modulemgr.h b/include/kernel/kernel/modulemgr.h
index 77257bd..89d29d6 100644
--- a/include/kernel/kernel/modulemgr.h
+++ b/include/kernel/kernel/modulemgr.h
@@ -23,19 +23,19 @@ extern "C" {
typedef struct
{
- SceUInt size; //< this structure size (0x18)
- SceUInt perms; //< probably rwx in low bits
- void *vaddr; //< address in memory
- SceUInt memsz; //< size in memory
- SceUInt flags; //< meaning unknown
- SceUInt res; //< unused?
+ SceUInt size; //!< this structure size (0x18)
+ SceUInt perms; //!< probably rwx in low bits
+ void *vaddr; //!< address in memory
+ SceUInt memsz; //!< size in memory
+ SceUInt flags; //!< meaning unknown
+ SceUInt res; //!< unused?
} SceKernelSegmentInfo;
typedef struct
{
- SceUInt size; //< 0x1B8 for Vita 1.x
- SceUInt handle; //< kernel module handle?
- SceUInt flags; //< some bits. could be priority or whatnot
+ SceUInt size; //!< 0x1B8 for Vita 1.x
+ SceUInt handle; //!< kernel module handle?
+ SceUInt flags; //!< some bits. could be priority or whatnot
char module_name[28];
SceUInt unk28;
void *module_start;
@@ -50,7 +50,7 @@ typedef struct
SceSize tlsAreaSize;
char path[256];
SceKernelSegmentInfo segments[4];
- SceUInt type; //< 6 = user-mode PRX?
+ SceUInt type; //!< 6 = user-mode PRX?
} SceKernelModuleInfo;
typedef struct {
diff --git a/include/kernel/kernel/processmgr.h b/include/kernel/kernel/processmgr.h
index fcf4ea4..58f1eee 100644
--- a/include/kernel/kernel/processmgr.h
+++ b/include/kernel/kernel/processmgr.h
@@ -8,13 +8,13 @@ extern "C" {
#endif
typedef struct SceKernelProcessInfo {
- SceSize size; // size of this struct, make sure it's 0xE8
- SceUID pid; // our process ID
+ SceSize size; //!< size of this struct, make sure it's 0xE8
+ SceUID pid; //!< our process ID
int unk1;
int unk2;
int unk3;
- SceUID ppid; // parent process ID
- int unk[0xE8 / 4 - 6]; // the rest is unknown
+ SceUID ppid; //!< parent process ID
+ int unk[0xE8 / 4 - 6]; //!< the rest is unknown
} SceKernelProcessInfo;
void *sceKernelGetProcessKernelBuf(SceUID pid);
diff --git a/include/kernel/kernel/sysmem.h b/include/kernel/kernel/sysmem.h
index b32742a..6373324 100644
--- a/include/kernel/kernel/sysmem.h
+++ b/include/kernel/kernel/sysmem.h
@@ -7,20 +7,18 @@
extern "C" {
#endif
-typedef int SceKernelMemBlockType;
-
-enum {
- SCE_KERNEL_MEMBLOCK_TYPE_USER_RW = 0x0c20d060,
- SCE_KERNEL_MEMBLOCK_TYPE_USER_RW_UNCACHE = 0x0c208060,
- 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,
- SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_RX = 0x1020D005,
- SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_RW = 0x1020D006,
- SCE_KERNEL_MEMBLOCK_TYPE_SHARED_RX = 0x390D050,
- SCE_KERNEL_MEMBLOCK_TYPE_USER_RX = 0xC20D050,
- SCE_KERNEL_MEMBLOCK_TYPE_RW_UNK0 = 0x6020D006
-};
+typedef enum SceKernelMemBlockType {
+ SCE_KERNEL_MEMBLOCK_TYPE_SHARED_RX = 0x0390D050,
+ SCE_KERNEL_MEMBLOCK_TYPE_USER_CDRAM_RW = 0x09408060,
+ 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_KERNEL_RX = 0x1020D005,
+ SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_RW = 0x1020D006,
+ SCE_KERNEL_MEMBLOCK_TYPE_RW_UNK0 = 0x6020D006
+} SceKernelMemBlockType;
// specific to 3.60
typedef struct SceKernelAllocMemBlockKernelOpt {
@@ -68,10 +66,10 @@ typedef struct SceCreateUidObjOpt {
SceUInt32 field_18;
} SceCreateUidObjOpt;
-enum {
- SCE_KERNEL_MODEL_VITA = 0x10000,
- SCE_KERNEL_MODEL_VITATV = 0x20000
-};
+typedef enum SceKernelModel {
+ SCE_KERNEL_MODEL_VITA = 0x10000,
+ SCE_KERNEL_MODEL_VITATV = 0x20000
+} SceKernelModel;
#define SCE_KERNEL_ALLOC_MEMBLOCK_ATTR_HAS_ALIGNMENT 0x00000004U
diff --git a/include/kernel/kernel/threadmgr.h b/include/kernel/kernel/threadmgr.h
index 9ae804c..b4814e2 100644
--- a/include/kernel/kernel/threadmgr.h
+++ b/include/kernel/kernel/threadmgr.h
@@ -89,8 +89,7 @@ typedef struct SceKernelThreadRunStatus {
} SceKernelThreadRunStatus;
/* Sure there must be more than this, but haven't seen them */
-typedef enum SceThreadStatus
-{
+typedef enum SceThreadStatus {
SCE_THREAD_RUNNING = 1,
SCE_THREAD_READY = 2,
SCE_THREAD_WAITING = 4,
@@ -134,7 +133,7 @@ int sceKernelDeleteThread(SceUID thid);
/**
* Start a created thread
*
- * @param thid - Thread id from sceKernelCreateThread
+ * @param thid - Thread id from ::sceKernelCreateThread
* @param arglen - Length of the data pointed to by argp, in bytes
* @param argp - Pointer to the arguments.
*/
@@ -213,7 +212,7 @@ int sceKernelChangeCurrentThreadAttr(int unknown, SceUInt attr);
/**
* Change the threads current priority.
*
- * @param thid - The ID of the thread (from sceKernelCreateThread or sceKernelGetThreadId)
+ * @param thid - The ID of the thread (from ::sceKernelCreateThread or ::sceKernelGetThreadId)
* @param priority - The new priority (the lower the number the higher the priority)
*
* @par Example:
@@ -371,7 +370,7 @@ int sceKernelDeleteSema(SceUID semaid);
* sceKernelSignalSema(semaid, 1);
* @endcode
*
- * @param semaid - The sema id returned from sceKernelCreateSema
+ * @param semaid - The sema id returned from ::sceKernelCreateSema
* @param signal - The amount to signal the sema (i.e. if 2 then increment the sema by 2)
*
* @return < 0 On error.
@@ -386,7 +385,7 @@ int sceKernelSignalSema(SceUID semaid, int signal);
* sceKernelWaitSema(semaid, 1, 0);
* @endcode
*
- * @param semaid - The sema id returned from sceKernelCreateSema
+ * @param semaid - The sema id returned from ::sceKernelCreateSema
* @param signal - The value to wait for (i.e. if 1 then wait till reaches a signal state of 1)
* @param timeout - Timeout in microseconds (assumed).
*
@@ -402,7 +401,7 @@ int sceKernelWaitSema(SceUID semaid, int signal, SceUInt *timeout);
* sceKernelWaitSemaCB(semaid, 1, 0);
* @endcode
*
- * @param semaid - The sema id returned from sceKernelCreateSema
+ * @param semaid - The sema id returned from ::sceKernelCreateSema
* @param signal - The value to wait for (i.e. if 1 then wait till reaches a signal state of 1)
* @param timeout - Timeout in microseconds (assumed).
*
@@ -423,7 +422,7 @@ int sceKernelPollSema(SceUID semaid, int signal);
/**
* Cancels a semaphore
*
- * @param semaid - The sema id returned from sceKernelCreateSema
+ * @param semaid - The sema id returned from ::sceKernelCreateSema
* @param setCount - The new lock count of the semaphore
* @param numWaitThreads - Number of threads waiting for the semaphore
* @return < 0 On error.
@@ -492,7 +491,7 @@ SceUID sceKernelCreateMutex(const char *name, SceUInt attr, int initCount, SceKe
/**
* Destroy a mutex
*
- * @param mutexid - The mutex id returned from sceKernelCreateMutex
+ * @param mutexid - The mutex id returned from ::sceKernelCreateMutex
* @return Returns the value 0 if it's successful, otherwise -1
*/
int sceKernelDeleteMutex(SceUID mutexid);
@@ -508,7 +507,7 @@ int sceKernelOpenMutex(const char *name);
/**
* Close a mutex
*
- * @param mutexid - The mutex id returned from sceKernelCreateMutex
+ * @param mutexid - The mutex id returned from ::sceKernelCreateMutex
* @return Returns the value 0 if it's successful, otherwise -1
*/
int sceKernelCloseMutex(SceUID mutexid);
@@ -516,7 +515,7 @@ int sceKernelCloseMutex(SceUID mutexid);
/**
* Lock a mutex
*
- * @param mutexid - The mutex id returned from sceKernelCreateMutex
+ * @param mutexid - The mutex id returned from ::sceKernelCreateMutex
* @param lockCount - The value to increment to the lock count of the mutex
* @param timeout - Timeout in microseconds (assumed)
* @return < 0 On error.
@@ -526,7 +525,7 @@ int sceKernelLockMutex(SceUID mutexid, int lockCount, unsigned int *timeout);
/**
* Lock a mutex and handle callbacks if necessary.
*
- * @param mutexid - The mutex id returned from sceKernelCreateMutex
+ * @param mutexid - The mutex id returned from ::sceKernelCreateMutex
* @param lockCount - The value to increment to the lock count of the mutex
* @param timeout - Timeout in microseconds (assumed)
* @return < 0 On error.
@@ -536,7 +535,7 @@ int sceKernelLockMutexCB(SceUID mutexid, int lockCount, unsigned int *timeout);
/**
* Try to lock a mutex (non-blocking)
*
- * @param mutexid - The mutex id returned from sceKernelCreateMutex
+ * @param mutexid - The mutex id returned from ::sceKernelCreateMutex
* @param lockCount - The value to increment to the lock count of the mutex
* @return < 0 On error.
*/
@@ -545,7 +544,7 @@ int sceKernelTryLockMutex(SceUID mutexid, int lockCount);
/**
* Try to unlock a mutex (non-blocking)
*
- * @param mutexid - The mutex id returned from sceKernelCreateMutex
+ * @param mutexid - The mutex id returned from ::sceKernelCreateMutex
* @param unlockCount - The value to decrement to the lock count of the mutex
* @return < 0 On error.
*/
@@ -554,7 +553,7 @@ int sceKernelUnlockMutex(SceUID mutexid, int unlockCount);
/**
* Cancels a mutex
*
- * @param mutexid - The mutex id returned from sceKernelCreateMutex
+ * @param mutexid - The mutex id returned from ::sceKernelCreateMutex
* @param newCount - The new lock count of the mutex
* @param numWaitThreads - Number of threads waiting for the mutex
* @return < 0 On error.
@@ -629,7 +628,7 @@ SceUID sceKernelCreateEventFlag(const char *name, int attr, int bits, SceKernelE
/**
* Set an event flag bit pattern.
*
- * @param evid - The event id returned by sceKernelCreateEventFlag.
+ * @param evid - The event id returned by ::sceKernelCreateEventFlag.
* @param bits - The bit pattern to set.
*
* @return < 0 On error
@@ -649,7 +648,7 @@ int sceKernelClearEventFlag(SceUID evid, unsigned int bits);
/**
* Poll an event flag for a given bit pattern.
*
- * @param evid - The event id returned by sceKernelCreateEventFlag.
+ * @param evid - The event id returned by ::sceKernelCreateEventFlag.
* @param bits - The bit pattern to poll for.
* @param wait - Wait type, one or more of ::SceEventFlagWaitTypes or'ed together
* @param outBits - The bit pattern that was matched.
@@ -660,7 +659,7 @@ int sceKernelPollEventFlag(int evid, unsigned int bits, unsigned int wait, unsig
/**
* Wait for an event flag for a given bit pattern.
*
- * @param evid - The event id returned by sceKernelCreateEventFlag.
+ * @param evid - The event id returned by ::sceKernelCreateEventFlag.
* @param bits - The bit pattern to poll for.
* @param wait - Wait type, one or more of ::SceEventFlagWaitTypes or'ed together
* @param outBits - The bit pattern that was matched.
@@ -672,7 +671,7 @@ int sceKernelWaitEventFlag(int evid, unsigned int bits, unsigned int wait, unsig
/**
* Wait for an event flag for a given bit pattern with callback.
*
- * @param evid - The event id returned by sceKernelCreateEventFlag.
+ * @param evid - The event id returned by ::sceKernelCreateEventFlag.
* @param bits - The bit pattern to poll for.
* @param wait - Wait type, one or more of ::SceEventFlagWaitTypes or'ed together
* @param outBits - The bit pattern that was matched.
@@ -684,7 +683,7 @@ int sceKernelWaitEventFlagCB(int evid, unsigned int bits, unsigned int wait, uns
/**
* Delete an event flag
*
- * @param evid - The event id returned by sceKernelCreateEventFlag.
+ * @param evid - The event id returned by ::sceKernelCreateEventFlag.
*
* @return < 0 On error
*/
diff --git a/include/kernel/lowio/gpio.h b/include/kernel/lowio/gpio.h
index 2850494..9141d08 100644
--- a/include/kernel/lowio/gpio.h
+++ b/include/kernel/lowio/gpio.h
@@ -7,21 +7,21 @@
extern "C" {
#endif
-enum {
+typedef enum SceGpioErrorCode {
SCE_GPIO_ERROR_INVALID_BUS = 0x803F0100,
SCE_GPIO_ERROR_INVALID_PORT = 0x803F0101,
SCE_GPIO_ERROR_INVALID_MODE = 0x803F0102
-};
+} SceGpioErrorCode;
-enum SceGpioPortMasks {
+typedef enum SceGpioPortMasks {
SCE_GPIO_PORT_MASK_LED_GAMECARD = 1 << 6,
SCE_GPIO_PORT_MASK_LED_PS_BUTTON = 1 << 7
-};
+} SceGpioPortMasks;
-enum SceGpioPortMode {
+typedef enum SceGpioPortMode {
SCE_GPIO_PORT_MODE_OUTPUT = 0,
SCE_GPIO_PORT_MODE_INPUT = 1
-};
+} SceGpioPortMode;
int sceGpioPortRead(int bus, int port);
int sceGpioPortSet(int bus, int port);
diff --git a/include/kernel/net/net.h b/include/kernel/net/net.h
index f3ebd77..5db139d 100644
--- a/include/kernel/net/net.h
+++ b/include/kernel/net/net.h
@@ -6,282 +6,238 @@ extern "C" {
#endif
/** Net Error Codes */
-enum {
- SCE_NET_ERROR_EPERM = 0x80410101,
- SCE_NET_ERROR_ENOENT = 0x80410102,
- SCE_NET_ERROR_ESRCH = 0x80410103,
- SCE_NET_ERROR_EINTR = 0x80410104,
- SCE_NET_ERROR_EIO = 0x80410105,
- SCE_NET_ERROR_ENXIO = 0x80410106,
- SCE_NET_ERROR_E2BIG = 0x80410107,
- SCE_NET_ERROR_ENOEXEC = 0x80410108,
- SCE_NET_ERROR_EBADF = 0x80410109,
- SCE_NET_ERROR_ECHILD = 0x8041010A,
- SCE_NET_ERROR_EDEADLK = 0x8041010B,
- SCE_NET_ERROR_ENOMEM = 0x8041010C,
- SCE_NET_ERROR_EACCES = 0x8041010D,
- SCE_NET_ERROR_EFAULT = 0x8041010E,
- SCE_NET_ERROR_ENOTBLK = 0x8041010F,
- SCE_NET_ERROR_EBUSY = 0x80410110,
- SCE_NET_ERROR_EEXIST = 0x80410111,
- SCE_NET_ERROR_EXDEV = 0x80410112,
- SCE_NET_ERROR_ENODEV = 0x80410113,
- SCE_NET_ERROR_ENOTDIR = 0x80410114,
- SCE_NET_ERROR_EISDIR = 0x80410115,
- SCE_NET_ERROR_EINVAL = 0x80410116,
- SCE_NET_ERROR_ENFILE = 0x80410117,
- SCE_NET_ERROR_EMFILE = 0x80410118,
- SCE_NET_ERROR_ENOTTY = 0x80410119,
- SCE_NET_ERROR_ETXTBSY = 0x8041011A,
- SCE_NET_ERROR_EFBIG = 0x8041011B,
- SCE_NET_ERROR_ENOSPC = 0x8041011C,
- SCE_NET_ERROR_ESPIPE = 0x8041011D,
- SCE_NET_ERROR_EROFS = 0x8041011E,
- SCE_NET_ERROR_EMLINK = 0x8041011F,
- SCE_NET_ERROR_EPIPE = 0x80410120,
- SCE_NET_ERROR_EDOM = 0x80410121,
- SCE_NET_ERROR_ERANGE = 0x80410122,
- SCE_NET_ERROR_EAGAIN = 0x80410123,
- SCE_NET_ERROR_EWOULDBLOCK = 0x80410123,
- SCE_NET_ERROR_EINPROGRESS = 0x80410124,
- SCE_NET_ERROR_EALREADY = 0x80410125,
- SCE_NET_ERROR_ENOTSOCK = 0x80410126,
- SCE_NET_ERROR_EDESTADDRREQ = 0x80410127,
- SCE_NET_ERROR_EMSGSIZE = 0x80410128,
- SCE_NET_ERROR_EPROTOTYPE = 0x80410129,
- SCE_NET_ERROR_ENOPROTOOPT = 0x8041012A,
- SCE_NET_ERROR_EPROTONOSUPPORT = 0x8041012B,
- SCE_NET_ERROR_ESOCKTNOSUPPOR = 0x8041012C,
- SCE_NET_ERROR_EOPNOTSUPP = 0x8041012D,
- SCE_NET_ERROR_EPFNOSUPPORT = 0x8041012E,
- SCE_NET_ERROR_EAFNOSUPPORT = 0x8041012F,
- SCE_NET_ERROR_EADDRINUSE = 0x80410130,
- SCE_NET_ERROR_EADDRNOTAVAIL = 0x80410131,
- SCE_NET_ERROR_ENETDOWN = 0x80410132,
- SCE_NET_ERROR_ENETUNREACH = 0x80410133,
- SCE_NET_ERROR_ENETRESET = 0x80410134,
- SCE_NET_ERROR_ECONNABORTED = 0x80410135,
- SCE_NET_ERROR_ECONNRESET = 0x80410136,
- SCE_NET_ERROR_ENOBUFS = 0x80410137,
- SCE_NET_ERROR_EISCONN = 0x80410138,
- SCE_NET_ERROR_ENOTCONN = 0x80410139,
- SCE_NET_ERROR_ESHUTDOWN = 0x8041013A,
- SCE_NET_ERROR_ETOOMANYREFS = 0x8041013B,
- SCE_NET_ERROR_ETIMEDOUT = 0x8041013C,
- SCE_NET_ERROR_ECONNREFUSED = 0x8041013D,
- SCE_NET_ERROR_ELOOP = 0x8041013E,
- SCE_NET_ERROR_ENAMETOOLONG = 0x8041013F,
- SCE_NET_ERROR_EHOSTDOWN = 0x80410140,
- SCE_NET_ERROR_EHOSTUNREACH = 0x80410141,
- SCE_NET_ERROR_ENOTEMPTY = 0x80410142,
- SCE_NET_ERROR_EPROCLIM = 0x80410143,
- SCE_NET_ERROR_EUSERS = 0x80410144,
- SCE_NET_ERROR_EDQUOT = 0x80410145,
- SCE_NET_ERROR_ESTALE = 0x80410146,
- SCE_NET_ERROR_EREMOTE = 0x80410147,
- SCE_NET_ERROR_EBADRPC = 0x80410148,
- SCE_NET_ERROR_ERPCMISMATCH = 0x80410149,
- SCE_NET_ERROR_EPROGUNAVAIL = 0x8041014A,
- SCE_NET_ERROR_EPROGMISMATCH = 0x8041014B,
- SCE_NET_ERROR_EPROCUNAVAIL = 0x8041014C,
- SCE_NET_ERROR_ENOLCK = 0x8041014D,
- SCE_NET_ERROR_ENOSYS = 0x8041014E,
- SCE_NET_ERROR_EFTYPE = 0x8041014F,
- SCE_NET_ERROR_EAUTH = 0x80410150,
- SCE_NET_ERROR_ENEEDAUTH = 0x80410151,
- SCE_NET_ERROR_EIDRM = 0x80410152,
- SCE_NET_ERROR_ENOMS = 0x80410153,
- SCE_NET_ERROR_EOVERFLOW = 0x80410154,
- SCE_NET_ERROR_EILSEQ = 0x80410155,
- SCE_NET_ERROR_ENOTSUP = 0x80410156,
- SCE_NET_ERROR_ECANCELED = 0x80410157,
- SCE_NET_ERROR_EBADMSG = 0x80410158,
- SCE_NET_ERROR_ENODATA = 0x80410159,
- SCE_NET_ERROR_ENOSR = 0x8041015A,
- SCE_NET_ERROR_ENOSTR = 0x8041015B,
- SCE_NET_ERROR_ETIME = 0x8041015C,
- SCE_NET_ERROR_EADHOC = 0x804101A0,
- SCE_NET_ERROR_EDISABLEDIF = 0x804101A1,
- SCE_NET_ERROR_ERESUME = 0x804101A2,
- SCE_NET_ERROR_ENOTINIT = 0x804101C8,
- SCE_NET_ERROR_ENOLIBMEM = 0x804101C9,
- SCE_NET_ERROR_ERESERVED202 = 0x804101CA,
- SCE_NET_ERROR_ECALLBACK = 0x804101CB,
- SCE_NET_ERROR_EINTERNAL = 0x804101CC,
- SCE_NET_ERROR_ERETURN = 0x804101CD,
- SCE_NET_ERROR_RESOLVER_EINTERNAL = 0x804101DC,
- SCE_NET_ERROR_RESOLVER_EBUSY = 0x804101DD,
- SCE_NET_ERROR_RESOLVER_ENOSPACE = 0x804101DE,
- SCE_NET_ERROR_RESOLVER_EPACKET = 0x804101DF,
- SCE_NET_ERROR_RESOLVER_ERESERVED22 = 0x804101E0,
- SCE_NET_ERROR_RESOLVER_ENODNS = 0x804101E1,
- SCE_NET_ERROR_RESOLVER_ETIMEDOUT = 0x804101E2,
- SCE_NET_ERROR_RESOLVER_ENOSUPPORT = 0x804101E3,
- SCE_NET_ERROR_RESOLVER_EFORMAT = 0x804101E4,
- SCE_NET_ERROR_RESOLVER_ESERVERFAILURE = 0x804101E5,
- SCE_NET_ERROR_RESOLVER_ENOHOST = 0x804101E6,
- SCE_NET_ERROR_RESOLVER_ENOTIMPLEMENTED = 0x804101E7,
- SCE_NET_ERROR_RESOLVER_ESERVERREFUSED = 0x804101E8,
- SCE_NET_ERROR_RESOLVER_ENORECORD = 0x804101E9,
- SCE_NET_ERROR_RESOLVER_EALIGNMENT = 0x804101EA
-};
+typedef enum SceNetErrorCode {
+ SCE_NET_ERROR_EPERM = 0x80410101,
+ SCE_NET_ERROR_ENOENT = 0x80410102,
+ SCE_NET_ERROR_ESRCH = 0x80410103,
+ SCE_NET_ERROR_EINTR = 0x80410104,
+ SCE_NET_ERROR_EIO = 0x80410105,
+ SCE_NET_ERROR_ENXIO = 0x80410106,
+ SCE_NET_ERROR_E2BIG = 0x80410107,
+ SCE_NET_ERROR_ENOEXEC = 0x80410108,
+ SCE_NET_ERROR_EBADF = 0x80410109,
+ SCE_NET_ERROR_ECHILD = 0x8041010A,
+ SCE_NET_ERROR_EDEADLK = 0x8041010B,
+ SCE_NET_ERROR_ENOMEM = 0x8041010C,
+ SCE_NET_ERROR_EACCES = 0x8041010D,
+ SCE_NET_ERROR_EFAULT = 0x8041010E,
+ SCE_NET_ERROR_ENOTBLK = 0x8041010F,
+ SCE_NET_ERROR_EBUSY = 0x80410110,
+ SCE_NET_ERROR_EEXIST = 0x80410111,
+ SCE_NET_ERROR_EXDEV = 0x80410112,
+ SCE_NET_ERROR_ENODEV = 0x80410113,
+ SCE_NET_ERROR_ENOTDIR = 0x80410114,
+ SCE_NET_ERROR_EISDIR = 0x80410115,
+ SCE_NET_ERROR_EINVAL = 0x80410116,
+ SCE_NET_ERROR_ENFILE = 0x80410117,
+ SCE_NET_ERROR_EMFILE = 0x80410118,
+ SCE_NET_ERROR_ENOTTY = 0x80410119,
+ SCE_NET_ERROR_ETXTBSY = 0x8041011A,
+ SCE_NET_ERROR_EFBIG = 0x8041011B,
+ SCE_NET_ERROR_ENOSPC = 0x8041011C,
+ SCE_NET_ERROR_ESPIPE = 0x8041011D,
+ SCE_NET_ERROR_EROFS = 0x8041011E,
+ SCE_NET_ERROR_EMLINK = 0x8041011F,
+ SCE_NET_ERROR_EPIPE = 0x80410120,
+ SCE_NET_ERROR_EDOM = 0x80410121,
+ SCE_NET_ERROR_ERANGE = 0x80410122,
+ SCE_NET_ERROR_EAGAIN = 0x80410123,
+ SCE_NET_ERROR_EWOULDBLOCK = 0x80410123,
+ SCE_NET_ERROR_EINPROGRESS = 0x80410124,
+ SCE_NET_ERROR_EALREADY = 0x80410125,
+ SCE_NET_ERROR_ENOTSOCK = 0x80410126,
+ SCE_NET_ERROR_EDESTADDRREQ = 0x80410127,
+ SCE_NET_ERROR_EMSGSIZE = 0x80410128,
+ SCE_NET_ERROR_EPROTOTYPE = 0x80410129,
+ SCE_NET_ERROR_ENOPROTOOPT = 0x8041012A,
+ SCE_NET_ERROR_EPROTONOSUPPORT = 0x8041012B,
+ SCE_NET_ERROR_ESOCKTNOSUPPORT = 0x8041012C,
+ SCE_NET_ERROR_EOPNOTSUPP = 0x8041012D,
+ SCE_NET_ERROR_EPFNOSUPPORT = 0x8041012E,
+ SCE_NET_ERROR_EAFNOSUPPORT = 0x8041012F,
+ SCE_NET_ERROR_EADDRINUSE = 0x80410130,
+ SCE_NET_ERROR_EADDRNOTAVAIL = 0x80410131,
+ SCE_NET_ERROR_ENETDOWN = 0x80410132,
+ SCE_NET_ERROR_ENETUNREACH = 0x80410133,
+ SCE_NET_ERROR_ENETRESET = 0x80410134,
+ SCE_NET_ERROR_ECONNABORTED = 0x80410135,
+ SCE_NET_ERROR_ECONNRESET = 0x80410136,
+ SCE_NET_ERROR_ENOBUFS = 0x80410137,
+ SCE_NET_ERROR_EISCONN = 0x80410138,
+ SCE_NET_ERROR_ENOTCONN = 0x80410139,
+ SCE_NET_ERROR_ESHUTDOWN = 0x8041013A,
+ SCE_NET_ERROR_ETOOMANYREFS = 0x8041013B,
+ SCE_NET_ERROR_ETIMEDOUT = 0x8041013C,
+ SCE_NET_ERROR_ECONNREFUSED = 0x8041013D,
+ SCE_NET_ERROR_ELOOP = 0x8041013E,
+ SCE_NET_ERROR_ENAMETOOLONG = 0x8041013F,
+ SCE_NET_ERROR_EHOSTDOWN = 0x80410140,
+ SCE_NET_ERROR_EHOSTUNREACH = 0x80410141,
+ SCE_NET_ERROR_ENOTEMPTY = 0x80410142,
+ SCE_NET_ERROR_EPROCLIM = 0x80410143,
+ SCE_NET_ERROR_EUSERS = 0x80410144,
+ SCE_NET_ERROR_EDQUOT = 0x80410145,
+ SCE_NET_ERROR_ESTALE = 0x80410146,
+ SCE_NET_ERROR_EREMOTE = 0x80410147,
+ SCE_NET_ERROR_EBADRPC = 0x80410148,
+ SCE_NET_ERROR_ERPCMISMATCH = 0x80410149,
+ SCE_NET_ERROR_EPROGUNAVAIL = 0x8041014A,
+ SCE_NET_ERROR_EPROGMISMATCH = 0x8041014B,
+ SCE_NET_ERROR_EPROCUNAVAIL = 0x8041014C,
+ SCE_NET_ERROR_ENOLCK = 0x8041014D,
+ SCE_NET_ERROR_ENOSYS = 0x8041014E,
+ SCE_NET_ERROR_EFTYPE = 0x8041014F,
+ SCE_NET_ERROR_EAUTH = 0x80410150,
+ SCE_NET_ERROR_ENEEDAUTH = 0x80410151,
+ SCE_NET_ERROR_EIDRM = 0x80410152,
+ SCE_NET_ERROR_ENOMS = 0x80410153,
+ SCE_NET_ERROR_EOVERFLOW = 0x80410154,
+ SCE_NET_ERROR_EILSEQ = 0x80410155,
+ SCE_NET_ERROR_ENOTSUP = 0x80410156,
+ SCE_NET_ERROR_ECANCELED = 0x80410157,
+ SCE_NET_ERROR_EBADMSG = 0x80410158,
+ SCE_NET_ERROR_ENODATA = 0x80410159,
+ SCE_NET_ERROR_ENOSR = 0x8041015A,
+ SCE_NET_ERROR_ENOSTR = 0x8041015B,
+ SCE_NET_ERROR_ETIME = 0x8041015C,
+ SCE_NET_ERROR_EADHOC = 0x804101A0,
+ SCE_NET_ERROR_EDISABLEDIF = 0x804101A1,
+ SCE_NET_ERROR_ERESUME = 0x804101A2,
+ SCE_NET_ERROR_ENOTINIT = 0x804101C8,
+ SCE_NET_ERROR_ENOLIBMEM = 0x804101C9,
+ SCE_NET_ERROR_ERESERVED202 = 0x804101CA,
+ SCE_NET_ERROR_ECALLBACK = 0x804101CB,
+ SCE_NET_ERROR_EINTERNAL = 0x804101CC,
+ SCE_NET_ERROR_ERETURN = 0x804101CD,
+ SCE_NET_ERROR_RESOLVER_EINTERNAL = 0x804101DC,
+ SCE_NET_ERROR_RESOLVER_EBUSY = 0x804101DD,
+ SCE_NET_ERROR_RESOLVER_ENOSPACE = 0x804101DE,
+ SCE_NET_ERROR_RESOLVER_EPACKET = 0x804101DF,
+ SCE_NET_ERROR_RESOLVER_ERESERVED22 = 0x804101E0,
+ SCE_NET_ERROR_RESOLVER_ENODNS = 0x804101E1,
+ SCE_NET_ERROR_RESOLVER_ETIMEDOUT = 0x804101E2,
+ SCE_NET_ERROR_RESOLVER_ENOSUPPORT = 0x804101E3,
+ SCE_NET_ERROR_RESOLVER_EFORMAT = 0x804101E4,
+ SCE_NET_ERROR_RESOLVER_ESERVERFAILURE = 0x804101E5,
+ SCE_NET_ERROR_RESOLVER_ENOHOST = 0x804101E6,
+ SCE_NET_ERROR_RESOLVER_ENOTIMPLEMENTED = 0x804101E7,
+ SCE_NET_ERROR_RESOLVER_ESERVERREFUSED = 0x804101E8,
+ SCE_NET_ERROR_RESOLVER_ENORECORD = 0x804101E9,
+ SCE_NET_ERROR_RESOLVER_EALIGNMENT = 0x804101EA
+} SceNetErrorCode;
/** Specific kernel and libnet error codes */
-enum {
- SCE_NET_EPERM = 1,
- SCE_NET_ENOENT = 2,
- SCE_NET_ESRCH = 3,
- SCE_NET_EINTR = 4,
- SCE_NET_EIO = 5,
- SCE_NET_ENXIO = 6,
- SCE_NET_E2BIG = 7,
- SCE_NET_ENOEXEC = 8,
- SCE_NET_EBADF = 9,
- SCE_NET_ECHILD = 10,
- SCE_NET_EDEADLK = 11,
- SCE_NET_ENOMEM = 12,
- SCE_NET_EACCES = 13,
- SCE_NET_EFAULT = 14,
- SCE_NET_ENOTBLK = 15,
- SCE_NET_EBUSY = 16,
- SCE_NET_EEXIST = 17,
- SCE_NET_EXDEV = 18,
- SCE_NET_ENODEV = 19,
- SCE_NET_ENOTDIR = 20,
- SCE_NET_EISDIR = 21,
- SCE_NET_EINVAL = 22,
- SCE_NET_ENFILE = 23,
- SCE_NET_EMFILE = 24,
- SCE_NET_ENOTTY = 25,
- SCE_NET_ETXTBSY = 26,
- SCE_NET_EFBIG = 27,
- SCE_NET_ENOSPC = 28,
- SCE_NET_ESPIPE = 29,
- SCE_NET_EROFS = 30,
- SCE_NET_EMLINK = 31,
- SCE_NET_EPIPE = 32,
- SCE_NET_EDOM = 33,
- SCE_NET_ERANGE = 34,
- SCE_NET_EAGAIN = 35,
- SCE_NET_EWOULDBLOCK = 35,
- SCE_NET_EINPROGRESS = 36,
- SCE_NET_EALREADY = 37,
- SCE_NET_ENOTSOCK = 38,
- SCE_NET_EDESTADDRREQ = 39,
- SCE_NET_EMSGSIZE = 40,
- SCE_NET_EPROTOTYPE = 41,
- SCE_NET_ENOPROTOOPT = 42,
- SCE_NET_EPROTONOSUPPORT = 43,
- SCE_NET_ESOCKTNOSUPPORT = 44,
- SCE_NET_EOPNOTSUPP = 45,
- SCE_NET_EPFNOSUPPORT = 46,
- SCE_NET_EAFNOSUPPORT = 47,
- SCE_NET_EADDRINUSE = 48,
- SCE_NET_EADDRNOTAVAIL = 49,
- SCE_NET_ENETDOWN = 50,
- SCE_NET_ENETUNREACH = 51,
- SCE_NET_ENETRESET = 52,
- SCE_NET_ECONNABORTED = 53,
- SCE_NET_ECONNRESET = 54,
- SCE_NET_ENOBUFS = 55,
- SCE_NET_EISCONN = 56,
- SCE_NET_ENOTCONN = 57,
- SCE_NET_ESHUTDOWN = 58,
- SCE_NET_ETOOMANYREFS = 59,
- SCE_NET_ETIMEDOUT = 60,
- SCE_NET_ECONNREFUSED = 61,
- SCE_NET_ELOOP = 62,
- SCE_NET_ENAMETOOLONG = 63,
- SCE_NET_EHOSTDOWN = 64,
- SCE_NET_EHOSTUNREACH = 65,
- SCE_NET_ENOTEMPTY = 66,
- SCE_NET_EPROCLIM = 67,
- SCE_NET_EUSERS = 68,
- SCE_NET_EDQUOT = 69,
- SCE_NET_ESTALE = 70,
- SCE_NET_EREMOTE = 71,
- SCE_NET_EBADRPC = 72,
- SCE_NET_ERPCMISMATCH = 73,
- SCE_NET_EPROGUNAVAIL = 74,
- SCE_NET_EPROGMISMATCH = 75,
- SCE_NET_EPROCUNAVAIL = 76,
- SCE_NET_ENOLCK = 77,
- SCE_NET_ENOSYS = 78,
- SCE_NET_EFTYPE = 79,
- SCE_NET_EAUTH = 80,
- SCE_NET_ENEEDAUTH = 81,
- SCE_NET_EIDRM = 82,
- SCE_NET_ENOMSG = 83,
- SCE_NET_EOVERFLOW = 84,
- SCE_NET_EILSEQ = 85,
- SCE_NET_ENOTSUP = 86,
- SCE_NET_ECANCELED = 87,
- SCE_NET_EBADMSG = 88,
- SCE_NET_ENODATA = 89,
- SCE_NET_ENOSR = 90,
- SCE_NET_ENOSTR = 91,
- SCE_NET_ETIME = 92,
- SCE_NET_EADHOC = 160,
- SCE_NET_EDISABLEDIF = 161,
- SCE_NET_ERESUME = 162
-};
-
+typedef enum SceNetKernelErrorCode {
+ SCE_NET_EPERM = 1,
+ SCE_NET_ENOENT = 2,
+ SCE_NET_ESRCH = 3,
+ SCE_NET_EINTR = 4,
+ SCE_NET_EIO = 5,
+ SCE_NET_ENXIO = 6,
+ SCE_NET_E2BIG = 7,
+ SCE_NET_ENOEXEC = 8,
+ SCE_NET_EBADF = 9,
+ SCE_NET_ECHILD = 10,
+ SCE_NET_EDEADLK = 11,
+ SCE_NET_ENOMEM = 12,
+ SCE_NET_EACCES = 13,
+ SCE_NET_EFAULT = 14,
+ SCE_NET_ENOTBLK = 15,
+ SCE_NET_EBUSY = 16,
+ SCE_NET_EEXIST = 17,
+ SCE_NET_EXDEV = 18,
+ SCE_NET_ENODEV = 19,
+ SCE_NET_ENOTDIR = 20,
+ SCE_NET_EISDIR = 21,
+ SCE_NET_EINVAL = 22,
+ SCE_NET_ENFILE = 23,
+ SCE_NET_EMFILE = 24,
+ SCE_NET_ENOTTY = 25,
+ SCE_NET_ETXTBSY = 26,
+ SCE_NET_EFBIG = 27,
+ SCE_NET_ENOSPC = 28,
+ SCE_NET_ESPIPE = 29,
+ SCE_NET_EROFS = 30,
+ SCE_NET_EMLINK = 31,
+ SCE_NET_EPIPE = 32,
+ SCE_NET_EDOM = 33,
+ SCE_NET_ERANGE = 34,
+ SCE_NET_EAGAIN = 35,
+ SCE_NET_EWOULDBLOCK = 35,
+ SCE_NET_EINPROGRESS = 36,
+ SCE_NET_EALREADY = 37,
+ SCE_NET_ENOTSOCK = 38,
+ SCE_NET_EDESTADDRREQ = 39,
+ SCE_NET_EMSGSIZE = 40,
+ SCE_NET_EPROTOTYPE = 41,
+ SCE_NET_ENOPROTOOPT = 42,
+ SCE_NET_EPROTONOSUPPORT = 43,
+ SCE_NET_ESOCKTNOSUPPORT = 44,
+ SCE_NET_EOPNOTSUPP = 45,
+ SCE_NET_EPFNOSUPPORT = 46,
+ SCE_NET_EAFNOSUPPORT = 47,
+ SCE_NET_EADDRINUSE = 48,
+ SCE_NET_EADDRNOTAVAIL = 49,
+ SCE_NET_ENETDOWN = 50,
+ SCE_NET_ENETUNREACH = 51,
+ SCE_NET_ENETRESET = 52,
+ SCE_NET_ECONNABORTED = 53,
+ SCE_NET_ECONNRESET = 54,
+ SCE_NET_ENOBUFS = 55,
+ SCE_NET_EISCONN = 56,
+ SCE_NET_ENOTCONN = 57,
+ SCE_NET_ESHUTDOWN = 58,
+ SCE_NET_ETOOMANYREFS = 59,
+ SCE_NET_ETIMEDOUT = 60,
+ SCE_NET_ECONNREFUSED = 61,
+ SCE_NET_ELOOP = 62,
+ SCE_NET_ENAMETOOLONG = 63,
+ SCE_NET_EHOSTDOWN = 64,
+ SCE_NET_EHOSTUNREACH = 65,
+ SCE_NET_ENOTEMPTY = 66,
+ SCE_NET_EPROCLIM = 67,
+ SCE_NET_EUSERS = 68,
+ SCE_NET_EDQUOT = 69,
+ SCE_NET_ESTALE = 70,
+ SCE_NET_EREMOTE = 71,
+ SCE_NET_EBADRPC = 72,
+ SCE_NET_ERPCMISMATCH = 73,
+ SCE_NET_EPROGUNAVAIL = 74,
+ SCE_NET_EPROGMISMATCH = 75,
+ SCE_NET_EPROCUNAVAIL = 76,
+ SCE_NET_ENOLCK = 77,
+ SCE_NET_ENOSYS = 78,
+ SCE_NET_EFTYPE = 79,
+ SCE_NET_EAUTH = 80,
+ SCE_NET_ENEEDAUTH = 81,
+ SCE_NET_EIDRM = 82,
+ SCE_NET_ENOMSG = 83,
+ SCE_NET_EOVERFLOW = 84,
+ SCE_NET_EILSEQ = 85,
+ SCE_NET_ENOTSUP = 86,
+ SCE_NET_ECANCELED = 87,
+ SCE_NET_EBADMSG = 88,
+ SCE_NET_ENODATA = 89,
+ SCE_NET_ENOSR = 90,
+ SCE_NET_ENOSTR = 91,
+ SCE_NET_ETIME = 92,
+ SCE_NET_EADHOC = 160,
+ SCE_NET_EDISABLEDIF = 161,
+ SCE_NET_ERESUME = 162
+} SceNetKernelErrorCode;
/** libnet specific error codes */
-enum {
+typedef enum SceNetLibnetErrorCode {
SCE_NET_ENOTINIT = 200,
SCE_NET_ENOLIBMEM,
SCE_NET_ETLS,
SCE_NET_ECALLBACK,
SCE_NET_EINTERNAL,
SCE_NET_ERETURN
-};
-
-/** Resolver specific error codes */
-enum {
- SCE_NET_RESOLVER_EINTERNAL = 220,
- SCE_NET_RESOLVER_EBUSY,
- SCE_NET_RESOLVER_ENOSPACE,
- SCE_NET_RESOLVER_EPACKET,
- SCE_NET_RESOLVER_ERESERVED224,
- SCE_NET_RESOLVER_ENODNS,
- SCE_NET_RESOLVER_ETIMEDOUT,
- SCE_NET_RESOLVER_ENOSUPPORT,
- SCE_NET_RESOLVER_EFORMAT,
- SCE_NET_RESOLVER_ESERVERFAILURE,
- SCE_NET_RESOLVER_ENOHOST,
- SCE_NET_RESOLVER_ENOTIMPLEMENTED,
- SCE_NET_RESOLVER_ESERVERREFUSED,
- SCE_NET_RESOLVER_ENORECORD,
- SCE_NET_RESOLVER_EALIGNMENT
-};
-
-/** Flags to specify as argument to ::sceNetDumpRead() */
-enum {
- SCE_NET_DUMP_PEEK = 0x00000010,
- SCE_NET_DUMP_DONTWAIT = 0x00000020,
- SCE_NET_DUMP_OVERFLOW = 0x00000040,
- SCE_NET_DUMP_ABORT_FLAG_PRESERVATION = 0x00000001
-};
-
-/** Events for ::SceNetEpollEvent */
-enum {
- SCE_NET_EPOLLIN = 0x00000001,
- SCE_NET_EPOLLOUT = 0x00000002,
- SCE_NET_EPOLLERR = 0x00000008,
- SCE_NET_EPOLLHUP = 0x00000010,
- SCE_NET_EPOLLDESCID = 0x00010000
-};
-
-/** Flags to specify as argument to ::sceNetEpollControl() */
-enum {
- SCE_NET_EPOLL_CTL_ADD = 1,
- SCE_NET_EPOLL_CTL_MOD,
- SCE_NET_EPOLL_CTL_DEL
-};
+} SceNetLibnetErrorCode;
/** state for ::SceNetSockInfo structure */
-enum {
+typedef enum SceNetSockInfoState {
SCE_NET_SOCKINFO_STATE_UNKNOWN,
SCE_NET_SOCKINFO_STATE_CLOSED,
SCE_NET_SOCKINFO_STATE_OPENED,
@@ -295,159 +251,126 @@ enum {
SCE_NET_SOCKINFO_STATE_CLOSING,
SCE_NET_SOCKINFO_STATE_LAST_ACK,
SCE_NET_SOCKINFO_STATE_TIME_WAIT
-};
+} SceNetSockInfoState;
/** flags for ::SceNetSockInfo structure */
-enum {
- SCE_NET_SOCKINFO_F_SELF = 0x00000001,
- SCE_NET_SOCKINFO_F_KERNEL = 0x00000002,
- SCE_NET_SOCKINFO_F_OTHERS = 0x00000004,
- SCE_NET_SOCKINFO_F_RECV_WAIT = 0x00010000,
- SCE_NET_SOCKINFO_F_SEND_WAIT = 0x00020000,
- SCE_NET_SOCKINFO_F_RECV_EWAIT = 0x00040000,
- SCE_NET_SOCKINFO_F_SEND_EWAIT = 0x00080000,
- SCE_NET_SOCKINFO_F_WAKEUP_SIGNAL = 0x00100000,
- SCE_NET_SOCKINFO_F_ALL = 0x001F0007
-};
-
-/** Flags to specify as argument to ::sceNetEmulationGet() / ::sceNetEmulationSet() */
-enum {
- SCE_NET_EMULATION_FLAG_ETH0 = 1,
- SCE_NET_EMULATION_FLAG_WLAN0
-};
-
-/** Flags to specify as argument to ::sceNetResolverStartNtoa() / ::sceNetResolverStartAton() */
-enum {
- SCE_NET_RESOLVER_ASYNC = 0x00000001,
- SCE_NET_RESOLVER_START_NTOA_DISABLE_IPADDRESS = 0x00010000
-};
-
-/** Flags to specify as argument to ::sceNetResolverAbort() */
-enum {
- SCE_NET_RESOLVER_ABORT_FLAG_NTOA_PRESERVATION = 0x00000001,
- SCE_NET_RESOLVER_ABORT_FLAG_ATON_PRESERVATION = 0x00000002
-};
-
-/** Flags to specify as argument to ::sceNetSocketAbort() */
-enum {
- SCE_NET_SOCKET_ABORT_FLAG_RCV_PRESERVATION = 0x00000001,
- SCE_NET_SOCKET_ABORT_FLAG_SND_PRESERVATION = 0x00000002
-};
+typedef enum SceNetSockInfoFlag {
+ SCE_NET_SOCKINFO_F_SELF = 0x00000001,
+ SCE_NET_SOCKINFO_F_KERNEL = 0x00000002,
+ SCE_NET_SOCKINFO_F_OTHERS = 0x00000004,
+ SCE_NET_SOCKINFO_F_RECV_WAIT = 0x00010000,
+ SCE_NET_SOCKINFO_F_SEND_WAIT = 0x00020000,
+ SCE_NET_SOCKINFO_F_RECV_EWAIT = 0x00040000,
+ SCE_NET_SOCKINFO_F_SEND_EWAIT = 0x00080000,
+ SCE_NET_SOCKINFO_F_WAKEUP_SIGNAL = 0x00100000,
+ SCE_NET_SOCKINFO_F_ALL = 0x001F0007
+} SceNetSockInfoFlag;
/** Net Protocols */
-enum {
- SCE_NET_IPPROTO_IP = 0,
- SCE_NET_IPPROTO_ICMP = 1,
- SCE_NET_IPPROTO_IGMP = 2,
- SCE_NET_IPPROTO_TCP = 6,
- SCE_NET_IPPROTO_UDP = 17,
- SCE_NET_SOL_SOCKET = 0xffff
-};
+typedef enum SceNetProtocol {
+ SCE_NET_IPPROTO_IP = 0,
+ SCE_NET_IPPROTO_ICMP = 1,
+ SCE_NET_IPPROTO_IGMP = 2,
+ SCE_NET_IPPROTO_TCP = 6,
+ SCE_NET_IPPROTO_UDP = 17,
+ SCE_NET_SOL_SOCKET = 0xffff
+} SceNetProtocol;
/** Socket Options */
-enum {
+typedef enum SceNetSocketOption {
/* IP */
- SCE_NET_IP_HDRINCL = 2,
- SCE_NET_IP_TOS = 3,
- SCE_NET_IP_TTL = 4,
- SCE_NET_IP_MULTICAST_IF = 9,
- SCE_NET_IP_MULTICAST_TTL = 10,
- SCE_NET_IP_MULTICAST_LOOP = 11,
- SCE_NET_IP_ADD_MEMBERSHIP = 12,
- SCE_NET_IP_DROP_MEMBERSHIP = 13,
- SCE_NET_IP_TTLCHK = 23,
- SCE_NET_IP_MAXTTL = 24,
+ SCE_NET_IP_HDRINCL = 2,
+ SCE_NET_IP_TOS = 3,
+ SCE_NET_IP_TTL = 4,
+ SCE_NET_IP_MULTICAST_IF = 9,
+ SCE_NET_IP_MULTICAST_TTL = 10,
+ SCE_NET_IP_MULTICAST_LOOP = 11,
+ SCE_NET_IP_ADD_MEMBERSHIP = 12,
+ SCE_NET_IP_DROP_MEMBERSHIP = 13,
+ SCE_NET_IP_TTLCHK = 23,
+ SCE_NET_IP_MAXTTL = 24,
/* TCP */
- SCE_NET_TCP_NODELAY = 1,
- SCE_NET_TCP_MAXSEG = 2,
- SCE_NET_TCP_MSS_TO_ADVERTISE = 3,
+ SCE_NET_TCP_NODELAY = 1,
+ SCE_NET_TCP_MAXSEG = 2,
+ SCE_NET_TCP_MSS_TO_ADVERTISE = 3,
/* SOCKET */
- SCE_NET_SO_REUSEADDR = 0x00000004,
- SCE_NET_SO_KEEPALIVE = 0x00000008,
- SCE_NET_SO_BROADCAST = 0x00000020,
- SCE_NET_SO_LINGER = 0x00000080,
- SCE_NET_SO_OOBINLINE = 0x00000100,
- SCE_NET_SO_REUSEPORT = 0x00000200,
- SCE_NET_SO_ONESBCAST = 0x00000800,
- SCE_NET_SO_USECRYPTO = 0x00001000,
- SCE_NET_SO_USESIGNATURE = 0x00002000,
- SCE_NET_SO_SNDBUF = 0x1001,
- SCE_NET_SO_RCVBUF = 0x1002,
- SCE_NET_SO_SNDLOWAT = 0x1003,
- SCE_NET_SO_RCVLOWAT = 0x1004,
- SCE_NET_SO_SNDTIMEO = 0x1005,
- SCE_NET_SO_RCVTIMEO = 0x1006,
- SCE_NET_SO_ERROR = 0x1007,
- SCE_NET_SO_TYPE = 0x1008,
- SCE_NET_SO_NBIO = 0x1100,
- SCE_NET_SO_TPPOLICY = 0x1101,
- SCE_NET_SO_NAME = 0x1102
-};
+ SCE_NET_SO_REUSEADDR = 0x00000004,
+ SCE_NET_SO_KEEPALIVE = 0x00000008,
+ SCE_NET_SO_BROADCAST = 0x00000020,
+ SCE_NET_SO_LINGER = 0x00000080,
+ SCE_NET_SO_OOBINLINE = 0x00000100,
+ SCE_NET_SO_REUSEPORT = 0x00000200,
+ SCE_NET_SO_ONESBCAST = 0x00000800,
+ SCE_NET_SO_USECRYPTO = 0x00001000,
+ SCE_NET_SO_USESIGNATURE = 0x00002000,
+ SCE_NET_SO_SNDBUF = 0x1001,
+ SCE_NET_SO_RCVBUF = 0x1002,
+ SCE_NET_SO_SNDLOWAT = 0x1003,
+ SCE_NET_SO_RCVLOWAT = 0x1004,
+ SCE_NET_SO_SNDTIMEO = 0x1005,
+ SCE_NET_SO_RCVTIMEO = 0x1006,
+ SCE_NET_SO_ERROR = 0x1007,
+ SCE_NET_SO_TYPE = 0x1008,
+ SCE_NET_SO_NBIO = 0x1100,
+ SCE_NET_SO_TPPOLICY = 0x1101,
+ SCE_NET_SO_NAME = 0x1102
+} SceNetSocketOption;
/** Socket types */
-enum {
- SCE_NET_SOCK_STREAM = 1,
- SCE_NET_SOCK_DGRAM = 2,
- SCE_NET_SOCK_RAW = 3,
- SCE_NET_SOCK_DGRAM_P2P = 6,
- SCE_NET_SOCK_STREAM_P2P = 10
-};
+typedef enum SceNetSocketType {
+ SCE_NET_SOCK_STREAM = 1,
+ SCE_NET_SOCK_DGRAM = 2,
+ SCE_NET_SOCK_RAW = 3,
+ SCE_NET_SOCK_DGRAM_P2P = 6,
+ SCE_NET_SOCK_STREAM_P2P = 10
+} SceNetSocketType;
/** MSG Flags */
-enum {
- SCE_NET_MSG_PEEK = 0x00000002,
- SCE_NET_MSG_WAITALL = 0x00000040,
- SCE_NET_MSG_DONTWAIT = 0x00000080,
- SCE_NET_MSG_USECRYPTO = 0x00000400,
- SCE_NET_MSG_USESIGNATURE = 0x00000800
-};
-
-/** Flags to specify as argument to ::sceNetShutdown() */
-enum {
- SCE_NET_SHUT_RD,
- SCE_NET_SHUT_WR,
- SCE_NET_SHUT_RDWR
-};
+typedef enum SceNetMsgFlag {
+ SCE_NET_MSG_PEEK = 0x00000002,
+ SCE_NET_MSG_WAITALL = 0x00000040,
+ SCE_NET_MSG_DONTWAIT = 0x00000080,
+ SCE_NET_MSG_USECRYPTO = 0x00000400,
+ SCE_NET_MSG_USESIGNATURE = 0x00000800
+} SceNetMsgFlag;
/** Types to specify to ::SceNetIcmpHeader structure */
-enum {
- SCE_NET_ICMP_TYPE_ECHO_REPLY = 0,
- SCE_NET_ICMP_TYPE_DEST_UNREACH = 3,
- SCE_NET_ICMP_TYPE_SOURCE_QUENCH = 4,
- SCE_NET_ICMP_TYPE_REDIRECT = 5,
- SCE_NET_ICMP_TYPE_ECHO_REQUEST = 8,
- SCE_NET_ICMP_TYPE_TIME_EXCEEDED = 11,
- SCE_NET_ICMP_TYPE_PARAMETER_PROBLEM = 12,
- SCE_NET_ICMP_TYPE_TIMESTAMP_REQUEST = 13,
- SCE_NET_ICMP_TYPE_TIMESTAMP_REPLY = 14,
- SCE_NET_ICMP_TYPE_INFORMATION_REQUEST = 15,
- SCE_NET_ICMP_TYPE_INFORMATION_REPLY = 16,
- SCE_NET_ICMP_TYPE_ADDRESS_MASK_REQUEST = 17,
- SCE_NET_ICMP_TYPE_ADDRESS_MASK_REPLY = 18
-};
+typedef enum SceNetIcmpType {
+ SCE_NET_ICMP_TYPE_ECHO_REPLY = 0,
+ SCE_NET_ICMP_TYPE_DEST_UNREACH = 3,
+ SCE_NET_ICMP_TYPE_SOURCE_QUENCH = 4,
+ SCE_NET_ICMP_TYPE_REDIRECT = 5,
+ SCE_NET_ICMP_TYPE_ECHO_REQUEST = 8,
+ SCE_NET_ICMP_TYPE_TIME_EXCEEDED = 11,
+ SCE_NET_ICMP_TYPE_PARAMETER_PROBLEM = 12,
+ SCE_NET_ICMP_TYPE_TIMESTAMP_REQUEST = 13,
+ SCE_NET_ICMP_TYPE_TIMESTAMP_REPLY = 14,
+ SCE_NET_ICMP_TYPE_INFORMATION_REQUEST = 15,
+ SCE_NET_ICMP_TYPE_INFORMATION_REPLY = 16,
+ SCE_NET_ICMP_TYPE_ADDRESS_MASK_REQUEST = 17,
+ SCE_NET_ICMP_TYPE_ADDRESS_MASK_REPLY = 18
+} SceNetIcmpType;
/** Codes to specify to ::SceNetIcmpHeader structure */
-enum {
- SCE_NET_ICMP_CODE_DEST_UNREACH_NET_UNREACH = 0,
- SCE_NET_ICMP_CODE_DEST_UNREACH_HOST_UNREACH = 1,
- SCE_NET_ICMP_CODE_DEST_UNREACH_PROTO_UNREACH = 2,
- SCE_NET_ICMP_CODE_DEST_UNREACH_PORT_UNREACH = 3,
- SCE_NET_ICMP_CODE_DEST_UNREACH_FRAG_AND_DF = 4,
- SCE_NET_ICMP_CODE_DEST_UNREACH_SRC_HOST_FAILED = 5,
- SCE_NET_ICMP_CODE_DEST_UNREACH_DST_NET_UNKNOWN = 6,
- SCE_NET_ICMP_CODE_DEST_UNREACH_DST_HOST_UNKNOWN = 7,
- SCE_NET_ICMP_CODE_DEST_UNREACH_SRC_HOST_ISOLATED = 8,
- SCE_NET_ICMP_CODE_DEST_UNREACH_NET_ADMIN_PROHIBITED = 9,
- SCE_NET_ICMP_CODE_DEST_UNREACH_NET_HOST_PROHIBITED = 10,
- SCE_NET_ICMP_CODE_DEST_UNREACH_NET_TOS = 11,
- SCE_NET_ICMP_CODE_DEST_UNREACH_HOST_TOS = 12,
- SCE_NET_ICMP_CODE_TIME_EXCEEDED_TTL_EXCEEDED = 0,
- SCE_NET_ICMP_CODE_TIME_EXCEEDED_FRT_EXCEEDED = 1
-};
+typedef enum SceNetIcmpCode {
+ SCE_NET_ICMP_CODE_DEST_UNREACH_NET_UNREACH = 0,
+ SCE_NET_ICMP_CODE_DEST_UNREACH_HOST_UNREACH = 1,
+ SCE_NET_ICMP_CODE_DEST_UNREACH_PROTO_UNREACH = 2,
+ SCE_NET_ICMP_CODE_DEST_UNREACH_PORT_UNREACH = 3,
+ SCE_NET_ICMP_CODE_DEST_UNREACH_FRAG_AND_DF = 4,
+ SCE_NET_ICMP_CODE_DEST_UNREACH_SRC_HOST_FAILED = 5,
+ SCE_NET_ICMP_CODE_DEST_UNREACH_DST_NET_UNKNOWN = 6,
+ SCE_NET_ICMP_CODE_DEST_UNREACH_DST_HOST_UNKNOWN = 7,
+ SCE_NET_ICMP_CODE_DEST_UNREACH_SRC_HOST_ISOLATED = 8,
+ SCE_NET_ICMP_CODE_DEST_UNREACH_NET_ADMIN_PROHIBITED = 9,
+ SCE_NET_ICMP_CODE_DEST_UNREACH_NET_HOST_PROHIBITED = 10,
+ SCE_NET_ICMP_CODE_DEST_UNREACH_NET_TOS = 11,
+ SCE_NET_ICMP_CODE_DEST_UNREACH_HOST_TOS = 12,
+ SCE_NET_ICMP_CODE_TIME_EXCEEDED_TTL_EXCEEDED = 0,
+ SCE_NET_ICMP_CODE_TIME_EXCEEDED_FRT_EXCEEDED = 1
+} SceNetIcmpCode;
/* Defines */
-#define SCE_NET_EPOLL_ABORT_FLAG_PRESERVATION 0x00000001
-
#define SCE_NET_IP_DEFAULT_MULTICAST_TTL 1
#define SCE_NET_IP_DEFAULT_MULTICAST_LOOP 1
@@ -473,25 +396,9 @@ enum {
#define SCE_NET_DEBUG_NAME_LEN_MAX 31
-#define SCE_NET_RESOLVER_PORT 53
-#define SCE_NET_RESOLVER_HOSTNAME_LEN_MAX 255
-
#define SCE_NET_ID_SOCKET_MIN 0
#define SCE_NET_ID_SOCKET_MAX 1023
-/* callback */
-
-typedef void *(*SceNetResolverFunctionAllocate)(
- unsigned int size,
- int rid,
- const char *name,
- void *user);
-typedef void (*SceNetResolverFunctionFree)(
- void *ptr,
- int rid,
- const char *name,
- void *user);
-
/* struct */
typedef struct SceNetFdSet {
@@ -516,43 +423,6 @@ typedef struct SceNetIpMreq {
SceNetInAddr imr_interface;
} SceNetIpMreq;
-typedef struct SceNetInitParam {
- void *memory;
- int size;
- int flags;
-} SceNetInitParam;
-
-typedef struct SceNetEmulationData {
- unsigned short int drop_rate;
- unsigned short int drop_duration;
- unsigned short int pass_duration;
- unsigned short int delay_time;
- unsigned short int delay_jitter;
- unsigned short int order_rate;
- unsigned short int order_delay_time;
- unsigned short int duplication_rate;
- unsigned int bps_limit;
- unsigned short int lower_size_limit;
- unsigned short int upper_size_limit;
- unsigned int system_policy_pattern;
- unsigned int game_policy_pattern;
- unsigned short int policy_flags[64];
- unsigned char reserved[64];
-} SceNetEmulationData;
-
-typedef struct SceNetEmulationParam {
- unsigned short int version;
- unsigned short int option_number;
- unsigned short int current_version;
- unsigned short int result;
- unsigned int flags;
- unsigned int reserved1;
- SceNetEmulationData send;
- SceNetEmulationData recv;
- unsigned int seed;
- unsigned char reserved[44];
-} SceNetEmulationParam;
-
typedef struct SceNetEtherAddr {
unsigned char data[6];
} SceNetEtherAddr;
@@ -561,36 +431,6 @@ typedef struct SceNetDnsInfo {
SceNetInAddr dns_addr[2];
} SceNetDnsInfo;
-typedef struct SceNetEpollDataExt {
- int id;
- unsigned int u32;
-} SceNetEpollDataExt;
-
-typedef union SceNetEpollData {
- void *ptr;
- int fd;
- unsigned int u32;
- unsigned long long int u64;
- SceNetEpollDataExt ext;
-} SceNetEpollData;
-
-typedef struct SceNetEpollSystemData {
- unsigned int system[4];
-} SceNetEpollSystemData;
-
-typedef struct SceNetEpollEvent {
- unsigned int events;
- unsigned int reserved;
- SceNetEpollSystemData system;
- SceNetEpollData data;
-} SceNetEpollEvent;
-
-typedef struct SceNetResolverParam {
- SceNetResolverFunctionAllocate allocate;
- SceNetResolverFunctionFree free;
- void *user;
-} SceNetResolverParam;
-
typedef struct SceNetLinger {
int l_onoff;
int l_linger;
diff --git a/include/kernel/udcd.h b/include/kernel/udcd.h
index 899a6e6..46eb51f 100644
--- a/include/kernel/udcd.h
+++ b/include/kernel/udcd.h
@@ -7,56 +7,58 @@
extern "C" {
#endif
-/*
- * Device and/or Interface Class codes
- */
-#define USB_CLASS_PER_INTERFACE 0 /* for DeviceClass */
-#define USB_CLASS_AUDIO 1
-#define USB_CLASS_COMM 2
-#define USB_CLASS_HID 3
-#define USB_CLASS_PRINTER 7
-#define USB_CLASS_PTP 6
-#define USB_CLASS_MASS_STORAGE 8
-#define USB_CLASS_HUB 9
-#define USB_CLASS_DATA 10
-#define USB_CLASS_VENDOR_SPEC 0xff
-
-/*
- * Descriptor types
- */
-#define USB_DT_DEVICE 0x01
-#define USB_DT_CONFIG 0x02
-#define USB_DT_STRING 0x03
-#define USB_DT_INTERFACE 0x04
-#define USB_DT_ENDPOINT 0x05
-
-/*
- * Standard requests
- */
-#define USB_REQ_GET_STATUS 0x00
-#define USB_REQ_CLEAR_FEATURE 0x01
-#define USB_REQ_SET_FEATURE 0x03
-#define USB_REQ_SET_ADDRESS 0x05
-#define USB_REQ_GET_DESCRIPTOR 0x06
-#define USB_REQ_SET_DESCRIPTOR 0x07
-#define USB_REQ_GET_CONFIG 0x08
-#define USB_REQ_SET_CONFIG 0x09
-#define USB_REQ_GET_INTERFACE 0x0a
-#define USB_REQ_SET_INTERFACE 0x0b
-#define USB_REQ_SYNC_FRAME 0x0c
-
-/*
+/** Enumeration for Device and/or Interface Class codes
+ */
+typedef enum SceUdcdUsbClass {
+ USB_CLASS_PER_INTERFACE 0x00, //!< for DeviceClass
+ USB_CLASS_AUDIO 0x01,
+ USB_CLASS_COMM 0x02,
+ USB_CLASS_HID 0x03,
+ USB_CLASS_PTP 0x06,
+ USB_CLASS_PRINTER 0x07,
+ USB_CLASS_MASS_STORAGE 0x08,
+ USB_CLASS_HUB 0x09,
+ USB_CLASS_DATA 0x0A,
+ USB_CLASS_VENDOR_SPEC 0xFF
+} SceUdcdUsbClass;
+
+/** Enumeration for descriptor types
+ */
+typedef enum SceUdcdUsbDt {
+ USB_DT_DEVICE = 0x01,
+ USB_DT_CONFIG = 0x02,
+ USB_DT_STRING = 0x03,
+ USB_DT_INTERFACE = 0x04,
+ USB_DT_ENDPOINT = 0x05
+} SceUdcdUsbDt;
+
+/** Enumeration for standard requests
+ */
+typedef enum SceUdcdUsbReq {
+ USB_REQ_GET_STATUS = 0x00,
+ USB_REQ_CLEAR_FEATURE = 0x01,
+ USB_REQ_SET_FEATURE = 0x03,
+ USB_REQ_SET_ADDRESS = 0x05,
+ USB_REQ_GET_DESCRIPTOR = 0x06,
+ USB_REQ_SET_DESCRIPTOR = 0x07,
+ USB_REQ_GET_CONFIG = 0x08,
+ USB_REQ_SET_CONFIG = 0x09,
+ USB_REQ_GET_INTERFACE = 0x0A,
+ USB_REQ_SET_INTERFACE = 0x0B,
+ USB_REQ_SYNC_FRAME = 0x0C
+} SceUdcdUsbReq;
+
+/**
* Descriptor sizes per descriptor type
*/
#define USB_DT_DEVICE_SIZE 18
#define USB_DT_CONFIG_SIZE 9
#define USB_DT_INTERFACE_SIZE 9
#define USB_DT_ENDPOINT_SIZE 7
-#define USB_DT_ENDPOINT_AUDIO_SIZE 9 /* Audio extension */
+#define USB_DT_ENDPOINT_AUDIO_SIZE 9 //!< Audio extension
#define USB_DT_HUB_NONVAR_SIZE 7
-/*
- * Control message request type bitmask
+/** Control message request type bitmask
*/
#define USB_CTRLTYPE_DIR_MASK 0x80
#define USB_CTRLTYPE_DIR_HOST2DEVICE (0 << 7)
@@ -72,8 +74,7 @@ extern "C" {
#define USB_CTRLTYPE_REC_ENDPOINT 2
#define USB_CTRLTYPE_REC_OTHER 3
-/*
- * Endpoint types and masks
+/** Endpoint types and masks
*/
#define USB_ENDPOINT_ADDRESS_MASK 0x0f /* in bEndpointAddress */
#define USB_ENDPOINT_DIR_MASK 0x80
@@ -91,114 +92,116 @@ extern "C" {
/* HID constants. Not part of chapter 9 */
-/*
- * Class-Specific Requests
+/** Class-Specific Requests
*/
-#define HID_REQUEST_GET_REPORT 0x01
-#define HID_REQUEST_GET_IDLE 0x02
-#define HID_REQUEST_GET_PROTOCOL 0x03
-#define HID_REQUEST_SET_REPORT 0x09
-#define HID_REQUEST_SET_IDLE 0x0A
-#define HID_REQUEST_SET_PROTOCOL 0x0B
+typedef enum SceUdcdHidRequest {
+ HID_REQUEST_GET_REPORT = 0x01,
+ HID_REQUEST_GET_IDLE = 0x02,
+ HID_REQUEST_GET_PROTOCOL = 0x03,
+ HID_REQUEST_SET_REPORT = 0x09,
+ HID_REQUEST_SET_IDLE = 0x0A,
+ HID_REQUEST_SET_PROTOCOL = 0x0B
+} SceUdcdHidRequest;
-/*
- * Class Descriptor Types
+/** Class Descriptor Types
*/
-#define HID_DESCRIPTOR_HID 0x21
-#define HID_DESCRIPTOR_REPORT 0x22
-#define HID_DESRIPTOR_PHY 0x23
+typedef enum SceUdcdHidDescriptor {
+ HID_DESCRIPTOR_HID = 0x21,
+ HID_DESCRIPTOR_REPORT = 0x22,
+ HID_DESRIPTOR_PHY = 0x23
+} SceUdcdHidDescriptor;
-/*
- * Protocol Selection
+/** Protocol Selection
*/
-#define BOOT_PROTOCOL 0x00
-#define RPT_PROTOCOL 0x01
+typedef enum SceUdcdProtocol {
+ BOOT_PROTOCOL = 0x00,
+ RPT_PROTOCOL = 0x01
+} SceUdcdProtocol;
-/*
- * HID Interface Class Code
+/** HID Interface Class Code
*/
#define HID_INTF 0x03
-/*
- * HID Interface Class SubClass Codes
+/** HID Interface Class SubClass Codes
*/
#define BOOT_INTF_SUBCLASS 0x01
-/*
- * HID Interface Class Protocol Codes
+/** HID Interface Class Protocol Codes
*/
-#define HID_PROTOCOL_NONE 0x00
-#define HID_PROTOCOL_KEYBOARD 0x01
-#define HID_PROTOCOL_MOUSE 0x02
-
+typedef enum SceUdcdHidProtocol {
+ HID_PROTOCOL_NONE = 0x00,
+ HID_PROTOCOL_KEYBOARD = 0x01,
+ HID_PROTOCOL_MOUSE = 0x02
+} SceUdcdHidProtocol;
-/*
- * USB Status
+/** USB Status
*/
-#define SCE_UDCD_STATUS_CONNECTION_NEW 0x0001
-#define SCE_UDCD_STATUS_CONNECTION_ESTABLISHED 0x0002
-#define SCE_UDCD_STATUS_CONNECTION_SUSPENDED 0x0004
-#define SCE_UDCD_STATUS_CABLE_DISCONNECTED 0x0010
-#define SCE_UDCD_STATUS_CABLE_CONNECTED 0x0020
-#define SCE_UDCD_STATUS_DEACTIVATED 0x0100
-#define SCE_UDCD_STATUS_ACTIVATED 0x0200
-#define SCE_UDCD_STATUS_IS_CHARGING 0x0400
-#define SCE_UDCD_STATUS_USE_USB_CHARGING 0x0800
-#define SCE_UDCD_STATUS_UNKNOWN_1000 0x1000
-#define SCE_UDCD_STATUS_UNKNOWN_2000 0x2000
+typedef enum SceUdcdStatus {
+ SCE_UDCD_STATUS_CONNECTION_NEW = 0x0001,
+ SCE_UDCD_STATUS_CONNECTION_ESTABLISHED = 0x0002,
+ SCE_UDCD_STATUS_CONNECTION_SUSPENDED = 0x0004,
+ SCE_UDCD_STATUS_CABLE_DISCONNECTED = 0x0010,
+ SCE_UDCD_STATUS_CABLE_CONNECTED = 0x0020,
+ SCE_UDCD_STATUS_DEACTIVATED = 0x0100,
+ SCE_UDCD_STATUS_ACTIVATED = 0x0200,
+ SCE_UDCD_STATUS_IS_CHARGING = 0x0400,
+ SCE_UDCD_STATUS_USE_USB_CHARGING = 0x0800,
+ SCE_UDCD_STATUS_UNKNOWN_1000 = 0x1000,
+ SCE_UDCD_STATUS_UNKNOWN_2000 = 0x2000
+} SceUdcdStatus;
-/*
- * USB Driver status
+/** USB Driver status
*/
-#define SCE_UDCD_STATUS_DRIVER_STARTED 0x01
-#define SCE_UDCD_STATUS_DRIVER_REGISTERED 0x02
+typedef enum SceUdcdStatusDriver {
+ SCE_UDCD_STATUS_DRIVER_STARTED = 0x01,
+ SCE_UDCD_STATUS_DRIVER_REGISTERED = 0x02
+} SceUdcdStatusDriver;
-/*
- * USB limits
+/** USB limits
*/
#define SCE_UDCD_MAX_INTERFACES 8
#define SCE_UDCD_MAX_ENDPOINTS 9
#define SCE_UDCD_MAX_ALTERNATE 2
-#define SCE_UDCD_RETCODE_CANCEL -1
-#define SCE_UDCD_RETCODE_CANCEL_ALL -2
-#define SCE_UDCD_RETCODE_CANCELTRANSMISSION -3
-#define SCE_UDCD_RETCODE_SUCCESS 0
-#define SCE_UDCD_RETCODE_SEND 1
-#define SCE_UDCD_RETCODE_RECV 2
-
-/*
- * Error codes
- */
-#define SCE_UDCD_ERROR_ALREADY_DONE 0x80243001
-#define SCE_UDCD_ERROR_INVALID_ARGUMENT 0x80243002
-#define SCE_UDCD_ERROR_ARGUMENT_EXCEEDED_LIMIT 0x80243003
-#define SCE_UDCD_ERROR_MEMORY_EXHAUSTED 0x80243004
-#define SCE_UDCD_ERROR_DRIVER_NOT_FOUND 0x80243005
-#define SCE_UDCD_ERROR_DRIVER_IN_PROGRESS 0x80243006
-#define SCE_UDCD_ERROR_BUS_DRIVER_NOT_STARTED 0x80243007
-#define SCE_UDCD_ERROR_WAIT_TIMEOUT 0x80243008
-#define SCE_UDCD_ERROR_WAIT_CANCEL 0x80243009
-#define SCE_UDCD_ERROR_INVALID_POINTER 0x80000103
-#define SCE_UDCD_ERROR_INVALID_FLAG 0x80000105
-#define SCE_UDCD_ERROR_INVALID_VALUE 0x800001FE
-#define SCE_UDCD_ERROR_ILLEGAL_CONTEXT 0x80000030
-#define SCE_UDCD_ERROR_USBDRIVER_INVALID_DRIVER 0x80243200
-#define SCE_UDCD_ERROR_USBDRIVER_INVALID_NAME 0x80243201
-#define SCE_UDCD_ERROR_USBDRIVER_INVALID_FUNCS 0x80243202
-
-
-/*
- * USB string descriptor
+typedef enum SceUdcdRetcode {
+ SCE_UDCD_RETCODE_CANCEL = -1,
+ SCE_UDCD_RETCODE_CANCEL_ALL = -2,
+ SCE_UDCD_RETCODE_CANCEL_TRANSMISSION = -3,
+ SCE_UDCD_RETCODE_SUCCESS = 0,
+ SCE_UDCD_RETCODE_SEND = 1,
+ SCE_UDCD_RETCODE_RECV = 2
+} SceUdcdRetcode;
+
+/** Error codes
+ */
+typedef enum SceUdcdErrorCode {
+ SCE_UDCD_ERROR_ILLEGAL_CONTEXT = 0x80000030,
+ SCE_UDCD_ERROR_INVALID_POINTER = 0x80000103,
+ SCE_UDCD_ERROR_INVALID_FLAG = 0x80000105,
+ SCE_UDCD_ERROR_INVALID_VALUE = 0x800001FE,
+ SCE_UDCD_ERROR_ALREADY_DONE = 0x80243001,
+ SCE_UDCD_ERROR_INVALID_ARGUMENT = 0x80243002,
+ SCE_UDCD_ERROR_ARGUMENT_EXCEEDED_LIMIT = 0x80243003,
+ SCE_UDCD_ERROR_MEMORY_EXHAUSTED = 0x80243004,
+ SCE_UDCD_ERROR_DRIVER_NOT_FOUND = 0x80243005,
+ SCE_UDCD_ERROR_DRIVER_IN_PROGRESS = 0x80243006,
+ SCE_UDCD_ERROR_BUS_DRIVER_NOT_STARTED = 0x80243007,
+ SCE_UDCD_ERROR_WAIT_TIMEOUT = 0x80243008,
+ SCE_UDCD_ERROR_WAIT_CANCEL = 0x80243009,
+ SCE_UDCD_ERROR_USBDRIVER_INVALID_DRIVER = 0x80243200,
+ SCE_UDCD_ERROR_USBDRIVER_INVALID_NAME = 0x80243201,
+ SCE_UDCD_ERROR_USBDRIVER_INVALID_FUNCS = 0x80243202
+} SceUdcdErrorCode;
+
+/** USB string descriptor
*/
typedef struct SceUdcdStringDescriptor {
unsigned char bLength;
unsigned char bDescriptorType;
short bString[31];
-} SceUdcdStringDescriptor; /* Size 64 */
+} SceUdcdStringDescriptor;
-/*
- * USB device descriptor
+/** USB device descriptor
*/
typedef struct SceUdcdDeviceDescriptor {
unsigned char bLength;
@@ -215,10 +218,9 @@ typedef struct SceUdcdDeviceDescriptor {
unsigned char iProduct;
unsigned char iSerialNumber;
unsigned char bNumConfigurations;
-} __attribute__ ((aligned(4))) SceUdcdDeviceDescriptor; /* size 20 */
+} __attribute__ ((aligned(4))) SceUdcdDeviceDescriptor;
-/*
- * USB device qualifier descriptor
+/** USB device qualifier descriptor
*/
typedef struct SceUdcdDeviceQualifierDescriptor {
unsigned char bLength;
@@ -230,10 +232,9 @@ typedef struct SceUdcdDeviceQualifierDescriptor {
unsigned char bMaxPacketSize0;
unsigned char bNumConfigurations;
unsigned char bReserved;
-} __attribute__ ((aligned(4))) SceUdcdDeviceQualifierDescriptor; /* size 12 */
+} __attribute__ ((aligned(4))) SceUdcdDeviceQualifierDescriptor;
-/*
- * USB configuration descriptor
+/** USB configuration descriptor
*/
typedef struct SceUdcdConfigDescriptor {
unsigned char bLength;
@@ -244,28 +245,20 @@ typedef struct SceUdcdConfigDescriptor {
unsigned char iConfiguration;
unsigned char bmAttributes;
unsigned char bMaxPower;
-
struct SceUdcdInterfaceSettings *settings;
-
- unsigned char *extra; /* Extra descriptors */
+ unsigned char *extra; //!< Extra descriptors
int extraLength;
-} SceUdcdConfigDescriptor; /* size 24 */
+} SceUdcdConfigDescriptor;
-/*
- * USB driver interfaces structure
+/** USB driver interfaces structure
*/
typedef struct SceUdcdInterfaceSettings {
- /* Pointers to the individual interface descriptors */
- struct SceUdcdInterfaceDescriptor *descriptors;
-
+ struct SceUdcdInterfaceDescriptor *descriptors; //!< Pointers to the individual interface descriptors
unsigned int alternateSetting;
-
- /* Number of interface descriptors */
- unsigned int numDescriptors;
+ unsigned int numDescriptors; //!< Number of interface descriptors
} SceUdcdInterfaceSettings;
-/*
- * USB Interface descriptor
+/** USB Interface descriptor
*/
typedef struct SceUdcdInterfaceDescriptor {
unsigned char bLength;
@@ -277,15 +270,12 @@ typedef struct SceUdcdInterfaceDescriptor {
unsigned char bInterfaceSubClass;
unsigned char bInterfaceProtocol;
unsigned char iInterface;
-
struct SceUdcdEndpointDescriptor *endpoints;
-
- unsigned char *extra; /* Extra descriptors */
+ unsigned char *extra; //!< Extra descriptors
int extraLength;
-} SceUdcdInterfaceDescriptor; /* size 24 */
+} SceUdcdInterfaceDescriptor;
-/*
- * USB endpoint descriptor
+/** USB endpoint descriptor
*/
typedef struct SceUdcdEndpointDescriptor {
unsigned char bLength;
@@ -294,53 +284,37 @@ typedef struct SceUdcdEndpointDescriptor {
unsigned char bmAttributes;
unsigned short wMaxPacketSize;
unsigned char bInterval;
-
- unsigned char *extra; /* Extra descriptors */
+ unsigned char *extra; //!< Extra descriptors
int extraLength;
-} SceUdcdEndpointDescriptor; /* size 16 */
+} SceUdcdEndpointDescriptor;
-/*
- * USB driver interface
+/** USB driver interface
*/
typedef struct SceUdcdInterface {
- /* Expectant interface number (interface number or -1) */
- int expectNumber;
- /* End interface */
- int interfaceNumber;
- /* Number of interfaces */
- int numInterfaces;
+ int expectNumber; //!< Expectant interface number (interface number or -1)
+ int interfaceNumber; //!< End interface
+ int numInterfaces; //!< Number of interfaces
} SceUdcdInterface;
-/*
- * USB driver endpoint
+/** USB driver endpoint
*/
typedef struct SceUdcdEndpoint {
- /* 0x80 = in, 0x00 = out */
- int direction;
- /* Driver Endpoint number (must be filled in sequentially) */
- int driverEndpointNumber;
- /* Endpoint number (Filled in by the bus driver) */
- int endpointNumber;
- /* Number of transmitted bytes */
- int transmittedBytes;
+ int direction; //!< USB_ENDPOINT_IN / USB_ENDPOINT_OUT
+ int driverEndpointNumber; //!< Driver Endpoint number (must be filled in sequentially)
+ int endpointNumber; //!< Endpoint number (Filled in by the bus driver)
+ int transmittedBytes; //!< Number of transmitted bytes
} SceUdcdEndpoint;
-/*
- * USB driver configuration
+/** USB driver configuration
*/
typedef struct SceUdcdConfiguration {
- /* Pointer to the configuration descriptors */
- SceUdcdConfigDescriptor *configDescriptors;
- /* USB driver interface settings */
- SceUdcdInterfaceSettings *settings;
- /* Pointer to the first interface descriptor */
- SceUdcdInterfaceDescriptor *interfaceDescriptors;
- /* Pointer to the first endpoint descriptor */
- SceUdcdEndpointDescriptor *endpointDescriptors;
+ SceUdcdConfigDescriptor *configDescriptors; //!< Pointer to the configuration descriptors
+ SceUdcdInterfaceSettings *settings; //!< USB driver interface settings
+ SceUdcdInterfaceDescriptor *interfaceDescriptors; //!< Pointer to the first interface descriptor
+ SceUdcdEndpointDescriptor *endpointDescriptors; //!< Pointer to the first endpoint descriptor
} SceUdcdConfiguration;
-/*
- * USB EP0 Device Request
+/** USB EP0 Device Request
*/
typedef struct SceUdcdEP0DeviceRequest {
unsigned char bmRequestType;
@@ -350,92 +324,57 @@ typedef struct SceUdcdEP0DeviceRequest {
unsigned short wLength;
} SceUdcdEP0DeviceRequest;
-/*
- * USB driver structure
+/** USB driver structure
*/
typedef struct SceUdcdDriver {
- /* Name of the USB driver */
- const char *driverName;
- /* Number of endpoints in this driver (including default control) */
- int numEndpoints;
- /* List of endpoint structures (used when calling other functions) */
- SceUdcdEndpoint *endpoints;
- /* Interface list */
- SceUdcdInterface *interface;
- /* Pointer to hi-speed device descriptor */
- SceUdcdDeviceDescriptor *descriptor_hi;
- /* Pointer to hi-speed device configuration */
- SceUdcdConfiguration *configuration_hi;
- /* Pointer to full-speed device descriptor */
- SceUdcdDeviceDescriptor *descriptor;
- /* Pointer to full-speed device configuration */
- SceUdcdConfiguration *configuration;
- /* Unk0 */
- SceUdcdStringDescriptor *stringDescriptorsUnk0;
- /* Default String descriptor */
- SceUdcdStringDescriptor *stringDescriptorsUnk1;
- /* String descriptors (unknown) */
- SceUdcdStringDescriptor *stringDescriptorsUnk2;
- /* Received a control request */
- int (*processRequest) (int recipient, int arg /* endpoint number or interface number */, SceUdcdEP0DeviceRequest *req);
- /* Change alternate setting */
- int (*changeSetting) (int interfaceNumber, int alternateSetting);
- /* Configuration set (attach) function */
- int (*attach) (int usb_version);
- /* Configuration unset (detach) function */
- void (*detach) (void);
- /* Configure the device */
- void (*configure) (int usb_version, int desc_count, SceUdcdInterfaceSettings *settings);
- /* Function called when the driver is started */
- int (*start) (int size, void *args);
- /* Function called when the driver is stopped */
- int (*stop) (int size, void *args);
- /* Unk */
- unsigned int unk1;
- unsigned int unk2;
- /* Link to next USB driver in the chain, set to NULL */
- struct SceUdcdDriver *link;
+ const char *driverName; //!< Name of the USB driver
+ int numEndpoints; //!< Number of endpoints in this driver (including default control)
+ SceUdcdEndpoint *endpoints; //!< List of endpoint structures (used when calling other functions)
+ SceUdcdInterface *interface; //!< Interface list
+ SceUdcdDeviceDescriptor *descriptor_hi; //!< Pointer to hi-speed device descriptor
+ SceUdcdConfiguration *configuration_hi; //!< Pointer to hi-speed device configuration
+ SceUdcdDeviceDescriptor *descriptor; //!< Pointer to full-speed device descriptor
+ SceUdcdConfiguration *configuration; //!< Pointer to full-speed device configuration
+ SceUdcdStringDescriptor *stringDescriptorsUnk0; //!< Unknown string descriptors
+ SceUdcdStringDescriptor *stringDescriptorsUnk1; //!< Default String descriptor
+ SceUdcdStringDescriptor *stringDescriptorsUnk2; //!< String descriptors (unknown)
+ int (*processRequest) (int recipient, int arg /* endpoint number or interface number */, SceUdcdEP0DeviceRequest *req); //!< Received a control request
+ int (*changeSetting) (int interfaceNumber, int alternateSetting); //!< Change alternate setting
+ int (*attach) (int usb_version); //!< Configuration set (attach) function
+ void (*detach) (void); //!< Configuration unset (detach) function
+ void (*configure) (int usb_version, int desc_count, SceUdcdInterfaceSettings *settings); //!< Configure the device
+ int (*start) (int size, void *args); //!< Function called when the driver is started
+ int (*stop) (int size, void *args); //!< Function called when the driver is stopped
+ unsigned int unk1; //!< Unknown data
+ unsigned int unk2; //!< Unknown data
+ struct SceUdcdDriver *link; //!< Link to next USB driver in the chain, set to NULL
} SceUdcdDriver;
-/*
- * USB device request
+/** USB device request
*/
typedef struct SceUdcdDeviceRequest {
- /* Pointer to the endpoint to queue request on */
- SceUdcdEndpoint *endpoint;
- /* Pointer to the data buffer to use in the request */
- void *data;
- /* Unknown */
- unsigned int unk;
- /* Size of the data buffer */
- int size;
- /* Is a control request? */
- int isControlRequest;
- /* Pointer to the function to call on completion */
- void (*onComplete)(struct SceUdcdDeviceRequest *req);
- /* Number of transmitted bytes */
- int transmitted;
- /* Return code of the request, 0 == success, -3 == canceled */
- int returnCode;
- /* Link pointer to next request used by the driver, set it to NULL */
- struct SceUdcdDeviceRequest *next;
- /* An unused value (maybe an argument) */
- void *unused;
- /* Physical address */
- void *physicalAddress;
+ 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
+ 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
+ int transmitted; //!< Number of transmitted bytes
+ int returnCode; //!< Return code of the request (See ::SceUdcdRetcode)
+ struct SceUdcdDeviceRequest *next; //!< Link pointer to next request used by the driver, set it to NULL
+ void *unused; //!< An unused value (maybe an argument)
+ void *physicalAddress; //!< Physical address
} SceUdcdDeviceRequest;
-/*
- * USB driver name
+/** USB driver name
*/
typedef struct SceUdcdDriverName {
int size;
char name[32];
int flags;
-} __attribute__ ((aligned(16))) SceUdcdDriverName; /* size 48 */
+} __attribute__ ((aligned(16))) SceUdcdDriverName;
-/*
- * USB device information
+/** USB device information
*/
typedef struct SceUdcdDeviceInfo {
unsigned char info[64];
@@ -444,22 +383,22 @@ typedef struct SceUdcdDeviceInfo {
/**
* Start a USB driver.
*
- * @param driverName - name of the USB driver to start
+ * @param driverName - Name of the USB driver to start
* @param size - Size of arguments to pass to USB driver start
* @param args - Arguments to pass to USB driver start
*
- * @return 0 on success
+ * @return 0 on success, < 0 on error.
*/
int sceUdcdStart(const char *driverName, int size, void *args);
/**
* Stop a USB driver.
*
- * @param driverName - name of the USB driver to stop
+ * @param driverName - Name of the USB driver to stop
* @param size - Size of arguments to pass to USB driver start
* @param args - Arguments to pass to USB driver start
*
- * @return 0 on success
+ * @return 0 on success, < 0 on error.
*/
int sceUdcdStop(const char *driverName, int size, void *args);
@@ -468,21 +407,21 @@ int sceUdcdStop(const char *driverName, int size, void *args);
*
* @param pid - Product ID for the default USB Driver
*
- * @return 0 on success
+ * @return 0 on success, < 0 on error.
*/
int sceUdcdActivate(unsigned int productId);
/**
* Deactivate USB driver.
*
- * @return 0 on success
+ * @return 0 on success, < 0 on error.
*/
int sceUdcdDeactivate(void);
/**
* Get USB state
*
- * @return OR'd SCE_UDCD_STATUS_* constants
+ * @return One or more ::SceUdcdStatus.
*/
int sceUdcdGetDeviceState(void);
@@ -506,7 +445,7 @@ int sceUdcdGetDrvState(const char *driverName);
/**
* Get the list of drivers
- * @param flags - combination of SCE_UDCD_STATUS_DRIVER_STARTED or SCE_UDCD_STATUS_DRIVER_REGISTERED
+ * @param flags - One or more ::SceUdcdStatusDriver
* @param list - points to the output list
* @param size - number of entries in the output list
* @return the number of drivers in the output or < 0 in case of error
@@ -515,7 +454,7 @@ int sceUdcdGetDrvList(unsigned int flags, SceUdcdDriverName *list, int size);
/**
* Wait for USB state
- * @param state - combination of states(returned by sceUdcdGetState)
+ * @param state - combination of states (returned by ::sceUdcdGetDeviceState)
* @param waitMode - one of the ::SceEventFlagWaitTypes
* @param timeout - pointer to timeout
* @return the usb state or < 0 in case of error
@@ -576,7 +515,7 @@ int sceUdcdStall(SceUdcdEndpoint *endp);
/**
* Queue a send request(IN from host pov)
*
- * @param req - Pointer to a filled out SceUdcdDeviceRequest structure.
+ * @param req - Pointer to a filled out ::SceUdcdDeviceRequest structure.
*
* @return 0 on success, < 0 on error
*/
@@ -585,7 +524,7 @@ int sceUdcdReqSend(SceUdcdDeviceRequest *req);
/**
* Queue a receive request(OUT from host pov)
*
- * @param req - Pointer to a filled out SceUdcdDeviceRequest structure
+ * @param req - Pointer to a filled out ::SceUdcdDeviceRequest structure
*
* @return 0 on success, < 0 on error
*/
diff --git a/include/kernel/usbd.h b/include/kernel/usbd.h
index d71468e..facaea0 100644
--- a/include/kernel/usbd.h
+++ b/include/kernel/usbd.h
@@ -7,19 +7,21 @@
extern "C" {
#endif
-#define SCE_USBD_ERROR_ACCESS 0x80240003
-#define SCE_USBD_ERROR_BUSY 0x80240006
-#define SCE_USBD_ERROR_FATAL 0x802400ff
-#define SCE_USBD_ERROR_INTERRUPTED 0x8024000a
-#define SCE_USBD_ERROR_INVALID_ARG 0x80240002
-#define SCE_USBD_ERROR_IO 0x80240001
-#define SCE_USBD_ERROR_NO_DEVICE 0x80240004
-#define SCE_USBD_ERROR_NO_MEM 0x8024000b
-#define SCE_USBD_ERROR_NOT_FOUND 0x80240005
-#define SCE_USBD_ERROR_NOT_SUPPORTED 0x8024000c
-#define SCE_USBD_ERROR_OVERFLOW 0x80240008
-#define SCE_USBD_ERROR_PIPE 0x80240009
-#define SCE_USBD_ERROR_TIMEOUT 0x80240007
+typedef enum SceUsbdErrorCode {
+ SCE_USBD_ERROR_IO = 0x80240001
+ SCE_USBD_ERROR_INVALID_ARG = 0x80240002
+ SCE_USBD_ERROR_ACCESS = 0x80240003
+ SCE_USBD_ERROR_NO_DEVICE = 0x80240004
+ SCE_USBD_ERROR_NOT_FOUND = 0x80240005
+ SCE_USBD_ERROR_BUSY = 0x80240006
+ SCE_USBD_ERROR_TIMEOUT = 0x80240007
+ SCE_USBD_ERROR_OVERFLOW = 0x80240008
+ SCE_USBD_ERROR_PIPE = 0x80240009
+ SCE_USBD_ERROR_INTERRUPTED = 0x8024000a
+ SCE_USBD_ERROR_NO_MEM = 0x8024000b
+ SCE_USBD_ERROR_NOT_SUPPORTED = 0x8024000c
+ SCE_USBD_ERROR_FATAL = 0x802400ff
+} SceUsbdErrorCode;
typedef struct SceUsbdDeviceDescriptor {
unsigned char bLength;
@@ -36,7 +38,7 @@ typedef struct SceUsbdDeviceDescriptor {
unsigned char iProduct;
unsigned char iSerialNumber;
unsigned char bNumConfigurations;
-} SceUsbdDeviceDescriptor; /* size = 20 */
+} SceUsbdDeviceDescriptor;
typedef struct SceUsbdEndpointDescriptor {
unsigned char bLength;
@@ -45,22 +47,21 @@ typedef struct SceUsbdEndpointDescriptor {
unsigned char bmAttributes;
unsigned short wMaxPacketSize;
unsigned char bInterval;
-
- unsigned char *extra; /* Extra descriptors */
+ unsigned char *extra; //!< Extra descriptors
int extraLength;
-} SceUsbdEndpointDescriptor; /* size 16 */
+} SceUsbdEndpointDescriptor;
typedef struct SceUsbdDeviceAddress {
- unsigned int unk0;
+ unsigned int unk0;
unsigned short unk1;
-} SceUsbdDeviceAddress; /* size = 0x6 */
+} SceUsbdDeviceAddress;
typedef struct SceUsbdDriver {
const char *name;
int (*probe)(int device_id);
int (*attach)(int device_id);
int (*detach)(int device_id);
-} SceUsbdDriver; /* size = 0x10 */
+} SceUsbdDriver;
typedef struct SceUsbdControlTransferRequest {
unsigned char bmRequestType;
@@ -68,7 +69,7 @@ typedef struct SceUsbdControlTransferRequest {
unsigned short wValue;
unsigned short wIndex;
unsigned short wLength;
-} SceUsbdControlTransferRequest; /* size = 0x08 */
+} SceUsbdControlTransferRequest;
int sceUsbdRegisterDriver(const SceUsbdDriver *driver);
int sceUsbdRegisterCompositeLdd(const SceUsbdDriver *driver);