#pragma once // Error codes enum { CELL_AUDIO_IN_ERROR_NOT_IMPLEMENTED = 0x8002b260, CELL_AUDIO_IN_ERROR_ILLEGAL_CONFIGURATION = 0x8002b261, CELL_AUDIO_IN_ERROR_ILLEGAL_PARAMETER = 0x8002b262, CELL_AUDIO_IN_ERROR_PARAMETER_OUT_OF_RANGE = 0x8002b263, CELL_AUDIO_IN_ERROR_DEVICE_NOT_FOUND = 0x8002b264, CELL_AUDIO_IN_ERROR_UNSUPPORTED_AUDIO_IN = 0x8002b265, CELL_AUDIO_IN_ERROR_UNSUPPORTED_SOUND_MODE = 0x8002b266, CELL_AUDIO_IN_ERROR_CONDITION_BUSY = 0x8002b267, }; enum { CELL_AUDIO_IN_SINGLE_DEVICE_MODE = 0, CELL_AUDIO_IN_MULTI_DEVICE_MODE = 1, CELL_AUDIO_IN_MULTI_DEVICE_MODE_2 = 2, }; enum CellAudioInPortType { CELL_AUDIO_IN_PORT_USB = 3, CELL_AUDIO_IN_PORT_BLUETOOTH = 4, }; enum CellAudioInDeviceState { CELL_AUDIO_IN_DEVICE_STATE_UNAVAILABLE = 0, CELL_AUDIO_IN_DEVICE_STATE_AVAILABLE = 1, }; enum CellAudioInCodingType { CELL_AUDIO_IN_CODING_TYPE_LPCM = 0, }; enum CellAudioInChnum { CELL_AUDIO_IN_CHNUM_NONE = 0, CELL_AUDIO_IN_CHNUM_1 = 1, CELL_AUDIO_IN_CHNUM_2 = 2, }; enum CellAudioInFs { CELL_AUDIO_IN_FS_UNDEFINED = 0x00, CELL_AUDIO_IN_FS_8KHZ = 0x01, CELL_AUDIO_IN_FS_12KHZ = 0x02, CELL_AUDIO_IN_FS_16KHZ = 0x04, CELL_AUDIO_IN_FS_24KHZ = 0x08, CELL_AUDIO_IN_FS_32KHZ = 0x10, CELL_AUDIO_IN_FS_48KHZ = 0x20, }; struct CellAudioInSoundMode { u8 type; u8 channel; be_t fs; u8 reserved[4]; }; struct CellAudioInDeviceInfo { u8 portType; u8 availableModeCount; u8 state; u8 deviceNumber; u8 reserved[12]; be_t deviceId; be_t type; char name[64]; CellAudioInSoundMode availableModes[16]; }; struct CellAudioInRegistrationOption { //(Omitted) }; struct CellAudioInDeviceConfiguration { u8 volume; u8 reserved[31]; };