VirtualBox

Changeset 98792 in vbox for trunk/include/VBox/HostServices


Ignore:
Timestamp:
Feb 28, 2023 5:01:23 PM (2 years ago)
Author:
vboxsync
Message:

Guest Control/VBoxService: Moved all the CALLBACKDATA_ struct from GuestControlSvc.h into GuestCtrlImplPrivate.h, as these structs only belong into Main + added missing docs. bugref:9783

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/HostServices/GuestControlSvc.h

    r98709 r98792  
    16081608} HGCMReplyFsNotify;
    16091609#pragma pack ()
    1610 
    1611 
    1612 /******************************************************************************
    1613 * Callback data structures.                                                   *
    1614 ******************************************************************************/
    1615 
    1616 /**
    1617  * The guest control callback data header. Must come first
    1618  * on each callback structure defined below this struct.
    1619  */
    1620 typedef struct CALLBACKDATA_HEADER
    1621 {
    1622     /** Context ID to identify callback data. This is
    1623      *  and *must* be the very first parameter in this
    1624      *  structure to still be backwards compatible. */
    1625     uint32_t uContextID;
    1626 } CALLBACKDATA_HEADER, *PCALLBACKDATA_HEADER;
    1627 
    1628 /*
    1629  * These structures make up the actual low level HGCM callback data sent from
    1630  * the guest back to the host.
    1631  */
    1632 
    1633 typedef struct CALLBACKDATA_CLIENT_DISCONNECTED
    1634 {
    1635     /** Callback data header. */
    1636     CALLBACKDATA_HEADER hdr;
    1637 } CALLBACKDATA_CLIENT_DISCONNECTED, *PCALLBACKDATA_CLIENT_DISCONNECTED;
    1638 
    1639 typedef struct CALLBACKDATA_MSG_REPLY
    1640 {
    1641     /** Callback data header. */
    1642     CALLBACKDATA_HEADER hdr;
    1643     /** Notification type. */
    1644     uint32_t uType;
    1645     /** Notification result. Note: int vs. uint32! */
    1646     uint32_t rc;
    1647     /** Pointer to optional payload. */
    1648     void *pvPayload;
    1649     /** Payload size (in bytes). */
    1650     uint32_t cbPayload;
    1651 } CALLBACKDATA_MSG_REPLY, *PCALLBACKDATA_MSG_REPLY;
    1652 
    1653 typedef struct CALLBACKDATA_SESSION_NOTIFY
    1654 {
    1655     /** Callback data header. */
    1656     CALLBACKDATA_HEADER hdr;
    1657     /** Notification type. */
    1658     uint32_t uType;
    1659     /** Notification result. Note: int vs. uint32! */
    1660     uint32_t uResult;
    1661 } CALLBACKDATA_SESSION_NOTIFY, *PCALLBACKDATA_SESSION_NOTIFY;
    1662 
    1663 typedef struct CALLBACKDATA_PROC_STATUS
    1664 {
    1665     /** Callback data header. */
    1666     CALLBACKDATA_HEADER hdr;
    1667     /** The process ID (PID). */
    1668     uint32_t uPID;
    1669     /** The process status. */
    1670     uint32_t uStatus;
    1671     /** Optional flags, varies, based on u32Status. */
    1672     uint32_t uFlags;
    1673     /** Optional data buffer (not used atm). */
    1674     void *pvData;
    1675     /** Size of optional data buffer (not used atm). */
    1676     uint32_t cbData;
    1677 } CALLBACKDATA_PROC_STATUS, *PCALLBACKDATA_PROC_STATUS;
    1678 
    1679 typedef struct CALLBACKDATA_PROC_OUTPUT
    1680 {
    1681     /** Callback data header. */
    1682     CALLBACKDATA_HEADER hdr;
    1683     /** The process ID (PID). */
    1684     uint32_t uPID;
    1685     /** The handle ID (stdout/stderr). */
    1686     uint32_t uHandle;
    1687     /** Optional flags (not used atm). */
    1688     uint32_t uFlags;
    1689     /** Optional data buffer. */
    1690     void *pvData;
    1691     /** Size (in bytes) of optional data buffer. */
    1692     uint32_t cbData;
    1693 } CALLBACKDATA_PROC_OUTPUT, *PCALLBACKDATA_PROC_OUTPUT;
    1694 
    1695 typedef struct CALLBACKDATA_PROC_INPUT
    1696 {
    1697     /** Callback data header. */
    1698     CALLBACKDATA_HEADER hdr;
    1699     /** The process ID (PID). */
    1700     uint32_t uPID;
    1701     /** Current input status. */
    1702     uint32_t uStatus;
    1703     /** Optional flags. */
    1704     uint32_t uFlags;
    1705     /** Size (in bytes) of processed input data. */
    1706     uint32_t uProcessed;
    1707 } CALLBACKDATA_PROC_INPUT, *PCALLBACKDATA_PROC_INPUT;
    1708 
    1709 /**
    1710  * General guest file notification callback.
    1711  */
    1712 typedef struct CALLBACKDATA_FILE_NOTIFY
    1713 {
    1714     /** Callback data header. */
    1715     CALLBACKDATA_HEADER hdr;
    1716     /** Notification type. */
    1717     uint32_t uType;
    1718     /** IPRT result of overall operation. */
    1719     uint32_t rc;
    1720     union
    1721     {
    1722         struct
    1723         {
    1724             /** Guest file handle. */
    1725             uint32_t uHandle;
    1726         } open;
    1727         /** Note: Close does not have any additional data (yet). */
    1728         struct
    1729         {
    1730             /** How much data (in bytes) have been read. */
    1731             uint32_t cbData;
    1732             /** Actual data read (if any). */
    1733             void *pvData;
    1734         } read;
    1735         struct
    1736         {
    1737             /** How much data (in bytes) have been successfully written. */
    1738             uint32_t cbWritten;
    1739         } write;
    1740         struct
    1741         {
    1742             /** New file offset after successful seek. */
    1743             uint64_t uOffActual;
    1744         } seek;
    1745         struct
    1746         {
    1747             /** New file offset after successful tell. */
    1748             uint64_t uOffActual;
    1749         } tell;
    1750         struct
    1751         {
    1752             /** The new file siz.e */
    1753             uint64_t cbSize;
    1754         } SetSize;
    1755     } u;
    1756 } CALLBACKDATA_FILE_NOTIFY, *PCALLBACKDATA_FILE_NOTIFY;
    17571610} /* namespace guestControl */
    17581611
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