home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / OB3.2D3.DMS / in.adf / Interfaces / ClipBoard.mod < prev    next >
Encoding:
Text File  |  1992-11-02  |  2.5 KB  |  70 lines

  1. (*-------------------------------------------------------------------------*)
  2. (*                                                                         *)
  3. (*  Amiga Oberon Interface Module:                    Date: 02-Nov-92      *)
  4. (*                                                                         *)
  5. (*   © 1992 by Fridtjof Siebert                                            *)
  6. (*                                                                         *)
  7. (*-------------------------------------------------------------------------*)
  8.  
  9. MODULE ClipBoard;   (* $Implementation- *)
  10.  
  11. IMPORT e * := Exec;
  12.  
  13. CONST
  14.  
  15.   clipboardName * = "clipboard.device";
  16.  
  17.   post           * = e.nonstd+0;
  18.   currentReadId  * = e.nonstd+1;
  19.   currentWriteId * = e.nonstd+2;
  20.   changeHook     * = e.nonstd+3;
  21.  
  22.   obsoleteId * = 1;
  23.  
  24. TYPE
  25.  
  26.   ClipboardUnitPartialPtr * = UNTRACED POINTER TO ClipboardUnitPartial;
  27.   ClipboardUnitPartial * = STRUCT (node * : e.Node) (* list of units *)
  28.     unitNum * : LONGINT;    (* unit number for this unit *)
  29.     (* the remaining unit data is private to the device *)
  30.   END;
  31.  
  32.  
  33.   IOClipReqPtr * = UNTRACED POINTER TO IOClipReq;
  34.   IOClipReq * = STRUCT (message * : e.Message)
  35.     device * : e.DevicePtr;     (* device node pointer  *)
  36.     unit * : ClipboardUnitPartialPtr; (* unit node pointer *)
  37.     command * : INTEGER;        (* device command *)
  38.     flags * : SHORTSET;         (* including QUICK and SATISFY *)
  39.     error * : SHORTINT;         (* error or warning num *)
  40.     actual * : LONGINT;         (* number of bytes transferred *)
  41.     length * : LONGINT;         (* number of bytes requested *)
  42.     data * : e.APTR;            (* either clip stream or post port *)
  43.     offset * : LONGINT;         (* offset in clip stream *)
  44.     clipID * : LONGINT;         (* ordinal clip identifier *)
  45.   END;
  46.  
  47. CONST
  48.  
  49.   primaryClip * = 0;       (* primary clip unit *)
  50.  
  51. TYPE
  52.  
  53.   SatisfyMsgPtr * = UNTRACED POINTER TO SatisfyMsg;
  54.   SatisfyMsg * = STRUCT (msg * : e.Message) (* the length will be 6 *)
  55.     unit * : INTEGER;       (* which clip unit this is *)
  56.     clipID * : LONGINT;     (* the clip identifier of the post *)
  57.   END;
  58.  
  59.   ClipHookMsgPtr * = UNTRACED POINTER TO ClipHookMsg;
  60.   ClipHookMsg * = STRUCT
  61.     type * : LONGINT;           (* zero for this structure format *)
  62.     changeCmd * : LONGINT;      (* command that caused this hook invocation: *)
  63.                                 (*   either Exec.update or ClipBoard.post *)
  64.     clipID * : LONGINT;         (* the clip identifier of the new data *)
  65.   END;
  66.  
  67. END ClipBoard.
  68.  
  69.  
  70.