home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 2 / FFMCD02.bin / useful / os-include / clib / alib_protos.h next >
C/C++ Source or Header  |  1992-09-24  |  4KB  |  117 lines

  1. #ifndef  CLIB_ALIB_PROTOS_H
  2. #define  CLIB_ALIB_PROTOS_H
  3. /*
  4. **    $VER: alib_protos.h 1.5 (25.08.92)
  5. **    Includes Release 39.108
  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  DEVICES_TIMER_H
  16. #include <devices/timer.h>
  17. #endif
  18. #ifndef  DEVICES_KEYMAP_H
  19. #include <devices/keymap.h>
  20. #endif
  21. #ifndef  LIBRARIES_COMMODITIES_H
  22. #include <libraries/commodities.h>
  23. #endif
  24. #ifndef  UTILITY_HOOKS_H
  25. #include <utility/hooks.h>
  26. #endif
  27. #ifndef  INTUITION_CLASSES_H
  28. #include <intuition/classes.h>
  29. #endif
  30. #ifndef  INTUITION_CLASSUSR_H
  31. #include <intuition/classusr.h>
  32. #endif
  33. #ifndef  GRAPHICS_GRAPHINT_H
  34. #include <graphics/graphint.h>
  35. #endif
  36.  
  37. /*  Exec support functions */
  38.  
  39. void BeginIO( struct IORequest *ioReq );
  40. struct IORequest *CreateExtIO( struct MsgPort *port, long ioSize );
  41. struct MsgPort *CreatePort( STRPTR name, long pri );
  42. struct IOStdReq *CreateStdIO( struct MsgPort *port );
  43. struct Task *CreateTask( STRPTR name, long pri, APTR initPC,
  44.     unsigned long stackSize );
  45. void DeleteExtIO( struct IORequest *ioReq );
  46. void DeletePort( struct MsgPort *ioReq );
  47. void DeleteStdIO( struct IOStdReq *ioReq );
  48. void DeleteTask( struct Task *task );
  49. void NewList( struct List *list );
  50.  
  51. /* Assorted functions in amiga.lib */
  52.  
  53. ULONG FastRand( unsigned long seed );
  54. UWORD RangeRand( unsigned long maxValue );
  55.  
  56. /* Graphics support functions in amiga.lib */
  57.  
  58. void AddTOF( struct Isrvstr *i, long (*p)(), long a );
  59. void RemTOF( struct Isrvstr *i );
  60. void waitbeam( long b );
  61.  
  62. /* math support functions in amiga.lib */
  63.  
  64. FLOAT afp( BYTE *string );
  65. void arnd( long place, long exp, BYTE *string );
  66. FLOAT dbf( unsigned long exp, unsigned long mant );
  67. LONG fpa( FLOAT fnum, BYTE *string );
  68. void fpbcd( FLOAT fnum, BYTE *string );
  69.  
  70. /* Timer support functions in amiga.lib (V36 and higher only) */
  71.  
  72. LONG TimeDelay( long unit, unsigned long secs, unsigned long microsecs );
  73. LONG DoTimer( struct timeval *, long unit, long command );
  74.  
  75. /*  Commodities functions in amiga.lib (V36 and higher only) */
  76.  
  77. void ArgArrayDone( void );
  78. UBYTE **ArgArrayInit( long argc, UBYTE **argv );
  79. LONG ArgInt( UBYTE **tt, STRPTR entry, long defaultval );
  80. STRPTR ArgString( UBYTE **tt, STRPTR entry, STRPTR defaulstring );
  81. CxObj *HotKey( STRPTR description, struct MsgPort *port, long id );
  82. struct InputEvent *InvertString( STRPTR str, struct KeyMap *km );
  83. void FreeIEvents( struct InputEvent *events );
  84.  
  85. /* Commodities Macros */
  86.  
  87. /* CxObj *CxCustom(LONG(*)(),LONG id)(A0,D0) */
  88. /* CxObj *CxDebug(LONG id)(D0) */
  89. /* CxObj *CxFilter(STRPTR description)(A0) */
  90. /* CxObj *CxSender(struct MsgPort *port,LONG id)(A0,D0) */
  91. /* CxObj *CxSignal(struct Task *task,LONG signal)(A0,D0) */
  92. /* CxObj *CxTranslate(struct InputEvent *ie)(A0) */
  93.  
  94. /*  ARexx support functions in amiga.lib */
  95.  
  96. BOOL CheckRexxMsg( struct Message *rexxmsg );
  97. LONG GetRexxVar( struct Message *rexxmsg, UBYTE *name, UBYTE **result );
  98. LONG SetRexxVar( struct Message *rexxmsg, UBYTE *name, UBYTE *value,
  99.     long length );
  100.  
  101. /*  Intuition hook and boopsi support functions in amiga.lib  */
  102. /*  These functions require ROM V36 and higher only. */
  103.  
  104. ULONG CallHookA( struct Hook *hookPtr, Object *obj, APTR message );
  105. ULONG CallHook( struct Hook *hookPtr, Object *obj, ... );
  106. ULONG DoMethodA( Object *obj, Msg message );
  107. ULONG DoMethod( Object *obj, unsigned long MethodID, ... );
  108. ULONG DoSuperMethodA( struct IClass *cl, Object *obj, Msg message );
  109. ULONG DoSuperMethod( struct IClass *cl, Object *obj, unsigned long MethodID,
  110.     ... );
  111. ULONG CoerceMethodA( struct IClass *cl, Object *obj, Msg message );
  112. ULONG CoerceMethod( struct IClass *cl, Object *obj, unsigned long MethodID,
  113.     ... );
  114. ULONG SetSuperAttrs( struct IClass *cl, Object *obj, unsigned long Tag1,
  115.     ... );
  116. #endif     /* CLIB_ALIB_PROTOS_H */
  117.