aboutsummaryrefslogtreecommitdiff
path: root/src/parsec/include/net_glob.h
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2026-08-24 11:16:07 +0200
committerFelix Morgner <felix.morgner@gmail.com>2026-08-24 11:16:07 +0200
commitc068f22329d5cc722622a2183bbb22eef2093df7 (patch)
tree12d56c1aede67988a55e241364606bfbb4dba933 /src/parsec/include/net_glob.h
downloadopenparsec-c068f22329d5cc722622a2183bbb22eef2093df7.tar.xz
openparsec-c068f22329d5cc722622a2183bbb22eef2093df7.zip
initial importHEADmain
Diffstat (limited to 'src/parsec/include/net_glob.h')
-rw-r--r--src/parsec/include/net_glob.h144
1 files changed, 144 insertions, 0 deletions
diff --git a/src/parsec/include/net_glob.h b/src/parsec/include/net_glob.h
new file mode 100644
index 0000000..c21e259
--- /dev/null
+++ b/src/parsec/include/net_glob.h
@@ -0,0 +1,144 @@
+/*
+ * PARSEC HEADER: net_glob.h
+ */
+
+#ifndef _NET_GLOB_H_
+#define _NET_GLOB_H_
+
+
+// ----------------------------------------------------------------------------
+// NETWORKING SUBSYSTEM (NET) related global declarations and definitions -
+// ----------------------------------------------------------------------------
+
+
+// forward declarations -------------------------------------------------------
+//
+struct node_t;
+struct RE_Header;
+struct RE_KillStats;
+struct NetPacket;
+struct NetPacketExternal;
+struct ShipRemInfo;
+class NET_Stream;
+
+
+extern int LocalPlayerId;
+extern char LocalPlayerName[];
+
+extern int NetAvailable;
+extern int NetworkGameMask;
+extern int NetConnected;
+extern int NetJoined;
+extern int EntryMode;
+extern int ShipDowned;
+extern int Packet_Send_Frametime;
+extern int Packet_Send_Frequency;
+extern int Packet_Recv_Rate;
+extern int HaveFullPlayerState; // indicates whether we have received a full playerstate from the server
+
+extern refframe_t ServerTimeoutFrames; // # of refframes the server times out
+
+extern int NetInterfaceSelect;
+
+extern char* CurServerToResolve;
+extern int CurServerID;
+extern char* CurServerName;
+extern int CurServerPing;
+extern node_t* CurJumpServerNode;
+extern int CurMaxPlayers;
+extern int CurMaxDataLength;
+extern int CurKillUpdate;
+extern int CurKiller;
+extern int MyUniverse;
+extern int NumRemPlayers;
+extern int CurSendMessageId_PEER;
+extern int CurGameTime;
+extern int ServerPingTime;
+
+extern int RE_List_Avail;
+extern char* RE_List_CurPos;
+
+extern int Player_Status[];
+extern GenObject* Player_Ship[];
+extern int Player_ShipId[];
+extern int Player_AliveCounter[];
+extern int Player_UpToDate[];
+extern int Player_KillStat[];
+extern int Player_LastMsgId[];
+extern int Player_LastUpdateGameStateMsgId[];
+extern char Player_Name[][ MAX_PLAYER_NAME + 1 ];
+
+extern char* Masters[];
+
+
+// NETWORKING subsystem jump table for dynamic function binding ---------------
+//
+struct net_subsys_jtab_s {
+
+ // PROTOCOL API
+
+ int (* Connect ) ();
+ int (* Disconnect ) ();
+ int (* Join ) ();
+ int (* Unjoin ) ( byte flag );
+
+ int (* UpdateName ) ();
+
+ void (* MaintainNet ) ();
+
+ // PROTOCOL API - GAME
+
+ size_t (* RmEvList_GetMaxSize) ();
+ void (* UpdateKillStats) ( RE_KillStats* killstats );
+
+ // PROTOCOL API - PACKET HANDLING
+
+ size_t (* HandleOutPacket) ( const NetPacket* int_gamepacket, NetPacketExternal* ext_gamepacket );
+ size_t (* HandleOutPacket_DEMO ) ( const NetPacket* int_gamepacket, NetPacketExternal* ext_gamepacket );
+ int (* HandleInPacket) ( const NetPacketExternal* ext_gamepacket, const int ext_pktsize, NetPacket* int_gamepacket );
+ int (* HandleInPacket_DEMO ) ( const NetPacketExternal* ext_gamepacket, NetPacket* int_gamepacket, size_t* psize_external );
+ void (* StdGameHeader) ( byte command, NetPacket* gampacket );
+ size_t (* NetPacketExternal_DEMO_GetSize ) ( const NetPacketExternal* ext_gamepacket );
+ void (* WritePacketInfo ) ( FILE *fp, NetPacketExternal* ext_gamepacket );
+
+ // PACKET API
+
+ int (* CompareNodes )( node_t *node1, node_t *node2 );
+ int (* VirtualNode )( node_t *node );
+ void (* SetVirtualAddress )( node_t *node );
+ void (* SetBroadcastAddress )( node_t *node );
+
+ void (* ResolveNode )( node_t* node_dst, node_t* node_src );
+ void (* MakeNodeRaw )( node_t* node_dst, node_t* node_src );
+ node_t* (* GetSender )( int bufid );
+ void (* ResolveSender )( node_t *node, int bufid );
+
+ void (* PrintNode )( node_t *node );
+
+ void (* ProcessPacketChain ) ( void (*procfunc)( NetPacket* gamepacket, int bufid ) );
+ void (* FlushListenBuffers )();
+ int (* InsertVirtualPacket )( NetPacket* gamepacket );
+ int (* DeterminePacketLoss )( char **info, int *isiz, int incoming );
+
+ int (* SleepUntilInput) ( int timeout_msec );
+
+ void (* SendPacket ) ( NetPacket *gamepacket, node_t *node );
+ void (* AuxSendPacket ) ( NetPacket *gamepacket, node_t *node );
+
+ int (* ResetAPI )();
+ int (* InitAPI )();
+ int (* KillAPI )();
+
+};
+
+// exported by NET_GLOB.C -----------------------------------------------------
+//
+extern net_subsys_jtab_s net_subsys_jtab;
+
+// exported by NET_UDP.C ------------------------------------------------------
+//
+extern NET_Stream ServerStream;
+
+#endif // _NET_GLOB_H_
+
+