136 lines
5.7 KiB
HTML
136 lines
5.7 KiB
HTML
; =============================================================================
|
||
; Модуль : 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
|