1 #ifdef NETSUPPORT 2 #ifndef NET_H 3 #define NET_H 4 /*#define PUTLONG(data,long) memcpy(data,&long,4); 5 #define GETLONG(data,long) memcpy(&long,data,4); */ 6 /*my own ones-faster and shorter than calling library routines.. 7 why gcc don't inline them? */ 8 #define PUTCHAR(data,long) *(unsigned char *)(data)=(unsigned char)(long); 9 #define GETCHAR(data,long) (long)=*(unsigned char *)(data); 10 #define PUTSHORT(data,long) *(unsigned char *)(data)=(unsigned short)(long)&0xff,*((unsigned char *)(data)+1)=((long)>>8)&0xff; 11 #define GETSHORT(data,long) long=*(unsigned char *)(data),long+=*((unsigned char *)data+1)<<8; 12 #define PUTLONG(data,long) *(unsigned char *)(data)=(unsigned short)(long)&0xff,*((unsigned char *)(data)+1)=((long)>>8)&0xff\ 13 ,*((unsigned char *)(data)+2)=((long)>>16)&0xff\ 14 ,*((unsigned char *)(data)+3)=((long)>>24)&0xff; 15 #define GETLONG(data,long) long=*(unsigned char *)(data),long+=*((unsigned char *)data+1)<<8;\ 16 long+=*((unsigned char *)data+2)<<16;\ 17 long+=*((unsigned char *)data+2)<<24; 18 #define HEADSIZE 1 19 /* Client messages */ 20 #define CPRINT 0 21 #define CQUITS 1 22 #define CPOS 2 23 #define CEXPLOSSION 3 24 #define CCREATOR 4 25 #define CSOUND 5 26 #define CPLAYERS 6 27 #define CREG 7 28 #define CMENU2 8 29 #define CLEVEL 9 30 #define CGAME 10 31 #define CRELIABLE 11 32 #define COUTRO 12 33 /* Server messages */ 34 #define SPRINT 0 35 #define SQUIT 1 36 #define SPOS 2 37 #define SREGISTER 3 38 #define SSTART 4 39 #define SREADY 5 40 #define SJOYSTICK 6 41 #define SMOUSE 7 42 #define SROT 8 43 #define SKEY 9 44 #define SRELIABLE 10 45 #define SINIT 11 46 #define PUTHEAD(long) PUTCHAR(buffer,long); 47 #define NETBUFFER (256*16) 48 /*#define INITPACKETSIZE 17 */ 49 #define INITPACKETSIZE 16 50 #define REPLYSIZE 8 51 #define DEFAULTINITPORT 12345 52 extern int initport; 53 #endif 54 #endif 55