1 #ifndef POWERUP_PPCLIB_PROTOS_H
    2 #define POWERUP_PPCLIB_PROTOS_H
    3 
    4 #ifndef UTILITY_TAGITEM_H
    5 # include <utility/tagitem.h>
    6 #endif
    7 
    8 #ifndef POWERUP_PPCLIB_INTERFACE_H
    9 # include <ppclib/interface.h>
   10 #endif
   11 
   12 #ifndef POWERUP_PPCLIB_OBJECT_H
   13 # include <ppclib/object.h>
   14 #endif
   15 
   16 
   17 #ifdef __cplusplus
   18 extern "C" {
   19 #endif /* __cplusplus */
   20 
   21 void*	PPCLoadObject(char*);
   22 void	PPCUnLoadObject(void*);
   23 ULONG	PPCRunObject(void*,void*);
   24 void*	PPCAllocMem(ULONG,ULONG);
   25 void	PPCFreeMem(void*,ULONG);
   26 void*	PPCAllocVec(ULONG,ULONG);
   27 void*	PPCFreeVec(void*);
   28 
   29 void	*PPCCreateTask(void*,
   30 							   struct TagItem*);
   31 #if !defined(USE_INLINE_STDARG)
   32 void	*PPCCreateTaskTags(void*,
   33 								   unsigned long tag1Type, ... );
   34 #endif
   35 BOOL	PPCDeleteTask(void*);
   36 
   37 void	PPCSignalTask(void*,ULONG);
   38 void	*PPCFindTask(char	*);
   39 ULONG	PPCRunKernelObject(void*,
   40 								   struct ModuleArgs*);
   41 DOUBLE	PPCRunKernelObjectFPU(void*,
   42 									  struct ModuleArgs*);
   43 ULONG	PPCGetTaskAttrs(void*,
   44 								struct TagItem*);
   45 #if !defined(USE_INLINE_STDARG)
   46 ULONG	PPCGetTaskAttrsTags(void*,
   47 									unsigned long tag1Type,
   48 									...);
   49 #endif
   50 ULONG	PPCGetAttrs(struct TagItem*);
   51 #if !defined(USE_INLINE_STDARG)
   52 ULONG	PPCGetAttrsTags(unsigned long tag1Type,
   53 								...);
   54 #endif
   55 void	*PPCFindTaskObject(void*);
   56 ULONG	PPCReadLong(ULONG*);
   57 void	PPCWriteLong(ULONG*,ULONG);
   58 BOOL	PPCStartTask(void*,
   59 							 struct TagItem*);
   60 #if !defined(USE_INLINE_STDARG)
   61 BOOL	PPCStartTaskTags(void*,
   62 								 unsigned long tag1Type, ... );
   63 #endif
   64 BOOL	PPCStopTask(void*,
   65 							struct TagItem*);
   66 #if !defined(USE_INLINE_STDARG)
   67 BOOL	PPCStopTaskTags(void*,
   68 								unsigned long tag1Type, ... );
   69 #endif
   70 ULONG	PPCSetTaskAttrs(void*,
   71 								struct TagItem*);
   72 #if !defined(USE_INLINE_STDARG)
   73 ULONG	PPCSetTaskAttrsTags(void*,
   74 									unsigned long tag1Type,
   75 									...);
   76 #endif
   77 ULONG	PPCGetObjectAttrs(void*,
   78 								  struct PPCObjectInfo*,
   79 								  struct TagItem*);
   80 #if !defined(USE_INLINE_STDARG)
   81 ULONG	PPCGetObjectAttrsTags(void*,
   82 									  struct PPCObjectInfo*,
   83 									  unsigned long tag1Type,
   84 									  ... );
   85 #endif
   86 void	PPCWriteLongFlush(ULONG*,ULONG);
   87 UWORD	PPCReadWord(UWORD*);
   88 void	PPCWriteWord(UWORD*,UWORD);
   89 UBYTE	PPCReadByte(UBYTE*);
   90 void	PPCWriteByte(UBYTE*,UBYTE);
   91 void*	PPCCreatePool(ULONG		MemFlags,
   92 							  ULONG		PuddleSize,
   93 							  ULONG		ThreshSize);
   94 BOOL	PPCDeletePool(void*);
   95 void*	PPCAllocPooled(void*,
   96 							   ULONG);
   97 void	PPCFreePooled(void*,
   98 							  void*,
   99 							  ULONG);
  100 void	PPCFreeVecPooled(void*,
  101 								 void*);
  102 void*	PPCAllocVecPooled(void*,
  103 								  ULONG);
  104 
  105 
  106 
  107 void*	PPCCreatePort(struct TagItem*);
  108 #if !defined(USE_INLINE_STDARG)
  109 void*	PPCCreatePortTags(unsigned long tag1Type, ... );
  110 #endif
  111 BOOL	PPCDeletePort(void*);
  112 void*	PPCObtainPort(struct TagItem*);
  113 #if !defined(USE_INLINE_STDARG)
  114 void*	PPCObtainPortTags(unsigned long tag1Type, ... );
  115 #endif
  116 BOOL	PPCReleasePort(void*);
  117 void*	PPCCreateMessage(void*,
  118 								 ULONG);
  119 void	PPCDeleteMessage(void*);
  120 ULONG	PPCGetMessageAttr(void*,
  121 								  ULONG);
  122 void*	PPCGetMessage(void*);
  123 BOOL	PPCReplyMessage(void*);
  124 BOOL	PPCSendMessage(void*,
  125 							   void*,
  126 							   void*,
  127 							   ULONG,
  128 							   ULONG);
  129 void*	PPCWaitPort(void*);
  130 void	PPCCacheClearE(void*,
  131 							   ULONG,
  132 							   ULONG);
  133 
  134 void	PPCCacheInvalidE(void*,
  135 								 ULONG,
  136 								 ULONG);
  137 
  138 
  139 void*	PPCCreatePortList(void**,ULONG);
  140 void	PPCDeletePortList(void*);
  141 BOOL	PPCAddPortList(void*,
  142 							   void*);
  143 void	PPCRemPortList(void*,
  144 							   void*);
  145 void*	PPCWaitPortList(void*);
  146 ULONG	PPCGetPortListAttr(void*,
  147 								   ULONG);
  148 void	PPCSetPortListAttr(void*,
  149 								   ULONG,
  150 								   ULONG);
  151 
  152 #if !defined(USE_INLINE_STDARG)
  153 void*	PPCLoadObjectTags(unsigned long tag1Type, ... );
  154 #endif
  155 void*	PPCLoadObjectTagList(struct TagItem*);
  156 
  157 
  158 BOOL	PPCSetAttrs(struct TagItem*);
  159 #if !defined(USE_INLINE_STDARG)
  160 BOOL	PPCSetAttrsTags(unsigned long tag1Type, ... );
  161 #endif
  162 
  163 void	PPCCacheTrashE(void*,
  164 							   ULONG,
  165 							   ULONG);
  166 
  167 void	*PPCOpenLibrary(char*,
  168 								struct TagItem*);
  169 
  170 void	PPCCloseLibrary(void*);
  171 
  172 void	*PPCGetLibSymbol(void*,
  173 								 char*);
  174 
  175 #ifdef __cplusplus
  176 }
  177 #endif /* __cplusplus */
  178 
  179 
  180 #endif