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

77 lines
2.3 KiB
C

/*H********************************************************************************/
/*!
\File qosclient.h
\Description
Main include for the Quality of Service module.
\Copyright
Copyright (c) 2017 Electronic Arts Inc.
\Version 1.0 04/07/2017 (cvienneau) 2.0
*/
/********************************************************************************H*/
#ifndef _qosclient_h
#define _qosclient_h
/*!
\Moduledef QosClient QosClient
\Modulemember Misc
*/
//@{
/*** Include files ****************************************************************/
#include "DirtySDK/platform.h"
#include "DirtySDK/misc/qoscommon.h"
/*** Defines **********************************************************************/
/*** Macros ***********************************************************************/
/*** Forward Declarations *********************************************************/
/*** Type Definitions *************************************************************/
//! opaque module ref
typedef struct QosClientRefT QosClientRefT;
//! event callback function prototype
typedef void (QosClientCallbackT)(QosClientRefT *pQosClient, QosCommonProcessedResultsT *pResults, void *pUserData);
/*** Variables ********************************************************************/
/*** Functions ********************************************************************/
#ifdef __cplusplus
extern "C" {
#endif
// create the module state
DIRTYCODE_API QosClientRefT *QosClientCreate(QosClientCallbackT *pCallback, void *pUserData, uint16_t uListenPort);
// let the module do processing
DIRTYCODE_API void QosClientUpdate(QosClientRefT *pQosClient);
// begin QOS process managed by the QOS coordinator
DIRTYCODE_API void QosClientStart(QosClientRefT *pQosClient, const char *pStrCoordinatorAddr, uint16_t uPort, const char * strQosProfile);
// change the behavior of the QOS system
DIRTYCODE_API int32_t QosClientControl(QosClientRefT *pQosClient, int32_t iControl, int32_t iValue, void *pValue);
// get the status, of the QOS system
DIRTYCODE_API int32_t QosClientStatus(QosClientRefT *pQosClient, int32_t iSelect, int32_t iData, void *pBuf, int32_t iBufSize);
// destroy the module state
DIRTYCODE_API void QosClientDestroy(QosClientRefT *pQosClient);
#ifdef __cplusplus
}
#endif
//@}
#endif // _filename_h