1 { 2 This file is part of the Free Pascal run time library. 3 4 A file in Amiga system run time library. 5 Copyright (c) 1998 by Nils Sjoholm 6 member of the Amiga RTL development team. 7 8 See the file COPYING.FPC, included in this distribution, 9 for details about the copyright. 10 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. 14 15 **********************************************************************} 16 {$PACKRECORDS 2} 17 unit clipboard; 18 19 INTERFACE 20 21 uses exec; 22 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; 28 29 CBERR_OBSOLETEID = 1; 30 31 type 32 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; 39 40 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; 55 56 const 57 PRIMARY_CLIP = 0; { primary clip unit } 58 59 type 60 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; 67 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; 75 76 IMPLEMENTATION 77 78 end. 79