	IFND	REXX_STORAGE_I
REXX_STORAGE_I	SET	1
	IFND	EXEC_NODES_I
	INCLUDE	"exec/nodes.i"
	ENDC
	IFND	EXEC_LISTS_I
	INCLUDE	"exec/lists.i"
	ENDC
	IFND	EXEC_PORTS_I
	INCLUDE	"exec/ports.i"
	ENDC
	IFND	EXEC_LIBRARIES_I
	INCLUDE	"exec/libraries.i"
	ENDC

	rsreset
NexxStr		rs.b	0
ns_Ivalue	rs.l	1
ns_Length	rs.w	1
ns_Flags	rs.b	1
ns_Hash		rs.b	1
ns_Buff		rs.b	8
NSMINSIZE	rs.w	0
NXADDLEN	EQU	ns_Buff+1
IVALUE		EQU	ns_Ivalue

NSB_KEEP	EQU	0
NSB_STRING	EQU	1
NSB_NOTNUM	EQU	2
NSB_NUMBER	EQU	3
NSB_BINARY	EQU	4
NSB_FLOAT	EQU	5
NSB_EXT		EQU	6
NSB_SOURCE	EQU	7

NSF_KEEP	EQU	1<<NSB_KEEP
NSF_STRING	EQU	1<<NSB_STRING
NSF_NOTNUM	EQU	1<<NSB_NOTNUM
NSF_NUMBER	EQU	1<<NSB_NUMBER
NSF_BINARY	EQU	1<<NSB_BINARY
NSF_FLOAT	EQU	1<<NSB_FLOAT
NSF_EXT		EQU	1<<NSB_EXT
NSF_SOURCE	EQU	1<<NSB_SOURCE
NSF_INTNUM	EQU	(NSF_NUMBER!NSF_BINARY!NSF_STRING)
NSF_DPNUM	EQU	(NSF_NUMBER!NSF_FLOAT)
NSF_ALPHA	EQU	(NSF_NOTNUM!NSF_STRING)
NSF_OWNED	EQU	(NSF_SOURCE!NSF_EXT!NSF_KEEP)

KEEPSTR		EQU	(NSF_STRING!NSF_SOURCE!NSF_NOTNUM)
KEEPNUM		EQU	(NSF_STRING!NSF_SOURCE!NSF_NUMBER!NSF_BINARY)

	rsreset
RexxArg		rs.b	0
ra_Size		rs.l	1
ra_Length	rs.w	1
ra_Flags	rs.b	1
ra_Hash		rs.b	1
ra_Buff		rs.b	8
RexxArg_SIZEOF	rs.w	0

	rsreset
RexxMsg		rs.b	MN_SIZE
rm_TaskBlock	rs.l	1
rm_LibBase	rs.l	1
rm_Action	rs.l	1
rm_Result1	rs.l	1
rm_Result2	rs.l	1
rm_Args		rs.b	16*4
rm_PassPort	rs.l	1
rm_CommAddr	rs.l	1
rm_FileExt	rs.l	1
rm_Stdin	rs.l	1
rm_Stdout	rs.l	1
rm_avail	rs.l	1
RMSIZEOF	rs.w	0

ACTION		EQU	rm_Action
RESULT1		EQU	rm_Result1
RESULT2		EQU	rm_Result2
ARG0		EQU	rm_Args
ARG1		EQU	rm_Args+4
ARG2		EQU	rm_Args+8
MAXRMARG	EQU	15

RXCOMM		EQU	$01000000
RXFUNC		EQU	$02000000
RXCLOSE		EQU	$03000000
RXQUERY		EQU	$04000000
RXADDFH		EQU	$07000000
RXADDLIB	EQU	$08000000
RXREMLIB	EQU	$09000000
RXADDCON	EQU	$0A000000
RXREMCON	EQU	$0B000000
RXTCOPN		EQU	$0C000000
RXTCCLS		EQU	$0D000000

RXFB_NOIO	EQU	16
RXFB_RESULT	EQU	17
RXFB_STRING	EQU	18
RXFB_TOKEN	EQU	19
RXFB_NONRET	EQU	20
RXFF_RESULT	EQU	1<<RXFB_RESULT
RXFF_STRING	EQU	1<<RXFB_STRING
RXFF_TOKEN	EQU	1<<RXFB_TOKEN
RXFF_NONRET	EQU	1<<RXFB_NONRET

RXCODEMASK	EQU	$FF000000
RXARGMASK	EQU	$0000000F

	rsreset
RexxRsrc	rs.b	LN_SIZE
rr_Func		rs.w	1
rr_Base		rs.l	1
rr_Size		rs.l	1
rr_Arg1		rs.l	1
rr_Arg2		rs.l	1
RRSIZEOF	rs.w	0

RRTYPE		EQU	LN_TYPE
RRNAME		EQU	LN_NAME
RRSIZE		EQU	rr_Size
RRT_ANY		EQU	0
RRT_LIB		EQU	1
RRT_PORT	EQU	2
RRT_FILE	EQU	3
RRT_HOST	EQU	4
RRT_CLIP	EQU	5
GLOBALSZ	EQU	200

	rsreset
RexxTask	rs.b	GLOBALSZ
rt_MsgPort	rs.b	MP_SIZE
rt_Flags	rs.b	1
rt_SigBit	rs.b	1
rt_ClientID	rs.l	1
rt_MsgPkt	rs.l	1
rt_TaskID	rs.l	1
rt_RexxPort	rs.l	1
rt_ErrTrap	rs.l	1
rt_StackPtr	rs.l	1
rt_Header1	rs.b	LH_SIZE
rt_Header2	rs.b	LH_SIZE
rt_Header3	rs.b	LH_SIZE
rt_Header4	rs.b	LH_SIZE
rt_Header5	rs.b	LH_SIZE
rt_SIZEOF	rs.w	0

ENVLIST		EQU	rt_Header1
FREELIST	EQU	rt_Header2
MEMLIST		EQU	rt_Header3
FILELIST	EQU	rt_Header4
PORTLIST	EQU	rt_Header5
NUMLISTS	EQU	5
RTFB_TRACE	EQU	0
RTFB_HALT	EQU	1
RTFB_SUSP	EQU	2
RTFB_TCUSE	EQU	3
RTFB_WAIT	EQU	6
RTFB_CLOSE	EQU	7
MEMQUANT	EQU	16
MEMMASK	EQU	$FFFFFFF0
MEMQUICK	EQU	(1<<0)
MEMCLEAR	EQU	(1<<16)

	rsreset
SrcNode		rs.b	0
sn_Succ		rs.l	1
sn_Pred		rs.l	1
sn_Ptr		rs.l	1
sn_Size		rs.l	1
sn_SIZEOF	rs.w	0

	ENDC	;REXX_STORAGE_I
