--- Cannot embed stylesheet: [Errno 2] No such file or directory: '../../../aros.css' --->
| ClearRexxMsg() | CreateArgstring() | CreateRexxMsg() | DeleteArgstring() |
| DeleteRexxMsg() | FillRexxMsg() | IsRexxMsg() | LengthArgstring() |
| LockRexxBase() | UnlockRexxBase() |
VOID ClearRexxMsg(
struct RexxMsg * msgptr,
ULONG count );
This function will clear a specified number of arguments by calling DeleteArgstring on them.
msgptr - RexxMsg to clear the arguments from count - The number of arguments in the message to clear
void
UBYTE * CreateArgstring(
CONST UBYTE * string,
ULONG length );
This function will create a RexxArg structure and copy the supplied string into it.
string - String to copy into the RexxArg structure length - Length of the string to copy.
A pointer to the string part of the allocated RexxArg structure.
Pointer to the string returned by this function may be used as a null terminated C string but should be considered read-only.
struct RexxMsg * CreateRexxMsg(
struct MsgPort * port,
UBYTE * extension,
UBYTE * host );
Creation and initialization of a RexxMsg structure
port - ReplyPort where the message is replied when it has been
handled
extension - The filename extension to use when searching for macros
host - Name of the port to use as the initial command host
(e.g. as used in the ADDRESS Rexx statement). When NULL
is given "REXX" will be used.
Pointer to the freshly allocated RexxMsg.
VOID DeleteArgstring(
UBYTE * argstring );
Deletes a RexxArg structure previously created with CreateArgstring
Pointer to the string part of the RexxArg structure returned from CreateArgstring
void
VOID DeleteRexxMsg(
struct RexxMsg * packet );
Deletes a RexxMsg structure
packet - The RexxMsg to delete.
void
BOOL FillRexxMsg(
struct RexxMsg * msgptr,
ULONG count,
ULONG mask );
This function will convert the value(s) provided in rm_Args of the RexxMsg. The input can be either a string or a number.
msgptr - RexxMsg to create the RexxArgs for.
count - The number of ARGs in the rm_Args structure field that is
filled with a value and has to be converted.
mask - Bits 0 to 'count' from this mask indicate whether the
corresponding value in rm_Args is a string or a number. When
the bit is cleared the value is a pointer to a string. When
it is set it is treated as a signed integer.
Returns TRUE if succeeded, FALSE otherwise. When FALSE is returned all memory already allocated will be freed before returning.
This code will convert a string and a number to RexxArgs: struct RexxMsg *rm; ... rm->rm_Args[0] = "Test"; rm->rm_Args[1] = (UBYTE *)5; if (!FillRexxMsg(rm, 2, 1<<1)) ...
BOOL IsRexxMsg(
struct RexxMsg * msgptr );
Test to see if given Message is a RexxMsg
msgptr - Message to test
TRUE if it is one, FALSE otherwise
ULONG LengthArgstring(
UBYTE * argstring );
This will return the length of a string created with CreateArgstring
argstring - Pointer to the string part of a RexxArg structure returned
from CreateArgstring
length of the argstring
VOID LockRexxBase(
ULONG resource );
VOID UnlockRexxBase(
ULONG resource );