home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 15 / AACD15.ISO / AACD / Programming / BGUI / bgui_e / sources / emodules / bgui / bgui_arexx.e next >
Encoding:
Text File  |  1998-11-28  |  2.7 KB  |  95 lines

  1. OPT MODULE
  2. OPT EXPORT
  3. OPT PREPROCESS
  4.  
  5. /*
  6.  * $VER: bgui/arexx.e 41.10= 28.11.98
  7.  * E Header for the BOOPSI ARexx interface class.
  8.  *
  9.  *= C  Copyright 1998 Manuel Lemos.
  10.  *= C  Copyright 1996-1997 Ian J. Einman.
  11.  *= C  Copyright 1993-1996 Jaba Development.
  12.  *= C  Copyright 1993-1996 Jan van den Baard.
  13.  *= C  Copyright 1998 Dominique Dutoit.
  14.  * All Rights Reserved.
  15.  *
  16.  */
  17.  
  18. MODULE  'exec/types',
  19.         'exec/memory',
  20.         'dos/dos',
  21.         'dos/rdargs',
  22.         'rexx/storage',
  23.         'rexx/rxslib',
  24.         'rexx/errors',
  25.         'utility/tagitem',
  26.         'intuition/classes',
  27.         'intuition/classusr'
  28.  
  29. /* Tags */
  30. CONST   AREXX_TB                       = TAG_USER+$30000 
  31.  
  32. CONST   AREXX_HostName                 = AREXX_TB+1     /* I-G-- */
  33. CONST   AREXX_FileExtension            = AREXX_TB+2     /* I---- */
  34. CONST   AREXX_CommandList              = AREXX_TB+3     /* I---- */
  35. CONST   AREXX_SignalMask               = AREXX_TB+4     /* --G-- */
  36. CONST   AREXX_ErrorCode                = AREXX_TB+5     /* I---- */
  37.  
  38. /* Methods */
  39. CONST   AREXX_MB                       = $30000 
  40.  
  41. /* ARexx class event-handler. */
  42. CONST   AREXXM_HANDLE_EVENT            = AREXX_MB+1 
  43.  
  44. /* Execute a host command. */
  45. CONST   AREXXM_EXECUTE                 = AREXX_MB+2 
  46.  
  47. OBJECT acmExecute
  48.         methodID:LONG
  49.         commandString:PTR TO CHAR
  50.         rc:LONG
  51.         rc2:LONG
  52.         result:PTR TO CHAR
  53.         io:PTR TO CHAR
  54. ENDOBJECT
  55.  
  56. /*
  57. **      The routines from the command-list will receive a pointer
  58. **      to this structure.  In this structure are the parsed arguments
  59. **      and storage to put the results of the command.
  60. **/
  61. OBJECT rexxArgs
  62.         argList:PTR TO LONG         /* Result of ReadArgs( . */
  63.         rc:LONG                     /* Primary result. */
  64.         rc2:LONG                    /* Secondary result. */
  65.         result:PTR TO CHAR          /* RESULT variable. */
  66. ENDOBJECT
  67.  
  68. /*
  69. **      An array of these structures must be passed at object-create time.
  70. **/
  71. OBJECT rexxCommand
  72.         name:PTR TO CHAR          /* Command name. */
  73.         argTemplate:PTR TO CHAR   /* DOS-style argument template. */
  74.         func:PTR TO LONG
  75. ENDOBJECT
  76.  
  77. /*
  78. **      Possible errors.
  79. **/
  80. CONST   RXERR_NO_COMMAND_LIST           = 1
  81. CONST   RXERR_NO_PORT_NAME              = 2
  82. CONST   RXERR_PORT_ALREADY_EXISTS       = 3
  83. CONST   RXERR_OUT_OF_MEMORY             = 4
  84.  
  85. /*
  86.  * Backwards compatibility.
  87.  */
  88. CONST   AC_HostName                     = AREXX_HostName
  89. CONST   AC_FileExtention                = AREXX_FileExtension
  90. CONST   AC_CommandList                  = AREXX_CommandList
  91. CONST   AC_ErrorCode                    = AREXX_ErrorCode
  92. CONST   AC_RexxPortMask                 = AREXX_SignalMask
  93. CONST   ACM_HANDLE_EVENT                = AREXXM_HANDLE_EVENT
  94. CONST   ACM_EXECUTE                     = AREXXM_EXECUTE
  95.