#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#define __cdecl
#include "steamworks_sdk_116/steam_api.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
#ifdef __cplusplus
extern "C" {
#endif
#define SDKVER_116
#include "struct_converters.h"
#include "cppISteamMatchmaking_SteamMatchMaking008.h"

struct cppISteamMatchmaking_SteamMatchMaking008
{
#ifdef __cplusplus
    virtual int32_t GetFavoriteGameCount(  ) = 0;
    virtual bool GetFavoriteGame( int32_t, uint32_t *, uint32_t *, uint16_t *, uint16_t *, uint32_t *, uint32_t * ) = 0;
    virtual int32_t AddFavoriteGame( uint32_t, uint32_t, uint16_t, uint16_t, uint32_t, uint32_t ) = 0;
    virtual bool RemoveFavoriteGame( uint32_t, uint32_t, uint16_t, uint16_t, uint32_t ) = 0;
    virtual uint64_t RequestLobbyList(  ) = 0;
    virtual void AddRequestLobbyListStringFilter( const char *, const char *, uint32_t ) = 0;
    virtual void AddRequestLobbyListNumericalFilter( const char *, int32_t, uint32_t ) = 0;
    virtual void AddRequestLobbyListNearValueFilter( const char *, int32_t ) = 0;
    virtual void AddRequestLobbyListFilterSlotsAvailable( int32_t ) = 0;
    virtual void AddRequestLobbyListDistanceFilter( uint32_t ) = 0;
    virtual void AddRequestLobbyListResultCountFilter( int32_t ) = 0;
    virtual CSteamID GetLobbyByIndex( int32_t ) = 0;
    virtual uint64_t CreateLobby( uint32_t, int32_t ) = 0;
    virtual uint64_t JoinLobby( CSteamID ) = 0;
    virtual void LeaveLobby( CSteamID ) = 0;
    virtual bool InviteUserToLobby( CSteamID, CSteamID ) = 0;
    virtual int32_t GetNumLobbyMembers( CSteamID ) = 0;
    virtual CSteamID GetLobbyMemberByIndex( CSteamID, int32_t ) = 0;
    virtual const char * GetLobbyData( CSteamID, const char * ) = 0;
    virtual bool SetLobbyData( CSteamID, const char *, const char * ) = 0;
    virtual int32_t GetLobbyDataCount( CSteamID ) = 0;
    virtual bool GetLobbyDataByIndex( CSteamID, int32_t, char *, int32_t, char *, int32_t ) = 0;
    virtual bool DeleteLobbyData( CSteamID, const char * ) = 0;
    virtual const char * GetLobbyMemberData( CSteamID, CSteamID, const char * ) = 0;
    virtual void SetLobbyMemberData( CSteamID, const char *, const char * ) = 0;
    virtual bool SendLobbyChatMsg( CSteamID, const void *, int32_t ) = 0;
    virtual int32_t GetLobbyChatEntry( CSteamID, int32_t, CSteamID *, void *, int32_t, uint32_t * ) = 0;
    virtual bool RequestLobbyData( CSteamID ) = 0;
    virtual void SetLobbyGameServer( CSteamID, uint32_t, uint16_t, CSteamID ) = 0;
    virtual bool GetLobbyGameServer( CSteamID, uint32_t *, uint16_t *, CSteamID * ) = 0;
    virtual bool SetLobbyMemberLimit( CSteamID, int32_t ) = 0;
    virtual int32_t GetLobbyMemberLimit( CSteamID ) = 0;
    virtual bool SetLobbyType( CSteamID, uint32_t ) = 0;
    virtual bool SetLobbyJoinable( CSteamID, bool ) = 0;
    virtual CSteamID GetLobbyOwner( CSteamID ) = 0;
    virtual bool SetLobbyOwner( CSteamID, CSteamID ) = 0;
#endif /* __cplusplus */
};

void cppISteamMatchmaking_SteamMatchMaking008_GetFavoriteGameCount( struct cppISteamMatchmaking_SteamMatchMaking008_GetFavoriteGameCount_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->GetFavoriteGameCount(  );
}

void cppISteamMatchmaking_SteamMatchMaking008_GetFavoriteGame( struct cppISteamMatchmaking_SteamMatchMaking008_GetFavoriteGame_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->GetFavoriteGame( params->iGame, params->pnAppID, params->pnIP, params->pnConnPort, params->pnQueryPort, params->punFlags, params->pRTime32LastPlayedOnServer );
}

void cppISteamMatchmaking_SteamMatchMaking008_AddFavoriteGame( struct cppISteamMatchmaking_SteamMatchMaking008_AddFavoriteGame_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->AddFavoriteGame( params->nAppID, params->nIP, params->nConnPort, params->nQueryPort, params->unFlags, params->rTime32LastPlayedOnServer );
}

void cppISteamMatchmaking_SteamMatchMaking008_RemoveFavoriteGame( struct cppISteamMatchmaking_SteamMatchMaking008_RemoveFavoriteGame_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->RemoveFavoriteGame( params->nAppID, params->nIP, params->nConnPort, params->nQueryPort, params->unFlags );
}

void cppISteamMatchmaking_SteamMatchMaking008_RequestLobbyList( struct cppISteamMatchmaking_SteamMatchMaking008_RequestLobbyList_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->RequestLobbyList(  );
}

void cppISteamMatchmaking_SteamMatchMaking008_AddRequestLobbyListStringFilter( struct cppISteamMatchmaking_SteamMatchMaking008_AddRequestLobbyListStringFilter_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    iface->AddRequestLobbyListStringFilter( params->pchKeyToMatch, params->pchValueToMatch, params->eComparisonType );
}

void cppISteamMatchmaking_SteamMatchMaking008_AddRequestLobbyListNumericalFilter( struct cppISteamMatchmaking_SteamMatchMaking008_AddRequestLobbyListNumericalFilter_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    iface->AddRequestLobbyListNumericalFilter( params->pchKeyToMatch, params->nValueToMatch, params->eComparisonType );
}

void cppISteamMatchmaking_SteamMatchMaking008_AddRequestLobbyListNearValueFilter( struct cppISteamMatchmaking_SteamMatchMaking008_AddRequestLobbyListNearValueFilter_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    iface->AddRequestLobbyListNearValueFilter( params->pchKeyToMatch, params->nValueToBeCloseTo );
}

void cppISteamMatchmaking_SteamMatchMaking008_AddRequestLobbyListFilterSlotsAvailable( struct cppISteamMatchmaking_SteamMatchMaking008_AddRequestLobbyListFilterSlotsAvailable_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    iface->AddRequestLobbyListFilterSlotsAvailable( params->nSlotsAvailable );
}

void cppISteamMatchmaking_SteamMatchMaking008_AddRequestLobbyListDistanceFilter( struct cppISteamMatchmaking_SteamMatchMaking008_AddRequestLobbyListDistanceFilter_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    iface->AddRequestLobbyListDistanceFilter( params->eLobbyDistanceFilter );
}

void cppISteamMatchmaking_SteamMatchMaking008_AddRequestLobbyListResultCountFilter( struct cppISteamMatchmaking_SteamMatchMaking008_AddRequestLobbyListResultCountFilter_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    iface->AddRequestLobbyListResultCountFilter( params->cMaxResults );
}

void cppISteamMatchmaking_SteamMatchMaking008_GetLobbyByIndex( struct cppISteamMatchmaking_SteamMatchMaking008_GetLobbyByIndex_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    *params->_ret = iface->GetLobbyByIndex( params->iLobby );
}

void cppISteamMatchmaking_SteamMatchMaking008_CreateLobby( struct cppISteamMatchmaking_SteamMatchMaking008_CreateLobby_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->CreateLobby( params->eLobbyType, params->cMaxMembers );
}

void cppISteamMatchmaking_SteamMatchMaking008_JoinLobby( struct cppISteamMatchmaking_SteamMatchMaking008_JoinLobby_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->JoinLobby( params->steamIDLobby );
}

void cppISteamMatchmaking_SteamMatchMaking008_LeaveLobby( struct cppISteamMatchmaking_SteamMatchMaking008_LeaveLobby_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    iface->LeaveLobby( params->steamIDLobby );
}

void cppISteamMatchmaking_SteamMatchMaking008_InviteUserToLobby( struct cppISteamMatchmaking_SteamMatchMaking008_InviteUserToLobby_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->InviteUserToLobby( params->steamIDLobby, params->steamIDInvitee );
}

void cppISteamMatchmaking_SteamMatchMaking008_GetNumLobbyMembers( struct cppISteamMatchmaking_SteamMatchMaking008_GetNumLobbyMembers_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->GetNumLobbyMembers( params->steamIDLobby );
}

void cppISteamMatchmaking_SteamMatchMaking008_GetLobbyMemberByIndex( struct cppISteamMatchmaking_SteamMatchMaking008_GetLobbyMemberByIndex_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    *params->_ret = iface->GetLobbyMemberByIndex( params->steamIDLobby, params->iMember );
}

void cppISteamMatchmaking_SteamMatchMaking008_GetLobbyData( struct cppISteamMatchmaking_SteamMatchMaking008_GetLobbyData_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->GetLobbyData( params->steamIDLobby, params->pchKey );
}

void cppISteamMatchmaking_SteamMatchMaking008_SetLobbyData( struct cppISteamMatchmaking_SteamMatchMaking008_SetLobbyData_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->SetLobbyData( params->steamIDLobby, params->pchKey, params->pchValue );
}

void cppISteamMatchmaking_SteamMatchMaking008_GetLobbyDataCount( struct cppISteamMatchmaking_SteamMatchMaking008_GetLobbyDataCount_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->GetLobbyDataCount( params->steamIDLobby );
}

void cppISteamMatchmaking_SteamMatchMaking008_GetLobbyDataByIndex( struct cppISteamMatchmaking_SteamMatchMaking008_GetLobbyDataByIndex_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->GetLobbyDataByIndex( params->steamIDLobby, params->iLobbyData, params->pchKey, params->cchKeyBufferSize, params->pchValue, params->cchValueBufferSize );
}

void cppISteamMatchmaking_SteamMatchMaking008_DeleteLobbyData( struct cppISteamMatchmaking_SteamMatchMaking008_DeleteLobbyData_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->DeleteLobbyData( params->steamIDLobby, params->pchKey );
}

void cppISteamMatchmaking_SteamMatchMaking008_GetLobbyMemberData( struct cppISteamMatchmaking_SteamMatchMaking008_GetLobbyMemberData_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->GetLobbyMemberData( params->steamIDLobby, params->steamIDUser, params->pchKey );
}

void cppISteamMatchmaking_SteamMatchMaking008_SetLobbyMemberData( struct cppISteamMatchmaking_SteamMatchMaking008_SetLobbyMemberData_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    iface->SetLobbyMemberData( params->steamIDLobby, params->pchKey, params->pchValue );
}

void cppISteamMatchmaking_SteamMatchMaking008_SendLobbyChatMsg( struct cppISteamMatchmaking_SteamMatchMaking008_SendLobbyChatMsg_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->SendLobbyChatMsg( params->steamIDLobby, params->pvMsgBody, params->cubMsgBody );
}

void cppISteamMatchmaking_SteamMatchMaking008_GetLobbyChatEntry( struct cppISteamMatchmaking_SteamMatchMaking008_GetLobbyChatEntry_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->GetLobbyChatEntry( params->steamIDLobby, params->iChatID, params->pSteamIDUser, params->pvData, params->cubData, params->peChatEntryType );
}

void cppISteamMatchmaking_SteamMatchMaking008_RequestLobbyData( struct cppISteamMatchmaking_SteamMatchMaking008_RequestLobbyData_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->RequestLobbyData( params->steamIDLobby );
}

void cppISteamMatchmaking_SteamMatchMaking008_SetLobbyGameServer( struct cppISteamMatchmaking_SteamMatchMaking008_SetLobbyGameServer_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    iface->SetLobbyGameServer( params->steamIDLobby, params->unGameServerIP, params->unGameServerPort, params->steamIDGameServer );
}

void cppISteamMatchmaking_SteamMatchMaking008_GetLobbyGameServer( struct cppISteamMatchmaking_SteamMatchMaking008_GetLobbyGameServer_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->GetLobbyGameServer( params->steamIDLobby, params->punGameServerIP, params->punGameServerPort, params->psteamIDGameServer );
}

void cppISteamMatchmaking_SteamMatchMaking008_SetLobbyMemberLimit( struct cppISteamMatchmaking_SteamMatchMaking008_SetLobbyMemberLimit_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->SetLobbyMemberLimit( params->steamIDLobby, params->cMaxMembers );
}

void cppISteamMatchmaking_SteamMatchMaking008_GetLobbyMemberLimit( struct cppISteamMatchmaking_SteamMatchMaking008_GetLobbyMemberLimit_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->GetLobbyMemberLimit( params->steamIDLobby );
}

void cppISteamMatchmaking_SteamMatchMaking008_SetLobbyType( struct cppISteamMatchmaking_SteamMatchMaking008_SetLobbyType_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->SetLobbyType( params->steamIDLobby, params->eLobbyType );
}

void cppISteamMatchmaking_SteamMatchMaking008_SetLobbyJoinable( struct cppISteamMatchmaking_SteamMatchMaking008_SetLobbyJoinable_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->SetLobbyJoinable( params->steamIDLobby, params->bLobbyJoinable );
}

void cppISteamMatchmaking_SteamMatchMaking008_GetLobbyOwner( struct cppISteamMatchmaking_SteamMatchMaking008_GetLobbyOwner_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    *params->_ret = iface->GetLobbyOwner( params->steamIDLobby );
}

void cppISteamMatchmaking_SteamMatchMaking008_SetLobbyOwner( struct cppISteamMatchmaking_SteamMatchMaking008_SetLobbyOwner_params *params )
{
    struct cppISteamMatchmaking_SteamMatchMaking008 *iface = (struct cppISteamMatchmaking_SteamMatchMaking008 *)params->linux_side;
    params->_ret = iface->SetLobbyOwner( params->steamIDLobby, params->steamIDNewOwner );
}

#ifdef __cplusplus
}
#endif