Initial revision
[AROS-Contrib.git] / development / compilers / freepascal / rtl / aros / clipboard.pas
blob1753cd62417694e75ad295b8383d9b96c095f0f0
2 This file is part of the Free Pascal run time library.
4 A file in Amiga system run time library.
5 Copyright (c) 1998 by Nils Sjoholm
6 member of the Amiga RTL development team.
8 See the file COPYING.FPC, included in this distribution,
9 for details about the copyright.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15 **********************************************************************}
17 unit clipboard;
19 INTERFACE
21 uses exec;
23 const
24 CBD_POST = CMD_NONSTD + 0;
25 CBD_CURRENTREADID = CMD_NONSTD + 1;
26 CBD_CURRENTWRITEID = CMD_NONSTD + 2;
27 CBD_CHANGEHOOK = CMD_NONSTD + 3;
29 CBERR_OBSOLETEID = 1;
31 type
33 pClipboardUnitPartial = ^tClipboardUnitPartial;
34 tClipboardUnitPartial = record
35 cu_Node : tNode; { list of units }
36 cu_UnitNum : ULONG; { unit number for this unit }
37 { the remaining unit data is private to the device }
38 end;
41 pIOClipReq = ^tIOClipReq;
42 tIOClipReq = record
43 io_Message : tMessage;
44 io_Device : pDevice; { device node pointer }
45 io_Unit : pClipboardUnitPartial; { unit (driver private) }
46 io_Command : Word; { device command }
47 io_Flags : Byte; { including QUICK and SATISFY }
48 io_Error : Shortint; { error or warning num }
49 io_Actual : ULONG; { number of bytes transferred }
50 io_Length : ULONG; { number of bytes requested }
51 io_Data : STRPTR; { either clip stream or post port }
52 io_Offset : ULONG; { offset in clip stream }
53 io_ClipID : Longint; { ordinal clip identifier }
54 end;
56 const
57 PRIMARY_CLIP = 0; { primary clip unit }
59 type
61 pSatisfyMsg = ^tSatisfyMsg;
62 tSatisfyMsg = record
63 sm_Msg : tMessage; { the length will be 6 }
64 sm_Unit : Word; { which clip unit this is }
65 sm_ClipID : Longint; { the clip identifier of the post }
66 end;
68 pClipHookMsg = ^tClipHookMsg;
69 tClipHookMsg = record
70 chm_Type : ULONG; { zero for this structure format }
71 chm_ChangeCmd, { command that caused this hook invocation: }
72 { either CMD_UPDATE OR CBD_POST }
73 chm_ClipID : Longint; { the clip identifier of the new data }
74 END;
76 IMPLEMENTATION
78 end.