home *** CD-ROM | disk | FTP | other *** search
- #ifndef __INC_POS_PROTO_PEXEC2_H
- #define __INC_POS_PROTO_PEXEC2_H
- /*******************************************************************
- Includes Release 24
- (C) Copyright 1995-1997 proDAD
- All Rights Reserved
-
- $AUT Holger Burkarth
- $DAT >>pExec2.h<< 08 Mar 1997 08:38:57 - (C) ProDAD
- *******************************************************************/
- #ifndef __INC_POS_PEXEC_LIST_H
- #include <pExec/List.h>
- #endif
-
-
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- /*------ execbase -----------------------------------------------------*/
- VOID pOS_ColdReboot(VOID);
- VOID pOS_WriteDebug(_R_A0 const VOID*,_R_D0 size_t,_R_D1 ULONG type);
- VOID pOS_LockSemaphoreList(VOID);
- VOID pOS_UnlockSemaphoreList(VOID);
- VOID pOS_LockMsgPortList(VOID);
- VOID pOS_UnlockMsgPortList(VOID);
- VOID pOS_LockClassList(VOID);
- VOID pOS_UnlockClassList(VOID);
- VOID pOS_LockLibraryList(VOID);
- VOID pOS_UnlockLibraryList(VOID);
- VOID pOS_LockDeviceList(VOID);
- VOID pOS_UnlockDeviceList(VOID);
- VOID pOS_LockTaskList(VOID);
- VOID pOS_UnlockTaskList(VOID);
-
-
- /*------ tasks --------------------------------------------------------*/
- APTR pOS_AddTask(_R_A0 struct pOS_Task*,_R_A1 APTR initPC,_R_A2 APTR finalPC);
- VOID pOS_RemTask(_R_A0 __ARID__ struct pOS_Task*);
- struct pOS_Task *pOS_FindTask(_R_A0 const CHAR*);
- SBYTE pOS_SetTaskPriority(_R_A0 struct pOS_Task*,_R_D0 SLONG priority);
- ULONG pOS_SetSignal(_R_D0 ULONG newSignals,_R_D1 ULONG signalSet);
- ULONG pOS_WaitSignal(_R_D0 ULONG signalSet);
- VOID pOS_SendSignal(_R_A0 struct pOS_Task*,_R_D0 ULONG signalSet);
- __ARID__ ULONG pOS_AllocSignal(_R_D0 ULONG signalNum);
- VOID pOS_FreeSignal(_R_D0 __ARID__ ULONG signalNum);
- __ARID__ ULONG pOS_AllocTrap(_R_D0 ULONG trapNum);
- VOID pOS_FreeTrap(_R_D0 __ARID__ ULONG trapNum);
- VOID pOS_ForbidSchedul(VOID);
- VOID pOS_PermitSchedul(VOID);
- struct pOS_Task* pOS_CreateTask(_R_A0 const CHAR* name,_R_D0 SLONG pri,
- _R_A1 APTR func,_R_D1 size_t stackSize,_R_D2 size_t taskSize,
- _R_D3 ULONG userData0,_R_A2 struct pOS_TaskControl*);
- VOID pOS_CacheClearE(_R_A0 APTR,_R_D0 size_t,_R_D1 ULONG);
- VOID pOS_CacheClearU(VOID);
- ULONG pOS_CacheControl(_R_D0 ULONG,_R_D1 ULONG);
- VOID pOS_StackSwap(_R_A0 struct pOS_StackSwapData*);
- VOID pOS_ForbidIRQ(VOID);
- VOID pOS_PermitIRQ(VOID);
- ULONG pOS_WaitTimeSignal(_R_D0 ULONG signalSet,_R_D1 ULONG micros);
- VOID pOS_DeleteTask(_R_A0 __ARID__ struct pOS_Task*,_R_A1 struct pOS_Task* sigTask,_R_D0 ULONG signalSet);
- SBYTE pOS_SetTaskXPri(_R_A0 struct pOS_Task*,_R_D0 SLONG runPri,_R_D1 SLONG sysPri,_R_D2 ULONG mode);
- ULONG pOS_Supervisor(_R_A0 ULONG(*func)(VOID) );
-
-
-
- /*------ messages -----------------------------------------------------*/
- VOID pOS_AddPort(_R_A0 struct pOS_MsgPort*);
- VOID pOS_RemPort(_R_A0 struct pOS_MsgPort*);
- VOID pOS_PutMsg(_R_A0 struct pOS_MsgPort*,_R_A1 __ARID__ struct pOS_Message*);
- __ARID__ struct pOS_Message *pOS_GetMsg(_R_A0 struct pOS_MsgPort*);
- VOID pOS_ReplyMsg(_R_A0 __ARID__ struct pOS_Message*);
- __ARID__ struct pOS_Message *pOS_WaitPort(_R_A0 struct pOS_MsgPort*);
- struct pOS_MsgPort *pOS_FindPort(_R_A0 const CHAR *name);
- __ARID__ struct pOS_MsgPort *pOS_CreatePort(_R_A0 const CHAR*,_R_D0 SLONG pri);
- VOID pOS_DeletePort(_R_A0 __ARID__ struct pOS_MsgPort*);
- struct pOS_MsgPort *pOS_ConstructMsgPort(_R_A0 struct pOS_MsgPort*);
- VOID pOS_DestructMsgPort(_R_A0 struct pOS_MsgPort*);
- struct pOS_MsgPort *pOS_ConstructSigPort(_R_A0 struct pOS_MsgPort*,_R_D0 ULONG sigBit);
- struct pOS_Message *pOS_WaitTimePort(_R_A0 struct pOS_MsgPort*,_R_D0 ULONG micros);
-
-
-
-
- /*------ libraries ----------------------------------------------------*/
- VOID pOS_AddLibrary(_R_A0 struct pOS_Library*);
- VOID pOS_RemLibrary(_R_A0 struct pOS_Library*);
- __ARID__ struct pOS_Library* pOS_OpenLibrary(_R_A0 const CHAR*,_R_D0 ULONG version);
- VOID pOS_CloseLibrary(_R_A0 __ARID__ struct pOS_Library*);
- VOID pOS_SumLibrary(_R_A0 struct pOS_Library*);
- size_t pOS_MakeFunctions(_R_A0 struct pOS_LibraryFunction*,
- _R_A1 const ULONG**,_R_A2 ULONG*,_R_D0 size_t);
- __ARID__ struct pOS_Library *pOS_MakeLibrary(_R_A0 const ULONG**,_R_A1 APTR,
- _R_A2 BOOL (*initFunc)(_R_LB struct pOS_ExecBase*,_R_A0 struct pOS_Library*),
- _R_D0 size_t posSize,_R_A3 struct pOS_SegmentLst*);
- struct pOS_LibraryFunction* pOS_SetLibFunction(_R_A0 struct pOS_Library*,
- _R_D0 SLONG funcIndex,_R_A1 const struct pOS_LibraryFunction* newFunc,
- _R_A2 struct pOS_LibraryFunction* oldFunc);
-
-
-
- /*------ memory allocation --------------------------------------------*/
- __ARID__ APTR pOS_Allocate(_R_A0 struct pOS_MemHeader*,_R_D0 size_t byteSize );
- VOID pOS_Deallocate(_R_A0 struct pOS_MemHeader*,_R_A1 __ARID__ APTR memoryBlock,_R_D0 size_t byteSize);
- __ARID__ APTR pOS_AllocMem(_R_D0 size_t byteSize,_R_D1 ULONG requirements);
- __ARID__ APTR pOS_AllocAbs(_R_D0 size_t byteSize,_R_A0 APTR location);
- VOID pOS_FreeMem(_R_A0 __ARID__ APTR memoryBlock,_R_D0 size_t byteSize);
- size_t pOS_AvailMem(_R_D0 ULONG requirements);
- __ARID__ struct pOS_MemList *pOS_AllocEntry(_R_A0 struct pOS_MemPool*,_R_A1 struct pOS_MemList*);
- VOID pOS_FreeEntry(_R_A0 struct pOS_MemPool*,_R_A1 __ARID__ struct pOS_MemList*);
- VOID pOS_AddMemList(_R_D0 size_t,_R_D1 ULONG attr,_R_D2 SLONG pri,_R_A0 APTR adr,_R_A1 const CHAR* name);
- __ARID__ APTR pOS_AllocVec(_R_D0 size_t,_R_D1 ULONG attr);
- VOID pOS_FreeVec(_R_A0 __ARID__ APTR);
- VOID pOS_InitMemPool(_R_A0 struct pOS_MemPool*,_R_D0 size_t segmSize,_R_D1 ULONG semgMEMF);
- __ARID__ APTR pOS_AllocPoolMem(_R_A0 struct pOS_MemPool*,_R_D0 size_t size,_R_D1 ULONG memf);
- VOID pOS_FreePoolMem(_R_A0 struct pOS_MemPool*,_R_A1 __ARID__ APTR,_R_D0 size_t size);
- VOID pOS_FreePoolAll(_R_A0 struct pOS_MemPool*);
- __ARID__ APTR pOS_AllocPoolVec(_R_A0 struct pOS_MemPool*,_R_D0 size_t size,_R_D1 ULONG memf);
- VOID pOS_FreePoolVec(_R_A0 struct pOS_MemPool*,_R_A1 __ARID__ APTR);
- VOID pOS_CopyMem(_R_A0 const VOID*,_R_A1 VOID*,_R_D0 size_t);
- VOID pOS_AddMemHandler(_R_A0 struct pOS_Callback*);
- VOID pOS_RemMemHandler(_R_A0 struct pOS_Callback*);
- size_t pOS_AvailPoolMem(_R_A0 const struct pOS_MemPool*,_R_D0 ULONG requirements);
- ULONG pOS_TypeOfMem(_R_A0 const VOID*,_R_D0 ULONG mode);
- BOOL pOS_IsPoolMem(_R_A0 const struct pOS_MemPool*,_R_A1 const VOID*);
- __ARID__ APTR pOS_AllocAlignment(_R_A0 struct pOS_MemPool*,_R_D0 size_t byteSize,
- _R_D1 ULONG requirements,_R_D2 ULONG lg2);
-
-
-
-
- /*------ signal semaphores (note funny registers)----------------------*/
- VOID pOS_InitSemaphore(_R_A0 struct pOS_Semaphore*);
- VOID pOS_ObtainSemaphore(_R_A0 struct pOS_Semaphore*);
- VOID pOS_ReleaseSemaphore(_R_A0 struct pOS_Semaphore*);
- BOOL pOS_AttemptSemaphore(_R_A0 struct pOS_Semaphore*);
- VOID pOS_ObtainSemaphoreList(_R_A0 struct pOS_ExList*);
- VOID pOS_ReleaseSemaphoreList(_R_A0 struct pOS_ExList*);
- struct pOS_Semaphore *pOS_FindSemaphore(_R_A0 const CHAR*);
- VOID pOS_AddSemaphore(_R_A0 struct pOS_Semaphore*);
- VOID pOS_RemSemaphore(_R_A0 struct pOS_Semaphore*);
- VOID pOS_ProcureSemaphore(_R_A0 struct pOS_Semaphore*,_R_A1 struct pOS_Message*);
- VOID pOS_VacateSemaphore(_R_A0 struct pOS_Semaphore*,_R_A1 struct pOS_Message*);
- BOOL pOS_AttemptProcureSemaphore(_R_A0 struct pOS_Semaphore*,_R_A1 struct pOS_Message*);
- VOID pOS_ObtainSemaphoreShared(_R_A0 struct pOS_Semaphore*);
- BOOL pOS_AttemptTimeSemaphore(_R_A0 struct pOS_Semaphore*,_R_D0 ULONG micros);
- VOID pOS_AddSemaphoreQR(_R_A0 struct pOS_Semaphore*,_R_A1 struct pOS_Message*);
- VOID pOS_RemSemaphoreQR(_R_A0 struct pOS_Semaphore*,_R_A1 struct pOS_Message*);
- BOOL pOS_IsObtainSemaphore(_R_A0 struct pOS_Semaphore*);
-
-
-
- /*------ diagnostics --------------------------------------------------*/
- VOID pOS_DisplayAlert(_R_D0 ULONG alertNum);
- BOOL pOS_ExecCheckA(_R_A0 const struct pOS_TagItem*);
- VOID pOS_KPutChar(_R_D0 ULONG ch);
- VOID pOS_VKPrintf(_R_A0 const CHAR* fmt,_R_A1 const ULONG* argv);
-
-
-
- /*------ devices ------------------------------------------------------*/
- VOID pOS_AddDevice(_R_A0 struct pOS_Device*);
- VOID pOS_RemDevice(_R_A0 struct pOS_Device*);
- SBYTE pOS_OpenDevice(_R_A0 const CHAR*,_R_D0 ULONG unit,
- _R_A1 struct pOS_IORequest*,_R_D1 ULONG flags,_R_D2 ULONG version);
- VOID pOS_CloseDevice(_R_A0 struct pOS_IORequest*);
- SBYTE pOS_DoIO(_R_A0 struct pOS_IORequest*);
- VOID pOS_SendIO(_R_A0 __ARID__ struct pOS_IORequest*);
- struct pOS_IORequest *pOS_CheckIO(_R_A0 const struct pOS_IORequest*);
- SBYTE pOS_WaitIO(_R_A0 struct pOS_IORequest*);
- VOID pOS_AbortIO(_R_A0 struct pOS_IORequest*);
- VOID pOS_BeginIO(_R_A0 __ARID__ struct pOS_IORequest*);
- __ARID__ struct pOS_IORequest *pOS_CreateIORequest(_R_A0 struct pOS_MsgPort*,_R_D0 size_t);
- VOID pOS_DeleteIORequest(_R_A0 __ARID__ struct pOS_IORequest*);
-
-
- /*------ resources ----------------------------------------------------*/
- VOID pOS_AddResource(_R_A0 struct pOS_Resource*);
- VOID pOS_RemResource(_R_A0 struct pOS_Resource*);
- __ARID__ struct pOS_Resource* pOS_OpenResource(_R_A0 const CHAR*);
- VOID pOS_CloseResource(_R_A0 __ARID__ struct pOS_Resource*);
-
-
- /*------ resident ----------------------------------------------------*/
- struct pOS_Resident *pOS_FindResident(_R_A0 const CHAR*);
- APTR pOS_InitResident(_R_A0 const struct pOS_Resident*,_R_A1 struct pOS_SegmentLst*);
-
-
-
- /*------ RawDoFmt ----------------------------------------------------*/
- VOID pOS_RawDoFmt(_R_A0 struct pOS_RawDoFmtData*);
- const CHAR* pOS_ReadAsciiFmt(_R_A0 struct pOS_AsciiFmtData*,_R_A1 const CHAR*);
- CHAR* pOS_WriteAsciiFmt(_R_A0 const struct pOS_AsciiFmtData*,_R_A1 CHAR*,_R_D0 size_t);
-
-
- /*------ Class --------------------------------------------------------*/
- VOID pOS_AddClass(_R_A0 struct pOS_NClass*);
- VOID pOS_AddLinkClass(_R_A0 const struct pOS_NClass*,_R_A1 struct pOS_NClass*);
- VOID pOS_SubClass(_R_A0 struct pOS_NClass*);
- APTR pOS_CreateObject(_R_A0 struct pOS_NClass*,_R_A1 const CHAR*,
- _R_D0 ULONG,_R_A4 struct pOS_Method*);
- VOID pOS_DeleteObject(_R_A0 APTR);
- ULONG pOS_DoIMethodA(_R_A0 APTR,_R_A4 struct pOS_Method*);
- ULONG pOS_DoMMethodA(_R_A0 const struct pOS_Class*,_R_D0 ULONG idx,
- _R_A1 APTR,_R_A4 struct pOS_Method*);
- ULONG pOS_DoVirMethodA(_R_A0 const struct pOS_Class*,_R_A1 APTR,_R_A4 struct pOS_Method*);
- ULONG pOS_DoAbsMethodA(_R_A0 const struct pOS_Class*,_R_A1 APTR,_R_A4 struct pOS_Method*);
- struct pOS_NClass* pOS_OpenClass(_R_A0 const CHAR*,_R_D0 ULONG ver);
- VOID pOS_CloseClass(_R_A0 struct pOS_NClass*);
- APTR pOS_GetMemberAdr(_R_A0 const struct pOS_Class*,
- _R_D0 ULONG idx,_R_A1 APTR);
- BOOL pOS_MoveUpClassPtr(_R_A0 const struct pOS_Class*,_R_A1 APTR object,
- _R_A2 struct pOS_Class** newCl,_R_A3 APTR* newObject);
- BOOL pOS_MoveDownClassPtr(_R_A0 const struct pOS_Class*,_R_A1 APTR object,
- _R_A2 struct pOS_Class** newCl,_R_A3 APTR* newObject);
- APTR pOS_GetUpObjectAdr(_R_A0 const struct pOS_Class*,_R_A1 APTR,
- _R_D0 ULONG num);
- struct pOS_NClass* pOS_GetNClass(_R_A0 const struct pOS_Class*);
- APTR pOS_GetIMemberAdr(_R_D0 ULONG memberIdx,_R_A0 APTR);
- APTR pOS_GetObjectRootAdr(_R_A0 const struct pOS_Class*,_R_A1 APTR object);
- __ARID__ struct pOS_NClass *pOS_CreateClass(_R_A0 const CHAR* className,
- _R_A1 const CHAR* supClName,_R_A2 const struct pOS_NClass* supCl,
- _R_A3 APTR dispFunc,_R_D0 size_t objSize,_R_D1 ULONG supClVer);
- VOID pOS_DeleteClass(__ARID__ _R_A0 struct pOS_NClass*);
- BOOL pOS_DebugClassI(_R_A0 const VOID* obj,
- _R_A1 const CHAR* clName,_R_A2 const struct pOS_NClass* cl,_R_D0 BOOL print);
- BOOL pOS_DebugClassAbs(_R_A0 const VOID* obj,
- _R_A1 const struct pOS_Class* mcl,_R_A2 const CHAR* clName,
- _R_A3 const struct pOS_NClass* cl,_R_D0 BOOL print);
-
-
-
- ULONG pOS_DoIMethod(_R_A0 APTR,ULONG methode,...);
- ULONG pOS_DoVirMethod(_R_A0 const struct pOS_Class*,_R_A1 APTR,ULONG methode,...);
- ULONG pOS_DoAbsMethod(_R_A0 const struct pOS_Class*,_R_A1 APTR,ULONG methode,...);
- BOOL pOS_ExecCheck(ULONG tag,...);
-
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif
-