reman3/Rayman_X/cpa/tempgrp/NET/NetL2Pri.h

253 lines
12 KiB
C

/*
NetL2Pri.h : level 2 private declarations
*/
#if !defined(__NETL2PRI_TYPES__)
#define __NETL2PRI_TYPES__
#if !defined(ONLY_TYPES)
#define NETL2PRI_UNDEF
#define ONLY_TYPES
#endif /* !ONLY_TYPES */
/*
//////////////////////////////////////////////////////////////////////
INCLUDE FILES
//////////////////////////////////////////////////////////////////////
*/
#include <NET\macros.h>
#include "PrivNetDef.h"
#include "PrivNetSer.h"
#if defined(NETL2PRI_UNDEF)
#undef ONLY_TYPES
#undef NETL2PRI_UNDEF
#endif /* !NETL2PRI_UNDEF */
/*
//////////////////////////////////////////////////////////////////////
DEFINITION OF TYPES :
//////////////////////////////////////////////////////////////////////
*/
/* Describe the listening mode */
M_BeginDeclareEnumerate(tdeNetListeningMode)
E_Net_LisMod_OFF,
E_Net_LisMod_ON,
E_Net_LisMod_INVALID
M_EndDeclareEnumerate(tdeNetListeningMode, unsigned char)
/* Describe the status of a player currently asking to join the session */
M_BeginDeclareEnumerate(tdeNetConnectReceptionStatus)
E_Net_ConRecSta_NONE,
E_Net_ConRecSta_DOING,
E_Net_ConRecSta_DONE
M_EndDeclareEnumerate(tdeNetConnectReceptionStatus, unsigned char)
/* Describe the status of a player to which a connection request is done or todo*/
M_BeginDeclareEnumerate(tdeNetConnectRequestStatus)
E_Net_ConReqSta_Invalid,
E_Net_ConReqSta_Todo,
E_Net_ConReqSta_Done,
E_Net_ConReqSta_Listened,
E_Net_ConReqSta_Refused,
E_Net_ConReqSta_SessionChanged,
E_Net_ConReqSta_WaitBusy
M_EndDeclareEnumerate(tdeNetConnectRequestStatus, unsigned char)
typedef struct tdstNetGetActiveLoopDesc_
{
unsigned short *m_p_uwNumberOfSessionWaited;
NetLib_tdstSessionInfo **m_pd_stSessionInfoFound;
}tdstNetGetActiveLoopDesc;
typedef struct tdstNetConnectLoopDesc_
{
unsigned short m_uwOldIndexValue;
unsigned long m_ulPrevTimeInfo;
unsigned long m_ulFreq;
}tdstNetConnectLoopDesc;
typedef struct tdstNetDescriptionMsgDesc_
{
NetLib_tduxPlayerId m_ulPlayerId;
tdpPointer m_pBuffer;
NetLib_tduxDescriptionLength m_uxBufferLength;
tdeNetMessageType m_eMessage;
}tdstNetDescriptionMsgDesc;
typedef int (_NET_CALLING_CONV_ *tdfn_vNetEngineFunc)(void);
/* internal structure for handling read-receipt event*/
typedef struct tdstNetInternalReadReceiptDesc_
{
tdstNetMessage *m_p_stMessage;/* pointer to a message*/
NetLib_tdulTimeInfo m_ulPreviousSending;
NetLib_tdulTimeInfo m_ulFirstSending;
NetLib_tdstReadReceiptDesc m_stReadReceiptDesc;
}tdstNetInternalReadReceiptDesc;
#endif /* !__NETL2PRI_TYPES__ */
#if !defined(ONLY_TYPES)
#if !defined(__NETL2PRI_VARS__)
#define __NETL2PRI_VARS__
#undef EXTERN
#undef extern
#if !defined(GLOBALS)
#define EXTERN extern
#else /* !GLOBALS */
#define EXTERN
#endif /* !GLOBALS */
#undef extern
#endif /* !__NETL2PRI_VARS__ */
#if !defined (__NETL2PRI_PROTOS__)
#define __NETL2PRI_PROTOS__
/*
//////////////////////////////////////////////////////////////////////
DEFINITION OF MACROS :
//////////////////////////////////////////////////////////////////////
*/
#define M_vNetFreeIOSystemCell(p_stIOSystCell) \
if (p_stIOSystCell) \
{ \
if ((p_stIOSystCell)->p_stMessage) \
vFree((tdpPointer)((p_stIOSystCell)->p_stMessage)); \
vFree((tdpPointer)p_stIOSystCell); \
p_stIOSystCell = (tdstNetIOSystemCell*) C_pNull; \
}
#define M_vNetAddMessageMapEntry(p_fn_MessageMap,eSysMsg,fn_SysMsgHandle) \
p_fn_MessageMap[eSysMsg] = fn_SysMsgHandle;
/*
//////////////////////////////////////////////////////////////////////
DEFINITION OF FUNCTIONS :
//////////////////////////////////////////////////////////////////////
*/
#ifndef _NO_USE_DEFAULT_NET_FUNCTIONS_
/* Default functions :*/
unsigned long _NET_CALLING_CONV_ fn_ulDefaultNetRandom(void);
NetLib_tdulTimeInfo _NET_CALLING_CONV_ fn_ulDefaultNetGetTimeInfo(void);
#endif
NetLib_tduxPlayerId ulNetGetNewPlayerId();
/* Handler of System messages :*/
NetLib_tdeErrorStatus eNetBuildMessageMap(void);
NetLib_tdeErrorStatus eNetClearMessageMap(void);
NetLib_tdeErrorStatus eNetBuildMessageSwapLittleBigEndianMap(void);
NetLib_tdeErrorStatus eNetClearMessageSwapLittleBigEndianMap(void);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgUnknownSender(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgUnknownRecipient(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgFullBuffer(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgPlayerDescriptorChanged(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eSwapLittleBigEndianSysMsgPlayerDescriptorChanged(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgRequestSessionReply(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eSwapLittleBigEndianSysMsgRequestSessionReply(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgRequestSession(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgConnectRequest(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgConnectCancel(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgConnectAcknowledgement(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgConnectAgreement(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eSwapLittleBigEndianSysMsgConnectAgreement(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgConnectDeny(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eSwapLittleBigEndianSysMsgConnectDeny(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgSessionDescriptorChanged(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgWaitFollow(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgWaitBusy(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgDisconnection(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgConnectListened(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgTimeDeltaRequest(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eSwapLittleBigEndianSysMsgTimeDeltaRequest(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgTimeDeltaReply(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgDisconnectRemotePlayer(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eSwapLittleBigEndianSysMsgDisconnectRemotePlayer(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgReadReceipt(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eSwapLittleBigEndianSysMsgReadReceipt(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgMaxNbrOfPlayers(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eSwapLittleBigEndianSysMsgMaxNbrOfPlayers(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
/* NetEngine functions :*/
NetLib_tdeErrorStatus eNetBuildEngineFunctionsList(void);
NetLib_tdeErrorStatus eNetAddEngineFunction(tdfn_vNetEngineFunc);
NetLib_tdeErrorStatus eNetRemoveEngineFunction(tdfn_vNetEngineFunc);
NetLib_tdeErrorStatus eNetEmptyEngineFunctionList(void);
int _NET_CALLING_CONV_ iNetEngineSysMsg(void);
int _NET_CALLING_CONV_ iNetEngineGetActiveSession(void);
int _NET_CALLING_CONV_ iNetEngineInternetSimulation(void);
int _NET_CALLING_CONV_ iNetEngineReadReceipt(void);
/* Setting parameters :*/
void vNetSetOwnPlayerId(NetLib_tduxPlayerId);
void vNetSetSessionId(NetLib_tduxSessionId);
/* Others functions :*/
NetLib_tdeErrorStatus eNetSendReadReceiptMessage(tdstNetMessage *);
NetLib_tdeErrorStatus eNetSendReadReceiptSysMessage(tdstNetIOSystemCell *);
void vNetClearSessionInfo(NetLib_tdstSessionInfo *);
NetLib_tdeErrorStatus eNetCheckTimeOutOfPlayerConnected(unsigned char);
NetLib_tdeErrorStatus eNetCancelConnection(void);
NetLib_tdeErrorStatus eNetSendAcknowledgementMessage(void);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eNetIsMessageType(tdstNetMessage *,void *);
NetLib_tdeErrorStatus NetLib_eCopystPlayerInfo(NetLib_tdstPlayerInfo*,NetLib_tdstPlayerInfo*);
unsigned long ulTimeInfoToLagUnits(NetLib_tdulTimeInfo,unsigned long);
NetLib_tdulTimeInfo ulLagUnitsToTimeInfo(unsigned long,unsigned long);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eNetDenyPlayerAccess(NetLib_tdstPlayerInfo*,long*);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eNetBuildAndAddReadReceipt(NetLib_tduxPlayerId,long);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eNetReadCompleted(long);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eNetSendCompleted(long);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eNetListenCompleted(long);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eNetFlushCompleted(long);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eNetGetActiveSessionsCompleted(long);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eNetConnectionCompleted(long);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eNetListeningCompleted(long);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eNetDisconnectPlayer(NetLib_tduxPlayerId,long);
NetLib_tdeErrorStatus eNetInternalChangeMaxNbrOfPlayers(unsigned short);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eNetInternalSendMessage(NetLib_tdstSendDesc *,tdeNetMessageType);
unsigned short _NET_CALLING_CONV_ uwNetGetPlayerIndex(NetLib_tduxPlayerId);
NetLib_tdstPlayerInfo * _NET_CALLING_CONV_ pstNetGetPlayerSlot(NetLib_tduxPlayerId);
NetLib_tdstPlayerInfo * _NET_CALLING_CONV_ pstNetGetOwnPlayerSlot(void);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eNetRemoveRemotePlayer(NetLib_tduxPlayerId);
NetLib_tdeErrorStatus eInternetSimuSendMessage(NetLib_tduxPlayerId,tdstNetMessage*);
NetLib_tdeErrorStatus eNetManageInternetDelay(void);
NetLib_tdeErrorStatus eNetBuildInternalReadReceiptDesc(tdstNetInternalReadReceiptDesc*,tdstNetMessage*,NetLib_tdstReadReceiptDesc*);
NetLib_tdeErrorStatus eNetEraseInternalReadReceiptDesc(tdstNetInternalReadReceiptDesc*);
NetLib_tdeErrorStatus eNetSendTCPAddress(void);
NetLib_tdeErrorStatus eNetSendTCPIsMe(tduwNetChannel uwChannel,char First);
NetLib_tdeErrorStatus eNetSendTCPSupRoute(NetLib_tduxPlayerId IdSource,NetLib_tduxPlayerId IdDest);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgTCPAddress(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgTCPIsMe(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
NetLib_tdeErrorStatus _NET_CALLING_CONV_ eHandleNetSysMsgTCPSupRoute(tdstNetMessage *pstMes,tdeNetProtocol eProt,tduwNetChannel uwChannel);
int _NET_CALLING_CONV_ iNetEngineTCPReconect(void);
#endif /* !__NETL2PRI_PROTOS__ */
#endif /* !ONLY_TYPES */