Changeset 85745 in vbox for trunk/include/VBox/HostServices
- Timestamp:
- Aug 13, 2020 8:37:09 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/HostServices/DragAndDropSvc.h
r85722 r85745 49 49 * + Added VBOXDNDSNDDATAHDR and VBOXDNDCBSNDDATAHDRDATA to support (simple) accounting of objects 50 50 * being transferred, along with supplying separate meta data size (which is part of the total size being sent). 51 * + Added new HOST_DND_ HG_SND_DATA_HDR + GUEST_DND_GH_SND_DATA_HDR commands which now allow specifying an optional51 * + Added new HOST_DND_FN_HG_SND_DATA_HDR + GUEST_DND_FN_GH_SND_DATA_HDR commands which now allow specifying an optional 52 52 * compression type and defining a checksum for the overall data transfer. 53 53 * + Enhannced VBOXDNDGHSENDDATAMSG to support (rolling) checksums for the supplied data block. 54 54 * + VBOXDNDHGSENDDATAMSG and VBOXDNDGHSENDDATAMSG can now contain an optional checksum for the current data block. 55 55 * | VBOXDNDHGSENDFILEDATAMSG and VBOXDNDGHSENDFILEDATAMSG are now sharing the same HGCM mesasge. 56 * - Removed unused HOST_DND_ GH_RECV_DIR, HOST_DND_GH_RECV_FILE_DATA and HOST_DND_GH_RECV_FILE_HDR commands.56 * - Removed unused HOST_DND_FN_GH_RECV_DIR, HOST_DND_FN_GH_RECV_FILE_DATA and HOST_DND_FN_GH_RECV_FILE_HDR commands. 57 57 * 58 58 * VBox 6.1.x and up, current: 59 * + Added GUEST_DND_ QUERY_FEATURES + GUEST_DND_REPORT_FEATURES.59 * + Added GUEST_DND_FN_QUERY_FEATURES + GUEST_DND_FN_REPORT_FEATURES. 60 60 * - Protocol versioning support in VBOXDNDCONNECTMSG is now marked as being deprecated. 61 61 * 62 62 ** @todo: 63 63 * - Split up messages which use VBOXDNDHGACTIONMSG into own functions and remove parameters which 64 * are not actually needed / used by a function. Why does HOST_DND_ HG_EVT_MOVE need all the format stuff, for example?64 * are not actually needed / used by a function. Why does HOST_DND_FN_HG_EVT_MOVE need all the format stuff, for example? 65 65 */ 66 66 … … 91 91 { 92 92 /** The host sets a new DnD mode. */ 93 HOST_DND_ SET_MODE = 100,93 HOST_DND_FN_SET_MODE = 100, 94 94 /** The host requests to cancel the current DnD operation on 95 95 * the guest side. This can happen on user request on the host's … … 99 99 * not rely on an answer from the guest side in order to 100 100 * properly cancel the operation. */ 101 HOST_DND_ CANCEL = 204,101 HOST_DND_FN_CANCEL = 204, 102 102 103 103 /* … … 107 107 /** The host enters the VM window for starting an actual 108 108 * DnD operation. */ 109 HOST_DND_ HG_EVT_ENTER = 200,109 HOST_DND_FN_HG_EVT_ENTER = 200, 110 110 /** The host's DnD cursor moves within the VM window. */ 111 HOST_DND_ HG_EVT_MOVE = 201,111 HOST_DND_FN_HG_EVT_MOVE = 201, 112 112 /** The host leaves the guest VM window. */ 113 HOST_DND_ HG_EVT_LEAVE = 202,113 HOST_DND_FN_HG_EVT_LEAVE = 202, 114 114 /** The host issues a "drop" event, meaning that the host is 115 115 * ready to transfer data over to the guest. */ 116 HOST_DND_ HG_EVT_DROPPED = 203,116 HOST_DND_FN_HG_EVT_DROPPED = 203, 117 117 /** The host sends the data header at the beginning of a (new) 118 118 * data transfer. */ 119 HOST_DND_ HG_SND_DATA_HDR = 210,119 HOST_DND_FN_HG_SND_DATA_HDR = 210, 120 120 /** 121 121 * The host sends the actual meta data, based on 122 * the format(s) specified by HOST_DND_ HG_EVT_ENTER.122 * the format(s) specified by HOST_DND_FN_HG_EVT_ENTER. 123 123 * 124 124 * Protocol v1/v2: If the guest supplied buffer too small to send 125 * the actual data, the host will send a HOST_DND_ HG_SND_MORE_DATA125 * the actual data, the host will send a HOST_DND_FN_HG_SND_MORE_DATA 126 126 * message as follow-up. 127 127 * Protocol v3+: The incoming meta data size is specified upfront in the 128 * HOST_DND_ HG_SND_DATA_HDR message and must be handled accordingly.128 * HOST_DND_FN_HG_SND_DATA_HDR message and must be handled accordingly. 129 129 */ 130 HOST_DND_ HG_SND_DATA = 205,130 HOST_DND_FN_HG_SND_DATA = 205, 131 131 /** The host sends more data in case the data did not entirely fit in 132 * the HOST_DND_ HG_SND_DATA message. */132 * the HOST_DND_FN_HG_SND_DATA message. */ 133 133 /** @todo Deprecated function; do not use anymore. */ 134 HOST_DND_ HG_SND_MORE_DATA = 206,134 HOST_DND_FN_HG_SND_MORE_DATA = 206, 135 135 /** The host sends a directory entry to the guest. */ 136 HOST_DND_ HG_SND_DIR = 207,136 HOST_DND_FN_HG_SND_DIR = 207, 137 137 /** The host sends a file data chunk to the guest. */ 138 HOST_DND_ HG_SND_FILE_DATA = 208,138 HOST_DND_FN_HG_SND_FILE_DATA = 208, 139 139 /** The host sends a file header to the guest. 140 140 * Note: Only for protocol version 2 and up (>= VBox 5.0). */ 141 HOST_DND_ HG_SND_FILE_HDR = 209,141 HOST_DND_FN_HG_SND_FILE_HDR = 209, 142 142 143 143 /* … … 147 147 /** The host asks the guest whether a DnD operation 148 148 * is in progress when the mouse leaves the guest window. */ 149 HOST_DND_ GH_REQ_PENDING = 600,149 HOST_DND_FN_GH_REQ_PENDING = 600, 150 150 /** The host informs the guest that a DnD drop operation 151 151 * has been started and that the host wants the data in 152 152 * a specific MIME type. */ 153 HOST_DND_ GH_EVT_DROPPED = 601,153 HOST_DND_FN_GH_EVT_DROPPED = 601, 154 154 /** Blow the type up to 32-bit. */ 155 HOST_DND_ 32BIT_HACK = 0x7fffffff155 HOST_DND_FN_32BIT_HACK = 0x7fffffff 156 156 }; 157 157 … … 168 168 * protocol version and flags. 169 169 * Note: New since protocol version 2. */ 170 GUEST_DND_ CONNECT = 10,170 GUEST_DND_FN_CONNECT = 10, 171 171 172 172 /** The guest client disconnects from the HGCM service. */ 173 GUEST_DND_ DISCONNECT = 11,173 GUEST_DND_FN_DISCONNECT = 11, 174 174 175 175 /** Report guest side feature flags and retrieve the host ones. … … 185 185 * @since 6.1.x 186 186 */ 187 GUEST_DND_ REPORT_FEATURES = 12,187 GUEST_DND_FN_REPORT_FEATURES = 12, 188 188 189 189 /** Query the host ones feature masks. … … 199 199 * @since 6.1.x 200 200 */ 201 GUEST_DND_ QUERY_FEATURES = 13,201 GUEST_DND_FN_QUERY_FEATURES = 13, 202 202 203 203 /** … … 205 205 * on the guest side. This can be a blocking call. 206 206 */ 207 GUEST_DND_ GET_NEXT_HOST_MSG = 300,207 GUEST_DND_FN_GET_NEXT_HOST_MSG = 300, 208 208 209 209 /* … … 213 213 /** The guest acknowledges that a pending DnD operation from the host 214 214 * can be dropped on the currently selected area on the guest. */ 215 GUEST_DND_ HG_ACK_OP = 400,215 GUEST_DND_FN_HG_ACK_OP = 400, 216 216 /** The guest requests the actual DnD data to be sent from the host. */ 217 GUEST_DND_ HG_REQ_DATA = 401,217 GUEST_DND_FN_HG_REQ_DATA = 401, 218 218 /** The guest reports back its progress back to the host. */ 219 GUEST_DND_ HG_EVT_PROGRESS = 402,219 GUEST_DND_FN_HG_EVT_PROGRESS = 402, 220 220 221 221 /* … … 228 228 * dragged over to the host. 229 229 */ 230 GUEST_DND_ GH_ACK_PENDING = 500,230 GUEST_DND_FN_GH_ACK_PENDING = 500, 231 231 /** The guest sends the data header at the beginning of a (new) 232 232 * data transfer. */ 233 GUEST_DND_ GH_SND_DATA_HDR = 503,233 GUEST_DND_FN_GH_SND_DATA_HDR = 503, 234 234 /** 235 235 * The guest sends data of the requested format to the host. There can … … 237 237 * into one. 238 238 */ 239 GUEST_DND_ GH_SND_DATA = 501,239 GUEST_DND_FN_GH_SND_DATA = 501, 240 240 /** The guest reports an error back to the host. */ 241 GUEST_DND_ GH_EVT_ERROR = 502,241 GUEST_DND_FN_GH_EVT_ERROR = 502, 242 242 /** The guest sends a directory entry to the host. */ 243 GUEST_DND_ GH_SND_DIR = 700,243 GUEST_DND_FN_GH_SND_DIR = 700, 244 244 /** The guest sends file data to the host. 245 245 * Note: On protocol version 1 this also contains the file name 246 246 * and other attributes. */ 247 GUEST_DND_ GH_SND_FILE_DATA = 701,247 GUEST_DND_FN_GH_SND_FILE_DATA = 701, 248 248 /** The guest sends a file header to the host, marking the 249 249 * beginning of a (new) file transfer. 250 250 * Note: Available since protocol version 2 (VBox 5.0). */ 251 GUEST_DND_ GH_SND_FILE_HDR = 702,251 GUEST_DND_FN_GH_SND_FILE_HDR = 702, 252 252 /** Blow the type up to 32-bit. */ 253 GUEST_DND_ 32BIT_HACK = 0x7fffffff253 GUEST_DND_FN_32BIT_HACK = 0x7fffffff 254 254 }; 255 255 256 256 /** @name VBOX_DND_GF_XXX - Guest features. 257 * @sa GUEST_DND_ REPORT_FEATURES257 * @sa GUEST_DND_FN_REPORT_FEATURES 258 258 * @{ */ 259 259 /** No flags set. */ … … 297 297 * 298 298 * Used by: 299 * HOST_DND_ HG_EVT_ENTER300 * HOST_DND_ HG_EVT_MOVE301 * HOST_DND_ HG_EVT_DROPPED299 * HOST_DND_FN_HG_EVT_ENTER 300 * HOST_DND_FN_HG_EVT_MOVE 301 * HOST_DND_FN_HG_EVT_DROPPED 302 302 */ 303 303 typedef struct HGCMMsgHGAction … … 336 336 * 337 337 * Used by: 338 * HOST_DND_ HG_EVT_LEAVE338 * HOST_DND_FN_HG_EVT_LEAVE 339 339 */ 340 340 typedef struct HGCMMsgHGLeave … … 355 355 * 356 356 * Used by: 357 * HOST_DND_ HG_EVT_CANCEL357 * HOST_DND_FN_HG_EVT_CANCEL 358 358 */ 359 359 typedef struct HGCMMsgHGCancel … … 374 374 * 375 375 * Used by: 376 * HOST_DND_ HG_SND_DATA_HDR377 * GUEST_DND_ GH_SND_DATA_HDR376 * HOST_DND_FN_HG_SND_DATA_HDR 377 * GUEST_DND_FN_GH_SND_DATA_HDR 378 378 * 379 379 * New since protocol v3. … … 418 418 * 419 419 * Used by: 420 * HOST_DND_ HG_SND_DATA420 * HOST_DND_FN_HG_SND_DATA 421 421 */ 422 422 typedef struct HGCMMsgHGSendData … … 459 459 * 460 460 * Used by: 461 * HOST_DND_ HG_SND_MORE_DATA461 * HOST_DND_FN_HG_SND_MORE_DATA 462 462 */ 463 463 typedef struct HGCMMsgHGSendMoreData … … 473 473 * 474 474 * Used by: 475 * HOST_DND_ HG_SND_DIR476 * GUEST_DND_ GH_SND_DIR475 * HOST_DND_FN_HG_SND_DIR 476 * GUEST_DND_FN_GH_SND_DIR 477 477 */ 478 478 typedef struct HGCMMsgHGSendDir … … 510 510 * 511 511 * Used by: 512 * HOST_DND_ HG_SND_FILE_HDR513 * GUEST_DND_ GH_SND_FILE_HDR512 * HOST_DND_FN_HG_SND_FILE_HDR 513 * GUEST_DND_FN_GH_SND_FILE_HDR 514 514 */ 515 515 typedef struct HGCMMsgHGSendFileHdr … … 535 535 * 536 536 * Used by: 537 * HOST_DND_ HG_SND_FILE537 * HOST_DND_FN_HG_SND_FILE 538 538 */ 539 539 typedef struct HGCMMsgHGSendFileData … … 591 591 * 592 592 * Used by: 593 * HOST_DND_ GH_REQ_PENDING593 * HOST_DND_FN_GH_REQ_PENDING 594 594 */ 595 595 typedef struct HGCMMsgGHReqPending … … 619 619 * 620 620 * Used by: 621 * HOST_DND_ GH_EVT_DROPPED621 * HOST_DND_FN_GH_EVT_DROPPED 622 622 */ 623 623 typedef struct HGCMMsgGHDropped … … 660 660 * 661 661 * Used by: 662 * GUEST_DND_ GET_NEXT_HOST_MSG662 * GUEST_DND_FN_GET_NEXT_HOST_MSG 663 663 */ 664 664 typedef struct HGCMMsgGetNext … … 680 680 * 681 681 * Used by: 682 * GUEST_DND_ CONNECT682 * GUEST_DND_FN_CONNECT 683 683 */ 684 684 typedef struct HGCMMsgConnect … … 714 714 * 715 715 * Used by: 716 * GUEST_DND_ HG_ACK_OP716 * GUEST_DND_FN_HG_ACK_OP 717 717 */ 718 718 typedef struct HGCMMsgHGAck … … 739 739 * 740 740 * Used by: 741 * GUEST_DND_ HG_REQ_DATA741 * GUEST_DND_FN_HG_REQ_DATA 742 742 */ 743 743 typedef struct HGCMMsgHGReqData … … 788 788 * 789 789 * Used by: 790 * GUEST_DND_ GH_ACK_PENDING790 * GUEST_DND_FN_GH_ACK_PENDING 791 791 */ 792 792 typedef struct HGCMMsgGHAckPending … … 819 819 * 820 820 * Used by: 821 * GUEST_DND_ GH_SND_DATA_HDR821 * GUEST_DND_FN_GH_SND_DATA_HDR 822 822 * 823 823 * New since protocol v3. … … 829 829 * 830 830 * Used by: 831 * GUEST_DND_ GH_SND_DATA831 * GUEST_DND_FN_GH_SND_DATA 832 832 */ 833 833 typedef struct HGCMMsgGHSendData … … 865 865 * 866 866 * Used by: 867 * GUEST_DND_ GH_SND_DIR867 * GUEST_DND_FN_GH_SND_DIR 868 868 */ 869 869 typedef struct HGCMMsgHGSendDir HGCMMsgGHSendDir; … … 873 873 * 874 874 * Used by: 875 * GUEST_DND_ GH_SND_FILE_HDR875 * GUEST_DND_FN_GH_SND_FILE_HDR 876 876 * 877 877 * New since protocol v2. … … 883 883 * 884 884 * Used by: 885 * GUEST_DND_ GH_SND_FILE_DATA885 * GUEST_DND_FN_GH_SND_FILE_DATA 886 886 */ 887 887 typedef struct HGCMMsgHGSendFileData HGCMMsgGHSendFileData; … … 891 891 * 892 892 * Used by: 893 * GUEST_DND_ GH_EVT_ERROR893 * GUEST_DND_FN_GH_EVT_ERROR 894 894 */ 895 895 typedef struct HGCMMsgGHError … … 924 924 enum eDnDCallbackMagics 925 925 { 926 CB_MAGIC_DND_CONNECT = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_ CONNECT, 0),927 CB_MAGIC_DND_REPORT_FEATURES = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_ REPORT_FEATURES, 0),928 CB_MAGIC_DND_HG_GET_NEXT_HOST_MSG = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_ GET_NEXT_HOST_MSG, 0),929 CB_MAGIC_DND_HG_ACK_OP = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_ HG_ACK_OP, 0),930 CB_MAGIC_DND_HG_REQ_DATA = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_ HG_REQ_DATA, 0),931 CB_MAGIC_DND_HG_EVT_PROGRESS = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_ HG_EVT_PROGRESS, 0),932 CB_MAGIC_DND_GH_ACK_PENDING = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_ GH_ACK_PENDING, 0),933 CB_MAGIC_DND_GH_SND_DATA = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_ GH_SND_DATA, 0),934 CB_MAGIC_DND_GH_SND_DATA_HDR = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_ GH_SND_DATA_HDR, 0),935 CB_MAGIC_DND_GH_SND_DIR = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_ GH_SND_DIR, 0),936 CB_MAGIC_DND_GH_SND_FILE_HDR = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_ GH_SND_FILE_HDR, 0),937 CB_MAGIC_DND_GH_SND_FILE_DATA = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_ GH_SND_FILE_DATA, 0),938 CB_MAGIC_DND_GH_EVT_ERROR = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_ GH_EVT_ERROR, 0)926 CB_MAGIC_DND_CONNECT = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_FN_CONNECT, 0), 927 CB_MAGIC_DND_REPORT_FEATURES = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_FN_REPORT_FEATURES, 0), 928 CB_MAGIC_DND_HG_GET_NEXT_HOST_MSG = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_FN_GET_NEXT_HOST_MSG, 0), 929 CB_MAGIC_DND_HG_ACK_OP = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_FN_HG_ACK_OP, 0), 930 CB_MAGIC_DND_HG_REQ_DATA = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_FN_HG_REQ_DATA, 0), 931 CB_MAGIC_DND_HG_EVT_PROGRESS = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_FN_HG_EVT_PROGRESS, 0), 932 CB_MAGIC_DND_GH_ACK_PENDING = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_FN_GH_ACK_PENDING, 0), 933 CB_MAGIC_DND_GH_SND_DATA = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_FN_GH_SND_DATA, 0), 934 CB_MAGIC_DND_GH_SND_DATA_HDR = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_FN_GH_SND_DATA_HDR, 0), 935 CB_MAGIC_DND_GH_SND_DIR = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_FN_GH_SND_DIR, 0), 936 CB_MAGIC_DND_GH_SND_FILE_HDR = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_FN_GH_SND_FILE_HDR, 0), 937 CB_MAGIC_DND_GH_SND_FILE_DATA = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_FN_GH_SND_FILE_DATA, 0), 938 CB_MAGIC_DND_GH_EVT_ERROR = VBOX_DND_CB_MAGIC_MAKE(GUEST_DND_FN_GH_EVT_ERROR, 0) 939 939 }; 940 940
Note:
See TracChangeset
for help on using the changeset viewer.