mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
DirtySDK (EA's Dirty Sockets library) will be used for the LiveAPI implementation, and depends on: EABase, EAThread.
98 lines
2.7 KiB
C
98 lines
2.7 KiB
C
/*H********************************************************************************/
|
|
/*!
|
|
\File dirtyerr.h
|
|
|
|
\Description
|
|
Dirtysock debug error routines.
|
|
|
|
\Copyright
|
|
Copyright (c) 2005 Electronic Arts
|
|
|
|
\Version 06/13/2005 (jbrookes) First Version
|
|
*/
|
|
/********************************************************************************H*/
|
|
|
|
#ifndef _dirtyerr_h
|
|
#define _dirtyerr_h
|
|
|
|
/*!
|
|
\Moduledef DirtyErr DirtyErr
|
|
\Modulemember DirtySock
|
|
*/
|
|
//@{
|
|
|
|
/*** Include files ****************************************************************/
|
|
|
|
#include "DirtySDK/platform.h"
|
|
|
|
/*** Defines **********************************************************************/
|
|
|
|
#define DIRTYSOCK_ERRORNAMES (DIRTYCODE_LOGGING && TRUE)
|
|
#define DIRTYSOCK_LISTTERM (0x45454545)
|
|
|
|
/*** Macros ***********************************************************************/
|
|
|
|
#if DIRTYSOCK_ERRORNAMES
|
|
#define DIRTYSOCK_ErrorName(_iError) { (uint32_t)_iError, #_iError }
|
|
#define DIRTYSOCK_ListEnd() { DIRTYSOCK_LISTTERM, "" }
|
|
#endif
|
|
|
|
/*** Type Definitions *************************************************************/
|
|
|
|
typedef struct DirtyErrT
|
|
{
|
|
uint32_t uError;
|
|
const char *pErrorName;
|
|
} DirtyErrT;
|
|
|
|
#ifdef DIRTYCODE_PS4
|
|
|
|
typedef void (*DirtySockAppErrorCallback)(int32_t errorCode);
|
|
|
|
#endif
|
|
|
|
/*** Variables ********************************************************************/
|
|
|
|
/*** Functions ********************************************************************/
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifdef DIRTYCODE_PS4
|
|
|
|
//set Application Error Callback
|
|
void DirtyErrAppCallbackSet(DirtySockAppErrorCallback pCallback);
|
|
|
|
//Inovke App Error Callback if set to report sony error code back to application layer
|
|
void DirtyErrAppReport(int32_t iError);
|
|
|
|
#endif
|
|
|
|
// take a system-specific error code, and either resolve it to its define name or format it as a hex number
|
|
DIRTYCODE_API void DirtyErrName(char *pBuffer, int32_t iBufSize, uint32_t uError);
|
|
|
|
// same as DirtyErrName, but references the specified list
|
|
DIRTYCODE_API void DirtyErrNameList(char *pBuffer, int32_t iBufSize, uint32_t uError, const DirtyErrT *pList);
|
|
|
|
// same as DirtyErrName, except a pointer is returned
|
|
DIRTYCODE_API const char *DirtyErrGetName(uint32_t uError);
|
|
|
|
// same as DirtyErrGetName, but references the specified list
|
|
DIRTYCODE_API const char *DirtyErrGetNameList(uint32_t uError, const DirtyErrT *pList);
|
|
|
|
// create a unique error code for use accross DirtySDK
|
|
DIRTYCODE_API uint32_t DirtyErrGetHResult(uint16_t uFacility, int16_t iCode, uint8_t bFailure);
|
|
|
|
// break a hresult back into its components
|
|
DIRTYCODE_API void DirtyErrDecodeHResult(uint32_t hResult, uint16_t* uFacility, int16_t* iCode, uint8_t* bCustomer, uint8_t* bFailure);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
//@}
|
|
|
|
#endif // _dirtyerr_h
|
|
|