/*H********************************************************************************/ /*! \File voipconnection.h \Description VoIP virtual connection manager. \Copyright Copyright (c) Electronic Arts 2004. ALL RIGHTS RESERVED. \Version 1.0 03/17/2004 (jbrookes) First Version \Version 1.1 12/10/2008 (mclouatre) Added ref count to VOIP connections. \Version 1.2 01/06/2009 (mclouatre) Added field RemoteAddrFallbacks to VoipConnectionT structure. Create related functions \Version 1.3 10/26/2009 (mclouatre) Renamed from xbox/voipconnection.h to xenon/voipconnectionxenon.h */ /********************************************************************************H*/ #ifndef _voipconnection_h #define _voipconnection_h /*** Include files ****************************************************************/ #include "voippacket.h" /*** Defines **********************************************************************/ //! maximum number of session IDs per VOIP connection #define VOIP_MAXSESSIONIDS (8) /*** Macros ***********************************************************************/ /*** Type Definitions *************************************************************/ //! voice receive callback typedef void (VoipConnectRecvVoiceCbT)(VoipUserT *pRemoteUsers, int32_t iRemoteUserSize, int32_t iConnId, VoipMicrInfoT *pMicrInfo, uint8_t *pPacketData, void *pUserData); //! transcribed text recv callback typedef void (VoipConnectRecvOpaqueCbT)(int32_t iConnId, const uint8_t *pOpaqueData, int32_t iOpaqueDataSize, void *pUserData); //! transcribed text recv callback typedef void (VoipConnectRecvTextCbT)(int32_t iConnId, int32_t iRemoteUserIndex, const char *pStrUtf8, void *pUserData); //! new remote user register callback typedef void (VoipConnectRegUserCbT)(VoipUserT *pRemoteUser, int32_t iConnId, uint32_t bRegister, void *pUserData); typedef struct SendAddrFallbackT { uint32_t SendAddr; //!< send address uint8_t bReachable; //!< FALSE if voip detected the IP addr as being unreachable } SendAddrFallbackT; //! type used to create linked list of reliable data entries typedef struct LinkedReliableDataT { struct LinkedReliableDataT *pNext; //