#define MSGPORT
struct Com_Pack1
{
	short pa_Type;
	short pa_Sender;
	short pa_Data[4];
};

struct Com_Pack2
{
	short pa_Type;
	short pa_Sender;
	char pa_Data[512];
};

typedef struct Com_Pack1 COMDATA;
typedef struct Com_Pack2 COMTEXT;

typedef struct SysPacket
{
#ifdef MSGPORT
	long	pa_Type;
#endif
	short pa_Size;
	char pa_Data[516];
} PACKET;

#define PACKET_CLEAR		0	/*Num. parser clear and shutdown */
#define PACKET_LOOPECHO		1	/*Num. cause either end to echo 2*/
#define PACKET_ECHOBACK		2	/*Num. echo back		 */
#define PACKET_LOGINACCEPT	3	/*Num. p1 holds systems ctrl sig */
					/*     p2 holds your 'user ref'  */
#define PACKET_CLEARED		4	/*User has cleared		 */
#define PACKET_ECHO		5	/* Set echo on p1=1 off on p1=0  */
#define PACKET_INPUT		6	/* p1=input on p2=input off      */
#define PACKET_LOGINREQUEST	128	/*Text. text holds:-
						SigCode:UserID:FilePath	 */

#define PACKET_OUTPUT		129	/*Text for printing		 */
#define PACKET_COMMAND		130	/*Incoming command line		 */
#define PACKET_SETPROMPT	131	/*Set prompt line		 */
#define PACKET_COMMFORCE	132	/*Command but always from base   */
					/*eg menu selections etc         */
#define PACKET_EDIT		133	/*Edit Request			 */
#define PACKET_SNOOPTEXT	134	/*Snooped text			 */
#define PACKET_SETFIELD		135	/*Field shift			 */
#define PACKET_SETTITLE		240	/*Title bar for clients		 */
#define PACKET_BSXSCENE		200	/*Draw a picture request	 */
#define PACKET_BSXOBJECT	201	/*Draw an object */

#define PACKET_ABORT		140	/* REMOTE DIE REQUEST */
#define PACKET_SUPERCEDE	141	/* I'VE PINCHED YOUR PORT..... */

#define PACKET_BONG		150	/* Once per second packet shover */