Kawe Mazidjatari b3a68ed095 Add EABase, EAThread and DirtySDK to R5sdk
DirtySDK (EA's Dirty Sockets library) will be used for the LiveAPI implementation, and depends on: EABase, EAThread.
2024-04-05 18:29:03 +02:00

76 lines
2.6 KiB
C

/*H********************************************************************************/
/*!
\File voippriv.h
\Description
Header for private VoIP functions.
\Copyright
Copyright (c) Electronic Arts 2004. ALL RIGHTS RESERVED.
\Version 1.0 03/17/2004 (jbrookes) First Version
\Version 1.1 11/18/2008 (mclouatre) Adding user data concept to mem group support
*/
/********************************************************************************H*/
#ifndef _voippriv_h
#define _voippriv_h
/*** Include files ****************************************************************/
#include "DirtySDK/dirtysock/netconn.h"
/*** Defines **********************************************************************/
#define VOIPUSER_FLAG_CROSSPLAY (1<<0) //!< is this voip user running in crossplay mode?
// enumerate supported platforms
// always add new platforms at the end and never recycle values
typedef enum VoipPlatformTypeE
{
VOIP_PLATFORM_LINUX = 1, // linux is a stub for the stress client
VOIP_PLATFORM_PC = 2,
VOIP_PLATFORM_PS4 = 3,
VOIP_PLATFORM_XBOXONE = 4
} VoipPlatformTypeE;
// used to identify our local platform
#if defined(DIRTYCODE_LINUX)
#define VOIP_LOCAL_PLATFORM VOIP_PLATFORM_LINUX
#elif defined(DIRTYCODE_PC)
#define VOIP_LOCAL_PLATFORM VOIP_PLATFORM_PC
#elif defined(DIRTYCODE_PS4)
#define VOIP_LOCAL_PLATFORM VOIP_PLATFORM_PS4
#elif defined(DIRTYCODE_XBOXONE) || defined(DIRTYCODE_GDK) // $$todo$$ should we treat xbsx as a separate platform?
#define VOIP_LOCAL_PLATFORM VOIP_PLATFORM_XBOXONE
#endif
/*** Macros ***********************************************************************/
//! copy VoipUserTs
#define VOIP_CopyUser(_pUser1, _pUser2) (ds_memcpy_s(_pUser1, sizeof(*_pUser1), _pUser2, sizeof(*_pUser2)))
//! clear VoipUserT
#define VOIP_ClearUser(_pUser1) (ds_memclr(_pUser1, sizeof(*_pUser1)))
//! return if VoipUserT is NULL or not
#define VOIP_NullUser(_pUser1) ((_pUser1)->AccountInfo.iPersonaId == 0)
//! compare VoipUserTs
#define VOIP_SameUser(_pUser1, _pUser2) ((_pUser1)->AccountInfo.iPersonaId == (_pUser2)->AccountInfo.iPersonaId)
/*** Type Definitions *************************************************************/
typedef struct VoipUserT
{
NetConnAccountInfoT AccountInfo; //!< account info
uint32_t uFlags; //!< a bit field contaning VOIPUSER_FLAG_*
VoipPlatformTypeE ePlatform; //!< what platform is this user running on
} VoipUserT;
/*** Variables ********************************************************************/
/*** Functions ********************************************************************/
#endif // _voippriv_h