Changeset 41058 in vbox for trunk/include
- Timestamp:
- Apr 25, 2012 9:42:29 PM (13 years ago)
- Location:
- trunk/include/VBox
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/VBoxUhgsmi.h
r36536 r41058 33 33 34 34 typedef struct VBOXUHGSMI_BUFFER *PVBOXUHGSMI_BUFFER; 35 typedef void* HVBOXUHGSMI_SYNCHOBJECT;36 35 37 typedef enum36 typedef struct VBOXUHGSMI_BUFFER_TYPE_FLAGS 38 37 { 39 VBOXUHGSMI_SYNCHOBJECT_TYPE_NONE = 0, 40 VBOXUHGSMI_SYNCHOBJECT_TYPE_EVENT, 41 VBOXUHGSMI_SYNCHOBJECT_TYPE_SEMAPHORE 42 } VBOXUHGSMI_SYNCHOBJECT_TYPE; 38 union 39 { 40 struct 41 { 42 uint32_t fCommand : 1; 43 uint32_t Reserved : 31; 44 }; 45 uint32_t Value; 46 }; 47 } VBOXUHGSMI_BUFFER_TYPE_FLAGS; 43 48 44 49 typedef struct VBOXUHGSMI_BUFFER_LOCK_FLAGS … … 67 72 uint32_t bHostReadOnly : 1; 68 73 uint32_t bHostWriteOnly : 1; 69 uint32_t bDoNotRetire : 1; /**< the buffer will be uset in a subsequent command */ 70 uint32_t bDoNotSignalCompletion : 1; /**< do not signal notification object on completion for this alloc */ 74 uint32_t bDoNotRetire : 1; /**< the buffer will be used in a subsequent command */ 71 75 uint32_t bEntireBuffer : 1; 72 uint32_t Reserved : 2 7;76 uint32_t Reserved : 28; 73 77 }; 74 78 uint32_t Value; … … 78 82 /* the caller can specify NULL as a hSynch and specify a valid enmSynchType to make UHGSMI create a proper object itself, 79 83 * */ 80 typedef DECLCALLBACK(int) FNVBOXUHGSMI_BUFFER_CREATE(PVBOXUHGSMI pHgsmi, uint32_t cbBuf, 81 VBOXUHGSMI_SYNCHOBJECT_TYPE enmSynchType, HVBOXUHGSMI_SYNCHOBJECT hSynch, 82 PVBOXUHGSMI_BUFFER* ppBuf); 84 typedef DECLCALLBACK(int) FNVBOXUHGSMI_BUFFER_CREATE(PVBOXUHGSMI pHgsmi, uint32_t cbBuf, VBOXUHGSMI_BUFFER_TYPE_FLAGS fType, PVBOXUHGSMI_BUFFER* ppBuf); 83 85 typedef FNVBOXUHGSMI_BUFFER_CREATE *PFNVBOXUHGSMI_BUFFER_CREATE; 84 86 … … 91 93 } VBOXUHGSMI_BUFFER_SUBMIT, *PVBOXUHGSMI_BUFFER_SUBMIT; 92 94 93 typedef DECLCALLBACK(int) FNVBOXUHGSMI_BUFFER_SUBMIT _ASYNCH(PVBOXUHGSMI pHgsmi, PVBOXUHGSMI_BUFFER_SUBMIT aBuffers, uint32_t cBuffers);94 typedef FNVBOXUHGSMI_BUFFER_SUBMIT _ASYNCH *PFNVBOXUHGSMI_BUFFER_SUBMIT_ASYNCH;95 typedef DECLCALLBACK(int) FNVBOXUHGSMI_BUFFER_SUBMIT(PVBOXUHGSMI pHgsmi, PVBOXUHGSMI_BUFFER_SUBMIT aBuffers, uint32_t cBuffers); 96 typedef FNVBOXUHGSMI_BUFFER_SUBMIT *PFNVBOXUHGSMI_BUFFER_SUBMIT; 95 97 96 98 typedef DECLCALLBACK(int) FNVBOXUHGSMI_BUFFER_DESTROY(PVBOXUHGSMI_BUFFER pBuf); … … 106 108 { 107 109 PFNVBOXUHGSMI_BUFFER_CREATE pfnBufferCreate; 108 PFNVBOXUHGSMI_BUFFER_SUBMIT _ASYNCH pfnBufferSubmitAsynch;110 PFNVBOXUHGSMI_BUFFER_SUBMIT pfnBufferSubmit; 109 111 /** User custom data. */ 110 112 void *pvUserData; … … 119 121 /* r/o data added for ease of access and simplicity 120 122 * modifying it leads to unpredictable behavior */ 121 HVBOXUHGSMI_SYNCHOBJECT hSynch; 122 VBOXUHGSMI_SYNCHOBJECT_TYPE enmSynchType; 123 VBOXUHGSMI_BUFFER_TYPE_FLAGS fType; 123 124 uint32_t cbBuffer; 124 bool bSynchCreated;125 125 /** User custom data. */ 126 126 void *pvUserData; 127 127 } VBOXUHGSMI_BUFFER; 128 128 129 #define VBoxUhgsmiBufferCreate(_pUhgsmi, _cbBuf, _fType, _ppBuf) ((_pUhgsmi)->pfnBufferCreate(_pUhgsmi, _cbBuf, _fType, _ppBuf)) 130 #define VBoxUhgsmiBufferSubmit(_pUhgsmi, _aBuffers, _cBuffers) ((_pUhgsmi)->pfnBufferSubmit(_pUhgsmi, _aBuffers, _cBuffers)) 131 132 #define VBoxUhgsmiBufferLock(_pBuf, _offLock, _cbLock, _fFlags, _pvLock) ((_pBuf)->pfnLock(_pBuf, _offLock, _cbLock, _fFlags, _pvLock)) 133 #define VBoxUhgsmiBufferUnlock(_pBuf) ((_pBuf)->pfnUnlock(_pBuf)) 134 #define VBoxUhgsmiBufferDestroy(_pBuf) ((_pBuf)->pfnDestroy(_pBuf)) 135 129 136 #endif 130 137 -
trunk/include/VBox/VBoxVideo.h
r39603 r41058 1374 1374 VBOXVIDEOOFFSET offBuffer; 1375 1375 uint32_t cbBuffer; 1376 uint32_t u32Gues Data;1377 uint64_t u64Gues Data;1376 uint32_t u32GuestData; 1377 uint64_t u64GuestData; 1378 1378 } VBOXVDMACMD_CHROMIUM_BUFFER, *PVBOXVDMACMD_CHROMIUM_BUFFER; 1379 1379
Note:
See TracChangeset
for help on using the changeset viewer.