Changeset 98792 in vbox for trunk/include/VBox/HostServices
- Timestamp:
- Feb 28, 2023 5:01:23 PM (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/HostServices/GuestControlSvc.h
r98709 r98792 1608 1608 } HGCMReplyFsNotify; 1609 1609 #pragma pack () 1610 1611 1612 /******************************************************************************1613 * Callback data structures. *1614 ******************************************************************************/1615 1616 /**1617 * The guest control callback data header. Must come first1618 * on each callback structure defined below this struct.1619 */1620 typedef struct CALLBACKDATA_HEADER1621 {1622 /** Context ID to identify callback data. This is1623 * and *must* be the very first parameter in this1624 * 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 from1630 * the guest back to the host.1631 */1632 1633 typedef struct CALLBACKDATA_CLIENT_DISCONNECTED1634 {1635 /** Callback data header. */1636 CALLBACKDATA_HEADER hdr;1637 } CALLBACKDATA_CLIENT_DISCONNECTED, *PCALLBACKDATA_CLIENT_DISCONNECTED;1638 1639 typedef struct CALLBACKDATA_MSG_REPLY1640 {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_NOTIFY1654 {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_STATUS1664 {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_OUTPUT1680 {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_INPUT1696 {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_NOTIFY1713 {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 union1721 {1722 struct1723 {1724 /** Guest file handle. */1725 uint32_t uHandle;1726 } open;1727 /** Note: Close does not have any additional data (yet). */1728 struct1729 {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 struct1736 {1737 /** How much data (in bytes) have been successfully written. */1738 uint32_t cbWritten;1739 } write;1740 struct1741 {1742 /** New file offset after successful seek. */1743 uint64_t uOffActual;1744 } seek;1745 struct1746 {1747 /** New file offset after successful tell. */1748 uint64_t uOffActual;1749 } tell;1750 struct1751 {1752 /** The new file siz.e */1753 uint64_t cbSize;1754 } SetSize;1755 } u;1756 } CALLBACKDATA_FILE_NOTIFY, *PCALLBACKDATA_FILE_NOTIFY;1757 1610 } /* namespace guestControl */ 1758 1611
Note:
See TracChangeset
for help on using the changeset viewer.