home *** CD-ROM | disk | FTP | other *** search
- #ifndef WARPUP_GCCLIB_PROTOS_H
- #define WARPUP_GCCLIB_PROTOS_H
-
- /*
- ** $VER: waprup_protos.h 2.0 (15.03.98)
- ** WarpOS Release 14.1
- **
- ** '(C) Copyright 1998 Haage & Partner Computer GmbH'
- ** All Rights Reserved
- */
-
-
- #ifndef UTILITY_TAGITEM_H
- #include <utility/tagitem.h>
- #endif
-
- #ifndef DEVICES_TIMER_H
- #include <devices/timer.h>
- #endif
-
- #ifndef POWERPC_PORTSPPC_H
- #include <powerpc/portsPPC.h>
- #endif
-
- #ifndef POWERPC_TASKS_H
- #include <powerpc/tasksPPC.h>
- #endif
-
- #ifndef POWERPC_SEMAPHORES_H
- #include <powerpc/semaphoresPPC.h>
- #endif
-
- #ifdef __PPC__
-
- extern struct Library *PowerPCBase;
-
- #include <powerpc/warpup_macros.h>
-
- /* *** call 68K */
- #define Run68K(v1) PPCLP2 (PowerPCBase,-300,ULONG, struct Library *,3,PowerPCBase,struct PPCArgs *,4,v1)
- #define WaitFor68K(v1) PPCLP2 (PowerPCBase,-306,ULONG, struct Library *,3,PowerPCBase,struct PPCArgs *,4,v1)
-
- /* *** debugging */
- #define SPrintF(v1,v2) PPCLP3NR(PowerPCBase,-312, struct Library *,3,PowerPCBase,STRPTR,4,v1,APTR,5,v2)
-
- /* *** memory */
- #define AllocVecPPC(v1,v2,v3) PPCLP4 (PowerPCBase,-324,APTR, struct Library *,3,PowerPCBase,ULONG,4,v1,ULONG,5,v2,ULONG,6,v3)
- #define FreeVecPPC(v1) PPCLP2 (PowerPCBase,-330,LONG, struct Library *,3,PowerPCBase,APTR,4,v1)
-
- /* *** time measurement */
- #define GetSysTimePPC(v1) PPCLP2NR(PowerPCBase,-684, struct Library *,3,PowerPCBase,struct timeval *,4,v1)
- #define AddTimePPC(v1,v2) PPCLP3NR(PowerPCBase,-690, struct Library *,3,PowerPCBase,struct timeval *,4,v1,struct timeval *,5,v2)
- #define SubTimePPC(v1,v2) PPCLP3NR(PowerPCBase,-696, struct Library *,3,PowerPCBase,struct timeval *,4,v1,struct timeval *,5,v2)
- #define CmpTimePPC(v1,v2) PPCLP3 (PowerPCBase,-702,LONG, struct Library *,3,PowerPCBase,struct timeval *,4,v1,struct timeval *,5,v2)
-
- /* *** more debugging */
- #define SnoopTask(v1) PPCLP2 (PowerPCBase,-714,ULONG, struct Library *,3,PowerPCBase,struct TagItem *,4,v1)
- #define EndSnoopTask(v1) PPCLP2NR(PowerPCBase,-720, struct Library *,3,PowerPCBase,ULONG,4,v1)
-
- /* *** more memory */
- #define FreeAllMem() PPCLP1NR(PowerPCBase,-654, struct Library *,3,PowerPCBase)
- #define CopyMemPPC(v1,v2,v3) PPCLP4NR(PowerPCBase,-660, struct Library *,3,PowerPCBase,APTR,4,v1,APTR,5,v2,ULONG,6,v3)
- #define CreatePoolPPC(v1,v2,v3) PPCLP4 (PowerPCBase,-816,void *, struct Library *,3,PowerPCBase,ULONG,4,v1,ULONG,5,v2,ULONG,6,v3)
- #define DeletePoolPPC(v1) PPCLP2NR(PowerPCBase,-822, struct Library *,3,PowerPCBase,void *,4,v1)
- #define AllocPooledPPC(v1,v2) PPCLP3 (PowerPCBase,-828,void *, struct Library *,3,PowerPCBase,void *,4,v1,ULONG,5,v2)
- #define FreePooledPPC(v1,v2,v3) PPCLP4NR(PowerPCBase,-834, struct Library *,3,PowerPCBase,void *,4,v1,void *,5,v2,ULONG,6,v3)
-
- /* *** lists */
- #define AddHeadPPC(v1,v2) PPCLP3NR(PowerPCBase,-408, struct Library *,3,PowerPCBase,struct List *,4,v1,struct Node *,5,v2)
- #define AddTailPPC(v1,v2) PPCLP3NR(PowerPCBase,-414, struct Library *,3,PowerPCBase,struct List *,4,v1,struct Node *,5,v2)
- #define EnqueuePPC(v1,v2) PPCLP3NR(PowerPCBase,-438, struct Library *,3,PowerPCBase,struct List *,4,v1,struct Node *,5,v2)
- #define FindNamePPC(v1,v2) PPCLP3 (PowerPCBase,-444,struct Node *,struct Library *,3,PowerPCBase,struct List *,4,v1,STRPTR,5,v2)
- #define InsertPPC(v1,v2) PPCLP3NR(PowerPCBase,-402, struct Library *,3,PowerPCBase,struct Node *,4,v1,struct Node *,5,v2)
- #define RemHeadPPC(v1) PPCLP2 (PowerPCBase,-426,struct Node *,struct Library *,3,PowerPCBase,struct List *,4,v1)
- #define RemovePPC(v1) PPCLP2NR(PowerPCBase,-420, struct Library *,3,PowerPCBase,struct Node *,4,v1)
- #define RemTailPPC(v1) PPCLP2 (PowerPCBase,-432,struct Node *,struct Library *,3,PowerPCBase,struct List *,4,v1)
- #define NewListPPC(v1) PPCLP2NR(PowerPCBase,-774, struct Library *,3,PowerPCBase,struct List *,4,v1)
-
- /* *** semaphores */
- #define AddSemaphorePPC(v1) PPCLP2NR(PowerPCBase,-366, struct Library *,3,PowerPCBase,struct SignalSemaphorePPC *,4,v1)
- #define AttemptSemaphorePPC(v1) PPCLP2 (PowerPCBase,-384,LONG, struct Library *,3,PowerPCBase,struct SignalSemaphorePPC *,4,v1)
- #define FindSemaphorePPC(v1) PPCLP2 (PowerPCBase,-396,struct SignalSemaphorePPC *,struct Library *,3,PowerPCBase,STRPTR,4,v1)
- #define FreeSemaphorePPC(v1) PPCLP2NR(PowerPCBase,-360, struct Library *,3,PowerPCBase,struct SignalSemaphorePPC *,4,v1)
- #define InitSemaphorePPC(v1) PPCLP2 (PowerPCBase,-354,LONG, struct Library *,3,PowerPCBase,struct SignalSemaphorePPC *,4,v1)
- #define ObtainSemaphorePPC(v1) PPCLP2NR(PowerPCBase,-378, struct Library *,3,PowerPCBase,struct SignalSemaphorePPC *,4,v1)
- #define ReleaseSemaphorePPC(v1) PPCLP2NR(PowerPCBase,-390, struct Library *,3,PowerPCBase,struct SignalSemaphorePPC *,4,v1)
- #define RemSemaphorePPC(v1) PPCLP2NR(PowerPCBase,-372, struct Library *,3,PowerPCBase,struct SignalSemaphorePPC *,4,v1)
- #define TrySemaphorePPC(v1,v2) PPCLP3 (PowerPCBase,-750,LONG, struct Library *,3,PowerPCBase,struct SignalSemaphorePPC *,4,v1,ULONG,5,v2)
- #define ObtainSemaphoreSharedPPC(v1) PPCLP2NR(PowerPCBase,-786, struct Library *,3,PowerPCBase,struct SignalSemaphorePPC *,4,v1)
- #define AttemptSemaphoreSharedPPC(v1) PPCLP2(PowerPCBase,-792,LONG, struct Library *,3,PowerPCBase,struct SignalSemaphorePPC *,4,v1)
- #define ProcurePPC(v1,v2) PPCLP3NR(PowerPCBase,-798, struct Library *,3,PowerPCBase,struct SignalSemaphorePPC *,4,v1,struct SemaphoreMessage *,5,v2)
- #define VacatePPC(v1,v2) PPCLP3NR(PowerPCBase,-804, struct Library *,3,PowerPCBase,struct SignalSemaphorePPC *,4,v1,struct SemaphoreMessage *,5,v2)
-
- /* *** signals */
- #define AllocSignalPPC(v1) PPCLP2 (PowerPCBase,-468,LONG, struct Library *,3,PowerPCBase,LONG,4,v1)
- #define FreeSignalPPC(v1) PPCLP2NR(PowerPCBase,-474, struct Library *,3,PowerPCBase,LONG,4,v1)
- #define SetSignalPPC(v1,v2) PPCLP3 (PowerPCBase,-480,ULONG, struct Library *,3,PowerPCBase,ULONG,4,v1,ULONG,5,v2)
- #define SignalPPC(v1,v2) PPCLP3NR(PowerPCBase,-486, struct Library *,3,PowerPCBase,struct TaskPPC *,4,v1,ULONG,5,v2)
- #define WaitPPC(v1) PPCLP2 (PowerPCBase,-492,ULONG, struct Library *,3,PowerPCBase,ULONG,4,v1)
- #define WaitTime(v1,v2) PPCLP3 (PowerPCBase,-552,ULONG, struct Library *,3,PowerPCBase,ULONG,4,v1,ULONG,5,v2)
- #define SetExceptPPC(v1,v2,v3) PPCLP4 (PowerPCBase,-780,ULONG, struct Library *,3,PowerPCBase,ULONG,4,v1,ULONG,5,v2,ULONG,6,v3)
-
- /* *** tasks */
- #define CreateTaskPPC(v1) PPCLP2 (PowerPCBase,-336,struct TaskPPC *,struct Library *,3,PowerPCBase,struct TagItem *,4,v1)
- #define DeleteTaskPPC(v1) PPCLP2NR(PowerPCBase,-342, struct Library *,3,PowerPCBase,struct TaskPPC *,4,v1)
- #define FindTaskPPC(v1) PPCLP2 (PowerPCBase,-348,struct TaskPPC *,struct Library *,3,PowerPCBase,STRPTR,4,v1)
- #define LockTaskList() PPCLP1 (PowerPCBase,-564,struct TaskPtr *,struct Library *,3,PowerPCBase)
- #define SetTaskPriPPC(v1,v2) PPCLP3 (PowerPCBase,-498,LONG, struct Library *,3,PowerPCBase,struct TaskPPC *,4,v1,LONG,5,v2)
- #define UnLockTaskList() PPCLP1NR(PowerPCBase,-570, struct Library *,3,PowerPCBase)
- #define FindTaskByID(v1) PPCLP2 (PowerPCBase,-738,struct TaskPPC *,struct Library *,3,PowerPCBase,LONG,4,v1)
- #define SetNiceValue(v1,v2) PPCLP3 (PowerPCBase,-744,LONG, struct Library *,3,PowerPCBase,struct TaskPPC *,4,v1,LONG,5,v2)
-
- /* *** ports */
- #define AddPortPPC(v1) PPCLP2NR(PowerPCBase,-612, struct Library *,3,PowerPCBase,struct MsgPortPPC *,4,v1)
- #define CreateMsgPortPPC() PPCLP1 (PowerPCBase,-600,struct MsgPortPPC *,struct Library *,3,PowerPCBase)
- #define DeleteMsgPortPPC(v1) PPCLP2NR(PowerPCBase,-606, struct Library *,3,PowerPCBase,struct MsgPortPPC *,4,v1)
- #define FindPortPPC(v1) PPCLP2 (PowerPCBase,-624,struct MsgPortPPC *,struct Library *,3,PowerPCBase,STRPTR,4,v1)
- #define GetMsgPPC(v1) PPCLP2 (PowerPCBase,-642,struct Message *,struct Library *,3,PowerPCBase,struct MsgPortPPC *,4,v1)
- #define PutMsgPPC(v1,v2) PPCLP3NR(PowerPCBase,-636, struct Library *,3,PowerPCBase,struct MsgPortPPC *,4,v1,struct Message *,5,v2)
- #define WaitPortPPC(v1) PPCLP2 (PowerPCBase,-630,struct Message *,struct Library *,3,PowerPCBase,struct MsgPortPPC *,4,v1)
- #define RemPortPPC(v1) PPCLP2NR(PowerPCBase,-618, struct Library *,3,PowerPCBase,struct MsgPortPPC *,4,v1)
- #define ReplyMsgPPC(v1) PPCLP2NR(PowerPCBase,-648, struct Library *,3,PowerPCBase,struct Message *,4,v1)
- #define AllocXMsgPPC(v1,v2) PPCLP3 (PowerPCBase,-666,struct Message *,struct Library *,3,PowerPCBase,ULONG,4,v1,struct MsgPortPPC *,5,v2)
- #define FreeXMsgPPC(v1) PPCLP2NR(PowerPCBase,-672, struct Library *,3,PowerPCBase,struct Message *,4,v1)
- #define PutXMsgPPC(v1,v2) PPCLP3NR(PowerPCBase,-678, struct Library *,3,PowerPCBase,struct MsgPort *,4,v1,struct Message *,5,v2)
- #define SetReplyPortPPC(v1,v2) PPCLP3 (PowerPCBase,-708,struct MsgPortPPC *,struct Library *,3,PowerPCBase,struct Message *,4,v1,struct MsgPortPPC *,5,v2)
-
- /* *** tag items */
- #define FindTagItemPPC(v1,v2) PPCLP3 (PowerPCBase,-450,struct TagItem *,struct Library *,3,PowerPCBase,ULONG,4,v1,struct TagItem *,5,v2)
- #define GetTagDataPPC(v1,v2,v3) PPCLP4 (PowerPCBase,-456,ULONG, struct Library *,3,PowerPCBase,ULONG,4,v1,ULONG,5,v2,struct TagItem *,6,v3)
- #define NextTagItemPPC(v1) PPCLP2 (PowerPCBase,-462,struct TagItem *,struct Library *,3,PowerPCBase,struct TagItem **,4,v1)
-
-
- /* *** hardware */
- #define ChangeMMU(v1) PPCLP2NR(PowerPCBase,-588, struct Library *,3,PowerPCBase,ULONG,4,v1)
- #define GetInfo(v1) PPCLP2NR(PowerPCBase,-594, struct Library *,3,PowerPCBase,struct TagItem *,4,v1)
- #define SetCache(v1,v2,v3) PPCLP4NR(PowerPCBase,-510, struct Library *,3,PowerPCBase,ULONG,4,v1,APTR,5,v2,ULONG,6,v3)
- #define SetHardware(v1,v2) PPCLP3 (PowerPCBase,-540,ULONG, struct Library *,3,PowerPCBase,ULONG,4,v1,APTR,5,v2)
- #define GetHALInfo(v1) PPCLP2NR(PowerPCBase,-726, struct Library *,3,PowerPCBase,struct TagItem *,4,v1)
- #define SetScheduling(v1) PPCLP2NR(PowerPCBase,-732, struct Library *,3,PowerPCBase,struct TagItem *,4,v1)
-
- /* *** exceptions */
- #define ModifyFPExc(v1) PPCLP2NR(PowerPCBase,-546, struct Library *,3,PowerPCBase,ULONG,4,v1)
- #define RemExcHandler(v1) PPCLP2NR(PowerPCBase,-522, struct Library *,3,PowerPCBase,APTR,4,v1)
- #define SetExcHandler(v1) PPCLP2 (PowerPCBase,-516,APTR, struct Library *,3,PowerPCBase,struct TagItem *,4,v1)
- #define SetExcMMU() PPCLP1NR(PowerPCBase,-576, struct Library *,3,PowerPCBase)
- #define ClearExcMMU() PPCLP1NR(PowerPCBase,-582, struct Library *,3,PowerPCBase)
- #define CauseInterrupt() PPCLP1NR(PowerPCBase,-810, struct Library *,3,PowerPCBase)
-
- /* *** supervisor */
- #define Super() PPCLP1 (PowerPCBase,-528,ULONG, struct Library *,3,PowerPCBase)
- #define User(v1) PPCLP2NR(PowerPCBase,-534, struct Library *,3,PowerPCBase,ULONG,4,v1)
-
- /* *** 68K connection */
- #define Signal68K(v1,v2) PPCLP3NR(PowerPCBase,-504, struct Library *,3,PowerPCBase,struct Task *,4,v1,ULONG,5,v2)
-
- #endif /* __PPC__ */
-
- #endif /* POWERPC_GCCLIB_PROTOS_H */
-