home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / M2V11-1.LHA / modula / amiga / AmigaLib.def < prev    next >
Encoding:
Text File  |  1994-09-28  |  4.7 KB  |  143 lines

  1. DEFINITION FOR C MODULE AmigaLib ;
  2.  
  3. FROM SYSTEM    IMPORT ADDRESS, STRING, SHORTREAL, LONGSET ;
  4. FROM Exec    IMPORT IORequestPtr, TaskPtr, MsgPortPtr, IOStdReqPtr, ListPtr,
  5.                MessagePtr ;
  6. FROM Classes    IMPORT IClassPtr, ObjectPtr, Msg ;
  7. FROM Utility    IMPORT HookPtr, Tag ;
  8. FROM Workbench    IMPORT ToolTypeArrayPtr ;
  9. FROM Graphics    IMPORT IsrvstrPtr ;
  10. FROM Timer    IMPORT TimeValPtr ;
  11. FROM InputEvent IMPORT InputEventPtr ;
  12. FROM KeyMap    IMPORT KeyMapPtr ;
  13.  
  14. IMPORT Commodities ;
  15.  
  16. (* Exec support functions *)
  17.  
  18. PROCEDURE BeginIO    ( ioReq : IORequestPtr ) ;
  19. PROCEDURE CreateExtIO( port  : MsgPortPtr ; ioSize : LONGINT ) : IORequestPtr ;
  20. PROCEDURE CreatePort ( name  : STRING ; pri : LONGINT ) : MsgPortPtr ;
  21. PROCEDURE CreateStdIO( port  : MsgPortPtr ) : IOStdReqPtr ;
  22.  
  23. PROCEDURE CreateTask( name   : STRING ;
  24.               pri    : LONGINT ;
  25.               initPC : ADDRESS ;
  26.               stackSize : LONGINT ) : TaskPtr ;
  27.  
  28. PROCEDURE DeleteExtIO( ioReq : IORequestPtr ) ;
  29. PROCEDURE DeletePort( ioReq : MsgPortPtr ) ;
  30. PROCEDURE DeleteStdIO( ioReq : IOStdReqPtr ) ;
  31. PROCEDURE DeleteTask( task : TaskPtr ) ;
  32. PROCEDURE NewList( list : ListPtr ) ;
  33.  
  34. PROCEDURE LibAllocPooled( poolHeader : ADDRESS ; memSize : LONGINT ) : ADDRESS ;
  35. PROCEDURE LibCreatePool( memFlags   : LONGSET ;
  36.              puddleSize : LONGINT ;
  37.              threshSize : LONGINT ) : ADDRESS ;
  38.  
  39. PROCEDURE LibDeletePool( poolHeader : ADDRESS ) ;
  40. PROCEDURE LibFreePooled( poolHeader, memory : ADDRESS ; memSize : LONGINT ) ;
  41.  
  42. (* Assorted functions in amiga.lib *)
  43.  
  44. PROCEDURE FastRand( seed : LONGINT ) : LONGINT ;
  45. PROCEDURE RangeRand( maxValue : LONGINT ) : CARDINAL ;
  46.  
  47. (* Graphics support functions in amiga.lib *)
  48.  
  49. PROCEDURE AddTOF( i : IsrvstrPtr ; p : PROC (* cast it *) ; a : LONGINT );
  50. PROCEDURE RemTOF( i : IsrvstrPtr ) ;
  51. PROCEDURE waitbeam( b : LONGINT ) ;
  52.  
  53. (* math support functions in amiga.lib *)
  54.  
  55. PROCEDURE afp  ( string : STRING ) : SHORTREAL ;
  56. PROCEDURE arnd ( place, exp : LONGINT ; string : STRING ) ;
  57. PROCEDURE dbf  ( exp  : LONGINT ; mant : LONGINT ) : SHORTREAL ;
  58. PROCEDURE fpa  ( fnum : SHORTREAL ; string : STRING ) : LONGINT ;
  59. PROCEDURE fpbcd( fnum : SHORTREAL ; string : STRING ) ;
  60.  
  61. (* Timer support functions in amiga.lib (V36 and higher only) *)
  62.  
  63. PROCEDURE TimeDelay( unit : LONGINT ;
  64.              secs : LONGINT ;
  65.                      microsecs : LONGINT ) : LONGINT ;
  66.  
  67. PROCEDURE DoTimer( tvp : TimeValPtr ; unit , command : LONGINT ) : LONGINT ;
  68.  
  69. (*  Commodities functions in amiga.lib (V36 and higher only) *)
  70.  
  71. PROCEDURE ArgArrayDone( ) ;
  72.  
  73. PROCEDURE ArgArrayInit( argc : LONGINT ;
  74.             argv : ADDRESS ) : ToolTypeArrayPtr ;
  75.  
  76. PROCEDURE ArgInt( tt         : ToolTypeArrayPtr ;
  77.           entry         : STRING ;
  78.           defaultval : LONGINT ) : LONGINT ;
  79.  
  80. PROCEDURE ArgString( tt : ToolTypeArrayPtr ;
  81.              entry , defaulstring : STRING ) : STRING ;
  82.  
  83. PROCEDURE HotKey( description : STRING ;
  84.           port          : MsgPortPtr ;
  85.           id          : LONGINT ) : Commodities.CxObjPtr ;
  86.  
  87. PROCEDURE InvertString( str : STRING ; km : KeyMapPtr ) : InputEventPtr ;
  88. PROCEDURE FreeIEvents( events : InputEventPtr ) ;
  89.  
  90. (*  ARexx support functions in amiga.lib *)
  91.  
  92. PROCEDURE CheckRexxMsg( rexxmsg : MessagePtr ) : BOOLEAN ;
  93.  
  94. PROCEDURE GetRexxVar(     rexxmsg : MessagePtr ;
  95.                   name    : STRING ;
  96.               VAR result  : STRING ) : LONGINT ;
  97.  
  98. PROCEDURE SetRexxVar( rexxmsg : MessagePtr ;
  99.               name    : STRING ;
  100.               length  : LONGINT ) : LONGINT ;
  101.  
  102. (*  Intuition hook and boopsi support functions in amiga.lib.          *)
  103. (*  These functions do not require any particular ROM revision          *)
  104. (*  to operate correctly, though they deal with concepts first introduced *)
  105. (*  in V36.  These functions would work with compatibly-implemented      *)
  106. (*  hooks or objects under V34.                          *)
  107.  
  108. PROCEDURE CallHookA( hookPtr : HookPtr ;
  109.              obj     : ObjectPtr ;
  110.              message : ADDRESS ) : LONGINT ;
  111.  
  112. PROCEDURE CallHook ( hookPtr : HookPtr ; obj : ObjectPtr ; .. ) : LONGINT ;
  113. PROCEDURE DoMethodA( obj : ObjectPtr ; message  : Msg ) : LONGINT ;
  114. PROCEDURE DoMethod ( obj : ObjectPtr ; MethodID : LONGINT ; .. ) : LONGINT ;
  115.  
  116. PROCEDURE DoSuperMethodA( cl      : IClassPtr ;
  117.               obj      : ObjectPtr ;
  118.               message : Msg ) : LONGINT ;
  119.  
  120. PROCEDURE DoSuperMethod( cl       : IClassPtr ;
  121.              obj      : ObjectPtr ;
  122.              MethodID : LONGINT ; .. ) : LONGINT ;
  123.  
  124. PROCEDURE CoerceMethodA( cl      : IClassPtr ;
  125.              obj     : ObjectPtr ;
  126.              message : Msg ) : LONGINT ;
  127.  
  128. PROCEDURE CoerceMethod( cl     : IClassPtr ;
  129.             obj     : ObjectPtr ;
  130.             MethodID : LONGINT ; .. ) : LONGINT ;
  131.  
  132. PROCEDURE SetSuperAttrs( cl   : IClassPtr ;
  133.              obj  : ObjectPtr ;
  134.              Tag1 : Tag ; .. ) : LONGINT ;
  135.  
  136. (* Network-support functions in amiga.lib.               *)
  137. (* ACrypt() first appeared in later V39 versions of amiga.lib, but *)
  138. (* operates correctly under V37 and up.                   *)
  139.  
  140. PROCEDURE ACrypt( buffer : ADDRESS ; password, username : STRING ) : STRING ;
  141.  
  142. END AmigaLib.
  143.