	IFND	REXX_STORAGE_I
REXX_STORAGE_I	EQU	1
*	$Filename: rexx/storage.i $
*	$Release: 2.04 Includes, V37.4 $
*	$Revision: 1.8 $
*	$Date: 91/11/08 $
*	Include file for REXX data structures and memory/storage management.
*	(C) Copyright 1986,1987,1988,1989,1990 William S. Hawes.
*	(C) Copyright 1990-1991 Commodore-Amiga, Inc.
*		All Rights Reserved
	IFND	EXEC_TYPES_I
	INCLUDE	"exec/types.i"
	ENDC
	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	2
ns_Length	rs	1
ns_Flags	rs.b	1
ns_Hash	rs.b	1
ns_Buff	rs.b	8
NSMINSIZE	rs.b	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	2
ra_Length	rs	1
ra_Flags	rs.b	1
ra_Hash	rs.b	1
ra_Buff	rs.b	8
RexxArg_SIZEOF	rs.b	0
	RSRESET
RexxMsg	rs.b	MN_SIZE
rm_TaskBlock	rs	2
rm_LibBase	rs	2
rm_Action	rs	2
rm_Result1	rs	2
rm_Result2	rs	2
rm_Args	rs.b	16*4
rm_PassPort	rs	2
rm_CommAddr	rs	2
rm_FileExt	rs	2
rm_Stdin	rs	2
rm_Stdout	rs	2
rm_avail	rs	2
RMSIZEOF	rs.b	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	$1000000
RXFUNC	EQU	$2000000
RXCLOSE	EQU	$3000000
RXQUERY	EQU	$4000000
RXADDFH	EQU	$7000000
RXADDLIB	EQU	$8000000
RXREMLIB	EQU	$9000000
RXADDCON	EQU	$A000000
RXREMCON	EQU	$B000000
RXTCOPN	EQU	$C000000
RXTCCLS	EQU	$D000000
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	$F
	RSRESET
RexxRsrc	rs.b	LN_SIZE
rr_Func	rs	1
rr_Base	rs	2
rr_Size	rs	2
rr_Arg1	rs	2
rr_Arg2	rs	2
RRSIZEOF	rs.b	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	2
rt_MsgPkt	rs	2
rt_TaskID	rs	2
rt_RexxPort	rs	2
rt_ErrTrap	rs	2
rt_StackPtr	rs	2
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.b	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	2
sn_Pred	rs	2
sn_Ptr	rs	2
sn_Size	rs	2
sn_SIZEOF	rs.b	0
	ENDC
