#pragma once namespace steam { class networking final { public: virtual bool SendP2PPacket(steam_id steamIDRemote, const void *pubData, unsigned int cubData, int eP2PSendType); virtual bool IsP2PPacketAvailable(unsigned int *pcubMsgSize, int idk); virtual bool ReadP2PPacket(void *pubDest, unsigned int cubDest, unsigned int *pcubMsgSize, steam_id *psteamIDRemote); virtual bool AcceptP2PSessionWithUser(steam_id steamIDRemote); virtual bool CloseP2PSessionWithUser(steam_id steamIDRemote); virtual bool CloseP2PChannelWithUser(steam_id steamIDRemote, int iVirtualPort); virtual bool GetP2PSessionState(steam_id steamIDRemote, void *pConnectionState); virtual bool AllowP2PPacketRelay(bool bAllow); virtual unsigned int CreateListenSocket(int nVirtualP2PPort, unsigned int nIP, unsigned short nPort, bool bAllowUseOfPacketRelay); virtual unsigned int CreateP2PConnectionSocket(steam_id steamIDTarget, int nVirtualPort, int nTimeoutSec, bool bAllowUseOfPacketRelay); virtual unsigned int CreateConnectionSocket(unsigned int nIP, unsigned short nPort, int nTimeoutSec); virtual bool DestroySocket(unsigned int hSocket, bool bNotifyRemoteEnd); virtual bool DestroyListenSocket(unsigned int hSocket, bool bNotifyRemoteEnd); virtual bool SendDataOnSocket(unsigned int hSocket, void *pubData, unsigned int cubData, bool bReliable); virtual bool IsDataAvailableOnSocket(unsigned int hSocket, unsigned int *pcubMsgSize); virtual bool RetrieveDataFromSocket(unsigned int hSocket, void *pubDest, unsigned int cubDest, unsigned int *pcubMsgSize); virtual bool IsDataAvailable(unsigned int hListenSocket, unsigned int *pcubMsgSize, unsigned int *phSocket); virtual bool RetrieveData(unsigned int hListenSocket, void *pubDest, unsigned int cubDest, unsigned int *pcubMsgSize, unsigned int *phSocket); virtual bool GetSocketInfo(unsigned int hSocket, steam_id *pSteamIDRemote, int *peSocketStatus, unsigned int *punIPRemote, unsigned short *punPortRemote); virtual bool GetListenSocketInfo(unsigned int hListenSocket, unsigned int *pnIP, unsigned short *pnPort); virtual int GetSocketConnectionType(unsigned int hSocket); virtual int GetMaxPacketSize(unsigned int hSocket); }; }