VirtualBox

Changeset 79630 in vbox for trunk/include/VBox/HostServices


Ignore:
Timestamp:
Jul 9, 2019 8:14:01 AM (5 years ago)
Author:
vboxsync
Message:

Shared Clipboard/URI: Update.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/HostServices/VBoxClipboardSvc.h

    r79497 r79630  
    6666#define VBOX_SHARED_CLIPBOARD_HOST_FN_AREA_DETACH        8
    6767
     68/**
     69 * The host messages for the guest.
     70 */
     71#define VBOX_SHARED_CLIPBOARD_HOST_MSG_QUIT                   1
     72#define VBOX_SHARED_CLIPBOARD_HOST_MSG_READ_DATA              2
     73#define VBOX_SHARED_CLIPBOARD_HOST_MSG_REPORT_FORMATS         3
     74
     75/** Initiates a new transfer (read / write) on the guest side. */
     76#define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_TRANSFER_START     50
     77/** Open an URI list on the guest side. */
     78#define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_OPEN          51
     79/** Closes a formerly opened URI list on the guest side. */
     80#define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_CLOSE         52
     81/** Reads a list header from the guest. */
     82#define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_HDR_READ      53
     83/** Writes a list header to the guest. */
     84#define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_HDR_WRITE     54
     85/** Reads a list entry from the guest. */
     86#define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_ENTRY_READ    55
     87/** Writes a list entry to the guest. */
     88#define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_ENTRY_WRITE   56
     89/** Open an URI object on the guest side. */
     90#define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_OBJ_OPEN           57
     91/** Closes a formerly opened URI object on the guest side. */
     92#define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_OBJ_CLOSE          58
     93/** Reads from an object on the guest side. */
     94#define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_OBJ_READ           59
     95/** Writes to an object on the guest side. */
     96#define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_OBJ_WRITE          60
     97/** Indicates that the host has canceled a transfer. */
     98#define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_CANCEL             61
     99/** Indicates that the an unrecoverable error on the host occurred . */
     100#define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_ERROR              62
     101
    68102/*
    69103 * The service functions which are called by guest.
     
    80114#define VBOX_SHARED_CLIPBOARD_GUEST_FN_WRITE_DATA        4
    81115
    82 #define VBOX_SHARED_CLIPBOARD_GUEST_FN_TRANSFER_REPORT   5
    83 /** New message for getting the next message from the host (see VBOX_SHARED_CLIPBOARD_GUEST_FN_GET_HOST_MSG_OLD).
    84  *  New since URI handling was implemented. */
    85 #define VBOX_SHARED_CLIPBOARD_GUEST_FN_GET_HOST_MSG      6
     116/** Peeks at the next message, returning immediately.
     117 *  New since URI handling was implemented. */
     118#define VBOX_SHARED_CLIPBOARD_GUEST_FN_MSG_PEEK_NOWAIT   5
     119/** Peeks at the next message, waiting for one to arrive.
     120 *  New since URI handling was implemented. */
     121#define VBOX_SHARED_CLIPBOARD_GUEST_FN_MSG_PEEK_WAIT     6
     122/** Gets the next message, returning immediately.
     123 *  New since URI handling was implemented. */
     124#define VBOX_SHARED_CLIPBOARD_GUEST_FN_MSG_GET           7
     125/** Sends a transfer status to the host.
     126 *  New since URI handling was implemented. */
     127#define VBOX_SHARED_CLIPBOARD_GUEST_FN_STATUS            8
     128/** Replies to a function from the host.
     129 *  New since URI handling was implemented. */
     130#define VBOX_SHARED_CLIPBOARD_GUEST_FN_REPLY             9
    86131/** Opens / gets a list handle from the host.
    87132 *  New since URI handling was implemented. */
    88 #define VBOX_SHARED_CLIPBOARD_GUEST_FN_LIST_OPEN         7
     133#define VBOX_SHARED_CLIPBOARD_GUEST_FN_LIST_OPEN         10
    89134/** Closes a list handle from the host.
    90135 *  New since URI handling was implemented. */
    91 #define VBOX_SHARED_CLIPBOARD_GUEST_FN_LIST_CLOSE        8
     136#define VBOX_SHARED_CLIPBOARD_GUEST_FN_LIST_CLOSE        11
    92137/** Reads a list header from the host.
    93138 *  New since URI handling was implemented. */
    94 #define VBOX_SHARED_CLIPBOARD_GUEST_FN_LIST_HDR_READ     9
     139#define VBOX_SHARED_CLIPBOARD_GUEST_FN_LIST_HDR_READ     12
    95140/** Writes a list header to the host.
    96141 *  New since URI handling was implemented. */
    97 #define VBOX_SHARED_CLIPBOARD_GUEST_FN_LIST_HDR_WRITE    10
     142#define VBOX_SHARED_CLIPBOARD_GUEST_FN_LIST_HDR_WRITE    13
    98143/** New since URI handling was implemented. */
    99 #define VBOX_SHARED_CLIPBOARD_GUEST_FN_LIST_ENTRY_READ   11
     144#define VBOX_SHARED_CLIPBOARD_GUEST_FN_LIST_ENTRY_READ   14
    100145/** New since URI handling was implemented. */
    101 #define VBOX_SHARED_CLIPBOARD_GUEST_FN_LIST_ENTRY_WRITE  12
     146#define VBOX_SHARED_CLIPBOARD_GUEST_FN_LIST_ENTRY_WRITE  15
    102147/** New since URI handling was implemented. */
    103 #define VBOX_SHARED_CLIPBOARD_GUEST_FN_OBJ_OPEN          13
     148#define VBOX_SHARED_CLIPBOARD_GUEST_FN_OBJ_OPEN          16
    104149/** New since URI handling was implemented. */
    105 #define VBOX_SHARED_CLIPBOARD_GUEST_FN_OBJ_CLOSE         14
     150#define VBOX_SHARED_CLIPBOARD_GUEST_FN_OBJ_CLOSE         17
    106151/** New since URI handling was implemented. */
    107 #define VBOX_SHARED_CLIPBOARD_GUEST_FN_OBJ_READ          15
     152#define VBOX_SHARED_CLIPBOARD_GUEST_FN_OBJ_READ          18
    108153/**  New since URI handling was implemented. */
    109 #define VBOX_SHARED_CLIPBOARD_GUEST_FN_OBJ_WRITE         16
     154#define VBOX_SHARED_CLIPBOARD_GUEST_FN_OBJ_WRITE         19
    110155/** Reports cancellation of the current operation to the host.
    111156 *  New since URI handling was implemented. */
    112 #define VBOX_SHARED_CLIPBOARD_GUEST_FN_CANCEL            17
     157#define VBOX_SHARED_CLIPBOARD_GUEST_FN_CANCEL            20
    113158/** Reports an error to the host.
    114159 *  New since URI handling was implemented. */
    115 #define VBOX_SHARED_CLIPBOARD_GUEST_FN_ERROR             18
     160#define VBOX_SHARED_CLIPBOARD_GUEST_FN_ERROR             21
     161
     162/**
     163 * Translates a Shared Clipboard host message enum to a string.
     164 *
     165 * @returns Message ID string name.
     166 * @param   uMsg                The message to translate.
     167 */
     168DECLINLINE(const char *) VBoxSvcClipboardHostMsgToStr(uint32_t uMsg)
     169{
     170    switch (uMsg)
     171    {
     172        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_HOST_MSG_QUIT);
     173        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_HOST_MSG_READ_DATA);
     174        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_HOST_MSG_REPORT_FORMATS);
     175        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_TRANSFER_START);
     176        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_OPEN);
     177        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_CLOSE);
     178        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_HDR_READ);
     179        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_HDR_WRITE);
     180        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_ENTRY_READ);
     181        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_ENTRY_WRITE);
     182        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_OBJ_OPEN);
     183        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_OBJ_CLOSE);
     184        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_OBJ_READ);
     185        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_OBJ_WRITE);
     186        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_CANCEL);
     187        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_ERROR);
     188    }
     189    return "Unknown";
     190}
     191
     192/**
     193 * Translates a Shared Clipboard guest message enum to a string.
     194 *
     195 * @returns Message ID string name.
     196 * @param   uMsg                The message to translate.
     197 */
     198DECLINLINE(const char *) VBoxSvcClipboardGuestMsgToStr(uint32_t uMsg)
     199{
     200    switch (uMsg)
     201    {
     202        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_GUEST_FN_REPORT_FORMATS);
     203        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_GUEST_FN_READ_DATA);
     204        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_GUEST_FN_WRITE_DATA);
     205        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_GUEST_FN_MSG_PEEK_NOWAIT);
     206        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_GUEST_FN_MSG_PEEK_WAIT);
     207        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_GUEST_FN_MSG_GET);
     208        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_GUEST_FN_STATUS);
     209        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_GUEST_FN_REPLY);
     210        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_GUEST_FN_LIST_OPEN);
     211        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_GUEST_FN_LIST_CLOSE);
     212        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_GUEST_FN_LIST_HDR_READ);
     213        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_GUEST_FN_LIST_HDR_WRITE);
     214        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_GUEST_FN_LIST_ENTRY_READ);
     215        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_GUEST_FN_LIST_ENTRY_WRITE);
     216        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_GUEST_FN_OBJ_OPEN);
     217        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_GUEST_FN_OBJ_CLOSE);
     218        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_GUEST_FN_OBJ_READ);
     219        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_GUEST_FN_OBJ_WRITE);
     220        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_GUEST_FN_CANCEL);
     221        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_GUEST_FN_ERROR);
     222        RT_CASE_RET_STR(VBOX_SHARED_CLIPBOARD_HOST_MSG_QUIT);
     223    }
     224    return "Unknown";
     225}
    116226
    117227/** The maximum default chunk size for a single data transfer. */
     
    201311    VBGLIOCHGCMCALL hdr;
    202312
    203     /** Message ID. */
    204     HGCMFunctionParameter uMsg;      /* OUT uint32_t */
    205     /** Number of parameters the message needs. */
    206     HGCMFunctionParameter cParms;    /* OUT uint32_t */
    207     /** Whether or not to block (wait) for a
    208      *  new message to arrive. */
    209     HGCMFunctionParameter fBlock;    /* OUT uint32_t */
    210 } VBoxClipboardGetHostMsg;
     313    /** uint32_t, out: Message ID. */
     314    HGCMFunctionParameter uMsg;
     315    /** uint32_t, out: Number of parameters the message needs. */
     316    HGCMFunctionParameter cParms;
     317    /** uint32_t, in: Whether or not to block (wait) for a  new message to arrive. */
     318    HGCMFunctionParameter fBlock;
     319} VBoxClipboardPeekMsg;
    211320
    212321#define VBOX_SHARED_CLIPBOARD_CPARMS_GET_HOST_MSG 3
     
    217326#define VBOX_SHAREDCLIPBOARD_LIST_FLAG_RESTART       RT_BIT(1)
    218327
    219 #define VBOX_SHAREDCLIPBOARD_INFO_FLAG_NONE         0
     328#define VBOX_SHAREDCLIPBOARD_LISTHDR_FLAG_NONE       0
     329
     330#define VBOX_SHAREDCLIPBOARD_INFO_FLAG_NONE          0
    220331/** Get object information of type SHAREDCLIPBOARDFSOBJINFO. */
    221332#define VBOX_SHAREDCLIPBOARD_INFO_FLAG_FSOBJINFO     RT_BIT(0)
    222333
    223334/**
     335 * Transfert status message.
     336 */
     337typedef struct _VBoxClipboardStatusMsg
     338{
     339    VBGLIOCHGCMCALL hdr;
     340
     341    /** uint32_t, in: Context ID. Unused at the moment. */
     342    HGCMFunctionParameter uContext;
     343    /** uint32_t, in: Transfer status of type SHAREDCLIPBOARDURITRANSFERSTATUS. */
     344    HGCMFunctionParameter uStatus;
     345    /** uint32_t, in: Size of payload of this status, based on the status type. */
     346    HGCMFunctionParameter cbPayload;
     347    /** pointer, in: Optional payload of this status, based on the status type. */
     348    HGCMFunctionParameter pvPayload;
     349} VBoxClipboardStatusMsg;
     350
     351#define VBOX_SHARED_CLIPBOARD_CPARMS_STATUS 4
     352
     353#define VBOX_SHAREDCLIPBOARD_REPLYMSGTYPE_INVALID           0
     354#define VBOX_SHAREDCLIPBOARD_REPLYMSGTYPE_LIST_OPEN         1
     355#define VBOX_SHAREDCLIPBOARD_REPLYMSGTYPE_OBJ_OPEN          2
     356
     357/**
     358 * Generic reply message.
     359 */
     360typedef struct _VBoxClipboardReplyMsg
     361{
     362    VBGLIOCHGCMCALL hdr;
     363
     364    /** uint32_t, in: Context ID. Unused at the moment. */
     365    HGCMFunctionParameter uContext;
     366    /** uint32_t, in: Message type of type VBOX_SHAREDCLIPBOARD_REPLYMSGTYPE_XXX. */
     367    HGCMFunctionParameter enmType;
     368    /** uint32_t, in: IPRT result of overall operation. */
     369    HGCMFunctionParameter rc;
     370    /** uint32_t, in: Size of optional payload of this reply, based on the message type. */
     371    HGCMFunctionParameter cbPayload;
     372    /** pointer, in: Optional payload of this reply, based on the message type. */
     373    HGCMFunctionParameter pvPayload;
     374    union
     375    {
     376        struct
     377        {
     378            HGCMFunctionParameter uHandle;
     379        } ListOpen;
     380        struct
     381        {
     382            HGCMFunctionParameter uHandle;
     383        } ObjOpen;
     384    } u;
     385} VBoxClipboardReplyMsg;
     386
     387#define VBOX_SHARED_CLIPBOARD_CPARMS_REPLY_MIN 5
     388
     389/**
    224390 * Opens a list.
    225  *
    226  * Used by:
    227  * VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_OPEN
    228391 */
    229392typedef struct _VBoxClipboardListOpenMsg
     
    231394    VBGLIOCHGCMCALL hdr;
    232395
    233     /** uint32_t, in/out: Context ID. Unused at the moment. */
    234     HGCMFunctionParameter uContext;
    235     /** uint64_t, out: List handle. */
    236     HGCMFunctionParameter uHandle;
    237     /** uint32_t, in/out: Listing flags (see VBOX_SHAREDCLIPBOARD_LIST_FLAG_XXX). */
     396    /** uint32_t, in: Context ID. Unused at the moment. */
     397    HGCMFunctionParameter uContext;
     398    /** uint32_t, in: Listing flags (see VBOX_SHAREDCLIPBOARD_LIST_FLAG_XXX). */
    238399    HGCMFunctionParameter fList;
    239     /** uint32_t, in/out: Feature flags (see VBOX_SHAREDCLIPBOARD_FEATURE_FLAG_XXX). */
    240     HGCMFunctionParameter fFeatures;
    241400    /** uint32_t, in: Size (in bytes) of the filter string. */
    242401    HGCMFunctionParameter cbFilter;
    243402    /** pointer, in: Filter string. */
    244403    HGCMFunctionParameter pvFilter;
     404    /** uint32_t, in: Size (in bytes) of the listing path. */
     405    HGCMFunctionParameter cbPath;
     406    /** pointer, in: Listing poth. If empty or NULL the listing's root path will be opened. */
     407    HGCMFunctionParameter pvPath;
     408    /** uint64_t, out: List handle. */
     409    HGCMFunctionParameter uHandle;
    245410} VBoxClipboardListOpenMsg;
    246411
    247 #define VBOX_SHARED_CLIPBOARD_CPARMS_LIST_OPEN 5
     412#define VBOX_SHARED_CLIPBOARD_CPARMS_LIST_OPEN 7
    248413
    249414/**
    250415 * Closes a list.
    251  *
    252  * Used by:
    253  * VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_OPEN
    254416 */
    255417typedef struct _VBoxClipboardListCloseMsg
     
    265427#define VBOX_SHARED_CLIPBOARD_CPARMS_LIST_CLOSE 2
    266428
    267 /**
    268  * Reads / writes a list header.
    269  *
    270  * Used by:
    271  * VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_HDR_READ
    272  * VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_HDR_WRITE
    273  */
    274 typedef struct _VBoxClipboardListHdrMsg
    275 {
    276     VBGLIOCHGCMCALL hdr;
    277 
    278     /** uint32_t, in/out: Context ID. Unused at the moment. */
     429typedef struct _VBoxClipboardListHdrReqParms
     430{
     431    /** uint32_t, in: Context ID. Unused at the moment. */
    279432    HGCMFunctionParameter uContext;
    280433    /** uint64_t, in: List handle. */
    281434    HGCMFunctionParameter uHandle;
    282     /** value64, out:  Number of total objects to transfer. */
    283     HGCMFunctionParameter cTotalObjects;
    284     /** value64, out:  Number of total bytes to transfer. */
    285     HGCMFunctionParameter cbTotalSize;
    286     /** Compression type. */
    287     HGCMFunctionParameter enmCompression;
    288     /** Checksum type used for data transfer. */
    289     HGCMFunctionParameter enmChecksumType;
    290 } VBoxClipboardListHdrReadMsg, VBoxClipboardListHdrWriteMsg;
    291 
    292 #define VBOX_SHARED_CLIPBOARD_CPARMS_LIST_HDR_READ  6
    293 #define VBOX_SHARED_CLIPBOARD_CPARMS_LIST_HDR_WRITE 6
    294 
    295 /**
    296  * Reads / writes a list entry.
    297  *
    298  * Used by:
    299  * VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_ENTRY_READ
    300  * VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_ENTRY_WRITE
    301  */
    302 typedef struct _VBoxClipboardListEntryMsg
    303 {
    304     VBGLIOCHGCMCALL hdr;
    305 
    306     /** Context ID. Unused at the moment. */
     435    /** uint32_t, in: Flags of type VBOX_SHAREDCLIPBOARD_LISTHDR_FLAG_XXX. */
     436    HGCMFunctionParameter fFlags;
     437} VBoxClipboardListHdrReqParms;
     438
     439/**
     440 * Request to read a list header.
     441 */
     442typedef struct _VBoxClipboardListHdrReadReqMsg
     443{
     444    VBGLIOCHGCMCALL hdr;
     445
     446    VBoxClipboardListHdrReqParms ReqParms;
     447} VBoxClipboardListHdrReadReqMsg;
     448
     449#define VBOX_SHARED_CLIPBOARD_CPARMS_LIST_HDR_READ_REQ 3
     450
     451/**
     452 * Reads / Writes a list header.
     453 */
     454typedef struct _VBoxClipboardListHdrMsg
     455{
     456    VBGLIOCHGCMCALL hdr;
     457
     458    VBoxClipboardListHdrReqParms ReqParms;
     459    /** uint32_t, in/out: Feature flags (see VBOX_SHAREDCLIPBOARD_FEATURE_FLAG_XXX). */
     460    HGCMFunctionParameter        fFeatures;
     461    /** uint64_t, in/out:  Number of total objects to transfer. */
     462    HGCMFunctionParameter        cTotalObjects;
     463    /** uint64_t, in/out:  Number of total bytes to transfer. */
     464    HGCMFunctionParameter        cbTotalSize;
     465    /** uint32_t, in/out: Compression type. */
     466    HGCMFunctionParameter        enmCompression;
     467    /** uint32_t, in/out: Checksum type used for data transfer. */
     468    HGCMFunctionParameter        enmChecksumType;
     469} VBoxClipboardListHdrMsg;
     470
     471#define VBOX_SHARED_CLIPBOARD_CPARMS_LIST_HDR 8
     472
     473typedef struct _VBoxClipboardListEntryReqParms
     474{
     475    /** uint32_t, Context ID. Unused at the moment. */
    307476    HGCMFunctionParameter uContext;
    308477    /** uint64_t, in: List handle. */
    309478    HGCMFunctionParameter uHandle;
    310     /** uint32_t, in/out: VBOX_SHAREDCLIPBOARD_INFO_FLAG_XXX. */
     479    /** uint32_t, in: VBOX_SHAREDCLIPBOARD_INFO_FLAG_XXX. */
    311480    HGCMFunctionParameter fInfo;
    312     /** uint32_t, in/out: Bytes to be used for information/How many bytes were used.  */
    313     HGCMFunctionParameter cbInfo;
    314     /** pointer, in/out: Information to be set/get (SHAREDCLIPBOARDFSOBJINFO only currently).
     481} VBoxClipboardListEntryReqParms;
     482
     483/**
     484 * Request to read a list entry.
     485 */
     486typedef struct _VBoxClipboardListEntryReadReqMsg
     487{
     488    VBGLIOCHGCMCALL hdr;
     489
     490    VBoxClipboardListEntryReqParms ReqParms;
     491} VBoxClipboardListEntryReadReqMsg;
     492
     493#define VBOX_SHARED_CLIPBOARD_CPARMS_LIST_ENTRY_READ_REQ 3
     494
     495/**
     496 * Reads / Writes a list entry.
     497 */
     498typedef struct _VBoxClipboardListEntryMsg
     499{
     500    VBGLIOCHGCMCALL hdr;
     501
     502    /** in: Request parameters. */
     503    VBoxClipboardListEntryReqParms ReqParms;
     504    /** uint32_t, out: Bytes to be used for information/How many bytes were used.  */
     505    HGCMFunctionParameter          cbInfo;
     506    /** pointer, out: Information to be set/get (SHAREDCLIPBOARDFSOBJINFO only currently).
    315507     * Do not forget to set the SHAREDCLIPBOARDFSOBJINFO::Attr::enmAdditional for Get operation as well.  */
    316     HGCMFunctionParameter pvInfo;
    317 } VBoxClipboardListEntryReadMsg, VBoxClipboardListEntryWriteMsg;
    318 
    319 #define VBOX_SHARED_CLIPBOARD_CPARMS_LIST_ENTRY_READ  5
    320 #define VBOX_SHARED_CLIPBOARD_CPARMS_LIST_ENTRY_WRITE 5
     508    HGCMFunctionParameter          pvInfo;
     509} VBoxClipboardListEntryMsg;
     510
     511#define VBOX_SHARED_CLIPBOARD_CPARMS_LIST_ENTRY 5
    321512
    322513typedef struct _VBoxClipboardObjOpenMsg
     
    339530   VBGLIOCHGCMCALL hdr;
    340531
    341     /** value64, in: SHAREDCLIPBOARDOBJHANDLE of object to close. */
     532    /** uint64_t, in: SHAREDCLIPBOARDOBJHANDLE of object to close. */
    342533    HGCMFunctionParameter uHandle;
    343534} VBoxClipboardObjCloseMsg;
     
    358549    /** Context ID. Unused at the moment. */
    359550    HGCMFunctionParameter uContext;     /* OUT uint32_t */
    360     /** value64, in: SHAREDCLIPBOARDOBJHANDLE of object to write to. */
     551    /** uint64_t, in: SHAREDCLIPBOARDOBJHANDLE of object to write to. */
    361552    HGCMFunctionParameter uHandle;
    362553    /** Size (in bytes) of current data chunk. */
     
    416607
    417608#ifdef VBOX_WITH_SHARED_CLIPBOARD_URI_LIST
    418 int VBoxSvcClipboardURIGetListHdr(uint32_t cParms, VBOXHGCMSVCPARM paParms[], PVBOXCLIPBOARDLISTHANDLE phList, PVBOXCLIPBOARDLISTHDR pListHdr);
     609int VBoxSvcClipboardURIGetListHdr(uint32_t cParms, VBOXHGCMSVCPARM paParms[], PSHAREDCLIPBOARDLISTHANDLE phList, PVBOXCLIPBOARDLISTHDR pListHdr);
    419610int VBoxSvcClipboardURISetListHdr(uint32_t cParms, VBOXHGCMSVCPARM paParms[], PVBOXCLIPBOARDLISTHDR pListHdr);
    420 int VBoxSvcClipboardURIGetListEntry(uint32_t cParms, VBOXHGCMSVCPARM paParms[], PVBOXCLIPBOARDLISTHANDLE phList, PVBOXCLIPBOARDLISTENTRY pListEntry);
     611int VBoxSvcClipboardURIGetListEntry(uint32_t cParms, VBOXHGCMSVCPARM paParms[], PSHAREDCLIPBOARDLISTHANDLE phList, PVBOXCLIPBOARDLISTENTRY pListEntry);
    421612int VBoxSvcClipboardURISetListEntry(uint32_t cParms, VBOXHGCMSVCPARM paParms[], PVBOXCLIPBOARDLISTENTRY pListEntry);
    422613int VBoxSvcClipboardURIGetFileData(uint32_t cParms, VBOXHGCMSVCPARM paParms[], PVBOXCLIPBOARDFILEDATA pFileData);
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette