home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / OTL-MC6.DMS / in.adf / incl.lha / INCLUDE / clib / alib_protos.h next >
Encoding:
C/C++ Source or Header  |  1994-10-29  |  4.5 KB  |  144 lines

  1. #ifndef  CLIB_ALIB_PROTOS_H
  2. #define  CLIB_ALIB_PROTOS_H
  3.  
  4. /*
  5. **    $VER: alib_protos.h 1.5 (25.8.92)
  6. **    Includes Release 40.15
  7. **
  8. **    C prototypes. For use with 32 bit integers only.
  9. **
  10. **    (C) Copyright 1990-1993 Commodore-Amiga, Inc.
  11. **        All Rights Reserved
  12. */
  13.  
  14. #ifndef  EXEC_TYPES_H
  15. #include <exec/types.h>
  16. #endif
  17. #ifndef  DEVICES_TIMER_H
  18. #include <devices/timer.h>
  19. #endif
  20. #ifndef  DEVICES_KEYMAP_H
  21. #include <devices/keymap.h>
  22. #endif
  23. #ifndef  LIBRARIES_COMMODITIES_H
  24. #include <libraries/commodities.h>
  25. #endif
  26. #ifndef  UTILITY_HOOKS_H
  27. #include <utility/hooks.h>
  28. #endif
  29. #ifndef  INTUITION_CLASSES_H
  30. #include <intuition/classes.h>
  31. #endif
  32. #ifndef  INTUITION_CLASSUSR_H
  33. #include <intuition/classusr.h>
  34. #endif
  35. #ifndef  GRAPHICS_GRAPHINT_H
  36. #include <graphics/graphint.h>
  37. #endif
  38.  
  39. #ifdef __cplusplus
  40. #define CLIBCPLUSON
  41. #pragma -
  42. #endif
  43.  
  44. /*  Exec support functions */
  45.  
  46. void BeginIO( struct IORequest *ioReq );
  47. struct IORequest *CreateExtIO( struct MsgPort *port, long ioSize );
  48. struct MsgPort *CreatePort( STRPTR name, long pri );
  49. struct IOStdReq *CreateStdIO( struct MsgPort *port );
  50. struct Task *CreateTask( STRPTR name, long pri, APTR initPC,
  51.     unsigned long stackSize );
  52. void DeleteExtIO( struct IORequest *ioReq );
  53. void DeletePort( struct MsgPort *ioReq );
  54. void DeleteStdIO( struct IOStdReq *ioReq );
  55. void DeleteTask( struct Task *task );
  56. void NewList( struct List *list );
  57. APTR LibAllocPooled( APTR poolHeader, unsigned long memSize );
  58. APTR LibCreatePool( unsigned long memFlags, unsigned long puddleSize,
  59.     unsigned long threshSize );
  60. void LibDeletePool( APTR poolHeader );
  61. void LibFreePooled( APTR poolHeader, APTR memory, unsigned long memSize );
  62.  
  63. /* Assorted functions in amiga.lib */
  64.  
  65. ULONG FastRand( unsigned long seed );
  66. UWORD RangeRand( unsigned long maxValue );
  67.  
  68. /* Graphics support functions in amiga.lib */
  69.  
  70. void AddTOF( struct Isrvstr *i, long (*p)(), long a );
  71. void RemTOF( struct Isrvstr *i );
  72. void waitbeam( long b );
  73.  
  74. /* math support functions in amiga.lib */
  75.  
  76. FLOAT afp( BYTE *string );
  77. void arnd( long place, long exp, BYTE *string );
  78. FLOAT dbf( unsigned long exp, unsigned long mant );
  79. LONG fpa( FLOAT fnum, BYTE *string );
  80. void fpbcd( FLOAT fnum, BYTE *string );
  81.  
  82. /* Timer support functions in amiga.lib (V36 and higher only) */
  83.  
  84. LONG TimeDelay( long unit, unsigned long secs, unsigned long microsecs );
  85. LONG DoTimer( struct timeval *, long unit, long command );
  86.  
  87. /*  Commodities functions in amiga.lib (V36 and higher only) */
  88.  
  89. void ArgArrayDone( void );
  90. UBYTE **ArgArrayInit( long argc, UBYTE **argv );
  91. LONG ArgInt( UBYTE **tt, STRPTR entry, long defaultval );
  92. STRPTR ArgString( UBYTE **tt, STRPTR entry, STRPTR defaulstring );
  93. CxObj *HotKey( STRPTR description, struct MsgPort *port, long id );
  94. struct InputEvent *InvertString( STRPTR str, struct KeyMap *km );
  95. void FreeIEvents( struct InputEvent *events );
  96.  
  97. /* Commodities Macros */
  98.  
  99. /* CxObj *CxCustom(LONG(*)(),LONG id)(A0,D0) */
  100. /* CxObj *CxDebug(LONG id)(D0) */
  101. /* CxObj *CxFilter(STRPTR description)(A0) */
  102. /* CxObj *CxSender(struct MsgPort *port,LONG id)(A0,D0) */
  103. /* CxObj *CxSignal(struct Task *task,LONG signal)(A0,D0) */
  104. /* CxObj *CxTranslate(struct InputEvent *ie)(A0) */
  105.  
  106. /*  ARexx support functions in amiga.lib */
  107.  
  108. BOOL CheckRexxMsg( struct Message *rexxmsg );
  109. LONG GetRexxVar( struct Message *rexxmsg, UBYTE *name, UBYTE **result );
  110. LONG SetRexxVar( struct Message *rexxmsg, UBYTE *name, UBYTE *value,
  111.     long length );
  112.  
  113. /*  Intuition hook and boopsi support functions in amiga.lib. */
  114. /*  These functions do not require any particular ROM revision */
  115. /*  to operate correctly, though they deal with concepts first introduced */
  116. /*  in V36.  These functions would work with compatibly-implemented */
  117. /*  hooks or objects under V34. */
  118.  
  119. ULONG CallHookA( struct Hook *hookPtr, Object *obj, APTR message );
  120. ULONG CallHook( struct Hook *hookPtr, Object *obj, ... );
  121. ULONG DoMethodA( Object *obj, Msg message );
  122. ULONG DoMethod( Object *obj, unsigned long MethodID, ... );
  123. ULONG DoSuperMethodA( struct IClass *cl, Object *obj, Msg message );
  124. ULONG DoSuperMethod( struct IClass *cl, Object *obj, unsigned long MethodID,
  125.     ... );
  126. ULONG CoerceMethodA( struct IClass *cl, Object *obj, Msg message );
  127. ULONG CoerceMethod( struct IClass *cl, Object *obj, unsigned long MethodID,
  128.     ... );
  129. ULONG SetSuperAttrs( struct IClass *cl, Object *obj, unsigned long Tag1,
  130.     ... );
  131.  
  132. /*  Network-support functions in amiga.lib. */
  133. /*  ACrypt() first appeared in later V39 versions of amiga.lib, but */
  134. /*  operates correctly under V37 and up. */
  135.  
  136. STRPTR ACrypt( STRPTR buffer, STRPTR password, STRPTR username );
  137.  
  138. #ifdef CLIBCPLUSON
  139. #undef CLIBCPLUSON
  140. #pragma +
  141. #endif
  142.  
  143. #endif     /* CLIB_ALIB_PROTOS_H */
  144.