1 #ifndef DEVICES_CLIPBOARD_H
    2 #define DEVICES_CLIPBOARD_H
    3 
    4 /*
    5 	clipboard.device include
    6 
    7 	Copyright © 2002 The MorphOS Development Team, All Rights Reserved.
    8 */
    9 
   10 #ifndef EXEC_TYPES_H
   11 # include <exec/types.h>
   12 #endif
   13 
   14 #ifndef EXEC_NODES_H
   15 # include <exec/nodes.h>
   16 #endif
   17 
   18 #ifndef EXEC_LISTS_H
   19 # include <exec/lists.h>
   20 #endif
   21 
   22 #ifndef EXEC_PORTS_H
   23 # include <exec/ports.h>
   24 #endif
   25 
   26 #pragma pack(2)
   27 
   28 
   29 #define CBD_POST            (CMD_NONSTD + 0)
   30 #define CBD_CURRENTREADID   (CMD_NONSTD + 1)
   31 #define CBD_CURRENTWRITEID  (CMD_NONSTD + 2)
   32 #define CBD_CHANGEHOOK      (CMD_NONSTD + 3)
   33 
   34 #define CBERR_OBSOLETEID    1
   35 
   36 
   37 struct ClipboardUnitPartial
   38 {
   39 	struct Node cu_Node;
   40 	ULONG       cu_UnitNum;
   41 };
   42 
   43 
   44 struct IOClipReq
   45 {
   46 	struct Message               io_Message;
   47 	struct Device               *io_Device;
   48 	struct ClipboardUnitPartial *io_Unit;
   49 	UWORD                        io_Command;
   50 	UBYTE                        io_Flags;
   51 	BYTE                         io_Error;
   52 	ULONG                        io_Actual;
   53 	ULONG                        io_Length;
   54 	STRPTR                       io_Data;
   55 	ULONG                        io_Offset;
   56 	LONG                         io_ClipID;
   57 };
   58 
   59 
   60 #define PRIMARY_CLIP  0
   61 
   62 
   63 struct SatisfyMsg
   64 {
   65 	struct Message sm_Msg;
   66 	UWORD          sm_Unit;
   67 	LONG           sm_ClipID;
   68 };
   69 
   70 struct ClipHookMsg
   71 {
   72 	ULONG chm_Type;
   73 	LONG  chm_ChangeCmd;
   74 	LONG  chm_ClipID;
   75 };
   76 
   77 
   78 #pragma pack()
   79 
   80 #endif /* DEVICES_CLIPBOARD_H */