Changeset 17624 in vbox
- Timestamp:
- Mar 10, 2009 12:54:03 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/VBoxVideo.h
r8155 r17624 241 241 #pragma pack() 242 242 243 #ifdef VBOX_WITH_HGSMI 244 245 /* All structures are without alignment. */ 246 #pragma pack(1) 247 248 typedef struct _VBVABUFFER 249 { 250 uint32_t u32HostEvents; 251 uint32_t u32SupportedOrders; 252 253 /* The offset where the data start in the buffer. */ 254 uint32_t off32Data; 255 /* The offset where next data must be placed in the buffer. */ 256 uint32_t off32Free; 257 258 /* The queue of record descriptions. */ 259 VBVARECORD aRecords[VBVA_MAX_RECORDS]; 260 uint32_t indexRecordFirst; 261 uint32_t indexRecordFree; 262 263 /* Space to leave free in the buffer when large partial records are transferred. */ 264 uint32_t cbPartialWriteThreshold; 265 266 uint32_t cbData; 267 uint8_t au8Data[1]; /* variable size for the rest of the VBVABUFFER area in VRAM. */ 268 } VBVABUFFER; 269 270 271 #define VBVA_QUERY_CONF32 1 272 #define VBVA_SET_CONF32 2 273 #define VBVA_INFO_VIEW 3 274 #define VBVA_INFO_HEAP 4 275 #define VBVA_FLUSH 5 276 #define VBVA_INFO_SCREEN 6 277 #define VBVA_ENABLE 7 278 279 /* VBVACONF32::u32Index */ 280 #define VBOX_VBVA_CONF32_MONITOR_COUNT 0 281 #define VBOX_VBVA_CONF32_HOST_HEAP_SIZE 1 282 283 typedef struct _VBVACONF32 284 { 285 uint32_t u32Index; 286 uint32_t u32Value; 287 } VBVACONF32; 288 289 typedef struct _VBVAINFOVIEW 290 { 291 /* Index of the screen, assigned by the guest. */ 292 uint32_t u32ViewIndex; 293 294 /* The screen offset in VRAM, the framebuffer starts here. */ 295 uint32_t u32ViewOffset; 296 297 /* The size of the VRAM memory that can be used for the screen. */ 298 uint32_t u32ViewSize; 299 300 } VBVAINFOVIEW; 301 302 typedef struct _VBVAINFOHEAP 303 { 304 /* Absolute offset in VRAM of the start of the heap. */ 305 uint32_t u32HeapOffset; 306 307 /* The size of the heap. */ 308 uint32_t u32HeapSize; 309 310 } VBVAINFOHEAP; 311 312 typedef struct _VBVAFLUSH 313 { 314 uint32_t u32Reserved; 315 316 } VBVAFLUSH; 317 318 /* VBVAINFOSCREEN::u8Flags */ 319 #define VBVA_SCREEN_F_NONE 0x0000 320 #define VBVA_SCREEN_F_ACTIVE 0x0001 321 322 typedef struct _VBVAINFOSCREEN 323 { 324 /* Physical X origin relative to the primary screen. */ 325 int32_t i32OriginX; 326 327 /* Physical Y origin relative to the primary screen. */ 328 int32_t i32OriginY; 329 330 /* The scan line size in bytes. */ 331 uint32_t u32LineSize; 332 333 /* Width of the screen. */ 334 uint32_t u32Width; 335 336 /* Height of the screen. */ 337 uint32_t u32Height; 338 339 /* Color depth. */ 340 uint16_t u16BitsPerPixel; 341 342 /* VBVA_SCREEN_F_* */ 343 uint16_t u16Flags; 344 } VBVAINFOSCREEN; 345 346 347 /* VBVAENABLE::u32Flags */ 348 #define VBVA_F_NONE 0x00000000 349 #define VBVA_F_ENABLE 0x00000001 350 #define VBVA_F_DISABLE 0x00000002 351 352 typedef struct _VBVAENABLE 353 { 354 uint32_t u32Flags; 355 uint32_t u32Reserved; 356 357 } VBVAENABLE; 358 359 #pragma pack() 360 361 #endif /* VBOX_WITH_HGSMI */ 362 243 363 #endif
Note:
See TracChangeset
for help on using the changeset viewer.