VirtualBox

Changeset 17624 in vbox


Ignore:
Timestamp:
Mar 10, 2009 12:54:03 PM (16 years ago)
Author:
vboxsync
Message:

HGSMI: the VBVA interface header.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/VBoxVideo.h

    r8155 r17624  
    241241#pragma pack()
    242242
     243#ifdef VBOX_WITH_HGSMI
     244
     245/* All structures are without alignment. */
     246#pragma pack(1)
     247
     248typedef 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
     283typedef struct _VBVACONF32
     284{
     285    uint32_t u32Index;
     286    uint32_t u32Value;
     287} VBVACONF32;
     288
     289typedef 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
     302typedef 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
     312typedef 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
     322typedef 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
     352typedef 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
    243363#endif
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette