$SAVE NOLIST
/*****************************************************************************
 *
 * NMESGS.LIT:	Definition of Message Passing constants and structures
 *
 *****************************************************************************/

DECLARE

	/*
	 *	rq$create$port info 
	 */
	 
	SIGNAL$PORT$INFO		LITERALLY	
		'STRUCTURE(
			message$id	BYTE,
			reserved1	BYTE,
			type		BYTE,
			reserved2	BYTE,
			flags		WORD_16)',
 
	DATA$XPORT$PORT$INFO	LITERALLY	
		'STRUCTURE(
			port$id		WORD_16,
			type		BYTE,
			reserved	BYTE,
			flags		WORD_16)',

	/*
	 *	port types
	 */

	DATA$XPORT$SERVICE	LITERALLY	'2',
	SIGNAL$SERVICE		LITERALLY	'3',
	
	/*
	 *	port flags
	 */
	 
	FIFO$Q$PORT			LITERALLY	'0',
	PRIO$Q$PORT			LITERALLY	'2',

	FRAGMENTATION		LITERALLY	'0',
	NO$FRAGMENTATION	LITERALLY	'4',


	/*
	 *	rq$get$port$attributes structure
	 */

	GET$PORT$INFO	LITERALLY
		'STRUCTURE(
			port$id			WORD_16,
			type			BYTE,
			reserved1		BYTE,
			queue$size		WORD_16,
			reserved2		WORD_16,
			reserved3		WORD_16,
			sink$port		TOKEN,
			remote$socket	WORD_32,
			buffer$pool		TOKEN,
			flags			WORD_16,
			reserved4		BYTE)',
			

	/*
	 *	Socket structure
	 */

	SOCKET$STRUCT	LITERALLY
		'STRUCTURE(
			host$id		WORD_16,
			port$id		WORD_16)',

	 	 
	/*
	 *	flags in rq$send, rq$send$rsvp, rq$send$reply, rq$receive$fragment
	 */

	SEND$NO$CHAIN		LITERALLY	'0',
	SEND$CHAIN			LITERALLY	'1',

	SYNC$XMISSION		LITERALLY	'0',
	ASYNC$XMISSION		LITERALLY	'0010H',

	USE$RECEIVE$REPLY	LITERALLY	'0',
	USE$RECEIVE			LITERALLY	'0100H',

	EOT					LITERALLY	'0',
	NOT$EOT				LITERALLY	'0200H',


	/*
	 *	rq$receive, rq$receive$reply info
	 */

	RECEIVE$INFO	LITERALLY
		'STRUCTURE(
			flags			WORD_16,
			status			WORD_16,
			trans$id		WORD_16,
			data$length		WORD_32,
			forwarding$port	TOKEN,
			remote$socket	WORD_32,
			control$msg(20)	BYTE,
			reserved(4)		BYTE)',


	/*	
	 *	flags returned in RECEIVE$INFO
	 */

	DATA$TYPE$MASK		LITERALLY	'000FH',
	RECEIVE$TYPE$MASK	LITERALLY	'00F0H',

	NO$CHAIN$RECEIVED	LITERALLY	'0',
	CHAIN$RECEIVED		LITERALLY	'1',

	TRANSACTIONLESS		LITERALLY	'0',
	STATUS$TYPE			LITERALLY	'0010H',
	REQUEST$TYPE		LITERALLY	'0020H',
	RESPONSE$TYPE		LITERALLY	'0040H';
	
	
$RESTORE
