Changeset 80359 in vbox for trunk/include/VBox/GuestHost
- Timestamp:
- Aug 21, 2019 8:37:54 AM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 132824
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/GuestHost/SharedClipboard-uri.h
r80283 r80359 53 53 54 54 /** Specifies an invalid Shared Clipboard list handle. */ 55 #define SHAREDCLIPBOARDLISTHANDLE_INVALID 055 #define SHAREDCLIPBOARDLISTHANDLE_INVALID ((SHAREDCLIPBOARDLISTHANDLE)~0LL) 56 56 57 57 /** A Shared Clipboard object handle. */ … … 61 61 62 62 /** Specifies an invalid Shared Clipboard object handle. */ 63 #define SHAREDCLIPBOARDOBJHANDLE_INVALID 063 #define SHAREDCLIPBOARDOBJHANDLE_INVALID ((SHAREDCLIPBOARDOBJHANDLE)~0LL) 64 64 65 65 /** @} */ … … 332 332 typedef struct _VBOXCLIPBOARDOBJOPENCREATEPARMS 333 333 { 334 /** Path to object to open / create. */ 334 335 char *pszPath; 336 /** Size (in bytes) of path to to object. */ 335 337 uint32_t cbPath; 336 338 /** SHAREDCLIPBOARD_OBJ_CF_* */ 337 339 uint32_t fCreate; 338 340 /** 339 * Attributes of object to create and341 * Attributes of object to open/create and 340 342 * returned actual attributes of opened/created object. 341 343 */ … … 363 365 SHAREDCLIPBOARDOBJHANDLE uHandle; 364 366 } ObjOpen; 367 struct 368 { 369 SHAREDCLIPBOARDOBJHANDLE uHandle; 370 } ObjClose; 365 371 } u; 366 372 /** Pointer to optional payload. */ … … 465 471 } VBOXCLIPBOARDLIST, *PVBOXCLIPBOARDLIST; 466 472 467 /** 468 * Structure for a Shared Clipboard object header. 469 */ 470 typedef struct _VBOXCLIPBOARDOBJHDR 471 { 472 /** Header type. Currently not being used. */ 473 uint32_t enmType; 474 } VBOXCLIPBOARDOBJHDR, *PVBOXCLIPBOARDOBJHDR; 473 typedef struct _VBOXCLIPBOARDOBJDATACHUNK 474 { 475 uint64_t uHandle; 476 void *pvData; 477 uint32_t cbData; 478 } VBOXCLIPBOARDOBJDATACHUNK, *PVBOXCLIPBOARDOBJDATACHUNK; 475 479 476 480 /** … … 723 727 typedef std::map<uint16_t, SHAREDCLIPBOARDURITRANSFEREVENT *> SharedClipboardURITransferEventMap; 724 728 729 /** 730 * Enumeration for specifying a Shared Clipboard object type. 731 */ 732 typedef enum _SHAREDCLIPBOARDURIOBJTYPE 733 { 734 /** Invalid object type. */ 735 SHAREDCLIPBOARDURIOBJTYPE_INVALID = 0, 736 /** Object is a directory. */ 737 SHAREDCLIPBOARDURIOBJTYPE_DIRECTORY, 738 /** Object is a file. */ 739 SHAREDCLIPBOARDURIOBJTYPE_FILE, 740 /** Object is a symbolic link. */ 741 SHAREDCLIPBOARDURIOBJTYPE_SYMLINK, 742 /** The usual 32-bit hack. */ 743 SHAREDCLIPBOARDURIOBJTYPE_32BIT_SIZE_HACK = 0x7fffffff 744 } SHAREDCLIPBOARDURIOBJTYPE; 745 746 /** 747 * Structure for keeping URI list handle information. 748 * This is using to map own (local) handles to the underlying file system. 749 */ 725 750 typedef struct _SHAREDCLIPBOARDURILISTHANDLEINFO 726 751 { 727 VBOXCLIPBOARDLISTOPENPARMS OpenParms; 728 RTFMODE fMode; 752 /** Type of list handle. */ 753 SHAREDCLIPBOARDURIOBJTYPE enmType; 754 /** Absolute local path of the list object. */ 755 char *pszPathLocalAbs; 729 756 union 730 757 { 758 /** Local data, based on enmType. */ 731 759 struct 732 760 { 733 761 union 734 762 { 735 RTDIR hDir Root;763 RTDIR hDir; 736 764 RTFILE hFile; 737 765 }; … … 740 768 } SHAREDCLIPBOARDURILISTHANDLEINFO, *PSHAREDCLIPBOARDURILISTHANDLEINFO; 741 769 742 typedef struct _SHAREDCLIPBOARDOBJHANDLEINFO 743 { 770 /** Map of URI list handles. 771 * The key specifies the list handle. */ 772 typedef std::map<SHAREDCLIPBOARDLISTHANDLE, SHAREDCLIPBOARDURILISTHANDLEINFO *> SharedClipboardURIListMap; 773 774 /** 775 * Structure for keeping URI object handle information. 776 * This is using to map own (local) handles to the underlying file system. 777 */ 778 typedef struct _SHAREDCLIPBOARDURIOBJHANDLEINFO 779 { 780 /** Type of object handle. */ 781 SHAREDCLIPBOARDURIOBJTYPE enmType; 782 /** Absolute local path of the object. */ 783 char *pszPathLocalAbs; 744 784 union 745 785 { 786 /** Local data, based on enmType. */ 746 787 struct 747 788 { 748 RTDIR hDirRoot; 789 union 790 { 791 RTDIR hDir; 792 RTFILE hFile; 793 }; 749 794 } Local; 750 795 } u; 751 796 } SHAREDCLIPBOARDURIOBJHANDLEINFO, *PSHAREDCLIPBOARDURIOBJHANDLEINFO; 752 797 753 /** Map of URI list handles.754 * The key specifies the list handle. */755 typedef std::map<SHAREDCLIPBOARDLISTHANDLE, SHAREDCLIPBOARDURILISTHANDLEINFO *> SharedClipboardURIListMap;756 757 798 /** Map of URI object handles. 758 799 * The key specifies the object handle. */ 759 typedef std::map<SHAREDCLIPBOARDOBJHANDLE, SHAREDCLIPBOARDURI LISTHANDLEINFO *> SharedClipboardURIObjMap;800 typedef std::map<SHAREDCLIPBOARDOBJHANDLE, SHAREDCLIPBOARDURIOBJHANDLEINFO *> SharedClipboardURIObjMap; 760 801 761 802 /** … … 796 837 * This is handed in to the provider implementation callbacks. 797 838 */ 798 typedef struct _SHAREDCLIPBOARDPROVIDERCTX839 typedef struct _SHAREDCLIPBOARDPROVIDERCTX 799 840 { 800 841 /** Pointer to the related URI transfer. */ … … 958 999 /** Timeout (in ms) for waiting of events. Default is 30s. */ 959 1000 RTMSINTERVAL uTimeoutMs; 1001 /** Absolute path to root entries. */ 1002 char *pszPathRootAbs; 960 1003 /** Maximum data chunk size (in bytes) to transfer. Default is 64K. */ 961 1004 uint32_t cbMaxChunkSize; … … 963 1006 SharedClipboardURITransferEventMap *pMapEvents; 964 1007 /** Next upcoming list handle. */ 965 uint64_tuListHandleNext;1008 SHAREDCLIPBOARDLISTHANDLE uListHandleNext; 966 1009 /** Map of all lists related to this transfer. */ 967 1010 SharedClipboardURIListMap *pMapLists; … … 969 1012 SharedClipboardURIListRootEntries lstRootEntries; 970 1013 /** Next upcoming object handle. */ 971 uint64_tuObjHandleNext;1014 SHAREDCLIPBOARDOBJHANDLE uObjHandleNext; 972 1015 /** Next upcoming event ID. 973 1016 * 0 is reserved for invalid event IDs. */ … … 1015 1058 bool SharedClipboardURIObjCtxIsValid(PSHAREDCLIPBOARDCLIENTURIOBJCTX pObjCtx); 1016 1059 1060 int SharedClipboardURIObjectOpenParmsInit(PVBOXCLIPBOARDOBJOPENCREATEPARMS pParms); 1061 int SharedClipboardURIObjectOpenParmsCopy(PVBOXCLIPBOARDOBJOPENCREATEPARMS pParmsDst, PVBOXCLIPBOARDOBJOPENCREATEPARMS pParmsSrc); 1062 void SharedClipboardURIObjectOpenParmsDestroy(PVBOXCLIPBOARDOBJOPENCREATEPARMS pParms); 1063 1017 1064 int SharedClipboardURIObjectOpen(PSHAREDCLIPBOARDURITRANSFER pTransfer, PVBOXCLIPBOARDOBJOPENCREATEPARMS pOpenCreateParms, 1018 1065 PSHAREDCLIPBOARDOBJHANDLE phObj); 1019 int SharedClipboardURIObjectClose(SHAREDCLIPBOARDOBJHANDLE hObj); 1020 int SharedClipboardURIObjectRead(SHAREDCLIPBOARDOBJHANDLE hObj, void *pvBuf, uint32_t cbBuf, uint32_t *pcbRead, uint32_t fFlags); 1021 int SharedClipboardURIObjectWrite(SHAREDCLIPBOARDOBJHANDLE hObj, void *pvBuf, uint32_t cbBuf, uint32_t *pcbWritten, uint32_t fFlags); 1022 int SharedClipboardURIObjectQueryInfo(SHAREDCLIPBOARDOBJHANDLE hObj, PSHAREDCLIPBOARDFSOBJINFO pObjInfo); 1066 int SharedClipboardURIObjectClose(PSHAREDCLIPBOARDURITRANSFER pTransfer, SHAREDCLIPBOARDOBJHANDLE hObj); 1067 int SharedClipboardURIObjectRead(PSHAREDCLIPBOARDURITRANSFER pTransfer, SHAREDCLIPBOARDOBJHANDLE hObj, void *pvBuf, uint32_t cbBuf, uint32_t *pcbRead, uint32_t fFlags); 1068 int SharedClipboardURIObjectWrite(PSHAREDCLIPBOARDURITRANSFER pTransfer, SHAREDCLIPBOARDOBJHANDLE hObj, void *pvBuf, uint32_t cbBuf, uint32_t *pcbWritten, uint32_t fFlags); 1069 1070 PVBOXCLIPBOARDOBJDATACHUNK SharedClipboardURIObjectDataChunkDup(PVBOXCLIPBOARDOBJDATACHUNK pDataChunk); 1071 void SharedClipboardURIObjectDataChunkDestroy(PVBOXCLIPBOARDOBJDATACHUNK pDataChunk); 1072 void SharedClipboardURIObjectDataChunkFree(PVBOXCLIPBOARDOBJDATACHUNK pDataChunk); 1023 1073 1024 1074 int SharedClipboardURITransferCreate(SHAREDCLIPBOARDURITRANSFERDIR enmDir, SHAREDCLIPBOARDSOURCE enmSource, … … 1046 1096 int SharedClipboardURITransferSetInterface(PSHAREDCLIPBOARDURITRANSFER pTransfer, 1047 1097 PSHAREDCLIPBOARDPROVIDERCREATIONCTX pCreationCtx); 1048 int SharedClipboardURILTransferSetRoots(PSHAREDCLIPBOARDURITRANSFER pTransfer, const char *p apszRoots, size_t cbRoots);1098 int SharedClipboardURILTransferSetRoots(PSHAREDCLIPBOARDURITRANSFER pTransfer, const char *pszRoots, size_t cbRoots); 1049 1099 void SharedClipboardURITransferReset(PSHAREDCLIPBOARDURITRANSFER pTransfer); 1050 1100 SharedClipboardArea *SharedClipboardURITransferGetArea(PSHAREDCLIPBOARDURITRANSFER pTransfer);
Note:
See TracChangeset
for help on using the changeset viewer.