VirtualBox

Changeset 36435 in vbox for trunk


Ignore:
Timestamp:
Mar 25, 2011 3:13:55 PM (14 years ago)
Author:
vboxsync
Message:

VRDE.h: Remote USB protocol extension (header only).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/RemoteDesktop/VRDE.h

    r36423 r36435  
    439439} VRDEUSBDEVICEDESC;
    440440
     441typedef struct _VRDEUSBDEVICEDESCEXT
     442{
     443    VRDEUSBDEVICEDESC desc;
     444
     445    /* Extended info.
     446     */
     447
     448    /** Version of the physical USB port the device is connected to. */
     449    uint16_t        bcdPortVersion;
     450
     451} VRDEUSBDEVICEDESCEXT;
     452
    441453typedef struct _VRDE_USB_REQ_DEVICE_LIST_RET
    442454{
     
    447459     */
    448460} VRDE_USB_REQ_DEVICE_LIST_RET;
     461
     462typedef struct _VRDE_USB_REQ_DEVICE_LIST_EXT_RET
     463{
     464    VRDEUSBDEVICEDESCEXT body;
     465    /* Other devices may follow.
     466     * The list ends with (uint16_t)0,
     467     * which means that an empty list consists of 2 zero bytes.
     468     */
     469} VRDE_USB_REQ_DEVICE_LIST_EXT_RET;
     470
     471/* The server requests the version of the port the device is attached to.
     472 * The client must use VRDEUSBDEVICEDESCEXT structure.
     473 */
     474#define VRDE_USB_SERVER_CAPS_PORT_VERSION 0x0001
    449475
    450476typedef struct _VRDEUSBREQNEGOTIATEPARM
     
    459485     */
    460486    uint16_t version;
    461     uint16_t flags;
     487    uint16_t flags; /* See VRDE_USB_SERVER_CAPS_* */
    462488
    463489} VRDEUSBREQNEGOTIATEPARM;
    464490
     491/* VRDEUSBREQNEGOTIATERET flags. */
    465492#define VRDE_USB_CAPS_FLAG_ASYNC    (0x0)
    466493#define VRDE_USB_CAPS_FLAG_POLL     (0x1)
    467494/* VRDE_USB_VERSION_2: New flag. */
    468495#define VRDE_USB_CAPS2_FLAG_VERSION (0x2) /* The client is negotiating the protocol version. */
     496/* VRDE_USB_VERSION_3: New flag. */
     497#define VRDE_USB_CAPS3_FLAG_EXT     (0x4) /* The client is negotiating the extended flags.
     498                                           * If this flag is set, then the VRDE_USB_CAPS2_FLAG_VERSION
     499                                           * must also be set.
     500                                           */
    469501
    470502
     
    472504/* VRDE_USB_VERSION_2: A set of valid flags. */
    473505#define VRDE_USB_CAPS2_VALID_FLAGS  (VRDE_USB_CAPS_FLAG_POLL | VRDE_USB_CAPS2_FLAG_VERSION)
     506/* VRDE_USB_VERSION_3: A set of valid flags. */
     507#define VRDE_USB_CAPS3_VALID_FLAGS  (VRDE_USB_CAPS_FLAG_POLL | VRDE_USB_CAPS2_FLAG_VERSION | VRDE_USB_CAPS3_FLAG_EXT)
    474508
    475509typedef struct _VRDEUSBREQNEGOTIATERET
     
    483517    uint32_t u32Version; /* This field presents only if the VRDE_USB_CAPS2_FLAG_VERSION flag is set. */
    484518} VRDEUSBREQNEGOTIATERET_2;
     519
     520/* The server requests the version of the port the device is attached to.
     521 * The client must use VRDEUSBDEVICEDESCEXT structure.
     522 */
     523#define VRDE_USB_CLIENT_CAPS_PORT_VERSION 0x00000001
     524
     525typedef struct _VRDEUSBREQNEGOTIATERET_3
     526{
     527    uint8_t flags;
     528    uint32_t u32Version; /* This field presents only if the VRDE_USB_CAPS2_FLAG_VERSION flag is set. */
     529    uint32_t u32Flags;   /* This field presents only if both VRDE_USB_CAPS2_FLAG_VERSION and
     530                          * VRDE_USB_CAPS2_FLAG_EXT flag are set.
     531                          * See VRDE_USB_CLIENT_CAPS_*
     532                          */
     533} VRDEUSBREQNEGOTIATERET_3;
    485534#pragma pack()
    486535
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