Changeset 38877 in vbox for trunk/include/VBox/vmm
- Timestamp:
- Sep 27, 2011 9:04:46 AM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 74199
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/pdmblkcache.h
r35361 r38877 57 57 /** Write */ 58 58 PDMBLKCACHEXFERDIR_WRITE, 59 /** FLush */ 60 PDMBLKCACHEXFERDIR_FLUSH 59 /** Flush */ 60 PDMBLKCACHEXFERDIR_FLUSH, 61 /** Discard */ 62 PDMBLKCACHEXFERDIR_DISCARD 61 63 } PDMBLKCACHEXFERDIR; 62 64 … … 87 89 88 90 /** 91 * Discard enqueue callback for drivers. 92 * 93 * @param pDrvIns The driver instance. 94 * @param paRanges Ranges to discard. 95 * @param cRanges Number of range entries. 96 * @param hIoXfer I/O handle to return on completion. 97 */ 98 typedef DECLCALLBACK(int) FNPDMBLKCACHEXFERENQUEUEDISCARDDRV(PPDMDRVINS pDrvIns, 99 PCRTRANGE paRanges, unsigned cRanges, 100 PPDMBLKCACHEIOXFER hIoXfer); 101 /** Pointer to a FNPDMBLKCACHEXFERENQUEUEDISCARDDRV(). */ 102 typedef FNPDMBLKCACHEXFERENQUEUEDISCARDDRV *PFNPDMBLKCACHEXFERENQUEUEDISCARDDRV; 103 104 /** 89 105 * Completion callback for devices. 90 106 * 91 * @param pDrvIns The d riverinstance.107 * @param pDrvIns The device instance. 92 108 * @param pvUser User argument given during request initiation. 93 109 * @param rc The status code of the completed request. … … 100 116 * I/O enqueue callback for devices. 101 117 * 102 * @param pD rvIns The driverinstance.118 * @param pDevIns The device instance. 103 119 * @param pvUser User argument given during request initiation. 104 120 * @param rc The status code of the completed request. … … 112 128 113 129 /** 130 * Discard enqueue callback for devices. 131 * 132 * @param pDrvIns The driver instance. 133 * @param paRanges Ranges to discard. 134 * @param cRanges Number of range entries. 135 * @param hIoXfer I/O handle to return on completion. 136 */ 137 typedef DECLCALLBACK(int) FNPDMBLKCACHEXFERENQUEUEDISCARDDEV(PPDMDEVINS pDevIns, 138 PCRTRANGE paRanges, unsigned cRanges, 139 PPDMBLKCACHEIOXFER hIoXfer); 140 /** Pointer to a FNPDMBLKCACHEXFERENQUEUEDISCARDDEV(). */ 141 typedef FNPDMBLKCACHEXFERENQUEUEDISCARDDEV *PFNPDMBLKCACHEXFERENQUEUEDISCARDDEV; 142 143 /** 114 144 * Completion callback for drivers. 115 145 * … … 137 167 138 168 /** 169 * Discard enqueue callback for VMM internal users. 170 * 171 * @param pDrvIns The driver instance. 172 * @param paRanges Ranges to discard. 173 * @param cRanges Number of range entries. 174 * @param hIoXfer I/O handle to return on completion. 175 */ 176 typedef DECLCALLBACK(int) FNPDMBLKCACHEXFERENQUEUEDISCARDINT(void *pvUser, 177 PCRTRANGE paRanges, unsigned cRanges, 178 PPDMBLKCACHEIOXFER hIoXfer); 179 /** Pointer to a FNPDMBLKCACHEXFERENQUEUEDISCARDINT(). */ 180 typedef FNPDMBLKCACHEXFERENQUEUEDISCARDINT *PFNPDMBLKCACHEXFERENQUEUEDISCARDINT; 181 182 /** 139 183 * Completion callback for USB. 140 184 * … … 162 206 163 207 /** 208 * Discard enqueue callback for USB devices. 209 * 210 * @param pUsbIns The USB device instance. 211 * @param paRanges Ranges to discard. 212 * @param cRanges Number of range entries. 213 * @param hIoXfer I/O handle to return on completion. 214 */ 215 typedef DECLCALLBACK(int) FNPDMBLKCACHEXFERENQUEUEDISCARDUSB(PPDMUSBINS pUsbIns, 216 PCRTRANGE paRanges, unsigned cRanges, 217 PPDMBLKCACHEIOXFER hIoXfer); 218 /** Pointer to a FNPDMBLKCACHEXFERENQUEUEDISCARDUSB(). */ 219 typedef FNPDMBLKCACHEXFERENQUEUEDISCARDUSB *PFNPDMBLKCACHEXFERENQUEUEDISCARDUSB; 220 221 /** 164 222 * Create a block cache user for a driver instance. 165 223 * 166 224 * @returns VBox status code. 167 * @param pVM Pointer to the shared VM structure. 168 * @param pDrvIns The driver instance. 169 * @param ppBlkCache Where to store the handle to the block cache. 170 * @param pfnXferComplete The I/O transfer complete callback. 171 * @param pfnXferEnqueue The I/O request enqueue callback. 172 * @param pcszId Unique ID used to identify the user. 225 * @param pVM Pointer to the shared VM structure. 226 * @param pDrvIns The driver instance. 227 * @param ppBlkCache Where to store the handle to the block cache. 228 * @param pfnXferComplete The I/O transfer complete callback. 229 * @param pfnXferEnqueue The I/O request enqueue callback. 230 * @param pfnXferEnqueueDiscard The discard request enqueue callback. 231 * @param pcszId Unique ID used to identify the user. 173 232 */ 174 233 VMMR3DECL(int) PDMR3BlkCacheRetainDriver(PVM pVM, PPDMDRVINS pDrvIns, PPPDMBLKCACHE ppBlkCache, 175 234 PFNPDMBLKCACHEXFERCOMPLETEDRV pfnXferComplete, 176 235 PFNPDMBLKCACHEXFERENQUEUEDRV pfnXferEnqueue, 236 PFNPDMBLKCACHEXFERENQUEUEDISCARDDRV pfnXferEnqueueDiscard, 177 237 const char *pcszId); 178 238 … … 181 241 * 182 242 * @returns VBox status code. 183 * @param pVM Pointer to the shared VM structure. 184 * @param pDevIns The device instance. 185 * @param ppBlkCache Where to store the handle to the block cache. 186 * @param pfnXferComplete The I/O transfer complete callback. 187 * @param pfnXferEnqueue The I/O request enqueue callback. 188 * @param pcszId Unique ID used to identify the user. 243 * @param pVM Pointer to the shared VM structure. 244 * @param pDevIns The device instance. 245 * @param ppBlkCache Where to store the handle to the block cache. 246 * @param pfnXferComplete The I/O transfer complete callback. 247 * @param pfnXferEnqueue The I/O request enqueue callback. 248 * @param pfnXferEnqueueDiscard The discard request enqueue callback. 249 * @param pcszId Unique ID used to identify the user. 189 250 */ 190 251 VMMR3DECL(int) PDMR3BlkCacheRetainDevice(PVM pVM, PPDMDEVINS pDevIns, PPPDMBLKCACHE ppBlkCache, 191 252 PFNPDMBLKCACHEXFERCOMPLETEDEV pfnXferComplete, 192 253 PFNPDMBLKCACHEXFERENQUEUEDEV pfnXferEnqueue, 254 PFNPDMBLKCACHEXFERENQUEUEDISCARDDEV pfnXferEnqueueDiscard, 193 255 const char *pcszId); 194 256 … … 197 259 * 198 260 * @returns VBox status code. 199 * @param pVM Pointer to the shared VM structure. 200 * @param pUsbIns The USB device instance. 201 * @param ppBlkCache Where to store the handle to the block cache. 202 * @param pfnXferComplete The I/O transfer complete callback. 203 * @param pfnXferEnqueue The I/O request enqueue callback. 204 * @param pcszId Unique ID used to identify the user. 261 * @param pVM Pointer to the shared VM structure. 262 * @param pUsbIns The USB device instance. 263 * @param ppBlkCache Where to store the handle to the block cache. 264 * @param pfnXferComplete The I/O transfer complete callback. 265 * @param pfnXferEnqueue The I/O request enqueue callback. 266 * @param pfnXferEnqueueDiscard The discard request enqueue callback. 267 * @param pcszId Unique ID used to identify the user. 205 268 */ 206 269 VMMR3DECL(int) PDMR3BlkCacheRetainUsb(PVM pVM, PPDMUSBINS pUsbIns, PPPDMBLKCACHE ppBlkCache, 207 270 PFNPDMBLKCACHEXFERCOMPLETEUSB pfnXferComplete, 208 271 PFNPDMBLKCACHEXFERENQUEUEUSB pfnXferEnqueue, 272 PFNPDMBLKCACHEXFERENQUEUEDISCARDUSB pfnXferEnqueueDiscard, 209 273 const char *pcszId); 210 274 … … 213 277 * 214 278 * @returns VBox status code. 215 * @param pVM Pointer to the shared VM structure. 216 * @param pvUser Opaque user data. 217 * @param ppBlkCache Where to store the handle to the block cache. 218 * @param pfnXferComplete The I/O transfer complete callback. 219 * @param pfnXferEnqueue The I/O request enqueue callback. 220 * @param pcszId Unique ID used to identify the user. 279 * @param pVM Pointer to the shared VM structure. 280 * @param pvUser Opaque user data. 281 * @param ppBlkCache Where to store the handle to the block cache. 282 * @param pfnXferComplete The I/O transfer complete callback. 283 * @param pfnXferEnqueue The I/O request enqueue callback. 284 * @param pfnXferEnqueueDiscard The discard request enqueue callback. 285 * @param pcszId Unique ID used to identify the user. 221 286 */ 222 287 VMMR3DECL(int) PDMR3BlkCacheRetainInt(PVM pVM, void *pvUser, PPPDMBLKCACHE ppBlkCache, 223 288 PFNPDMBLKCACHEXFERCOMPLETEINT pfnXferComplete, 224 289 PFNPDMBLKCACHEXFERENQUEUEINT pfnXferEnqueue, 290 PFNPDMBLKCACHEXFERENQUEUEDISCARDINT pfnXferEnqueueDiscard, 225 291 const char *pcszId); 226 292 … … 297 363 * @param pvUser Opaque user data returned in the completion callback 298 364 * upon completion of the task. 299 * @param ppTask Where to store the task handle on success.300 365 */ 301 366 VMMR3DECL(int) PDMR3BlkCacheFlush(PPDMBLKCACHE pBlkCache, void *pvUser); 367 368 /** 369 * Discards the given ranges from the cache. 370 * 371 * @returns VBox status code. 372 * @param pEndpoint The file endpoint to flush. 373 * @param paRanges Array of ranges to discard. 374 * @param cRanges Number of ranges in the array. 375 * @param pvUser Opaque user data returned in the completion callback 376 * upon completion of the task. 377 */ 378 VMMR3DECL(int) PDMR3BlkCacheDiscard(PPDMBLKCACHE pBlkCache, PCRTRANGE paRanges, unsigned cRanges, void *pvUser); 302 379 303 380 /**
Note:
See TracChangeset
for help on using the changeset viewer.