dxx-rebirth/main/netpkt.h

35 lines
1.4 KiB
C
Raw Normal View History

2006-03-20 16:43:15 +00:00
#ifndef _NETPKTOR_H
#define _NETPKTOR_H
#include "byteswap.h"
#include "netdrv.h"
#include "network.h"
//Returns a checksum of a block of memory.
extern ushort netmisc_calc_checksum( void * vptr, int len );
2006-03-20 16:43:15 +00:00
ubyte out_buffer[MAX_DATA_SIZE]; // used for tmp netgame packets as well as sending object data
2006-03-20 16:43:15 +00:00
extern frame_info MySyncPack;
void send_d1x_netgame_packet(ubyte *server, ubyte *node);
void receive_d1x_netgame_packet(ubyte *data, netgame_info *netgame);
//end change
void send_sequence_packet(sequence_packet seq, ubyte *server, ubyte *node, ubyte *net_address);
void receive_sequence_packet(ubyte *data, sequence_packet *seq);
void send_netgame_packet(ubyte *server, ubyte *node);
void receive_netgame_packet(ubyte *data, netgame_info *netgame, int d1x);
void swap_object(object *obj);
#ifdef WORDS_BIGENDIAN
void send_frameinfo_packet(frame_info *info, ubyte *server, ubyte *node, ubyte *net_address);
void receive_frameinfo_packet(ubyte *data, frame_info *info);
#else // !WORDS_BIGENDIAN
#define send_frameinfo_packet(info, server, node, net_address) \
netdrv_send_packet_data((ubyte *)info, sizeof(frame_info) - NET_XDATA_SIZE + (info)->data_size, server, node, net_address)
#define receive_frameinfo_packet(data, info) \
do { memcpy((ubyte *)(info), data, sizeof(frame_info) - NET_XDATA_SIZE); \
memcpy((info)->data, &data[sizeof(frame_info) - NET_XDATA_SIZE], (info)->data_size); } while(0)
#endif // WORDS_BIGENDIAN
2006-03-20 16:43:15 +00:00
#endif