NEWS APPS DOCS ABOUT | ||||
Autodocs Include classes clib alib_protos.h alib_stdio_protos.h amigaguide_protos.h aml_protos.h arexx_protos.h asl_protos.h battclock_protos.h battmem_protos.h bevel_protos.h bitmap_protos.h bullet_protos.h button_protos.h cardres_protos.h checkbox_protos.h chooser_protos.h cia_protos.h clicktab_protos.h colorwheel_protos.h commodities_protos.h console_protos.h datatypes_protos.h datebrowser_protos.h ddebug_protos.h debug_protos.h disk_protos.h diskfont_protos.h dos_protos.h drawlist_protos.h exec_protos.h expansion_protos.h fuelgauge_protos.h gadtools_protos.h getfile_protos.h getfont_protos.h getscreenmode_protos.h glyph_protos.h graphics_protos.h icon_protos.h iffparse_protos.h input_protos.h integer_protos.h intuition_protos.h keymap_protos.h label_protos.h layers_protos.h layout_protos.h listbrowser_protos.h locale_protos.h lowlevel_protos.h macros.h mathffp_protos.h mathieeedoubbas_protos.h mathieeedoubtrans_protos.h mathieeesingbas_protos.h mathieeesingtrans_protos.h mathtrans_protos.h misc_protos.h nonvolatile_protos.h page_protos.h palette_protos.h penmap_protos.h popcycle_protos.h potgo_protos.h radiobutton_protos.h ramdrive_protos.h reaction_lib_protos.h realtime_protos.h requester_protos.h resource_protos.h rexxsyslib_protos.h scroller_protos.h slider_protos.h space_protos.h speedbar_protos.h string_protos.h texteditor_protos.h timer_protos.h translator_protos.h utility_protos.h virtual_protos.h wb_protos.h window_protos.h datatypes devices diskfont dos exec gadgets graphics hardware images intuition libraries pragma pragmas prefs proto reaction resources rexx utility workbench GuruMeditation | #ifndef CLIB_EXEC_PROTOS_H #define CLIB_EXEC_PROTOS_H /* ** $VER: exec_protos.h 45.2 (6.6.1998) ** ** C prototypes. For use with 32 bit integers only. ** ** Copyright © 2001 Amiga, Inc. ** All Rights Reserved */ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #ifndef EXEC_TYPES_H #include <exec/types.h> #endif #ifndef EXEC_TASKS_H #include <exec/tasks.h> #endif #ifndef EXEC_MEMORY_H #include <exec/memory.h> #endif #ifndef EXEC_PORTS_H #include <exec/ports.h> #endif #ifndef EXEC_DEVICES_H #include <exec/devices.h> #endif #ifndef EXEC_IO_H #include <exec/io.h> #endif #ifndef EXEC_SEMAPHORES_H #include <exec/semaphores.h> #endif #ifndef EXEC_AVL_H #include <exec/avl.h> #endif /*------ misc ---------------------------------------------------------*/ ULONG Supervisor( ULONG (*CONST userFunction)() ); /*------ special patchable hooks to internal exec activity ------------*/ /*------ module creation ----------------------------------------------*/ VOID InitCode( ULONG startClass, ULONG version ); VOID InitStruct( CONST APTR initTable, APTR memory, ULONG size ); struct Library *MakeLibrary( CONST APTR funcInit, CONST APTR structInit, ULONG (*CONST libInit)(), ULONG dataSize, ULONG segList ); VOID MakeFunctions( APTR target, CONST APTR functionArray, CONST APTR funcDispBase ); struct Resident *FindResident( CONST_STRPTR name ); APTR InitResident( CONST struct Resident *resident, ULONG segList ); /*------ diagnostics --------------------------------------------------*/ VOID Alert( ULONG alertNum ); VOID Debug( ULONG flags ); /*------ interrupts ---------------------------------------------------*/ VOID Disable( VOID ); VOID Enable( VOID ); VOID Forbid( VOID ); VOID Permit( VOID ); ULONG SetSR( ULONG newSR, ULONG mask ); APTR SuperState( VOID ); VOID UserState( APTR sysStack ); struct Interrupt *SetIntVector( LONG intNumber, CONST struct Interrupt *interrupt ); VOID AddIntServer( LONG intNumber, struct Interrupt *interrupt ); VOID RemIntServer( LONG intNumber, struct Interrupt *interrupt ); VOID Cause( struct Interrupt *interrupt ); /*------ memory allocation --------------------------------------------*/ APTR Allocate( struct MemHeader *freeList, ULONG byteSize ); VOID Deallocate( struct MemHeader *freeList, APTR memoryBlock, ULONG byteSize ); APTR AllocMem( ULONG byteSize, ULONG requirements ); APTR AllocAbs( ULONG byteSize, APTR location ); VOID FreeMem( APTR memoryBlock, ULONG byteSize ); ULONG AvailMem( ULONG requirements ); struct MemList *AllocEntry( struct MemList *entry ); VOID FreeEntry( struct MemList *entry ); /*------ lists --------------------------------------------------------*/ VOID Insert( struct List *list, struct Node *node, struct Node *pred ); VOID AddHead( struct List *list, struct Node *node ); VOID AddTail( struct List *list, struct Node *node ); VOID Remove( struct Node *node ); struct Node *RemHead( struct List *list ); struct Node *RemTail( struct List *list ); VOID Enqueue( struct List *list, struct Node *node ); struct Node *FindName( struct List *list, CONST_STRPTR name ); /*------ tasks --------------------------------------------------------*/ APTR AddTask( struct Task *task, CONST APTR initPC, CONST APTR finalPC ); VOID RemTask( struct Task *task ); struct Task *FindTask( CONST_STRPTR name ); BYTE SetTaskPri( struct Task *task, LONG priority ); ULONG SetSignal( ULONG newSignals, ULONG signalSet ); ULONG SetExcept( ULONG newSignals, ULONG signalSet ); ULONG Wait( ULONG signalSet ); VOID Signal( struct Task *task, ULONG signalSet ); BYTE AllocSignal( LONG signalNum ); VOID FreeSignal( LONG signalNum ); LONG AllocTrap( LONG trapNum ); VOID FreeTrap( LONG trapNum ); /*------ messages -----------------------------------------------------*/ VOID AddPort( struct MsgPort *port ); VOID RemPort( struct MsgPort *port ); VOID PutMsg( struct MsgPort *port, struct Message *message ); struct Message *GetMsg( struct MsgPort *port ); VOID ReplyMsg( struct Message *message ); struct Message *WaitPort( struct MsgPort *port ); struct MsgPort *FindPort( CONST_STRPTR name ); /*------ libraries ----------------------------------------------------*/ VOID AddLibrary( struct Library *library ); VOID RemLibrary( struct Library *library ); struct Library *OldOpenLibrary( CONST_STRPTR libName ); VOID CloseLibrary( struct Library *library ); APTR SetFunction( struct Library *library, LONG funcOffset, ULONG (*CONST newFunction)() ); VOID SumLibrary( struct Library *library ); /*------ devices ------------------------------------------------------*/ VOID AddDevice( struct Device *device ); VOID RemDevice( struct Device *device ); BYTE OpenDevice( CONST_STRPTR devName, ULONG unit, struct IORequest *ioRequest, ULONG flags ); VOID CloseDevice( struct IORequest *ioRequest ); BYTE DoIO( struct IORequest *ioRequest ); VOID SendIO( struct IORequest *ioRequest ); struct IORequest *CheckIO( struct IORequest *ioRequest ); BYTE WaitIO( struct IORequest *ioRequest ); VOID AbortIO( struct IORequest *ioRequest ); /*------ resources ----------------------------------------------------*/ VOID AddResource( APTR resource ); VOID RemResource( APTR resource ); APTR OpenResource( CONST_STRPTR resName ); /*------ private diagnostic support -----------------------------------*/ /*------ misc ---------------------------------------------------------*/ APTR RawDoFmt( CONST_STRPTR formatString, CONST APTR dataStream, VOID (*CONST putChProc)(), APTR putChData ); ULONG GetCC( VOID ); ULONG TypeOfMem( CONST APTR address ); ULONG Procure( struct SignalSemaphore *sigSem, struct SemaphoreMessage *bidMsg ); VOID Vacate( struct SignalSemaphore *sigSem, struct SemaphoreMessage *bidMsg ); struct Library *OpenLibrary( CONST_STRPTR libName, ULONG version ); /*--- functions in V33 or higher (Release 1.2) ---*/ /*------ signal semaphores (note funny registers)----------------------*/ VOID InitSemaphore( struct SignalSemaphore *sigSem ); VOID ObtainSemaphore( struct SignalSemaphore *sigSem ); VOID ReleaseSemaphore( struct SignalSemaphore *sigSem ); ULONG AttemptSemaphore( struct SignalSemaphore *sigSem ); VOID ObtainSemaphoreList( struct List *sigSem ); VOID ReleaseSemaphoreList( struct List *sigSem ); struct SignalSemaphore *FindSemaphore( STRPTR name ); VOID AddSemaphore( struct SignalSemaphore *sigSem ); VOID RemSemaphore( struct SignalSemaphore *sigSem ); /*------ kickmem support ----------------------------------------------*/ ULONG SumKickData( VOID ); /*------ more memory support ------------------------------------------*/ VOID AddMemList( ULONG size, ULONG attributes, LONG pri, APTR base, CONST_STRPTR name ); VOID CopyMem( CONST APTR source, APTR dest, ULONG size ); VOID CopyMemQuick( CONST APTR source, APTR dest, ULONG size ); /*------ cache --------------------------------------------------------*/ /*--- functions in V36 or higher (Release 2.0) ---*/ VOID CacheClearU( VOID ); VOID CacheClearE( APTR address, ULONG length, ULONG caches ); ULONG CacheControl( ULONG cacheBits, ULONG cacheMask ); /*------ misc ---------------------------------------------------------*/ APTR CreateIORequest( CONST struct MsgPort *port, ULONG size ); VOID DeleteIORequest( APTR iorequest ); struct MsgPort *CreateMsgPort( VOID ); VOID DeleteMsgPort( struct MsgPort *port ); VOID ObtainSemaphoreShared( struct SignalSemaphore *sigSem ); /*------ even more memory support -------------------------------------*/ APTR AllocVec( ULONG byteSize, ULONG requirements ); VOID FreeVec( APTR memoryBlock ); /*------ V39 Pool LVOs...*/ APTR CreatePool( ULONG requirements, ULONG puddleSize, ULONG threshSize ); VOID DeletePool( APTR poolHeader ); APTR AllocPooled( APTR poolHeader, ULONG memSize ); VOID FreePooled( APTR poolHeader, APTR memory, ULONG memSize ); /*------ misc ---------------------------------------------------------*/ ULONG AttemptSemaphoreShared( struct SignalSemaphore *sigSem ); VOID ColdReboot( VOID ); VOID StackSwap( struct StackSwapStruct *newStack ); /*------ future expansion ---------------------------------------------*/ APTR CachePreDMA( CONST APTR address, ULONG *length, ULONG flags ); VOID CachePostDMA( CONST APTR address, ULONG *length, ULONG flags ); /*------ New, for V39*/ /*--- functions in V39 or higher (Release 3) ---*/ /*------ Low memory handler functions*/ VOID AddMemHandler( struct Interrupt *memhand ); VOID RemMemHandler( struct Interrupt *memhand ); /*------ Function to attempt to obtain a Quick Interrupt Vector...*/ ULONG ObtainQuickVector( APTR interruptCode ); /*--- functions in V45 or higher ---*/ /*------ Finally the list functions are complete*/ VOID NewMinList( struct MinList *minlist ); /*------ New AVL tree support for V45. Yes, this is intentionally part of Exec!*/ struct AVLNode *AVL_AddNode( struct AVLNode **root, struct AVLNode *node, APTR func ); struct AVLNode *AVL_RemNodeByAddress( struct AVLNode **root, struct AVLNode *node ); struct AVLNode *AVL_RemNodeByKey( struct AVLNode **root, AVLKey key, APTR func ); struct AVLNode *AVL_FindNode( CONST struct AVLNode *root, AVLKey key, APTR func ); struct AVLNode *AVL_FindPrevNodeByAddress( CONST struct AVLNode *node ); struct AVLNode *AVL_FindPrevNodeByKey( CONST struct AVLNode *root, AVLKey key, APTR func ); struct AVLNode *AVL_FindNextNodeByAddress( CONST struct AVLNode *node ); struct AVLNode *AVL_FindNextNodeByKey( CONST struct AVLNode *root, AVLKey key, APTR func ); struct AVLNode *AVL_FindFirstNode( CONST struct AVLNode *root ); struct AVLNode *AVL_FindLastNode( CONST struct AVLNode *root ); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* CLIB_EXEC_PROTOS_H */ Comments |
$VER: d0.se 1.14 Copyright © 2011-2025 Tobias Geijersson support at d0 dot se |