Changeset 82493 in vbox for trunk/include
- Timestamp:
- Dec 7, 2019 11:37:51 AM (5 years ago)
- Location:
- trunk/include/VBox
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/GuestHost/SharedClipboard-transfers.h
r82491 r82493 42 42 43 43 #include <VBox/GuestHost/SharedClipboard.h> 44 #include <VBox/HostServices/VBoxClipboardSvc.h> 44 45 45 46 -
trunk/include/VBox/GuestHost/SharedClipboard.h
r82483 r82493 51 51 52 52 53 /** A single Shared Clipboard format . */53 /** A single Shared Clipboard format (VBOX_SHCL_FMT_XXX). */ 54 54 typedef uint32_t SHCLFORMAT; 55 /** Pointer to a single Shared Clipboard format . */55 /** Pointer to a single Shared Clipboard format (VBOX_SHCL_FMT_XXX). */ 56 56 typedef SHCLFORMAT *PSHCLFORMAT; 57 57 58 /** Bit map of Shared Clipboard formats. */58 /** Bit map (flags) of Shared Clipboard formats (VBOX_SHCL_FMT_XXX). */ 59 59 typedef uint32_t SHCLFORMATS; 60 /** Pointer to a bit map of Shared Clipboard formats . */60 /** Pointer to a bit map of Shared Clipboard formats (VBOX_SHCL_FMT_XXX). */ 61 61 typedef SHCLFORMATS *PSHCLFORMATS; 62 62 63 /** @name VBOX_SHCL_FMT_XXX - Data formats (flags) for Shared Clipboard.64 * @todo r=bird: Wrong header, belongs in the host service!65 * @{66 */67 /** No format set. */68 #define VBOX_SHCL_FMT_NONE 069 /** Shared Clipboard format is an Unicode text. */70 #define VBOX_SHCL_FMT_UNICODETEXT RT_BIT(0)71 /** Shared Clipboard format is bitmap (BMP / DIB). */72 #define VBOX_SHCL_FMT_BITMAP RT_BIT(1)73 /** Shared Clipboard format is HTML. */74 #define VBOX_SHCL_FMT_HTML RT_BIT(2)75 #ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS76 /** Shared Clipboard format is a transfer list. */77 # define VBOX_SHCL_FMT_URI_LIST RT_BIT(3)78 #endif79 /** @} */80 63 81 64 /** … … 162 145 /** NIL shared clipboard event ID. */ 163 146 #define NIL_SHCLEVENTID UINT32_MAX 164 165 /** Maximum number of concurrent Shared Clipboard client sessions a VM can have. */166 #define VBOX_SHCL_MAX_SESSIONS (UINT16_MAX - 1)167 /** Maximum number of concurrent Shared Clipboard transfers a single client can have. */168 #define VBOX_SHCL_MAX_TRANSFERS (UINT16_MAX - 1)169 /** Maximum number of events a single Shared Clipboard transfer can have. */170 #define VBOX_SHCL_MAX_EVENTS (UINT32_MAX - 1)171 172 /**173 * Creates a context ID out of a client ID, a transfer ID and an event ID (count).174 */175 #define VBOX_SHCL_CONTEXTID_MAKE(a_idSession, a_idTransfer, a_idEvent) \176 ( ((uint64_t)((a_idSession) & 0xffff) << 48) \177 | ((uint64_t)((a_idTransfer) & 0xffff) << 32) \178 | ((uint32_t) (a_idEvent)) \179 )180 /** Creates a context ID out of a session ID. */181 #define VBOX_SHCL_CONTEXTID_MAKE_SESSION(a_idSession) VBOX_SHCL_CONTEXTID_MAKE(a_idSession, 0, 0)182 /** Gets the session ID out of a context ID. */183 #define VBOX_SHCL_CONTEXTID_GET_SESSION(a_idContext) ( (uint16_t)(((a_idContext) >> 48) & UINT16_MAX) )184 /** Gets the transfer ID out of a context ID. */185 #define VBOX_SHCL_CONTEXTID_GET_TRANSFER(a_idContext) ( (uint16_t)(((a_idContext) >> 32) & UINT16_MAX) )186 /** Gets the transfer event out of a context ID. */187 #define VBOX_SHCL_CONTEXTID_GET_EVENT(a_idContext) ( (uint32_t)( (a_idContext) & UINT32_MAX) )188 147 189 148 /** -
trunk/include/VBox/HostServices/VBoxClipboardSvc.h
r82488 r82493 57 57 #include <VBox/VBoxGuestCoreTypes.h> 58 58 #include <VBox/hgcmsvc.h> 59 60 #include <VBox/GuestHost/SharedClipboard.h>61 #ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS62 #include <VBox/GuestHost/SharedClipboard-transfers.h>63 #endif64 59 65 60 … … 540 535 541 536 /** The maximum default chunk size for a single data transfer. 542 * @note r=bird: Nobody actually uses this. Name is misleading.*/537 * @note r=bird: Nobody actually uses this. */ 543 538 #define VBOX_SHCL_DEFAULT_MAX_CHUNK_SIZE _64K 539 544 540 545 541 /** @name VBOX_SHCL_GF_XXX - Guest features. … … 563 559 /** @} */ 564 560 561 562 /** @name VBOX_SHCL_FMT_XXX - Data formats (flags) for Shared Clipboard. 563 * @{ 564 */ 565 /** No format set. */ 566 #define VBOX_SHCL_FMT_NONE 0 567 /** Shared Clipboard format is an Unicode text. */ 568 #define VBOX_SHCL_FMT_UNICODETEXT RT_BIT(0) 569 /** Shared Clipboard format is bitmap (BMP / DIB). */ 570 #define VBOX_SHCL_FMT_BITMAP RT_BIT(1) 571 /** Shared Clipboard format is HTML. */ 572 #define VBOX_SHCL_FMT_HTML RT_BIT(2) 573 #ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS 574 /** Shared Clipboard format is a transfer list. */ 575 # define VBOX_SHCL_FMT_URI_LIST RT_BIT(3) 576 #endif 577 /** @} */ 578 579 580 /** @name Context ID related macros and limits 581 * @{ */ 582 /** 583 * Creates a context ID out of a client ID, a transfer ID and an event ID (count). 584 */ 585 #define VBOX_SHCL_CONTEXTID_MAKE(a_idSession, a_idTransfer, a_idEvent) \ 586 ( ((uint64_t)((a_idSession) & 0xffff) << 48) \ 587 | ((uint64_t)((a_idTransfer) & 0xffff) << 32) \ 588 | ((uint32_t) (a_idEvent)) \ 589 ) 590 /** Creates a context ID out of a session ID. */ 591 #define VBOX_SHCL_CONTEXTID_MAKE_SESSION(a_idSession) VBOX_SHCL_CONTEXTID_MAKE(a_idSession, 0, 0) 592 /** Gets the session ID out of a context ID. */ 593 #define VBOX_SHCL_CONTEXTID_GET_SESSION(a_idContext) ( (uint16_t)(((a_idContext) >> 48) & UINT16_MAX) ) 594 /** Gets the transfer ID out of a context ID. */ 595 #define VBOX_SHCL_CONTEXTID_GET_TRANSFER(a_idContext) ( (uint16_t)(((a_idContext) >> 32) & UINT16_MAX) ) 596 /** Gets the transfer event out of a context ID. */ 597 #define VBOX_SHCL_CONTEXTID_GET_EVENT(a_idContext) ( (uint32_t)( (a_idContext) & UINT32_MAX) ) 598 599 /** Maximum number of concurrent Shared Clipboard client sessions a VM can have. */ 600 #define VBOX_SHCL_MAX_SESSIONS (UINT16_MAX - 1) 601 /** Maximum number of concurrent Shared Clipboard transfers a single client can have. */ 602 #define VBOX_SHCL_MAX_TRANSFERS (UINT16_MAX - 1) 603 /** Maximum number of events a single Shared Clipboard transfer can have. */ 604 #define VBOX_SHCL_MAX_EVENTS (UINT32_MAX - 1) 605 /** @} */ 606 607 565 608 /* 566 609 * HGCM parameter structures. 567 610 */ 568 /** @todo r=bird: These structures are mostly pointless. */ 611 /** @todo r=bird: These structures are mostly pointless, as they're only 612 * ever used by the VbglR3 part. The host service does not use these 613 * structures for decoding guest requests, instead it's all hardcoded. */ 569 614 #pragma pack(1) 570 615 /**
Note:
See TracChangeset
for help on using the changeset viewer.