home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / BC_DICE2.DMS / in.adf / INCLUDE / clib / exec_protos.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-01-10  |  6.2 KB  |  168 lines

  1. #ifndef CLIB_EXEC_PROTOS_H
  2. #define CLIB_EXEC_PROTOS_H
  3. /*
  4. ** $VER: exec_protos.h 36.11 (06.11.91)
  5. ** Includes Release 38.56
  6. **
  7. ** C prototypes. For use with 32 bit integers only.
  8. **
  9. ** (C) Copyright 1990-1992 Commodore-Amiga, Inc.
  10. ** All Rights Reserved
  11. */
  12. #ifndef EXEC_TYPES_H
  13. #include <exec/types.h>
  14. #endif
  15. #ifndef EXEC_TASKS_H
  16. #include <exec/tasks.h>
  17. #endif
  18.  
  19. ULONG Supervisor( unsigned long (*userFunction)() );
  20.  
  21.  
  22. void InitCode( unsigned long startClass, unsigned long version );
  23. void InitStruct( APTR initTable, APTR memory, unsigned long size );
  24. struct Library *MakeLibrary( APTR funcInit, APTR structInit,
  25.  unsigned long (*libInit)(), unsigned long dataSize,
  26.  unsigned long segList );
  27. void MakeFunctions( APTR target, APTR functionArray,
  28.  unsigned long funcDispBase );
  29. struct Resident *FindResident( UBYTE *name );
  30. APTR InitResident( struct Resident *resident, unsigned long segList );
  31.  
  32. void Alert( unsigned long alertNum );
  33. void Debug( unsigned long flags );
  34.  
  35. void Disable( void );
  36. void Enable( void );
  37. void Forbid( void );
  38. void Permit( void );
  39. ULONG SetSR( unsigned long newSR, unsigned long mask );
  40. APTR SuperState( void );
  41. void UserState( APTR sysStack );
  42. struct Interrupt *SetIntVector( long intNumber, struct Interrupt *interrupt );
  43. void AddIntServer( long intNumber, struct Interrupt *interrupt );
  44. void RemIntServer( long intNumber, struct Interrupt *interrupt );
  45. void Cause( struct Interrupt *interrupt );
  46.  
  47. APTR Allocate( struct MemHeader *freeList, unsigned long byteSize );
  48. void Deallocate( struct MemHeader *freeList, APTR memoryBlock,
  49.  unsigned long byteSize );
  50. APTR AllocMem( unsigned long byteSize, unsigned long requirements );
  51. APTR AllocAbs( unsigned long byteSize, APTR location );
  52. void FreeMem( APTR memoryBlock, unsigned long byteSize );
  53. ULONG AvailMem( unsigned long requirements );
  54. struct MemList *AllocEntry( struct MemList *entry );
  55. void FreeEntry( struct MemList *entry );
  56.  
  57. void Insert( struct List *list, struct Node *node, struct Node *pred );
  58. void AddHead( struct List *list, struct Node *node );
  59. void AddTail( struct List *list, struct Node *node );
  60. void Remove( struct Node *node );
  61. struct Node *RemHead( struct List *list );
  62. struct Node *RemTail( struct List *list );
  63. void Enqueue( struct List *list, struct Node *node );
  64. struct Node *FindName( struct List *list, UBYTE *name );
  65.  
  66. APTR AddTask( struct Task *task, APTR initPC, APTR finalPC );
  67. void RemTask( struct Task *task );
  68. struct Task *FindTask( UBYTE *name );
  69. BYTE SetTaskPri( struct Task *task, long priority );
  70. ULONG SetSignal( unsigned long newSignals, unsigned long signalSet );
  71. ULONG SetExcept( unsigned long newSignals, unsigned long signalSet );
  72. ULONG Wait( unsigned long signalSet );
  73. void Signal( struct Task *task, unsigned long signalSet );
  74. BYTE AllocSignal( long signalNum );
  75. void FreeSignal( long signalNum );
  76. LONG AllocTrap( long trapNum );
  77. void FreeTrap( long trapNum );
  78.  
  79. void AddPort( struct MsgPort *port );
  80. void RemPort( struct MsgPort *port );
  81. void PutMsg( struct MsgPort *port, struct Message *message );
  82. struct Message *GetMsg( struct MsgPort *port );
  83. void ReplyMsg( struct Message *message );
  84. struct Message *WaitPort( struct MsgPort *port );
  85. struct MsgPort *FindPort( UBYTE *name );
  86.  
  87. void AddLibrary( struct Library *library );
  88. void RemLibrary( struct Library *library );
  89. struct Library *OldOpenLibrary( UBYTE *libName );
  90. void CloseLibrary( struct Library *library );
  91. APTR SetFunction( struct Library *library, long funcOffset,
  92.  unsigned long (*newFunction)() );
  93. void SumLibrary( struct Library *library );
  94.  
  95. void AddDevice( struct Device *device );
  96. void RemDevice( struct Device *device );
  97. BYTE OpenDevice( UBYTE *devName, unsigned long unit,
  98.  struct IORequest *ioRequest, unsigned long flags );
  99. void CloseDevice( struct IORequest *ioRequest );
  100. BYTE DoIO( struct IORequest *ioRequest );
  101. void SendIO( struct IORequest *ioRequest );
  102. BOOL CheckIO( struct IORequest *ioRequest );
  103. BYTE WaitIO( struct IORequest *ioRequest );
  104. void AbortIO( struct IORequest *ioRequest );
  105.  
  106. void AddResource( APTR resource );
  107. void RemResource( APTR resource );
  108. APTR OpenResource( UBYTE *resName );
  109.  
  110.  
  111. void RawDoFmt( UBYTE *formatString, APTR dataStream, void (*putChProc)(),
  112.  APTR putChData );
  113. ULONG GetCC( void );
  114. ULONG TypeOfMem( APTR address );
  115. ULONG Procure( struct Semaphore *semaport, struct Message *bidMsg );
  116. void Vacate( struct Semaphore *semaport );
  117. struct Library *OpenLibrary( UBYTE *libName, unsigned long version );
  118.  
  119.  
  120. void InitSemaphore( struct SignalSemaphore *sigSem );
  121. void ObtainSemaphore( struct SignalSemaphore *sigSem );
  122. void ReleaseSemaphore( struct SignalSemaphore *sigSem );
  123. ULONG AttemptSemaphore( struct SignalSemaphore *sigSem );
  124. void ObtainSemaphoreList( struct List *sigSem );
  125. void ReleaseSemaphoreList( struct List *sigSem );
  126. struct SignalSemaphore *FindSemaphore( UBYTE *sigSem );
  127. void AddSemaphore( struct SignalSemaphore *sigSem );
  128. void RemSemaphore( struct SignalSemaphore *sigSem );
  129.  
  130. ULONG SumKickData( void );
  131.  
  132. ULONG AddMemList( unsigned long size, unsigned long attributes,
  133.  unsigned long pri, APTR base, UBYTE *name );
  134. void CopyMem( APTR source, APTR dest, unsigned long size );
  135. void CopyMemQuick( APTR source, APTR dest, unsigned long size );
  136.  
  137.  
  138. void CacheClearU( void );
  139. void CacheClearE( APTR address, unsigned long length, unsigned long caches );
  140. ULONG CacheControl( unsigned long cacheBits, unsigned long cacheMask );
  141.  
  142. APTR CreateIORequest( struct MsgPort *port, unsigned long size );
  143. void DeleteIORequest( APTR iorequest );
  144. struct MsgPort *CreateMsgPort( void );
  145. void DeleteMsgPort( struct MsgPort *port );
  146. void ObtainSemaphoreShared( struct SignalSemaphore *sigSem );
  147.  
  148. APTR AllocVec( unsigned long byteSize, unsigned long requirements );
  149. void FreeVec( APTR memoryBlock );
  150. APTR CreatePrivatePool( unsigned long requirements, unsigned long puddleSize,
  151.  unsigned long puddleThresh );
  152. void DeletePrivatePool( APTR poolHeader );
  153. APTR AllocPooled( unsigned long memSize, APTR poolHeader );
  154. void FreePooled( APTR memory, APTR poolHeader );
  155.  
  156. ULONG AttemptSemaphoreShared( struct SignalSemaphore *sigSem );
  157. void ColdReboot( void );
  158. void StackSwap( struct StackSwapStruct *newStack );
  159.  
  160. void ChildFree( APTR tid );
  161. void ChildOrphan( APTR tid );
  162. void ChildStatus( APTR tid );
  163. void ChildWait( APTR tid );
  164.  
  165. APTR CachePreDMA( APTR address, ULONG *length, unsigned long flags );
  166. APTR CachePostDMA( APTR address, ULONG *length, unsigned long flags );
  167. #endif 
  168.