home *** CD-ROM | disk | FTP | other *** search
- {$if not def REXX_STORAGE_H} CONST REXX_STORAGE_H=0;
-
- { ****************************************************************
- ** KickPascal-Include-Datei "rexx/storage.h" zu Kickstart 3.0 **
- **************************************************************** }
-
- TYPE p_SrcNode = ^SrcNode;
- TYPE p_RexxTask = ^RexxTask;
- TYPE p_RexxRsrc = ^RexxRsrc;
- TYPE p_RexxArg = ^RexxArg;
- TYPE p_RexxMsg = ^RexxMsg;
-
-
- {$if not def EXEC_NODES_H;incl "exec/nodes.h";endif}
- {$if not def EXEC_LISTS_H;incl "exec/lists.h";endif}
- {$if not def EXEC_PORTS_H;incl "exec/ports.h";endif}
- {$if not def EXEC_LIBRARIES_H;incl "exec/libraries.h";endif}
-
-
- TYPE p_NexxStr = ^NexxStr;
- TYPE NexxStr = RECORD
- ns_Ivalue : LongInt;
- ns_Length : Word;
- ns_Flags : Byte;
- ns_Hash : Byte;
- ns_Buff : ARRAY[0..7] OF Short;
- END;
-
- CONST NXADDLEN = 9;
-
- FUNCTION IVALUE(nsPtr : p_NexxStr) : LongInt;
- BEGIN
- IVALUE:=nsPtr^.ns_Ivalue;
- END;
-
- CONST
- NSB_KEEP = 0;
- NSB_STRING = 1;
- NSB_NOTNUM = 2;
- NSB_NUMBER = 3;
- NSB_BINARY = 4;
- NSB_FLOAT = 5;
- NSB_EXT = 6;
- NSB_SOURCE = 7;
-
- NSF_KEEP = $1;
- NSF_STRING = $2;
- NSF_NOTNUM = $4;
- NSF_NUMBER = $8;
- NSF_BINARY = $10;
- NSF_FLOAT = $20;
- NSF_EXT = $40;
- NSF_SOURCE = $80;
-
- NSF_INTNUM = (NSF_NUMBER or NSF_BINARY or NSF_STRING);
- NSF_DPNUM = (NSF_NUMBER or NSF_FLOAT);
- NSF_ALPHA = (NSF_NOTNUM or NSF_STRING);
- NSF_OWNED = (NSF_SOURCE or NSF_EXT or NSF_KEEP);
- KEEPSTR = (NSF_STRING or NSF_SOURCE or NSF_NOTNUM);
- KEEPNUM = (NSF_STRING or NSF_SOURCE or NSF_NUMBER or NSF_BINARY);
-
- TYPE RexxArg = RECORD
- ra_Size : LongInt;
- ra_Length : Word;
- ra_Flags : Byte;
- ra_Hash : Byte;
- ra_Buff : ARRAY[0..7] OF Short;
- END;
-
- TYPE RexxMsg = RECORD
- rm_Node : Message;
- rm_TaskBlock : Ptr;
- rm_LibBase : Ptr;
- rm_Action : LongInt;
- rm_Result1 : LongInt;
- rm_Result2 : LongInt;
- rm_Args : ARRAY[0..15] OF Str;
- rm_PassPort : p_MsgPort;
- rm_CommAddr : Str;
- rm_FileExt : Str;
- rm_Stdin : LongInt;
- rm_Stdout : LongInt;
- rm_avail : LongInt;
- END;
-
- FUNCTION ARG0(rmp :p_RexxMsg): STR;
- BEGIN
- ARG0:=rmp^.rm_Args[0];
- END;
-
- FUNCTION ARG1(rmp :p_RexxMsg): STR;
- BEGIN
- ARG1:=rmp^.rm_Args[1];
- END;
-
- FUNCTION ARG2(rmp :p_RexxMsg): STR;
- BEGIN
- ARG2:=rmp^.rm_Args[2];
- END;
-
- CONST MAXRMARG = 15;
-
- CONST
- RXCOMM = $01000000;
- RXFUNC = $02000000;
- RXCLOSE = $03000000;
- RXQUERY = $04000000;
- RXADDFH = $07000000;
- RXADDLIB = $08000000;
- RXREMLIB = $09000000;
- RXADDCON = $0A000000;
- RXREMCON = $0B000000;
- RXTCOPN = $0C000000;
- RXTCCLS = $0D000000;
-
- CONST
- RXFB_NOIO = 16;
- RXFB_RESULT = 17;
- RXFB_STRING = 18;
- RXFB_TOKEN = 19;
- RXFB_NONRET = 20;
-
- RXFF_NOIO = $10000;
- RXFF_RESULT = $20000;
- RXFF_STRING = $40000;
- RXFF_TOKEN = $80000;
- RXFF_NONRET = $100000;
-
- CONST
- RXCODEMASK = $FF000000;
- RXARGMASK = $0000000F;
-
- TYPE RexxRsrc = RECORD
- rr_Node : Node;
- rr_Func : Integer;
- rr_Base : Ptr;
- rr_Size : LongInt;
- rr_Arg1 : LongInt;
- rr_Arg2 : LongInt;
- END;
-
- CONST
- RRT_ANY = 0;
- RRT_LIB = 1;
- RRT_PORT = 2;
- RRT_FILE = 3;
- RRT_HOST = 4;
- RRT_CLIP = 5;
-
- CONST GLOBALSZ = 200;
-
- TYPE RexxTask = RECORD
- rt_Global : ARRAY[0..GLOBALSZ-1] OF Short;
- rt_MsgPort : MsgPort;
- rt_Flags : Byte;
- rt_SigBit : Byte;
- rt_ClientID : Ptr;
- rt_MsgPkt : Ptr;
- rt_TaskID : Ptr;
- rt_RexxPort : Ptr;
- rt_ErrTrap : Ptr;
- rt_StackPtr : Ptr;
- rt_Header1 : List;
- rt_Header2 : List;
- rt_Header3 : List;
- rt_Header4 : List;
- rt_Header5 : List;
- END;
-
- CONST
- RTFB_TRACE = 0;
- RTFB_HALT = 1;
- RTFB_SUSP = 2;
- RTFB_TCUSE = 3;
- RTFB_WAIT = 6;
- RTFB_CLOSE = 7;
-
- MEMQUANT = 16;
- MEMMASK = $FFFFFFF0;
-
- CONST
- MEMQUICK = $1;
- MEMCLEAR = $10000;
-
- TYPE SrcNode = RECORD
- sn_Succ : p_SrcNode;
- sn_Pred : p_SrcNode;
- sn_Ptr : Ptr;
- sn_Size : LongInt;
- END;
-
- {$endif}
-