#ifndef DEVICES_CLIPBOARD_H #define DEVICES_CLIPBOARD_H /* ** $VER: clipboard.h 36.5 (2.11.1990) ** Includes Release 44.1 ** ** clipboard.device structure definitions ** ** (C) Copyright 1985-1999 Amiga, Inc. ** All Rights Reserved */ #ifndef EXEC_TYPES_H #include <exec/types.h> #endif #ifndef EXEC_NODES_H #include <exec/nodes.h> #endif #ifndef EXEC_LISTS_H #include <exec/lists.h> #endif #ifndef EXEC_PORTS_H #include <exec/ports.h> #endif #define CBD_POST (CMD_NONSTD+0) #define CBD_CURRENTREADID (CMD_NONSTD+1) #define CBD_CURRENTWRITEID (CMD_NONSTD+2) #define CBD_CHANGEHOOK (CMD_NONSTD+3) #define CBERR_OBSOLETEID 1 struct ClipboardUnitPartial { struct Node cu_Node; /* list of units */ ULONG cu_UnitNum; /* unit number for this unit */ /* the remaining unit data is private to the device */ }; struct IOClipReq { struct Message io_Message; struct Device *io_Device; /* device node pointer */ struct ClipboardUnitPartial *io_Unit; /* unit node pointer */ UWORD io_Command; /* device command */ UBYTE io_Flags; /* including QUICK and SATISFY */ BYTE io_Error; /* error or warning num */ ULONG io_Actual; /* number of bytes transferred */ ULONG io_Length; /* number of bytes requested */ STRPTR io_Data; /* either clip stream or post port */ ULONG io_Offset; /* offset in clip stream */ LONG io_ClipID; /* ordinal clip identifier */ }; #define PRIMARY_CLIP 0 /* primary clip unit */ struct SatisfyMsg { struct Message sm_Msg; /* the length will be 6 */ UWORD sm_Unit; /* which clip unit this is */ LONG sm_ClipID; /* the clip identifier of the post */ }; struct ClipHookMsg { ULONG chm_Type; /* zero for this structure format */ LONG chm_ChangeCmd; /* command that caused this hook invocation: */ /* either CMD_UPDATE or CBD_POST */ LONG chm_ClipID; /* the clip identifier of the new data */ }; #endif /* DEVICES_CLIPBOARD_H */