include/uapi/linux/vboxguest.h
Source file repositories/reference/linux-study-clean/include/uapi/linux/vboxguest.h
File Facts
- System
- Linux kernel
- Corpus path
include/uapi/linux/vboxguest.h- Extension
.h- Size
- 9368 bytes
- Lines
- 355
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
asm/bitsperlong.hlinux/ioctl.hlinux/vbox_err.hlinux/vbox_vmmdev_types.h
Detected Declarations
struct vbg_ioctl_hdrstruct vbg_ioctl_driver_version_infostruct vbg_ioctl_hgcm_connectstruct vbg_ioctl_hgcm_disconnectstruct vbg_ioctl_hgcm_callstruct vbg_ioctl_logstruct vbg_ioctl_wait_for_eventsstruct vbg_ioctl_change_filterstruct vbg_ioctl_acquire_guest_capsstruct vbg_ioctl_set_guest_capsstruct vbg_ioctl_check_balloonstruct vbg_ioctl_write_coredump
Annotated Snippet
struct vbg_ioctl_hdr {
/** IN: The request input size, and output size if size_out is zero. */
__u32 size_in;
/** IN: Structure version (VBG_IOCTL_HDR_VERSION) */
__u32 version;
/** IN: The VMMDev request type or VBG_IOCTL_HDR_TYPE_DEFAULT. */
__u32 type;
/**
* OUT: The VBox status code of the operation, out direction only.
* This is a VINF_ or VERR_ value as defined in vbox_err.h.
*/
__s32 rc;
/** IN: Output size. Set to zero to use size_in as output size. */
__u32 size_out;
/** Reserved, MBZ. */
__u32 reserved;
};
VMMDEV_ASSERT_SIZE(vbg_ioctl_hdr, 24);
/*
* The VBoxGuest I/O control version.
*
* As usual, the high word contains the major version and changes to it
* signifies incompatible changes.
*
* The lower word is the minor version number, it is increased when new
* functions are added or existing changed in a backwards compatible manner.
*/
#define VBG_IOC_VERSION 0x00010000u
/**
* VBG_IOCTL_DRIVER_VERSION_INFO data structure
*
* Note VBG_IOCTL_DRIVER_VERSION_INFO may switch the session to a backwards
* compatible interface version if uClientVersion indicates older client code.
*/
struct vbg_ioctl_driver_version_info {
/** The header. */
struct vbg_ioctl_hdr hdr;
union {
struct {
/** Requested interface version (VBG_IOC_VERSION). */
__u32 req_version;
/**
* Minimum interface version number (typically the
* major version part of VBG_IOC_VERSION).
*/
__u32 min_version;
/** Reserved, MBZ. */
__u32 reserved1;
/** Reserved, MBZ. */
__u32 reserved2;
} in;
struct {
/** Version for this session (typ. VBG_IOC_VERSION). */
__u32 session_version;
/** Version of the IDC interface (VBG_IOC_VERSION). */
__u32 driver_version;
/** The SVN revision of the driver, or 0. */
__u32 driver_revision;
/** Reserved \#1 (zero until defined). */
__u32 reserved1;
/** Reserved \#2 (zero until defined). */
__u32 reserved2;
} out;
} u;
};
VMMDEV_ASSERT_SIZE(vbg_ioctl_driver_version_info, 24 + 20);
#define VBG_IOCTL_DRIVER_VERSION_INFO \
_IOWR('V', 0, struct vbg_ioctl_driver_version_info)
/* IOCTL to perform a VMM Device request less than 1KB in size. */
#define VBG_IOCTL_VMMDEV_REQUEST(s) _IOC(_IOC_READ | _IOC_WRITE, 'V', 2, s)
/* IOCTL to perform a VMM Device request larger then 1KB. */
#define VBG_IOCTL_VMMDEV_REQUEST_BIG _IO('V', 3)
/** VBG_IOCTL_HGCM_CONNECT data structure. */
struct vbg_ioctl_hgcm_connect {
struct vbg_ioctl_hdr hdr;
union {
struct {
struct vmmdev_hgcm_service_location loc;
} in;
struct {
Annotation
- Immediate include surface: `asm/bitsperlong.h`, `linux/ioctl.h`, `linux/vbox_err.h`, `linux/vbox_vmmdev_types.h`.
- Detected declarations: `struct vbg_ioctl_hdr`, `struct vbg_ioctl_driver_version_info`, `struct vbg_ioctl_hgcm_connect`, `struct vbg_ioctl_hgcm_disconnect`, `struct vbg_ioctl_hgcm_call`, `struct vbg_ioctl_log`, `struct vbg_ioctl_wait_for_events`, `struct vbg_ioctl_change_filter`, `struct vbg_ioctl_acquire_guest_caps`, `struct vbg_ioctl_set_guest_caps`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.