RetroArch/ps3/sdk_defines.h

423 lines
14 KiB
C

/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2012 - Hans-Kristian Arntzen
* Copyright (C) 2011-2012 - Daniel De Matteis
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _PS3_SDK_DEFINES_H
#define _PS3_SDK_DEFINES_H
/*============================================================
AUDIO PROTOTYPES
============================================================ */
#ifdef __PSL1GHT__
/* define all the audio/audio port functions */
#define pAudioQuit audioQuit
#define pAudioInit audioInit
#define pAudioPortStart audioPortStart
#define pAudioPortOpen audioPortOpen
#define pAudioPortClose audioPortClose
#define pAudioPortStop audioPortStop
#define pAudioPortParam audioPortParam
#define pAudioPortOpen audioPortOpen
#define pAudioAddData audioAddData
/* define all the event queue functions */
#define pSysEventQueueReceive sysEventQueueReceive
#define pAudioSetNotifyEventQueue audioSetNotifyEventQueue
#define pAudioRemoveNotifyEventQueue audioRemoveNotifyEventQueue
#define pAudioCreateNotifyEventQueue audioCreateNotifyEventQueue
/* define all the lightweight mutex functions */
#define pLwMutexDestroy sysLwMutexDestroy
#define pLwMutexLock sysLwMutexLock
#define pLwMutexUnlock sysLwMutexUnlock
#define pLwMutexCreate sysLwMutexCreate
/* define all the lightweight condition functions */
#define pLwCondCreate sysLwCondCreate
#define pLwCondDestroy sysLwCondDestroy
#define pLwCondWait sysLwCondWait
#define pLwCondSignal sysLwCondSignal
#define CELL_AUDIO_BLOCK_SAMPLES AUDIO_BLOCK_SAMPLES
#define SYS_NO_TIMEOUT 0
#define param_attrib attrib
#define sys_lwmutex_attribute_t sys_lwmutex_attr_t
#define sys_lwcond_attribute_t sys_lwcond_attr_t
#else
/* define all the audio/audio port functions */
#define pAudioQuit cellAudioQuit
#define pAudioInit cellAudioInit
#define pAudioPortStart cellAudioPortStart
#define pAudioPortOpen cellAudioPortOpen
#define pAudioPortClose cellAudioPortClose
#define pAudioPortStop cellAudioPortStop
#define pAudioPortParam CellAudioPortParam
#define pAudioAddData cellAudioAddData
/* define all the event queue functions */
#define pSysEventQueueReceive sys_event_queue_receive
#define pAudioSetNotifyEventQueue cellAudioSetNotifyEventQueue
#define pAudioRemoveNotifyEventQueue cellAudioRemoveNotifyEventQueue
#define pAudioCreateNotifyEventQueue cellAudioCreateNotifyEventQueue
/* define all the lightweight mutex functions */
#define pLwMutexDestroy sys_lwmutex_destroy
#define pLwMutexUnlock sys_lwmutex_unlock
#define pLwMutexLock sys_lwmutex_lock
#define pLwMutexCreate sys_lwmutex_create
#define pLwMutexAttributeInitialize sys_lwmutex_attribute_initialize
/* define all the lightweight condition functions */
#define pLwCondCreate sys_lwcond_create
#define pLwCondDestroy sys_lwcond_destroy
#define pLwCondWait sys_lwcond_wait
#define pLwCondSignal sys_lwcond_signal
#define numChannels nChannel
#define numBlocks nBlock
#define param_attrib attr
#endif
/*============================================================
INPUT PAD PROTOTYPES
============================================================ */
#ifdef __PSL1GHT__
/* define all the ps3 pad structs */
#define pPadInfo padInfo2
#define pPadData padData
/* define all the ps3 pad functions */
#define pPadGetInfo ioPadGetInfo2
#define pPadGetData ioPadGetData
#define pPadInit ioPadInit
#define pPadEnd ioPadEnd
#define now_connect connected
#else
/* define all the ps3 pad structs */
/* #if (CELL_SDK_VERSION > 0x340000) */
#define pPadInfo CellPadInfo2
#define pPadGetInfo cellPadGetInfo2
/*
#else
#define pPadInfo CellPadInfo
#define pPadGetInfo cellPadGetInfo
#endif
*/
#define pPadData CellPadData
/* define all the ps3 pad functions */
#define pPadInit cellPadInit
#define pPadEnd cellPadEnd
#define pPadGetData cellPadGetData
#endif
/*============================================================
INPUT MOUSE PROTOTYPES
============================================================ */
#ifdef HAVE_MOUSE
#ifdef __PSL1GHT__
/* define ps3 mouse structs */
#define pMouseInfo mouseInfo
#define pMouseData mouseData
/* define all the ps3 mouse functions */
#define pMouseInit ioMouseInit
#define pMouseGetData ioMouseGetData
#define pMouseEnd ioMouseEnd
#define pMouseGetInfo ioMouseGetInfo
/* PSL1GHT does not define these in its header */
#define CELL_MOUSE_BUTTON_1 (1 << 0) /* Button 1 */
#define CELL_MOUSE_BUTTON_2 (1 << 1) /* Button 2 */
#define CELL_MOUSE_BUTTON_3 (1 << 2) /* Button 3 */
#define CELL_MOUSE_BUTTON_4 (1 << 3) /* Button 4 */
#define CELL_MOUSE_BUTTON_5 (1 << 4) /* Button 5 */
#define CELL_MOUSE_BUTTON_6 (1 << 5) /* Button 6 */
#define CELL_MOUSE_BUTTON_7 (1 << 6) /* Button 7 */
#define CELL_MOUSE_BUTTON_8 (1 << 7) /* Button 8 */
#else
/* define ps3 mouse structs */
#define pMouseInfo CellMouseInfo
#define pMouseData CellMouseData
/* define all the ps3 mouse functions */
#define pMouseInit cellMouseInit
#define pMouseGetData cellMouseGetData
#define pMouseEnd cellMouseEnd
#define pMouseGetInfo cellMouseGetInfo
#endif
#endif
/*============================================================
OSK PROTOTYPES
============================================================ */
#ifdef HAVE_OSKUTIL
#ifdef __PSL1GHT__
/* define all the OSK functions */
#define pOskLoadAsync oskLoadAsync
#define pOskSetLayoutMode oskSetLayoutMode
#define pOskSetKeyLayoutOption oskSetKeyLayoutOption
#define pOskGetSize oskGetSize
#define pOskDisableDimmer oskDisableDimmer
#define pOskAbort oskAbort
#define pOskUnloadAsync oskUnloadAsync
/* define OSK structs / types */
#define sys_memory_container_t sys_mem_container_t
#define CellOskDialogPoint oskPoint
#define CellOskDialogInputFieldInfo oskInputFieldInfo
#define CellOskDialogCallbackReturnParam oskCallbackReturnParam
#define CellOskDialogParam oskParam
#define osk_allowed_panels allowedPanels
#define osk_prohibit_flags prohibitFlags
#define osk_inputfield_message message
#define osk_inputfield_starttext startText
#define osk_inputfield_max_length maxLength
#define osk_callback_return_param res
#define osk_callback_num_chars len
#define osk_callback_return_string str
/* define the OSK defines */
#define CELL_OSKDIALOG_10KEY_PANEL OSK_10KEY_PANEL
#define CELL_OSKDIALOG_FULLKEY_PANEL OSK_FULLKEY_PANEL
#define CELL_OSKDIALOG_LAYOUTMODE_X_ALIGN_CENTER OSK_LAYOUTMODE_HORIZONTAL_ALIGN_CENTER
#define CELL_OSKDIALOG_LAYOUTMODE_Y_ALIGN_TOP OSK_LAYOUTMODE_VERTICAL_ALIGN_TOP
#define CELL_OSKDIALOG_PANELMODE_NUMERAL OSK_PANEL_TYPE_NUMERAL
#define CELL_OSKDIALOG_PANELMODE_NUMERAL_FULL_WIDTH OSK_PANEL_TYPE_NUMERAL_FULL_WIDTH
#define CELL_OSKDIALOG_PANELMODE_ALPHABET OSK_PANEL_TYPE_ALPHABET
#define CELL_OSKDIALOG_PANELMODE_ENGLISH OSK_PANEL_TYPE_ENGLISH
#define CELL_OSKDIALOG_INPUT_FIELD_RESULT_OK (0)
#define CELL_OSKDIALOG_INPUT_FIELD_RESULT_CANCELED (1)
#define CELL_OSKDIALOG_INPUT_FIELD_RESULT_ABORT (2)
#define CELL_OSKDIALOG_INPUT_FIELD_RESULT_NO_INPUT_TEXT (3)
#define CELL_OSKDIALOG_STRING_SIZE (512)
#else
/* define all the OSK functions */
#define pOskLoadAsync cellOskDialogLoadAsync
#define pOskSetLayoutMode cellOskDialogSetLayoutMode
#define pOskSetKeyLayoutOption cellOskDialogSetKeyLayoutOption
#define pOskGetSize cellOskDialogGetSize
#define pOskDisableDimmer cellOskDialogDisableDimmer
#define pOskAbort cellOskDialogAbort
#define pOskUnloadAsync cellOskDialogUnloadAsync
/* define OSK structs / types */
#define osk_allowed_panels allowOskPanelFlg
#define osk_prohibit_flags prohibitFlgs
#define osk_inputfield_message message
#define osk_inputfield_starttext init_text
#define osk_inputfield_max_length limit_length
#define osk_callback_return_param result
#define osk_callback_num_chars numCharsResultString
#define osk_callback_return_string pResultString
#endif
#endif
/*============================================================
JPEG/PNG DECODING/ENCODING PROTOTYPES
============================================================ */
#ifdef __PSL1GHT__
/* define all of the JPEG/PNG structs */
#define pJpgDecMainHandle int
#define pPngDecMainHandle int
#define pJpgDecSubHandle int
#define pPngDecSubHandle int
#define pJpgDecThreadInParam jpgDecThreadInParam
#define pPngDecThreadInParam pngDecThreadInParam
#define pJpgDecThreadOutParam jpgDecThreadOutParam
#define pPngDecThreadOutParam pngDecThreadOutParam
#define pJpgDecSrc jpgDecSource
#define pPngDecSrc pngDecSource
#define pJpgDecOpnInfo uint32_t
#define pPngDecOpnInfo uint32_t
#define pJpgDecInfo jpgDecInfo
#define pPngDecInfo pngDecInfo
#define pJpgDecInParam jpgDecInParam
#define pPngDecInParam pngDecInParam
#define pJpgDecOutParam jpgDecOutParam
#define pPngDecOutParam pngDecOutParam
#define pJpgDecDataOutInfo jpgDecDataInfo
#define pPngDecDataOutInfo pngDecDataInfo
#define pJpgDecDataCtrlParam uint64_t
#define pPngDecDataCtrlParam uint64_t
#define spu_enable enable
#define stream_select stream
#define color_alpha alpha
#define color_space space
#define output_mode mode
#define output_bytes_per_line bytes_per_line
#define output_width width
#define output_height height
/* define all of the JPEG/PNG functions */
#define pJpgDecCreate jpgDecCreate
#define pJpgDecOpen jpgDecOpen
#define pJpgDecReadHeader jpgDecReadHeader
#define pJpgDecSetParameter jpgDecSetParameter
#define pJpgDecDecodeData jpgDecDecodeData
#define pJpgDecClose jpgDecClose
#define pJpgDecDestroy jpgDecDestroy
#define pPngDecCreate pngDecCreate
#define pPngDecOpen pngDecOpen
#define pPngDecReadHeader pngDecReadHeader
#define pPngDecSetParameter pngDecSetParameter
#define pPngDecDecodeData pngDecDecodeData
#define pPngDecClose pngDecClose
#define pPngDecDestroy pngDecDestroy
/* define all of the JPEG/PNG defines */
#define CELL_PNGDEC_SPU_THREAD_ENABLE 1
#define CELL_JPGDEC_SPU_THREAD_ENABLE 1
#define CELL_JPGDEC_FILE JPGDEC_FILE
#define CELL_PNGDEC_FILE PNGDEC_FILE
#define CELL_JPGDEC_SPU_THREAD_ENABLE 1
#define CELL_JPGDEC_FAST JPGDEC_LOW_QUALITY
#define CELL_JPGDEC_TOP_TO_BOTTOM JPGDEC_TOP_TO_BOTTOM
#define CELL_PNGDEC_TOP_TO_BOTTOM PNGDEC_TOP_TO_BOTTOM
#define CELL_JPG_ARGB JPGDEC_ARGB
#define CELL_PNGDEC_ARGB PNGDEC_ARGB
#define CELL_JPGDEC_DEC_STATUS_FINISH 0
#define CELL_PNGDEC_DEC_STATUS_FINISH 0
#define CELL_PNGDEC_1BYTE_PER_1PIXEL 1
#define CELL_PNGDEC_STREAM_ALPHA 1
#define CELL_OK 0
#define PTR_NULL 0
#else
/* define all of the JPEG/PNG structs */
#define pJpgDecMainHandle CellJpgDecMainHandle
#define pPngDecMainHandle CellPngDecMainHandle
#define pJpgDecSubHandle CellJpgDecSubHandle
#define pPngDecSubHandle CellPngDecSubHandle
#define pJpgDecThreadInParam CellJpgDecThreadInParam
#define pPngDecThreadInParam CellPngDecThreadInParam
#define pJpgDecThreadOutParam CellJpgDecThreadOutParam
#define pPngDecThreadOutParam CellPngDecThreadOutParam
#define pJpgDecSrc CellJpgDecSrc
#define pPngDecSrc CellPngDecSrc
#define pJpgDecOpnInfo CellJpgDecOpnInfo
#define pPngDecOpnInfo CellPngDecOpnInfo
#define pJpgDecInfo CellJpgDecInfo
#define pPngDecInfo CellPngDecInfo
#define pJpgDecInParam CellJpgDecInParam
#define pPngDecInParam CellPngDecInParam
#define pJpgDecOutParam CellJpgDecOutParam
#define pPngDecOutParam CellPngDecOutParam
#define pJpgDecDataOutInfo CellJpgDecDataOutInfo
#define pPngDecDataOutInfo CellPngDecDataOutInfo
#define pJpgDecDataCtrlParam CellJpgDecDataCtrlParam
#define pPngDecDataCtrlParam CellPngDecDataCtrlParam
/* define the JPEG/PNG struct member names */
#define spu_enable spuThreadEnable
#define ppu_prio ppuThreadPriority
#define spu_prio spuThreadPriority
#define malloc_func cbCtrlMallocFunc
#define malloc_arg cbCtrlMallocArg
#define free_func cbCtrlFreeFunc
#define free_arg cbCtrlFreeArg
#define stream_select srcSelect
#define file_name fileName
#define file_offset fileOffset
#define file_size fileSize
#define stream_ptr streamPtr
#define stream_size streamSize
#define down_scale downScale
#define color_alpha outputColorAlpha
#define color_space outputColorSpace
#define cmd_ptr commandPtr
#define quality method
#define output_mode outputMode
#define output_bytes_per_line outputBytesPerLine
#define output_width outputWidth
#define output_height outputHeight
#define bit_depth outputBitDepth
#define pack_flag outputPackFlag
#define alpha_select outputAlphaSelect
/* define all the JPEG/PNG functions */
#define pJpgDecCreate cellJpgDecCreate
#define pJpgDecOpen cellJpgDecOpen
#define pJpgDecReadHeader cellJpgDecReadHeader
#define pJpgDecSetParameter cellJpgDecSetParameter
#define pJpgDecDecodeData cellJpgDecDecodeData
#define pJpgDecClose cellJpgDecClose
#define pJpgDecDestroy cellJpgDecDestroy
#define pPngDecCreate cellPngDecCreate
#define pPngDecOpen cellPngDecOpen
#define pPngDecReadHeader cellPngDecReadHeader
#define pPngDecSetParameter cellPngDecSetParameter
#define pPngDecDecodeData cellPngDecDecodeData
#define pPngDecClose cellPngDecClose
#define pPngDecDestroy cellPngDecDestroy
#define PTR_NULL NULL
#endif
/*============================================================
THREADING PROTOTYPES
============================================================ */
#ifdef __PSL1GHT__
/* define all the thread functions */
#define pThreadCreate sysThreadCreate
#define pThreadJoin sysThreadJoin
#define pThreadExit sysThreadExit
#define SYS_PPU_THREAD_CREATE_JOINABLE 0 /* FIXME - not sure if this is correct */
#else
/* define all the thread functions */
#define pThreadCreate sys_ppu_thread_create
#define pThreadJoin sys_ppu_thread_join
#define pThreadExit sys_ppu_thread_exit
#endif
/*============================================================
MEMORY PROTOTYPES
============================================================ */
#ifdef __PSL1GHT__
#define pSysMemContainerCreate sysMemContainerCreate
#define pSysMemContainerDestroy sysMemContainerDestroy
#else
#define pSysMemContainerCreate sys_memory_container_create
#define pSysMemContainerDestroy sys_memory_container_destroy
#endif
#endif