; ============================================================================= ; Модуль : VBoxGuest Core Constants ; Файл : data/core/constants.inc ; Назначение : VMMDev константы и определения (PCI, версия, маски событий) ; ============================================================================= ; PCI VBOX_VENDOR_ID equ 0x80EE VBOX_DEVICE_ID equ 0xCAFE ; VMMDev протокол v1_04 VMMDEV_VERSION_MAJOR equ 1 VMMDEV_VERSION_MINOR equ 4 VMMDEV_VERSION equ (VMMDEV_VERSION_MAJOR shl 16) or VMMDEV_VERSION_MINOR VMMDEV_REQUEST_HEADER_VERSION equ 0x00010001 VMMDEV_HF_FAST_IRQ_ACK equ 0x00000001 VMMDEV_MEMORY_VERSION equ 1 VMMDEV_MEMORY_SIZE equ 0x00400000 VMMDEV_PORT_OFF_REQUEST equ 0 VMMDEV_PORT_OFF_REQUEST_FAST equ 8 VMMDEV_MAX_HGCM_PARMS equ 32 VMMDEV_MAX_HGCM_DATA_SIZE equ 128 ; MB ; VMMDev Request Types VMMDEV_REQ_GET_HOST_VERSION equ 4 VMMDEV_REQ_ACKNOWLEDGE_EVENTS equ 41 VMMDEV_REQ_CTL_GUEST_FILTER_MASK equ 42 VMMDEV_REQ_REPORT_GUEST_INFO equ 50 VMMDEV_REQ_GET_DISPLAY_CHANGE_2 equ 54 VMMDEV_REPORT_GUEST_CAPS equ 55 VMMDEV_SET_GUEST_CAPS equ 56 VMMDEV_REQ_REPORT_GUEST_INFO2 equ 58 VMMDEV_HGCM_CONNECT equ 60 VMMDEV_HGCM_DISCONNECT equ 61 VMMDEV_HGCM_CALL32 equ 62 VMMDEV_HGCM_CALL64 equ 63 VBOXGSTINFO2_F_REQUESTOR_INFO equ 0x00000001 ; Guest capabilities VMMDEV_GUEST_SUPPORTS_SEAMLESS equ 0x00000001 VMMDEV_GUEST_SUPPORTS_GHW_MAPPING equ 0x00000002 VMMDEV_GUEST_SUPPORTS_GRAPHICS equ 0x00000004 VMMDEV_GUEST_SUPPORTS_VRDP equ 0x00000010 VMMDEV_GUEST_SUPPORTS_HGCM equ 0x00000020 VMMDEV_GUEST_SUPPORTS_ACPI equ 0x00000040 VMMDEV_GUEST_SUPPORTS_SHCL equ 0x00000080 VMMDEV_GUEST_SUPPORTS_VRDP_RESIZE equ 0x00000100 VMMDEV_GUEST_SUPPORTS_DRAG_AND_DROP equ 0x00000200 VMMDEV_GUEST_SUPPORTS_CR3_MONITORING equ 0x00000400 VMMDEV_GUEST_SUPPORTS_TIMER_NS equ 0x00000800 VMMDEV_GUEST_SUPPORTS_GUEST_HEARTBEAT equ 0x00001000 VMMDEV_GUEST_SUPPORTS_HOST_DISPLAY_TOPOLOGY equ 0x00002000 VMMDEV_GUEST_SUPPORTS_REQUESTOR equ 0x00004000 VMMDEV_GUEST_SUPPORTS_VBVA equ 0x00008000 VMMDEV_GUEST_SUPPORTS_SET_GUEST_CAPABILITIES equ 0x00010000 VMMDEV_GUEST_SUPPORTS_MOUSE equ 0x00020000 VMMDEV_GUEST_SUPPORTS_SHARED_FOLDERS equ 0x00040000 VMMDEV_GUEST_SUPPORTS_VIDEO_ACCEL equ 0x00080000 VMMDEV_GUEST_SUPPORTS_AUDIO equ 0x00100000 VMMDEV_GUEST_SUPPORTS_TSC_EMULATION equ 0x00200000 ; VMMDev события (биты) VMMDEV_EVENT_MOUSE_CAPABILITIES_CHANGED equ 0x00000001 ; bit 0 VMMDEV_EVENT_HGCM equ 0x00000002 ; bit 1 VMMDEV_EVENT_DISPLAY_CHANGE_REQUEST equ 0x00000004 ; bit 2 VMMDEV_EVENT_JUDGE_CREDENTIALS equ 0x00000008 ; bit 3 VMMDEV_EVENT_RESTORED equ 0x00000010 ; bit 4 VMMDEV_EVENT_SEAMLESS_MODE_CHANGE equ 0x00000020 ; bit 5 VMMDEV_EVENT_BALLOON_CHANGE_REQUEST equ 0x00000040 ; bit 6 VMMDEV_EVENT_STATISTICS_INTERVAL_CHANGE equ 0x00000080 ; bit 7 VMMDEV_EVENT_VRDP equ 0x00000100 ; bit 8 VMMDEV_EVENT_MOUSE_POSITION_CHANGED equ 0x00000200 ; bit 9 VMMDEV_EVENT_CPU_HOTPLUG equ 0x00000400 ; bit 10 VMMDEV_EVENT_VALID_EVENT_MASK equ 0x000007FF ; bits 0-10 VMMDEV_EVENT_GUEST_HEARTBEAT equ 0x00040000 VMMDEV_EVENT_GUEST_HEARTBEAT_TIMEOUT equ 0x00080000 VMMDEV_EVENT_HGCM_ASYNC_CALL equ 0x00100000 ; Накопительные маски событий и capabilities (сервисы добавляют через OR) VBOXGUEST_EVENTS_OR_MASK equ 0 VBOXGUEST_EVENTS_NOT_MASK equ 0 VBOXGUEST_GUEST_CAPS_OR_MASK equ 0 VBOXGUEST_GUEST_CAPS_NOT_MASK equ 0 ; Маска «шумных» событий — НЕ логировать DISPATCHER_NOISY_EVENTS equ (VMMDEV_EVENT_MOUSE_CAPABILITIES_CHANGED or VMMDEV_EVENT_MOUSE_POSITION_CHANGED) ; OS Type VBOXOSTYPE_KOLIBRIOS equ 0x00090000 ; HGCM размеры пакетов HGCM_CALL_HEADER_SIZE equ 32 HGCM_CALL_BASE_SIZE equ 44 HGCM_PARAM_SIZE equ 12 ; Host Features VMMDEV_HVF_MMIO equ 0x00000002 ; Memory Balloon VMMDEV_MEMORY_BALLOON_CHUNK_SIZE equ 0x00100000 VMMDEV_MEMORY_BALLOON_CHUNK_PAGES equ 0x100 ; Guest Facility Types VBoxGuestFacilityType_VBoxGuestDriver equ 0 VBoxGuestFacilityType_VBoxService equ 1 VBoxGuestFacilityType_VBoxTrayClient equ 2 VBoxGuestFacilityType_Seamless equ 3 VBoxGuestFacilityType_Graphics equ 4 ; Guest Facility Status VBoxGuestFacilityStatus_Inactive equ 0 VBoxGuestFacilityStatus_Active equ 1 ; Requestor flags VMMDEV_REQUESTOR_USR_NOT_GIVEN equ 0x00000000 VMMDEV_REQUESTOR_USR_DRV equ 0x00000001 VMMDEV_REQUESTOR_USR_DRV_OTHER equ 0x00000002 VMMDEV_REQUESTOR_USR_ROOT equ 0x00000003 VMMDEV_REQUESTOR_USR_USER equ 0x00000006 VMMDEV_REQUESTOR_KERNEL equ 0x00000000 VMMDEV_REQUESTOR_USERMODE equ 0x00000008 VMMDEV_REQUESTOR_CON_DONT_KNOW equ 0x00000000 VMMDEV_REQUESTOR_CON_NO equ 0x00000010 VMMDEV_REQUESTOR_CON_YES equ 0x00000020 VMMDEV_REQUESTOR_GRP_VBOX equ 0x00000080 VMMDEV_REQUESTOR_TRUST_NOT_GIVEN equ 0x00000000 VMMDEV_REQUESTOR_VBOXGUEST equ (VMMDEV_REQUESTOR_USR_DRV or VMMDEV_REQUESTOR_GRP_VBOX) ; MMIO смещения VMMDEV_MEMORY_HAVE_EVENTS_V1_04 equ 0x14 VMMDEV_MEMORY_HAVE_EVENTS_V1_03 equ 0x0C