home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 411b.lha / dme_1.42 / src.LZH / src / rexx / rexxio.i < prev    next >
Text File  |  1988-07-31  |  3KB  |  73 lines

  1. * === rexx/rexxio.i ====================================================
  2. *
  3. * Copyright (c) 1986, 1987 by William S. Hawes (All Rights Reserved)
  4. *
  5. * ======================================================================
  6. * Include file for Input/Output related structures
  7.  
  8.          IFND     REXX_REXXIO_I
  9. REXX_REXXIO_I  SET   1
  10.  
  11.          IFND     REXX_STORAGE_I
  12.          INCLUDE  "rexx/storage.i"
  13.          ENDC
  14.  
  15. RXBUFFSZ EQU      204                  ; buffer length
  16.  
  17. * The IoBuff is a resource node used to maintain the File List.  Nodes are
  18. * allocated and linked into the list whenever a file is opened.
  19.  
  20.          STRUCTURE IoBuff,rr_SIZEOF    ; structure for files/strings
  21.          APTR     iobRpt               ; read/write pointer
  22.          LONG     iobRct               ; character count
  23.          LONG     iobDFH               ; DOS filehandle
  24.          APTR     iobLock              ; DOS lock
  25.          LONG     iobBct               ; buffer length
  26.          STRUCT   iobArea,RXBUFFSZ     ; buffer area
  27.          LABEL    iobSIZEOF            ; size: 256 bytes
  28.  
  29. IOBNAME  EQU      LN_NAME              ; logical name
  30. IOBMODE  EQU      rr_Arg1              ; access mode
  31. IOBEOF   EQU      rr_Arg1+1            ; EOF flag
  32. IOBPOS   EQU      rr_Arg2              ; current position
  33.  
  34. * Access mode definitions
  35. RXIO_EXIST  EQU      -1                ; an existing filehandle
  36. RXIO_STRF   EQU      0                 ; a "string file"
  37. RXIO_READ   EQU      1                 ; read-only access
  38. RXIO_WRITE  EQU      2                 ; write mode
  39. RXIO_APPEND EQU      3                 ; append mode (existing file)
  40.  
  41. * Offset anchors for SeekF()
  42. RXIO_BEGIN  EQU      -1                ; relative to start
  43. RXIO_CURR   EQU      0                 ; relative to current position
  44. RXIO_END    EQU      1                 ; relative to end
  45.  
  46. * The Library List contains just plain resource nodes.
  47. LLOFFSET EQU      rr_Arg1              ; "Query" offset
  48. LLVERS   EQU      rr_Arg2              ; library version
  49.  
  50. * The RexxClipNode structure is used to maintain the Clip List.  The
  51. * value string is stored as an argstring in the rr_Arg1 field.
  52. CLVALUE  EQU      rr_Arg1              ; value string
  53.  
  54. * A message port structure, maintained as a resource node.
  55. * The ReplyList holds packets that have been received but haven't been
  56. * replied.
  57.  
  58.          STRUCTURE RexxMsgPort,rr_SIZEOF
  59.          STRUCT   rmp_Port,MP_SIZE           ; the message port
  60.          STRUCT   rmp_ReplyList,LH_SIZE      ; messages awaiting reply 
  61.          LABEL    rmp_SIZEOF
  62.  
  63. * Device types
  64. DT_DEV   EQU      0                    ; a device
  65. DT_DIR   EQU      1                    ; an ASSIGNed directory
  66. DT_VOL   EQU      2                    ; a volume
  67.  
  68. * Private packet types
  69. ACTION_STACK   EQU   2002              ; stack a line
  70. ACTION_QUEUE   EQU   2003              ; queue a line
  71.  
  72.          ENDC
  73.