VirtualBox

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


Ignore:
Timestamp:
Dec 9, 2019 9:48:53 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
135388
Message:

SharedClipboardSvc,Vbgl: Started looking over the host message handling, adding missing locking and fixing docs. bugref:9437

File:
1 edited

Legend:

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

    r82525 r82526  
    7373/** @} */
    7474
     75
    7576/** @name VBOX_SHCL_HOST_FN_XXX - The service functions which are callable by host.
    7677 * @note These are not sacred and can be modified at will as long as all host
     
    8687/** Run headless on the host, i.e. do not touch the host clipboard. */
    8788#define VBOX_SHCL_HOST_FN_SET_HEADLESS       3
     89
    8890/** Reports cancellation of the current operation to the guest.
    8991 * @since   6.1 - still a todo  */
     
    106108/** @} */
    107109
     110
    108111/** @name VBOX_SHCL_HOST_MSG_XXX - The host messages for the guest.
    109112 * @{
    110113 */
    111 /** Asks the client to quit / terminate. */
    112 #define VBOX_SHCL_HOST_MSG_QUIT                              1
    113 /** Reads (simple) data from the guest. */
    114 #define VBOX_SHCL_HOST_MSG_READ_DATA                         2
     114/** Returned only when the HGCM client session is closed (by different thread).
     115 *
     116 * This can require no futher host interaction has session has been closed.
     117 */
     118#define VBOX_SHCL_HOST_MSG_QUIT                             1
     119/** Request data for a specific format from the guest.
     120 *
     121 * This takes one parameter (in addition to the message number), a 32-bit
     122 * format bit (VBOX_SHCL_FMT_XXX).  The guest will respond by issuing a
     123 * VBOX_SHCL_GUEST_F_DATA_WRITE.
     124 */
     125#define VBOX_SHCL_HOST_MSG_READ_DATA                        2
    115126/** Reports available clipboard format from host to the guest.
    116127 *  Formerly known as VBOX_SHCL_HOST_MSG_REPORT_FORMATS. */
    117 #define VBOX_SHCL_HOST_MSG_FORMATS_REPORT                    3
     128#define VBOX_SHCL_HOST_MSG_FORMATS_REPORT                   3
     129/** Message PEEK or GET operation was canceled, try again.
     130 * @since   6.1.0
     131 */
     132#define VBOX_SHCL_HOST_MSG_CANCELED                         4
    118133
    119134/** Sends a transfer status to the guest side.
    120  *
    121  * @retval  VINF_SUCCESS on success.
    122  * @retval  VERR_INVALID_CLIENT_ID
    123  * @retval  VERR_WRONG_PARAMETER_COUNT
    124  * @retval  VERR_WRONG_PARAMETER_TYPE
    125  * @since   6.1
     135 * @since   6.1.?
    126136 */
    127137#define VBOX_SHCL_HOST_MSG_TRANSFER_STATUS                   50
    128138/** Reads the root list header from the guest.
    129  *
    130  * @retval  VINF_SUCCESS on success.
    131  * @retval  VERR_INVALID_CLIENT_ID
    132  * @retval  VERR_WRONG_PARAMETER_COUNT
    133  * @retval  VERR_WRONG_PARAMETER_TYPE
    134  * @since   6.1
     139 * @since   6.1.?
    135140 */
    136141#define VBOX_SHCL_HOST_MSG_TRANSFER_ROOT_LIST_HDR_READ       51
    137142/** Writes the root list header to the guest.
    138  *
    139  * @retval  VINF_SUCCESS on success.
    140  * @retval  VERR_INVALID_CLIENT_ID
    141  * @retval  VERR_WRONG_PARAMETER_COUNT
    142  * @retval  VERR_WRONG_PARAMETER_TYPE
    143  * @since   6.1
     143 * @since   6.1.?
    144144 */
    145145#define VBOX_SHCL_HOST_MSG_TRANSFER_ROOT_LIST_HDR_WRITE      52
    146146/** Reads a root list entry from the guest.
    147  *
    148  * @retval  VINF_SUCCESS on success.
    149  * @retval  VERR_INVALID_CLIENT_ID
    150  * @retval  VERR_WRONG_PARAMETER_COUNT
    151  * @retval  VERR_WRONG_PARAMETER_TYPE
    152  * @since   6.1
     147 * @since   6.1.?
    153148 */
    154149#define VBOX_SHCL_HOST_MSG_TRANSFER_ROOT_LIST_ENTRY_READ     53
    155150/** Writes a root list entry to the guest.
    156  *
    157  * @retval  VINF_SUCCESS on success.
    158  * @retval  VERR_INVALID_CLIENT_ID
    159  * @retval  VERR_WRONG_PARAMETER_COUNT
    160  * @retval  VERR_WRONG_PARAMETER_TYPE
    161  * @since   6.1
     151 * @since   6.1.?
    162152 */
    163153#define VBOX_SHCL_HOST_MSG_TRANSFER_ROOT_LIST_ENTRY_WRITE    54
    164154/** Open a transfer list on the guest side.
    165  *
    166  * @retval  VINF_SUCCESS on success.
    167  * @retval  VERR_INVALID_CLIENT_ID
    168  * @retval  VERR_WRONG_PARAMETER_COUNT
    169  * @retval  VERR_WRONG_PARAMETER_TYPE
    170  * @since   6.1
     155 * @since   6.1.?
    171156 */
    172157#define VBOX_SHCL_HOST_MSG_TRANSFER_LIST_OPEN                55
    173158/** Closes a formerly opened transfer list on the guest side.
    174  *
    175  * @retval  VINF_SUCCESS on success.
    176  * @retval  VERR_INVALID_CLIENT_ID
    177  * @retval  VERR_WRONG_PARAMETER_COUNT
    178  * @retval  VERR_WRONG_PARAMETER_TYPE
    179  * @since   6.1
     159 * @since   6.1.?
    180160 */
    181161#define VBOX_SHCL_HOST_MSG_TRANSFER_LIST_CLOSE               56
    182162/** Reads a list header from the guest.
    183  *
    184  * @retval  VINF_SUCCESS on success.
    185  * @retval  VERR_INVALID_CLIENT_ID
    186  * @retval  VERR_WRONG_PARAMETER_COUNT
    187  * @retval  VERR_WRONG_PARAMETER_TYPE
    188  * @since   6.1
     163 * @since   6.1.?
    189164 */
    190165#define VBOX_SHCL_HOST_MSG_TRANSFER_LIST_HDR_READ            57
    191166/** Writes a list header to the guest.
    192  *
    193  * @retval  VINF_SUCCESS on success.
    194  * @retval  VERR_INVALID_CLIENT_ID
    195  * @retval  VERR_WRONG_PARAMETER_COUNT
    196  * @retval  VERR_WRONG_PARAMETER_TYPE
    197  * @since   6.1
     167 * @since   6.1.?
    198168 */
    199169#define VBOX_SHCL_HOST_MSG_TRANSFER_LIST_HDR_WRITE           58
    200170/** Reads a list entry from the guest.
    201  *
    202  * @retval  VINF_SUCCESS on success.
    203  * @retval  VERR_INVALID_CLIENT_ID
    204  * @retval  VERR_WRONG_PARAMETER_COUNT
    205  * @retval  VERR_WRONG_PARAMETER_TYPE
    206  * @since   6.1
     171 * @since   6.1.?
    207172 */
    208173#define VBOX_SHCL_HOST_MSG_TRANSFER_LIST_ENTRY_READ          59
    209174/** Writes a list entry to the guest.
    210  *
    211  * @retval  VINF_SUCCESS on success.
    212  * @retval  VERR_INVALID_CLIENT_ID
    213  * @retval  VERR_WRONG_PARAMETER_COUNT
    214  * @retval  VERR_WRONG_PARAMETER_TYPE
    215  * @since   6.1
     175 * @since   6.1.?
    216176 */
    217177#define VBOX_SHCL_HOST_MSG_TRANSFER_LIST_ENTRY_WRITE         60
    218178/** Open a transfer object on the guest side.
    219  *
    220  * @retval  VINF_SUCCESS on success.
    221  * @retval  VERR_INVALID_CLIENT_ID
    222  * @retval  VERR_WRONG_PARAMETER_COUNT
    223  * @retval  VERR_WRONG_PARAMETER_TYPE
    224  * @since   6.1
     179 * @since   6.1.?
    225180 */
    226181#define VBOX_SHCL_HOST_MSG_TRANSFER_OBJ_OPEN                 61
    227182/** Closes a formerly opened transfer object on the guest side.
    228  *
    229  * @retval  VINF_SUCCESS on success.
    230  * @retval  VERR_INVALID_CLIENT_ID
    231  * @retval  VERR_WRONG_PARAMETER_COUNT
    232  * @retval  VERR_WRONG_PARAMETER_TYPE
    233  * @since   6.1
     183 * @since   6.1.?
    234184 */
    235185#define VBOX_SHCL_HOST_MSG_TRANSFER_OBJ_CLOSE                62
    236186/** Reads from an object on the guest side.
    237  *
    238  * @retval  VINF_SUCCESS on success.
    239  * @retval  VERR_INVALID_CLIENT_ID
    240  * @retval  VERR_WRONG_PARAMETER_COUNT
    241  * @retval  VERR_WRONG_PARAMETER_TYPE
    242  * @since   6.1
     187 * @since   6.1.?
    243188 */
    244189#define VBOX_SHCL_HOST_MSG_TRANSFER_OBJ_READ                 63
    245190/** Writes to an object on the guest side.
    246  *
    247  * @retval  VINF_SUCCESS on success.
    248  * @retval  VERR_INVALID_CLIENT_ID
    249  * @retval  VERR_WRONG_PARAMETER_COUNT
    250  * @retval  VERR_WRONG_PARAMETER_TYPE
    251  * @since   6.1
     191 * @since   6.1.?
    252192 */
    253193#define VBOX_SHCL_HOST_MSG_TRANSFER_OBJ_WRITE                64
    254194/** Indicates that the host has canceled a transfer.
    255  *
    256  * @retval  VINF_SUCCESS on success.
    257  * @retval  VERR_INVALID_CLIENT_ID
    258  * @retval  VERR_WRONG_PARAMETER_COUNT
    259  * @retval  VERR_WRONG_PARAMETER_TYPE
    260  * @since   6.1
     195 * @since   6.1.?
    261196 */
    262197#define VBOX_SHCL_HOST_MSG_TRANSFER_CANCEL                   65
    263198/** Indicates that the an unrecoverable error on the host occurred.
    264  *
    265  * @retval  VINF_SUCCESS on success.
    266  * @retval  VERR_INVALID_CLIENT_ID
    267  * @retval  VERR_WRONG_PARAMETER_COUNT
    268  * @retval  VERR_WRONG_PARAMETER_TYPE
    269  * @since   6.1
     199 * @since   6.1.?
    270200 */
    271201#define VBOX_SHCL_HOST_MSG_TRANSFER_ERROR                    66
    272202/** @} */
    273203
     204
    274205/** @name VBOX_SHCL_GUEST_FN_XXX - The service functions which are called by guest.
    275206 * @{
     
    278209 *
    279210 * @deprecated Replaced by VBOX_SHCL_GUEST_FN_MSG_PEEK_WAIT,
    280  *             VBOX_SHCL_GUEST_FN_MSG_GET, VBOX_SHCL_GUEST_FN_CANCEL.
    281  */
    282 #define VBOX_SHCL_GUEST_FN_GET_HOST_MSG_OLD       1
     211 *             VBOX_SHCL_GUEST_FN_MSG_GET, VBOX_SHCL_GUEST_FN_MSG_CANCEL.
     212 * @since   1.3.2
     213 */
     214#define VBOX_SHCL_GUEST_FN_MSG_OLD_GET_WAIT         1
    283215/** Sends a list of available formats to the host.
    284216 *
     
    299231 * @retval  VERR_NOT_SUPPORTED if all the formats are unsupported, host
    300232 *          clipboard will be empty.
    301  */
    302 #define VBOX_SHCL_GUEST_FN_REPORT_FORMATS         2
     233 * @since   1.3.2
     234 */
     235#define VBOX_SHCL_GUEST_FN_REPORT_FORMATS           2
    303236/** Reads data in specified format from the host.
    304237 *
     
    320253 * @retval  VERR_WRONG_PARAMETER_COUNT
    321254 * @retval  VERR_WRONG_PARAMETER_TYPE
    322  */
    323 #define VBOX_SHCL_GUEST_FN_DATA_READ              3
     255 * @since   1.3.2
     256 */
     257#define VBOX_SHCL_GUEST_FN_DATA_READ                3
    324258/** Writes requested data to the host.
    325259 *
     
    340274 * @retval  VERR_WRONG_PARAMETER_TYPE
    341275 * @retval  VERR_INVALID_CONTEXT if the context ID didn't match up.
    342  */
    343 #define VBOX_SHCL_GUEST_FN_DATA_WRITE             4
     276 * @since   1.3.2
     277 */
     278#define VBOX_SHCL_GUEST_FN_DATA_WRITE               4
    344279
    345280/** This is a left-over from the 6.1 dev cycle and will always fail.
     
    353288 * @since   6.1
    354289 */
    355 #define VBOX_SHCL_GUEST_FN_CONNECT                5
     290#define VBOX_SHCL_GUEST_FN_CONNECT                  5
    356291/** Report guest side feature flags and retrieve the host ones.
    357292 *
     
    364299 * @retval  VERR_WRONG_PARAMETER_COUNT
    365300 * @retval  VERR_WRONG_PARAMETER_TYPE
    366  * @since   6.1
    367  */
    368 #define VBOX_SHCL_GUEST_FN_REPORT_FEATURES        6
     301 * @since   6.1.0
     302 */
     303#define VBOX_SHCL_GUEST_FN_REPORT_FEATURES          6
    369304/** Query the host ones feature masks.
    370305 *
     
    377312 * @retval  VERR_WRONG_PARAMETER_COUNT
    378313 * @retval  VERR_WRONG_PARAMETER_TYPE
    379  * @since   6.1
    380  */
    381 #define VBOX_SHCL_GUEST_FN_QUERY_FEATURES         7
     314 * @since   6.1.0
     315 */
     316#define VBOX_SHCL_GUEST_FN_QUERY_FEATURES           7
    382317/** Peeks at the next message, returning immediately.
    383318 *
    384  * @retval  VINF_SUCCESS on success.
    385  * @retval  VERR_INVALID_CLIENT_ID
    386  * @retval  VERR_WRONG_PARAMETER_COUNT
    387  * @retval  VERR_WRONG_PARAMETER_TYPE
    388  * @since   6.1
    389  * @todo r=bird: Either s/_FN_(MSG_)/_MSG_/ or  s/_FN_(MSG_)/_FN_/, the place
    390  *       you copied these from used _MSG_ instead of _FN_ in the general prefix.
    391  */
    392 #define VBOX_SHCL_GUEST_FN_MSG_PEEK_NOWAIT        8
     319 * Returns two 32-bit parameters, first is the message ID and the second the
     320 * parameter count.  May optionally return additional 32-bit parameters with the
     321 * sizes of respective message parameters.  To distinguish buffer sizes from
     322 * integer parameters, the latter gets their sizes inverted (uint32_t is ~4U,
     323 * uint64_t is ~8U).
     324 *
     325 * Does also support the VM restore checking as in VBOX_SHCL_GUEST_FN_MSG_PEEK_WAIT
     326 * (64-bit param \# 0), see documentation there.
     327 *
     328 * @retval  VINF_SUCCESS if a message was pending and is being returned.
     329 * @retval  VERR_TRY_AGAIN if no message pending.
     330 * @retval  VERR_VM_RESTORED if first parameter is a non-zero 64-bit value that
     331 *          does not match VbglR3GetSessionId() any more.  The new value is
     332 *          returned.
     333 * @retval  VERR_INVALID_CLIENT_ID
     334 * @retval  VERR_WRONG_PARAMETER_COUNT
     335 * @retval  VERR_WRONG_PARAMETER_TYPE
     336 * @since   6.1.0
     337 */
     338#define VBOX_SHCL_GUEST_FN_MSG_PEEK_NOWAIT          8
    393339/** Peeks at the next message, waiting for one to arrive.
    394340 *
    395  * @retval  VINF_SUCCESS on success.
    396  * @retval  VERR_INVALID_CLIENT_ID
    397  * @retval  VERR_WRONG_PARAMETER_COUNT
    398  * @retval  VERR_WRONG_PARAMETER_TYPE
    399  * @since   6.1
    400  */
    401 #define VBOX_SHCL_GUEST_FN_MSG_PEEK_WAIT          9
     341 * Returns two 32-bit parameters, first is the message ID and the second the
     342 * parameter count.  May optionally return additional 32-bit parameters with the
     343 * sizes of respective message parameters.  To distinguish buffer sizes from
     344 * integer parameters, the latter gets their sizes inverted (uint32_t is ~4U,
     345 * uint64_t is ~8U).
     346 *
     347 * To facilitate VM restore checking, the first parameter can be a 64-bit
     348 * integer holding the VbglR3GetSessionId() value the guest knowns.  The
     349 * function will then check this before going to sleep and return
     350 * VERR_VM_RESTORED if it doesn't match, same thing happens when the VM is
     351 * restored.
     352 *
     353 * @retval  VINF_SUCCESS if info about an pending message is being returned.
     354 * @retval  VINF_TRY_AGAIN and message set to VBOX_SHCL_HOST_MSG_CANCELED if
     355 *          cancelled by VBOX_SHCL_GUEST_FN_MSG_CANCEL.
     356 * @retval  VERR_RESOURCE_BUSY if another thread already made a waiting call.
     357 * @retval  VERR_VM_RESTORED if first parameter is a non-zero 64-bit value that
     358 *          does not match VbglR3GetSessionId() any more.  The new value is
     359 *          returned.
     360 * @retval  VERR_INVALID_CLIENT_ID
     361 * @retval  VERR_WRONG_PARAMETER_COUNT
     362 * @retval  VERR_WRONG_PARAMETER_TYPE
     363 * @note    This replaces VBOX_SHCL_GUEST_FN_MSG_OLD_GET_WAIT.
     364 * @since   6.1.0
     365 */
     366#define VBOX_SHCL_GUEST_FN_MSG_PEEK_WAIT            9
    402367/** Gets the next message, returning immediately.
    403368 *
    404  * @retval  VINF_SUCCESS on success.
    405  * @retval  VERR_INVALID_CLIENT_ID
    406  * @retval  VERR_WRONG_PARAMETER_COUNT
    407  * @retval  VERR_WRONG_PARAMETER_TYPE
    408  * @since   6.1
    409  */
    410 #define VBOX_SHCL_GUEST_FN_MSG_GET                10
     369 * All parameters are specific to the message being retrieved, however if the
     370 * first one is an integer value it shall be an input parameter holding the
     371 * ID of the message being retrieved.  While it would be nice to add a separate
     372 * parameter for this purpose, this is done so because the code was liften from
     373 * Guest Controls which had backwards compatibilities to consider and we just
     374 * kept it like that.
     375 *
     376 * @retval  VINF_SUCCESS if message retrieved and removed from the pending queue.
     377 * @retval  VERR_TRY_AGAIN if no message pending.
     378 * @retval  VERR_MISMATCH if the incoming message ID does not match the pending.
     379 * @retval  VERR_BUFFER_OVERFLOW if a parmeter buffer is too small.  The buffer
     380 *          size was updated to reflect the required size.
     381 * @retval  VERR_INVALID_CLIENT_ID
     382 * @retval  VERR_WRONG_PARAMETER_COUNT
     383 * @retval  VERR_WRONG_PARAMETER_TYPE
     384 * @note    This replaces VBOX_SHCL_GUEST_FN_MSG_OLD_GET_WAIT.
     385 * @since   6.1.0
     386 */
     387#define VBOX_SHCL_GUEST_FN_MSG_GET                  10
     388/** Cancels pending calls for this client session.
     389 *
     390 * This should be used if a VBOX_SHCL_GUEST_FN__MSG_PEEK_WAIT or
     391 * VBOX_SHCL_GUEST_FN_MSG_OLD_GET_WAIT call gets interrupted on the client end,
     392 * so as to prevent being rebuffed with VERR_RESOURCE_BUSY when restarting the
     393 * call.
     394 *
     395 * @retval  VINF_SUCCESS if cancelled any calls.
     396 * @retval  VWRN_NOT_FOUND if no callers.
     397 * @retval  VERR_INVALID_CLIENT_ID
     398 * @retval  VERR_WRONG_PARAMETER_COUNT
     399 * @since   6.1.0
     400 */
     401#define VBOX_SHCL_GUEST_FN_MSG_CANCEL               26
     402
    411403/** Replies to a function from the host.
    412404 *
     
    415407 * @retval  VERR_WRONG_PARAMETER_COUNT
    416408 * @retval  VERR_WRONG_PARAMETER_TYPE
    417  * @since   6.1
     409 * @since   6.1.x
    418410 */
    419411#define VBOX_SHCL_GUEST_FN_REPLY                  11
     
    424416 * @retval  VERR_WRONG_PARAMETER_COUNT
    425417 * @retval  VERR_WRONG_PARAMETER_TYPE
    426  * @since   6.1
     418 * @since   6.1.x
    427419 */
    428420#define VBOX_SHCL_GUEST_FN_ROOT_LIST_HDR_READ     12
     
    433425 * @retval  VERR_WRONG_PARAMETER_COUNT
    434426 * @retval  VERR_WRONG_PARAMETER_TYPE
    435  * @since   6.1
     427 * @since   6.1.x
    436428 */
    437429#define VBOX_SHCL_GUEST_FN_ROOT_LIST_HDR_WRITE    13
     
    442434 * @retval  VERR_WRONG_PARAMETER_COUNT
    443435 * @retval  VERR_WRONG_PARAMETER_TYPE
    444  * @since   6.1
     436 * @since   6.1.x
    445437 */
    446438#define VBOX_SHCL_GUEST_FN_ROOT_LIST_ENTRY_READ   14
     
    451443 * @retval  VERR_WRONG_PARAMETER_COUNT
    452444 * @retval  VERR_WRONG_PARAMETER_TYPE
    453  * @since   6.1
     445 * @since   6.1.x
    454446 */
    455447#define VBOX_SHCL_GUEST_FN_ROOT_LIST_ENTRY_WRITE  15
     
    460452 * @retval  VERR_WRONG_PARAMETER_COUNT
    461453 * @retval  VERR_WRONG_PARAMETER_TYPE
    462  * @since   6.1
     454 * @since   6.1.x
    463455 */
    464456#define VBOX_SHCL_GUEST_FN_LIST_OPEN              16
     
    469461 * @retval  VERR_WRONG_PARAMETER_COUNT
    470462 * @retval  VERR_WRONG_PARAMETER_TYPE
    471  * @since   6.1
     463 * @since   6.1.x
    472464 */
    473465#define VBOX_SHCL_GUEST_FN_LIST_CLOSE             17
     
    478470 * @retval  VERR_WRONG_PARAMETER_COUNT
    479471 * @retval  VERR_WRONG_PARAMETER_TYPE
    480  * @since   6.1
     472 * @since   6.1.x
    481473 */
    482474#define VBOX_SHCL_GUEST_FN_LIST_HDR_READ          18
     
    487479 * @retval  VERR_WRONG_PARAMETER_COUNT
    488480 * @retval  VERR_WRONG_PARAMETER_TYPE
    489  * @since   6.1
     481 * @since   6.1.x
    490482 */
    491483#define VBOX_SHCL_GUEST_FN_LIST_HDR_WRITE         19
     
    496488 * @retval  VERR_WRONG_PARAMETER_COUNT
    497489 * @retval  VERR_WRONG_PARAMETER_TYPE
    498  * @since   6.1
     490 * @since   6.1.x
    499491 */
    500492#define VBOX_SHCL_GUEST_FN_LIST_ENTRY_READ        20
     
    505497 * @retval  VERR_WRONG_PARAMETER_COUNT
    506498 * @retval  VERR_WRONG_PARAMETER_TYPE
    507  * @since   6.1
     499 * @since   6.1.x
    508500 */
    509501#define VBOX_SHCL_GUEST_FN_LIST_ENTRY_WRITE       21
     
    514506 * @retval  VERR_WRONG_PARAMETER_COUNT
    515507 * @retval  VERR_WRONG_PARAMETER_TYPE
    516  * @since   6.1
     508 * @since   6.1.x
    517509 */
    518510#define VBOX_SHCL_GUEST_FN_OBJ_OPEN               22
     
    523515 * @retval  VERR_WRONG_PARAMETER_COUNT
    524516 * @retval  VERR_WRONG_PARAMETER_TYPE
    525  * @since   6.1
     517 * @since   6.1.x
    526518 */
    527519#define VBOX_SHCL_GUEST_FN_OBJ_CLOSE              23
     
    532524 * @retval  VERR_WRONG_PARAMETER_COUNT
    533525 * @retval  VERR_WRONG_PARAMETER_TYPE
    534  * @since   6.1
     526 * @since   6.1.x
    535527 */
    536528#define VBOX_SHCL_GUEST_FN_OBJ_READ               24
     
    541533 * @retval  VERR_WRONG_PARAMETER_COUNT
    542534 * @retval  VERR_WRONG_PARAMETER_TYPE
    543  * @since   6.1
     535 * @since   6.1.x
    544536 */
    545537#define VBOX_SHCL_GUEST_FN_OBJ_WRITE              25
    546 /** Reports cancellation of the current operation to the host.
    547  *
    548  * @retval  VINF_SUCCESS on success.
    549  * @retval  VERR_INVALID_CLIENT_ID
    550  * @retval  VERR_WRONG_PARAMETER_COUNT
    551  * @retval  VERR_WRONG_PARAMETER_TYPE
    552  * @since   6.1
    553  */
    554 #define VBOX_SHCL_GUEST_FN_CANCEL                 26
    555538/** Reports an error to the host.
     539 *
     540 * @todo r=bird: Smells like GUEST_MSG_SKIP
    556541 *
    557542 * @retval  VINF_SUCCESS on success.
     
    598583/** The guest can handle context IDs where applicable. */
    599584#define VBOX_SHCL_GF_0_CONTEXT_ID                 RT_BIT_64(0)
     585/** The guest can copy & paste files and directories.
     586 * @since 6.1.?  */
     587#define VBOX_SHCL_GF_0_TRANSFERS                  RT_BIT_64(1)
    600588/** Bit that must be set in the 2nd parameter, will be cleared if the host reponds
    601589 * correctly (old hosts might not). */
     
    611599 *  message handling functions. */
    612600#define VBOX_SHCL_HF_0_CONTEXT_ID                 RT_BIT_64(0)
     601/** The host can copy & paste files and directories.
     602 * @since 6.1.? */
     603#define VBOX_SHCL_HF_0_TRANSFERS                  RT_BIT_64(1)
    613604/** @} */
    614605
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