home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD v1.2 / amidev_cd_12.iso / inc&ad2.0 / includes / devices / clipboard.h < prev    next >
C/C++ Source or Header  |  1992-09-01  |  2KB  |  73 lines

  1. #ifndef     DEVICES_CLIPBOARD_H
  2. #define     DEVICES_CLIPBOARD_H
  3. /*
  4. **    $Filename: devices/clipboard.h $
  5. **    $Release: 2.04 Includes, V37.4 $
  6. **    $Revision: 36.5 $
  7. **    $Date: 90/11/02 $
  8. **
  9. **    clipboard.device structure definitions
  10. **
  11. **    (C) Copyright 1985-1991 Commodore-Amiga, Inc.
  12. **        All Rights Reserved
  13. */
  14.  
  15. #ifndef    EXEC_TYPES_H
  16. #include    "exec/types.h"
  17. #endif
  18. #ifndef    EXEC_NODES_H
  19. #include    "exec/nodes.h"
  20. #endif
  21. #ifndef    EXEC_LISTS_H
  22. #include    "exec/lists.h"
  23. #endif
  24. #ifndef    EXEC_PORTS_H
  25. #include    "exec/ports.h"
  26. #endif
  27.  
  28. #define    CBD_POST        (CMD_NONSTD+0)
  29. #define    CBD_CURRENTREADID    (CMD_NONSTD+1)
  30. #define    CBD_CURRENTWRITEID    (CMD_NONSTD+2)
  31. #define    CBD_CHANGEHOOK        (CMD_NONSTD+3)
  32.  
  33. #define    CBERR_OBSOLETEID    1
  34.  
  35.  
  36. struct ClipboardUnitPartial {
  37.     struct  Node cu_Node;    /* list of units */
  38.     ULONG   cu_UnitNum;        /* unit number for this unit */
  39.     /* the remaining unit data is private to the device */
  40. };
  41.  
  42.  
  43. struct IOClipReq {
  44.     struct Message io_Message;
  45.     struct Device *io_Device;    /* device node pointer    */
  46.     struct ClipboardUnitPartial *io_Unit; /* unit node pointer */
  47.     UWORD   io_Command;        /* device command */
  48.     UBYTE   io_Flags;        /* including QUICK and SATISFY */
  49.     BYTE    io_Error;        /* error or warning num */
  50.     ULONG   io_Actual;        /* number of bytes transferred */
  51.     ULONG   io_Length;        /* number of bytes requested */
  52.     STRPTR  io_Data;        /* either clip stream or post port */
  53.     ULONG   io_Offset;        /* offset in clip stream */
  54.     LONG    io_ClipID;        /* ordinal clip identifier */
  55. };
  56.  
  57. #define    PRIMARY_CLIP    0    /* primary clip unit */
  58.  
  59. struct SatisfyMsg {
  60.     struct Message sm_Msg;    /* the length will be 6 */
  61.     UWORD   sm_Unit;        /* which clip unit this is */
  62.     LONG    sm_ClipID;        /* the clip identifier of the post */
  63. };
  64.  
  65. struct ClipHookMsg {
  66.     ULONG   chm_Type;        /* zero for this structure format */
  67.     LONG    chm_ChangeCmd;    /* command that caused this hook invocation: */
  68.                 /*   either CMD_UPDATE or CBD_POST */
  69.     LONG    chm_ClipID;        /* the clip identifier of the new data */
  70. };
  71.  
  72. #endif    /* DEVICES_CLIPBOARD_H */
  73.