DEFINITION MODULE Clipboard; (*$ Implementation:=FALSE *)
(* 10-Mar-1992/cn *)

FROM SYSTEM IMPORT ADDRESS;
FROM ExecD IMPORT nonstd,Node,Message,DevicePtr,IOFlagSet,UnitPtr;

CONST
 clipboardName="clipboard.device";
 post=nonstd+0;
 currentReadId=nonstd+1;
 currentWriteId=nonstd+2;
 (*36*)changeHook=nonstd+3;
 obsoleteId=1;

TYPE
 ClipboardUnitPartial=RECORD
  node:Node;
  unitNum:LONGCARD;
 END;
 ClipboardUnitPartialPtr=POINTER TO ClipboardUnitPartial;
 IOClipboard=RECORD
  message:Message;
  device:DevicePtr;
  unit:UnitPtr;
  command:CARDINAL;
  flags:IOFlagSet;
  error:SHORTINT;
  actual:LONGCARD;
  length:LONGCARD;
  data:ADDRESS;
  offset:LONGCARD;
  clipID:LONGINT;
 END;
 IOClipboardPtr=POINTER TO IOClipboard;
 IOClipReq=IOClipboard;
 IOClipReqPtr=IOClipboardPtr;

CONST
 primaryClip=0;

TYPE
 SatisfyMsg=RECORD
  msg:Message;
  unit:CARDINAL;
  clipID:LONGINT;
 END;
 SatisfyMsgPtr=POINTER TO SatisfyMsg;

 (*36*)ClipHookMsg=RECORD
        type:LONGCARD;
        changeMd:LONGINT;
        clipID:LONGINT;
       END;
 (*36*)ClipHookMsgPtr=POINTER TO ClipHookMsg;

END Clipboard.noimp
