alib
Index
VOID __sprintf(
UBYTE *buffer, const UBYTE *format, ...)
Print a formatted string to a buffer.
buffer -- the buffer to fill
format -- the format string, see the VNewRawDoFmt() documentation
for information on which formatting commands there are
AMIGAGUIDEHOST AddAmigaGuideHost(
struct Hook * hook,
STRPTR name,
Tag tag1,
...)
This is the varargs version of amigaguide.library/AddAmigaGuideHostA().
For information see amigaguide.library/AddAmigaGuideHostA().
struct AppIcon * AddAppIcon(
IPTR id,
IPTR userdata,
CONST_STRPTR text,
struct MsgPort * msgport,
BPTR lock,
struct DiskObject * diskobj,
Tag tag1,
...)
This is the varargs version of workbench.library/AddAppIconA().
For information see workbench.library/AddAppIconA().
struct AppMenuItem * AddAppMenuItem(
IPTR id,
IPTR userdata,
STRPTR text,
struct MsgPort * msgport,
Tag tag1,
...)
This is the varargs version of workbench.library/AddAppMenuItemA().
For information see workbench.library/AddAppMenuItemA().
struct AppWindow * AddAppWindow(
IPTR id,
IPTR userdata,
struct Window * window,
struct MsgPort * msgport,
Tag tag1,
...)
This is the varargs version of workbench.library/AddAppWindowA().
For information see workbench.library/AddAppWindowA().
struct AppWindowDropZone * AddAppWindowDropZone(
struct AppWindow * aw,
IPTR id,
IPTR userdata,
Tag tag1,
...)
This is the varargs version of workbench.library/AddAppWindowDropZoneA().
For information see workbench.library/AddAppWindowDropZoneA().
APTR AllocAslRequestTags(
ULONG reqType,
Tag tag1,
...)
This is the varargs version of the asl.library AllocAslRequest().
For information see asl.library/AllocAslRequest().
reqType - Type of requester to allocate.
tag1 - TagList of extra arguments.
APTR AllocDosObjectTags(
ULONG type,
Tag tag1,
...)
This is the varargs version of dos.library/AllocDosObject().
For information see dos.library/AllocDosObject().
struct NamedObject * AllocNamedObject(
STRPTR name,
Tag tag1,
... )
Allocate a NamedObject. This is the varargs version of the function.
For more information see AllocNamedObjectA() in utility.library.
name - The name of the object to allocate.
tag1 - The first Tag of the arguments. End the list with
TAG_DONE.
The address of a NamedObject, or NULL if the allocation failed.
struct ExtSprite * AllocSpriteData(
struct BitMap * bitmap,
Tag tag1,
...)
This is the varargs version of graphics.library/AllocSpriteDataA().
For information see graphics.library/AllocSpriteDataA().
BOOL AndRectRect(
struct Rectangle *rect1,
struct Rectangle *rect2,
struct Rectangle *intersect)
Calculate the intersection rectangle between the
given Rectangle rect1 and the given Rectangle rect2
leaving the result in intersect (if intersect != NULL).
rect1 - pointer to 1st Rectangle
rect2 - pointer to 2nd Rectangle
intersect - pointer to rectangle which will hold result.
TRUE if rect1 and rect2 do intersect. In this case intersect
will contain the intersection rectangle.
FALSE if rect1 and rect2 do not overlap. "intersect" will
then be left unchanged.
VOID ArgArrayDone(
VOID )
Cleans up after a call to ArgArrayInit(). Make sure you don't need
the tooltype anymore array before calling this function.
Cleanup is made after an ArgArrayInit() call. This includes
deallocation of the tooltype array returned from that function.
The tooltype array got from ArgArrayInit() will no longer be valid
after a call to this function.
UBYTE **ArgArrayInit(
ULONG argc,
UBYTE **argv )
Initializes a NULL terminated array of strings that may be passed
to icon.library/FindToolType() or the functions ArgInt() and
ArgString(). This function can be passed the arguments given to
main() regardless of whether the program was called from shell or
from workbench.
argc -- number of arguments to the program when called from shell
or 0 if called from workbench
argv -- 'argc' pointers to the strings of the arguments; this array
should be NULL terminated
A tooltype array to use with FindToolType(); the result of that
function can be used with ArgString() and ArgInt() to extract
values from the tooltype array. If the process was started from
shell the function just returns 'argv'. If no tooltype array could
be created, NULL is returned.
This function builds some structures that should be disposed of
when the tooltype array is no longer needed. The function
ArgArrayDone() does that. This function requires that icon.library
has been opened and that IconBase is valid; in fact IconBase must
be valid until a call to ArgArrayDone() is made.
LONG ArgInt(
UBYTE **tt,
STRPTR entry,
LONG defaultval)
Returns the value associated with the string 'entry' found in the
tooltypes array 'tt'. If no match with entry was found,
'defaultval' is returned.
tt -- the tooltypes array ( returned by ArgArrayInit() )
entry -- entry to look for (in tooltype "entry=value")
defaultval -- value returned if 'entry' was not found
(The tooltypes looks like "Entry=Value".) Returns Value if Entry
was found; otherwise returns 'defaultval'.
STRPTR ArgString(
UBYTE **tt,
STRPTR entry,
STRPTR defaultstring)
Looks for 'entry' in the tooltypes array 'tt'. If not found
'defaultstring' is returned, otherwise the string corresponding to
'entry' is returned. Say the tooltype Settings=SaveonExit exists
within the array, then a pointer to "SaveonExit" is returned when
ArgString(tt, "Settings") is done.
tt -- the tooltype array to search in
entry -- the string to look for in the tooltype array
Pointer to the string corresponding to 'entry' in the tooltype
array, or 'defaultstring' if 'entry' was not found.
ULONG ArosInquire(
ULONG tag1,
...)
BOOL AslRequestTags(
APTR requester,
Tag tag1,
...)
This is the varargs version of the asl.library AslRequest().
For information see asl.library/AslRequest().
requester - Pointer to requester returned by AllocAslRequest().
tag1 - TagList of extra arguments.
APTR AsmAllocPooled(
APTR poolHeader,
ULONG memSize,
struct ExecBase * SysBase );
APTR AsmCreatePool(
ULONG MemFlags,
ULONG PuddleSize,
ULONG ThreshSize,
struct ExecBase * SysBase );
void AsmDeletePool(
APTR poolHeader,
struct ExecBase * SysBase );
void AsmFreePooled(
APTR poolHeader,
APTR Memory,
ULONG MemSize,
struct ExecBase * SysBase );
void BeginIO(
struct IORequest * ioReq)
Call the BeginIO() function of the given device.
ioReq - a filled out IORequest structure.
ULONG BestCModeIDTags(
Tag tag1,
...)
This is the varargs version of the cybergraphics.library call
BestCModeIDTagList().
For more information see the documentation of
cybergraphics.library/BestCModeIDTagList().
tag1 - TagList of display requirements.
ULONG BestModeID(
Tag tag1,
...)
This is the varargs version of graphics.library/BestModeIDA().
For information see graphics.library/BestModeIDA().
struct Window * BuildEasyRequest(
struct Window *RefWindow,
struct EasyStruct *easyStruct,
ULONG IDCMP,
...)
IPTR CallHook(
struct Hook * hook,
APTR object,
...)
Variadic form of CallHookA().
IPTR CallHookA(
struct Hook * hook,
APTR object,
APTR param)
Calls a hook with the specified object and parameters.
hook - Call this hook.
object - This is the object which is passed to the hook. The valid
values for this parameter depends on the definition of the called
hook.
param - Pass these parameters to the specified object
The return value depends on the definition of the hook.
LONG ChangeExtSprite(
struct ViewPort * vp,
struct ExtSprite * oldsprite,
struct ExtSprite * newsprite,
Tag tag1,
...)
This is the varargs version of graphics.library/ChangeExtSpriteA().
For information see graphics.library/ChangeExtSpriteA().
BOOL CheckRexxMsg(
struct RexxMsg * msg)
Check to see if provided message was generated by the REXX interpreter
msg - The message to check
Whether this message is OK.
BOOL CloseWorkbenchObject(
STRPTR name,
Tag tag1,
...)
This is the varargs version of workbench.library/CloseWorkbenchObjectA().
For information see workbench.library/CloseWorkbenchObjectA().
IPTR CoerceMethodA(
Class * cl,
Object * obj,
Msg message)
Invokes a method on a BOOPSI object, as if this was a object, inherited
from the class passed in. Ie. the dispatcher of the this class is called
instead of the objects classes dispatcher.
cl - Class, which dispatcher is to be called.
obj - The object, on which the method is to be performed on.
message - The message. The first field is the same for all methods and
specifies which method is to be invokes (see
<intuition/classusr.h>).
Class and method depending. See the class documentation. A value of 0
can mean a valid return code but can also mean that a method was not
supported.
struct Region *CopyRegion(
struct Region *region)
Make a copy of the given Region.
region - pointer to a Region structure
the copy of the Region, or NULL if not enough memory.
struct IORequest * CreateExtIO(
struct MsgPort * port,
ULONG iosize)
Create an extended IORequest structure. This structure must be freed
with DeleteExtIO().
port - MsgPort to be signaled on events. May be NULL, in which case
no IORequest is allocated.
iosize - Size of the structure
A pointer to the new IORequest structure, or NULL.
struct Gadget * CreateGadget(
ULONG kind,
struct Gadget * previous,
struct NewGadget * ng,
Tag tag1,
... )
Varargs version of gadtools.library/CreateGadgetA().
struct Menu * CreateMenus(
struct NewMenu * newmenu,
Tag tag1,
... )
Varargs version of gadtools.library/CreateMenusA().
struct Process * CreateNewProcTags(
Tag tag1,
...)
This is the varargs version of dos.library/CreateNewProc().
For information see dos.library/CreateNewProc().
struct MsgPort * CreatePort(
STRPTR name,
LONG pri)
Allocate and initialize a new Exec message port. You must
use DeletePort() to get rid of it.
name - The name of the new port. The string is not copied
pri - The priority of the port.
A pointer to the new message port or NULL if no memory or
no signal was available.
struct IOStdReq * CreateStdIO(
struct MsgPort * port)
Create a standard IORequest structure. The structure must be freed
with DeleteStdIO().
port - The port to be signaled on events. May be NULL, in which case
no IORequest is allocated.
A pointer to the new IORequest structure, or NULL.
struct Task * CreateTask(
STRPTR name,
LONG pri,
APTR initpc,
ULONG stacksize)
name - Name of the task. The string is not copied. Note that
task names' need not be unique.
pri - The initial priority of the task (normally 0)
initpc - The address of the first instruction of the
task. In most cases, this is the address of a
function.
stacksize - The size of the stack for the task. Always
keep in mind that the size of the stack must include
the amount of stack which is needed by the routines
called by the task.
A pointer to the new task or NULL on failure.
void DeleteExtIO(
struct IORequest * ioreq)
Free a structure created by CreateExtIO().
ioreq - The return value of CreateExtIO(). May be NULL.
void DeletePort(
struct MsgPort * mp)
Free a message port created by CreatePort()
mp - The result of CreatePort()
void DeleteStdIO(
struct IOStdReq * io)
Delete a structure which was created by CreateStdIO().
io - The value returned by CreateStdIO(). May be NULL.
Invalidates values of certain fields, to assure the developer
doesn't depend on them remaining valid after the structure is freed.
void DeleteTask(
struct Task * task)
Get rid of a task which was created by CreateTask().
task - The task which was created by CreateTask(). Must be
non-NULL.
IPTR DoDTMethod(
Object * obj,
struct Window * win,
struct Requester * req,
ULONG methodId,
...)
Invokes a BOOPSI method on a datatype object with a GadgetInfo derived from
the supplied window or requester parameter.
gad - The datatype object to work on
win - The window which contains the gadget or the requester with
the gadgets.
req - If the gadget is in a requester, you must specify that one,
too.
methodId - The message to the gadget follows here.
The result depends on the contents of the message sent to the
gadget.
IPTR DoGadgetMethod(
struct Gadget * gad,
struct Window * win,
struct Requester * req,
ULONG methodId,
...)
Invokes a BOOPSI method on a object with a GadgetInfo derived from
the supplied window or requester parameter.
gad - The gadget to work on
win - The window which contains the gadget or the requester with
the gadgets.
req - If the gadget is in a requester, you must specify that one,
too.
methodId - The message to the gadget follows here.
The result depends on the contents of the message sent to the
gadget.
IPTR DoMethodA(
Object * obj,
Msg message)
Invokes a method on a BOOPSI object. The dispatcher of the class the
object is inherited from is called. For more information about methods
a class supports, see the class documentation.
obj - The object on which the method is to be performed.
message - The message. The first field is the same for all methods and
specifies which method is to be invoked (see
<intuition/classusr.h>).
Class and method dependent. See the class documentation. A value of 0
can be a valid return code but can also mean that a method is not
supported.
IPTR DoSuperMethodA(
Class * cl,
Object * obj,
Msg message)
Invokes a method on a BOOPSI object, as if the object were an instance
of the superclass of the class passed in. That is, the dispatcher of
the superclass is called instead of the object's class's dispatcher
(assuming the specified class is the object's own class).
cl - Class whose superclass's dispatcher is to be called. This is
typically the object's own class.
obj - The object on which the method is to be performed.
message - The message. The first field is the same for all methods and
specifies which method is to be invoked (see
<intuition/classusr.h>).
Class and method dependent. See the class documentation. A value of 0
can mean a valid return code but can also mean that a method was not
supported.
IPTR DoSuperNewTagList(
Class *CLASS,
Object *object,
struct GadgetInfo *gadgetInfo,
struct TagItem *tags
)
void DrawBevelBox(
struct RastPort * rp,
WORD left,
WORD top,
WORD width,
WORD height,
Tag tag1,
... )
Varargs version of gadtools.library/DrawBevelBoxA().
LONG EasyRequest(
struct Window *window,
struct EasyStruct *easyStruct,
ULONG *IDCMP_ptr,
...)
Returns the current error stream or 0 if there is no current
input stream.
This function is source-compatible with AmigaOS v4.
ULONG ExtendFontTags(
struct TextFont * font,
Tag tag1,
...)
This is the varargs version of graphics.library/ExtendFont().
For information see graphics.library/ExtendFont().
ULONG FastRand(
ULONG seed)
VOID FreeIEvents(
struct InputEvent *ie)
Frees a chain of input events allocated by InvertString() or InvertStringForwd().
void FreeMsgFromStack(
Msg msg)
Frees the memory occupied by the message which was created by
GetMsgFromStack().
msg - The return value of GetMsgFromStack(). May be NULL.
void FreeParamsFromStack(
APTR params)
Frees the memory occupied by the parameters array which was
created by GetParamsFromStack().
params - The return value of GetParamsFromStack(). May be NULL.
void FreeTagsFromStack(
struct TagItem * tags)
Frees the memory occupied by the tagitems which were created by
GetTagsFromStack().
tags - The return value of GetTagsFromStack(). May be NULL.
VOID GetDataStreamFromFormat(
CONST_STRPTR format,
va_list args,
RAWARG dataStream, ULONG *dataSize,
ULONG *indexStream, ULONG *indexSize)
Builds an array of parameters which are passed on the stack.
This function is used on machines which have compilers which
don't pass the arguments to a varargs function unlike the
Amiga ones.
format - Exec/RawDoFmt or Locale/FormatString format string
args - This has to be initialized by va_start()
(not used if dataStream is NULL)
dataStream - data buffer to write to
(can be NULL for sizing)
dataSize - size of the buffer
(can be NULL, or pointer to 0 for sizing)
updated to the actual size required at exit.
indexStream- array of offsets to the Nth element in the dataStream
(can be NULL for sizing)
indexSize - size of the index, in bytes
(can be NULL, or pointer to 0 for sizing)
updated to the actual size required at exit.
An array which can be passed to any function which expects the
structure or NULL if something failed. This call may fail for
different reasons on different systems. On some systems, NULL
indicates that there was not enough memory.
This structure converts from format types to the following
dataStream values in the returned structure. The dataStream
is suitable for use by Exec/RawDoFmt or Locale/FormatString,
and is packed on WORD alignment. The indexStream is used
internally by Locale/FormatString for format repositioning.
Format code GET_ARG() type Datastream type
----------- ------------- ---------------
%c char (really int) WORD
%d/%D int WORD
%u/%U unsigned int UWORD
%x/%X unsigned int UWORD
%b BPTR IPTR
%s const char * IPTR
%p/%P void * IPTR
%l<cdDuUxX> LONG LONG
%ll<cdDuUxX> QUAD QUAD
%i<cdDuUxX> IPTR IPTR
%% - -
ULONG GetDTAttrs(
Object * o,
Tag tag1,
...)
This is the varargs version of datatypes.library/GetDTAttrsA().
For information see datatypes.library/GetDTAttrsA().
LONG GetExtSprite(
struct ExtSprite * sprite,
Tag tag1,
...)
This is the varargs version of graphics.library/GetExtSpriteA().
For information see graphics.library/GetExtSpriteA().
Msg GetMsgFromStack(
IPTR MethodID,
va_list args)
Builds a message structure with the parameters which are passed on
the stack. This function is used on machines which have compilers
which don't pass the arguments to a varargs function unlike the
Amiga ones.
MethodID - This is the ID of the message
args - This has to be initialized by va_start()
firstlocal - The address of the first local function of the
function which wants to call GetMsgFromStack()
A message which can be passed to any function which expects the
structure which is defined for this MethodID or NULL if something
failed. This call may fail for different reasons on different
systems. On some systems, NULL indicates that there was not enough
memory, on others that the MethodID is unknown.
This function fails for structures with more than 32 fields.
APTR GetParamsFromStack(
va_list args)
Builds an array of parameters which are passed on the stack.
This function is used on machines which have compilers which
don't pass the arguments to a varargs function unlike the
Amiga ones.
args - This has to be initialized by va_start()
An array which can be passed to any function which expects the
structure or NULL if something failed. This call may fail for
different reasons on different systems. On some systems, NULL
indicates that there was not enough memory.
This function fails for structures with more than 20 fields.
LONG GetRexxVar(
struct RexxMsg *msg,
CONST_STRPTR varname,
char **value)
Get a the value of the name REXX variable.
msg - A REXX message generated from a running REXX script
varname - The name of the variable to get the value from
value - a pointer to a string pointer that will be filled with
a pointer to the value of the variable. This value
not be changed. On AROS this pointer will also be an
argstring so you can get the length with LengthArgstring.
length - the length of the value argument
0 when success, otherwise a REXX error value is returned.
On AROS the pointer returned in value is only valid until the next
getrexxvar call on the same running script.
void GetRPAttrs(
struct RastPort * rp,
Tag tag1,
...)
This is the varargs version of graphics.library/GetRPAttrsA().
For information see graphics.library/GetRPAttrsA().
LONG GetSegListInfoTags(
BPTR seglist,
Tag tag1,
...)
This is the varargs version of dos.library/GetSegListInfo().
For information see dos.library/GetSegListInfo().
struct TagItem * GetTagsFromStack(
IPTR firstTag,
va_list args)
Builds a tagitem array with the tags on the stack. This function is
used on machines which have compilers which don't pass the
arguments to a varargs function unlike the Amiga ones.
firstTag - This is the first tag passed to the function
args - This has to be initialized by va_start()
A TagItem array which can be passed to any function which expects
such an array or NULL if something failed. This call may fail for
different reasons on different systems. On some systems, NULL
indicates that there was not enough memory, on others that the
MethodID is unknown.
APTR GetVisualInfo(
struct Screen * screen,
Tag tag1,
... )
Varargs version of gadtools.library/GetVisualInfoA().
LONG GT_GetGadgetAttrs(
struct Gadget * gad,
struct Window * win,
struct Requester * req,
Tag tag1,
... )
Varargs version of gadtools.library/GT_GetGadgetAttrsA().
void GT_SetGadgetAttrs(
struct Gadget * gad,
struct Window * win,
struct Requester * req,
Tag tag1,
... )
Varargs version of gadtools.library/GT_SetGadgetAttrsA().
IPTR HookEntry(
struct Hook * hook,
APTR object,
APTR param );
Some high level languages (HLL) don't allow to pass arguments in
registers. For these HLLs, it's not possible to call a hook
directly. To use hooks with these HLLs, you must put HookEntry into
hook->h_Entry and the real callback function into hook->h_SubEntry.
HookEntry will push the registers on the stack and then call
hook->h_SubEntry.
hook - Call this hook.
object - This is the object which is passed to the hook. The valid
values for this parameter depends on the definition of the called
hook.
param - Pass these parameters to the specified object
The return value depends on the definition of the hook.
CxObj *HotKey(
STRPTR description,
struct MsgPort *port,
LONG id
)
A simple way to get a hotkey for your program. The program is
posted a message when the user does the specified input action in
'description' regardless of whether the program has input focus or
not. The key combination event is swallowed, that is not sent any
farther in the input system.
It's recommended that the user should be able to specify a
program's hotkey with tooltypes, for instance
HOTKEY="alt shift f5".
description -- commodities filter description (see
commodities.library/SetFilter())
port -- message port the hotkey messages will be sent to
id -- identifier (see CxSender())
A pointer to a filter object which represents the HotKey.
Commodities.library must be open at the time of the call.
struct InputEvent *InvertString(
STRPTR str,
struct KeyMap *km
)
Return a linked list of input events which would produce the string
'str' in the reverse order, with the keymap 'km'. To get a list of
events in the right order, just use InvertStringForwd(). InverString()
is only there to provide compatibility with the original function,
which indeed reversed the order of the supplied string.
str -- pointer to a (NULL-terminated) string that may contain
* ANSI character codes
* backslash-escaped characters:
\n -- carriage return
\r -- carriage return
\t -- tab
\\ -- backslash
* a description of an input event a la ParseIX() surrounded
by angle brackets
km -- keymap to use for the conversion or NULL to use the default
keymap
A linked list of input events or NULL if something went wrong.
An example string: "\n<shift alt a> olleH"
struct InputEvent *InvertStringForwd(
STRPTR str,
struct KeyMap *km
)
Return a linked list of input events which would produce the string
'str' with the keymap 'km'.
str -- pointer to a (NULL-terminated) string that may contain
* ANSI character codes
* backslash-escaped characters:
\n -- carriage return
\r -- carriage return
\t -- tab
\\ -- backslash
* a description of an input event a la ParseIX() surrounded
by angle brackets
km -- keymap to use for the conversion or NULL to use the default
keymap
A linked list of input events or NULL if something went wrong.
An example string: "Hello <shift alt a>\n"
BOOL LayoutMenuItems(
struct MenuItem * menuitem,
APTR vi,
Tag tag1,
... )
Varargs version of gadtools.library/LayoutMenuItemsA().
BOOL LayoutMenus(
struct Menu * menu,
APTR vi,
Tag tag1,
... )
Varargs version of gadtools.library/LayoutMenusA().
APTR LibAllocAligned(
IPTR memSize,
ULONG requirements,
IPTR alignBytes)
Allocate a memory block with a start address and size that are
multiples of a power-of-two. The returned memory must be freed using
FreeMem().
memSize - Size in bytes of the aligned area
requirements - Memory requirements (same as AllocMem())
alignBytes - Required alignment, in bytes.
This must be a power of 2!
Pointer to the newly allocated area, or NULL if no satisfying memory
can be found.
If alignBytes is not a power of two, NULL is returned.
If memSize is not a multiple of alignBytes, NULL is returned.
APTR LibAllocPooled(
APTR pool,
ULONG memSize)
APTR LibCreatePool(
ULONG requirements,
ULONG puddleSize,
ULONG threshSize)
VOID LibDeletePool(
APTR pool)
void LibFreePooled(
APTR pool,
APTR memory,
ULONG memSize)
APTR LockBitMapTags(
APTR handle,
Tag tag1,
...)
BOOL MakeWorkbenchObjectVisible(
STRPTR name,
Tag tag1,
...)
This is the varargs version of workbench.library/MakeWorkbenchObjectVisibleA().
For information see workbench.library/MakeWorkbenchObjectVisibleA().
static inline struct MinNode *Merge(
struct MinNode *l,
int (*compare)(struct MinNode *n1, struct MinNode *n2, void *data),
void *data)
Given a list of ordered circular sublists, merge pairs of ordered sublists into one
ordered circular sublist.
l - The first node of the first sublist. The sublists must be linked one
after the other one, and must be circular lists, that is their
first node's Pred pointer must point to their last node.
I.e., the 2nd sublist will be at l->mln_Pred->mln_Succ, the 3rd will be at
l->mln_Pred->mln_Succ->mln_Pred->mln_Succ and so on.
compare - Pointer to the comparison function used to merge the
sublists
data - Pointer to user-defined data which will be passed untouched
to the comparison function.
Pointer to the first node of the resulting list of sublists, with the same
format of the input list, but with pairs of sublists merged into one.
void MergeSortList(
struct MinList *l,
int (*compare)(struct MinNode *n1, struct MinNode *n2, void *data),
void *data)
Sorts an Exec-style doubly linked list, by using a variant of the merge sorting
algorithm, which is Theta(n log n ). No additional space is required other than
the one needed for local variables in the function itself. The function is not
recursive.
l - The list to sort.
compare - Pointer to the comparison function which establishes the order
of the elements in the list
data - Pointer to user-defined data which will be passed untouched
to the comparison function.
The given list, sorted in place.
Object * NewDTObject(
APTR name,
Tag tag1,
...)
This is the varargs version of datatypes.library/NewDTObjectA().
For information see datatypes.library/NewDTObjectA().
void NewList(
struct List * list)
Initialize a list. After that, you can use functions like
AddHead(), AddTail() and Insert() on the list.
list - the list to be initialized
You can also pass a struct MinList to this function.
BPTR NewLoadSegTags(
STRPTR file,
Tag tag1,
...)
This is the varargs version of dos.library/NewLoadSeg().
For information see dos.library/NewLoadSeg().
APTR NewObject(
struct IClass * classPtr,
UBYTE * classID,
Tag tag1,
... )
Use this function to create BOOPSI objects (BOOPSI stands for
"Basic Object Oriented Programming System for Intuition).
You may specify a class either by it's name (if it's a public class)
or by a pointer to its definition (if it's a private class). If
classPtr is NULL, classID is used.
classPtr - Pointer to a private class (or a public class if you
happen to have a pointer to it)
classID - Name of a public class
tagList - Initial attributes. Read the documentation of the class
carefully to find out which attributes must be specified
here and which can.
A BOOPSI object which can be manipulated with general functions and
which must be disposed with DisposeObject() later.
This functions send OM_NEW to the dispatcher of the class.
STRPTR NewRawDoFmt(
CONST_STRPTR FormatString,
VOID_FUNC PutChProc,
APTR PutChData,
... )
This is the varargs version of exec.library/VNewRawDoFmt().
For information see exec.library/VNewRawDoFmt().
struct Region *NewRectRegion(
WORD MinX,
WORD MinY,
WORD MaxX,
WORD MaxY)
Creates a new rectangular Region
MinX, MinY, MaxX, MaxY - The extent of the Rect
Pointer to the newly created Region. NULL on failure.
This function is a shorthand for:
struct Rectangle rect;
struct Region *region;
rect.MinX = MinX;
rect.MinY = MinY;
rect.MaxX = MaxX;
rect.MaxY = MaxY;
region = NewRegion();
OrRectRegion(region, &rect);
LONG ObtainBestPen(
struct ColorMap * cm,
ULONG R,
ULONG G,
ULONG B,
Tag tag1,
... ) __stackparm
This is the varargs version of graphics.library/ObtainBestPenA().
For information see graphics.library/ObtainBestPenA().
ULONG ObtainInfo(
struct GlyphEngine *glyphEngine,
Tag tag1,
...)
Obtain information about an GlyphEngine.
object - Obtain information about this GlyphEngine
tag1 - The first of a list of attribute/value-pairs. The last
attribute in this list must be TAG_END or TAG_DONE.
The value for this last attribute is not examined (ie.
you need not specify it).
AMIGAGUIDECONTEXT OpenAmigaGuide(
struct NewAmigaGuide * nag,
Tag tag1,
...)
This is the varargs version of amigaguide.library/OpenAmigaGuideA().
For information see amigaguide.library/OpenAmigaGuideA().
AMIGAGUIDECONTEXT OpenAmigaGuideAsync(
struct NewAmigaGuide * nag,
Tag tag1,
...)
This is the varargs version of amigaguide.library/OpenAmigaGuideAsyncA().
For information see amigaguide.library/OpenAmigaGuideAsyncA().
struct Catalog * OpenCatalog(
const struct Locale * locale,
CONST_STRPTR name,
Tag tag1,
... )
This is the varargs version of the locale.library OpenCatalogA().
For information see locale.library/OpenCatalog()
locale - The locale describing the language the user
wants.
name - Name of the catalog file.
tag1 - TagList of extra arguments.
Either a pointer to a Catalog, or NULL.
Although the function may have returned NULL, that does not
necessarily meant there is an error. If dos/IoErr() returns
0, then there was no error, but the language of the built in
strings is the same as that of a catalog.
If IoErr() != 0, then there was an error however.
struct Screen * OpenScreenTags(
struct NewScreen * newScreen,
Tag tag1,
...)
struct Window * OpenWindowTags(
struct NewWindow * newWindow,
Tag tag1,
... )
BOOL OpenWorkbenchObject(
STRPTR name,
Tag tag1,
...)
This is the varargs version of workbench.library/OpenWorkbenchObjectA().
For information see workbench.library/OpenWorkbenchObjectA().
ULONG RangeRand(
ULONG maxValue)
void RefreshDTObject(
Object * o,
struct Window * win,
struct Requester *req,
Tag tag1,
...)
This is the varargs version of datatypes.library/RefreshDTObjectA().
For information see datatypes.library/RefreshDTObjectA().
void RefreshDTObjects(
Object * o,
struct Window * win,
struct Requester *req,
Tag tag1,
...)
This is the varargs version of datatypes.library/RefreshDTObjectA().
For information see datatypes.library/RefreshDTObjectA().
ULONG ReleaseInfo(
struct GlyphEngine *glyphEngine,
Tag tag1,
...)
Release information obtained from an GlyphEngine.
object - Release information obtained from this GlyphEngine
tag1 - The first of a list of attribute/value-pairs. The last
attribute in this list must be TAG_END or TAG_DONE.
The value for this last attribute is not examined (ie.
you need not specify it).
LONG RemoveAmigaGuideHost(
AMIGAGUIDEHOST key,
Tag tag1,
...)
This is the varargs version of amigaguide.library/RemoveAmigaGuideHostA().
For information see amigaguide.library/RemoveAmigaGuideHostA().
BPTR SelectErrorOutput(
BPTR fh)
Sets the current error stream returned by ErrorOutput() to a new
value. Returns the old error stream.
This function is source-compatible with AmigaOS v4.
BOOL SendAmigaGuideCmd(
AMIGAGUIDECONTEXT handle,
STRPTR cmd,
Tag tag1,
...)
This is the varargs version of amigaguide.library/SendAmigaGuideCmdA().
For information see amigaguide.library/SendAmigaGuideCmdA().
BOOL SendAmigaGuideContext(
AMIGAGUIDECONTEXT handle,
Tag tag1,
...)
This is the varargs version of amigaguide.library/SendAmigaGuideContextA().
For information see amigaguide.library/SendAmigaGuideContextA().
LONG SetAmigaGuideAttrs(
AMIGAGUIDECONTEXT handle,
Tag tag1,
...)
This is the varargs version of amigaguide.library/SetAmigaGuideAttrsA().
For information see amigaguide.library/SetAmigaGuideAttrsA().
BOOL SetAmigaGuideContext(
AMIGAGUIDECONTEXT handle,
ULONG context,
Tag tag1,
...)
This is the varargs version of amigaguide.library/SetAmigaGuideContextA().
For information see amigaguide.library/SetAmigaGuideContextA().
IPTR SetAttrs(
APTR object,
Tag tag1,
...)
Changes several attributes of an object at the same time. How the
object interprets the new attributes depends on the class.
object - Change the attributes of this object
tag1 - The first of a list of attribute/value-pairs. The last
attribute in this list must be TAG_END or TAG_DONE.
The value for this last attribute is not examined (ie.
you need not specify it).
Depends on the class. For gadgets, this value is non-zero if
they need redrawing after the values have changed. Other classes
will define other return values.
This function sends OM_SET to the object.
ULONG SetDTAttrs(
Object * o,
struct Window * win,
struct Requester *req,
Tag tag1,
...)
This is the varargs version of datatypes.library/SetDTAttrsA().
For information see datatypes.library/SetDTAttrsA().
IPTR SetGadgetAttrs(
struct Gadget * Gadget,
struct Window * Window,
struct Requester * Requester,
Tag tag1,
...)
Changes several attributes of a gadget at the same time. How the
gadget interprets the new attributes depends on the class.
Gadget - Change the attributes of this object
Window - The window the gadget is in
Requester - The Requester the gadget is in, may be NULL
tag1 - The first of a list of attribute/value-pairs. The last
attribute in this list must be TAG_END or TAG_DONE.
The value for this last attribute is not examined (ie.
you need not specify it).
This value is non-zero if the gadget needs redrawing after the
values have changed.
This function sends OM_SET to the object.
NewObject() SetAttrs() "Basic Object-Oriented Programming System for Intuition" and "boopsi Class Reference" documentation.
ULONG SetInfo(
struct GlyphEngine *glyphEngine,
Tag tag1,
...)
Changes attributes of an GlyphEngine.
object - Change the attributes of this GlyphEngine
tag1 - The first of a list of attribute/value-pairs. The last
attribute in this list must be TAG_END or TAG_DONE.
The value for this last attribute is not examined (ie.
you need not specify it).
LONG SetRexxVar(
struct RexxMsg *msg,
CONST_STRPTR varname,
char *value,
ULONG length)
Set the value of the named REXX variable.
msg - A REXX message generated from a running REXX script
varname - The name of the variable to set the value
value - a pointer to the beginning of the value to set
length - the length of the value argument
0 when success, otherwise a REXX error value is returned.
void SetRPAttrs(
struct RastPort * rp,
Tag tag1,
...)
This is the varargs version of graphics.library/SetRPAttrsA().
For information see graphics.library/SetRPAttrsA().
IPTR SetSuperAttrs(
Class * class,
Object * object,
Tag tag1,
...)
Changes several attributes of an object at the same time. How the
object interprets the new attributes depends on the class.
class - Assume that the object is of this class.
object - Change the attributes of this object
tag1 - The first of a list of attribute/value-pairs. The last
attribute in this list must be TAG_END or TAG_DONE.
The value for this last attribute is not examined (ie.
you need not specify it).
Depends in the class. For gadgets, this value is non-zero if
they need redrawing after the values have changed. Other classes
will define other return values.
This function sends OM_SET to the object.
void SetWindowPointer(
struct Window * window,
ULONG tag1,
... )
Varargs version of intuition.library/SetWindowPointerA().
STRPTR StrDup(
CONST_STRPTR str)
This function allocates enough space, and copies the given string
into it.
str - the string to duplicate
A string copy of the original string (possibly of zero length) or
NULL if passed a NULL pointer.
This functions allocates the new string memory with AllocVec().
Don't forget to call FreeVec() when you're done with it.
LONG SystemTags(
STRPTR command,
Tag tag1,
...)
This is the varargs version of dos.library/SystemTagList().
For information see dos.library/SystemTagList().
LONG TimeDelay(
LONG Unit,
ULONG Seconds,
ULONG MicroSeconds)
TimeDelay() waits for the specified period of time before returning
to the caller.
Unit - The timer.device unit to use for this command.
Seconds - The number of seconds to wait.
MicroSeconds - The number of microseconds to wait.
Zero if everything went OK, non-zero if there was a problem.
If this function fails, the most likely reasons are:
- invalid timer.device unit numbers
This function uses the SIGF_SINGLE signal, strange things can
happen if you are waiting on this signal when you call this
function. Basically: Don't use it and call this function.
timer.device/TR_ADDREQUEST
void UnLockBitMapTags(
APTR handle,
Tag tag1,
...)
ULONG VideoControlTags(
struct ColorMap * cm,
Tag tag1,
...)
This is the varargs version of graphics.library/VideoControl().
For information see graphics.library/VideoControl().
BOOL WorkbenchControl(
STRPTR name,
Tag tag1,
...)
This is the varargs version of workbench.library/WorkbenchControlA().
For information see workbench.library/WorkbenchControlA().
|
|