This commit was generated by cvs2svn to compensate for changes in r2,
[btb/d2x.git] / main / netmisc.h
1 /*
2 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
3 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
4 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
5 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
6 IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
7 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
8 FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
9 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
10 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.  
11 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
12 */
13
14
15
16 #ifndef _NETMISC_H
17 #define _NETMISC_H
18
19 #include "multi.h"
20 #include "network.h"
21
22 //Returns a checksum of a block of memory.
23 extern ushort netmisc_calc_checksum( void * vptr, int len );
24
25 //Finds the difference between block1 and block2.  Fills in diff_buffer and returns the size of diff_buffer.
26 extern int netmisc_find_diff( void *block1, void *block2, int block_size, void *diff_buffer );
27
28 //Applies diff_buffer to block1 to create a new block1.  Returns the final size of block1.
29 extern int netmisc_apply_diff(void *block1, void *diff_buffer, int diff_size );
30
31 #ifdef MACINTOSH
32
33 // some mac only routines to deal with incorrectly aligned network structures
34
35 void receive_netplayer_info(ubyte *data, AllNetPlayers_info *info);
36
37 void receive_netplayers_packet(ubyte *data, AllNetPlayers_info *pinfo);
38 void send_netplayers_packet(ubyte *server, ubyte *node);
39
40 void send_sequence_packet(sequence_packet seq, ubyte *server, ubyte *node, ubyte *net_address);
41 void receive_sequence_packet(ubyte *data, sequence_packet *seq);
42
43 void send_netgame_packet(ubyte *server, ubyte *node, ubyte *net_address, int lite_flag);
44 void receive_netgame_packet(ubyte *data, netgame_info *netgame, int lite_flag);
45
46 void swap_object(object *obj);
47
48 #endif
49
50 #endif