150 lines
6.0 KiB
HTML
150 lines
6.0 KiB
HTML
; PCI Device IDs
|
||
VBOX_VENDOR_ID equ 0x80EE
|
||
VBOX_DEVICE_ID equ 0xCAFE
|
||
|
||
; VMMDev Protocol
|
||
VMMDEV_REQUEST_HEADER_VERSION equ 0x10001
|
||
VMMDEV_VERSION equ 0x00010003
|
||
VMMDEV_MEM_SIZE equ 0x00400000
|
||
VMMDEV_REQ_ACKNOWLEDGE_EVENTS equ 41
|
||
VMMDEV_REQ_REPORT_GUEST_INFO equ 50
|
||
VMMDEV_REQ_GET_DISPLAY_CHANGE equ 51
|
||
VMMDEV_REQ_SET_GUEST_CAPS equ 55
|
||
|
||
|
||
; VMMDev Events
|
||
; VMMDEV_EVENT_HGCM equ 0x00000002
|
||
; VMMDEV_EVENT_DISPLAY_CHANGE equ 0x00000004
|
||
|
||
; Guest Capabilities & OS Type
|
||
VBOXOSTYPE_KOLIBRIOS equ 0x90000
|
||
|
||
; Guest Capabilities
|
||
VMMDEV_GUEST_SUPPORTS_SEAMLESS equ 0x00000001
|
||
VMMDEV_GUEST_SUPPORTS_GUEST_HOST_WINDOW_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_VRDP_RESIZE equ 0x00000100
|
||
VMMDEV_GUEST_SUPPORTS_DRAG_AND_DROP equ 0x00000200
|
||
VMMDEV_GUEST_SUPPORTS_CR3_MONITORING equ 0x00000400
|
||
|
||
; Full capabilities set
|
||
VBOXGUEST_OS_SUPPORTS_CAPS equ (VMMDEV_GUEST_SUPPORTS_GRAPHICS or VMMDEV_GUEST_SUPPORTS_HGCM or VMMDEV_GUEST_SUPPORTS_DRAG_AND_DROP)
|
||
|
||
; HGCM Protocol
|
||
HGCM_PARM_TYPE_INVALID equ 0
|
||
HGCM_PARM_TYPE_32BIT equ 1
|
||
HGCM_PARM_TYPE_64BIT equ 2
|
||
HGCM_PARM_TYPE_PHYSADDR equ 3 ; deprecated
|
||
HGCM_PARM_TYPE_LINADDR equ 4
|
||
HGCM_PARM_TYPE_LINADDR_IN equ 5
|
||
HGCM_PARM_TYPE_LINADDR_OUT equ 6
|
||
HGCM_PARM_TYPE_LINADDR_LOCKED equ 7 ; НЕ ИСПОЛЬЗОВАТЬ
|
||
HGCM_PARM_TYPE_LINADDR_LOCKED_IN equ 8 ; НЕ ИСПОЛЬЗОВАТЬ
|
||
HGCM_PARM_TYPE_LINADDR_LOCKED_OUT equ 9 ; НЕ ИСПОЛЬЗОВАТЬ
|
||
HGCM_PARM_TYPE_PAGELIST equ 10
|
||
|
||
|
||
VMMDEV_HGCM_CONNECT equ 60
|
||
VMMDEV_HGCM_DISCONNECT equ 61
|
||
VMMDEV_HGCM_CALL32 equ 62
|
||
|
||
VBOX_HGCM_REQ_DONE equ 0x00000001
|
||
HGCM_LOC_TYPE_PREDEFINED equ 2
|
||
HGCM_SERVICE_NAME_MAX equ 128
|
||
HGCM_TIMEOUT_DEFAULT equ 500000
|
||
PAGE_SHIFT equ 12
|
||
|
||
; Clipboard Constants
|
||
VBOX_SHCL_GUEST_FN_MSG_GET equ 1
|
||
VBOX_SHCL_GUEST_FN_FORMATS_REPORT equ 2
|
||
VBOX_SHCL_GUEST_FN_DATA_READ equ 3
|
||
VBOX_SHCL_GUEST_FN_DATA_WRITE equ 4
|
||
VBOX_SHCL_HOST_MSG_FORMATS_REPORT equ 0
|
||
VBOX_SHCL_HOST_MSG_READ_DATA equ 1
|
||
|
||
VBOX_SHCL_FMT_UNICODETEXT equ 0x0001
|
||
VBOX_SHCL_FMT_BITMAP equ 0x0002
|
||
VBOX_SHCL_FMT_HTML equ 0x0004
|
||
VBOX_SHCL_MAX_CHUNK_SIZE equ 0x10000
|
||
|
||
; Display/VGA Constants
|
||
VGA_INDEX_PORT equ 0x01CE
|
||
VGA_DATA_PORT equ 0x01CF
|
||
VGA_INDEX_ENABLE equ 0x4
|
||
VGA_INDEX_XRES equ 0x1
|
||
VGA_INDEX_YRES equ 0x2
|
||
VGA_INDEX_BPP equ 0x3
|
||
VGA_DISABLED equ 0x00
|
||
VGA_ENABLED equ 0x01
|
||
VGA_LFB_ENABLED equ 0x40
|
||
DISP_W_MIN equ 640
|
||
DISP_H_MIN equ 480
|
||
DISP_W_MAX equ 3840
|
||
DISP_H_MAX equ 2160
|
||
|
||
|
||
; =============================================================================
|
||
; SharedFolder
|
||
; =============================================================================
|
||
|
||
; HGCM функции для SharedFolder сервиса
|
||
SHFL_FN_QUERY_MAPPINGS equ 1 ; Получить список mappings
|
||
SHFL_FN_QUERY_MAP_NAME equ 2 ; Получить имя mapping
|
||
SHFL_FN_CREATE equ 5 ; Открыть/создать файл
|
||
SHFL_FN_CLOSE equ 6 ; Закрыть файл
|
||
SHFL_FN_READ equ 7 ; Читать из файла
|
||
SHFL_FN_WRITE equ 8 ; Писать в файл
|
||
SHFL_FN_LIST equ 9 ; Список файлов в директории
|
||
SHFL_FN_READLINK equ 10 ; Чтение symlink
|
||
SHFL_FN_INFORMATION equ 11 ; Информация о файле
|
||
SHFL_FN_REMOVE equ 13 ; Удалить файл
|
||
SHFL_FN_MAP_FOLDER equ 14 ; Подключить mapping
|
||
SHFL_FN_UNMAP_FOLDER equ 15 ; Отключить mapping
|
||
SHFL_FN_RENAME equ 16 ; Переименовать
|
||
SHFL_FN_FLUSH equ 17 ; Flush буферов
|
||
|
||
; Флаги создания/открытия файла
|
||
SHFL_CF_LOOKUP equ 0x00000001 ; Только lookup (не создавать)
|
||
SHFL_CF_DIRECTORY equ 0x00000004 ; Это директория
|
||
SHFL_CF_ACCESS_READ equ 0x00000001 ; Чтение
|
||
SHFL_CF_ACCESS_WRITE equ 0x00000002 ; Запись
|
||
SHFL_CF_ACCESS_READWRITE equ 0x00000003 ; Чтение + запись
|
||
SHFL_CF_ACCESS_ALL equ 0x00000003
|
||
SHFL_CF_ACCESS_ATTR_READ equ 0x00000004 ; Чтение атрибутов
|
||
SHFL_CF_ACCESS_ATTR_WRITE equ 0x00000008 ; Запись атрибутов
|
||
SHFL_CF_ACCESS_MASK equ 0x0000000F
|
||
|
||
; Результаты операции создания
|
||
SHFL_FILE_EXISTS equ 0 ; Файл уже существует
|
||
SHFL_FILE_CREATED equ 1 ; Файл создан
|
||
SHFL_FILE_REPLACED equ 2 ; Файл заменен
|
||
SHFL_PATH_NOT_FOUND equ 3 ; Путь не найден
|
||
|
||
; Флаги для LIST операции
|
||
SHFL_LIST_NONE equ 0x00000000
|
||
SHFL_LIST_RETURN_ONE equ 0x00000001 ; Вернуть только один элемент
|
||
|
||
; Максимальные размеры
|
||
SHFL_MAX_MAPPINGS equ 10 ; Максимум mappings
|
||
SHFL_MAX_NAME_LEN equ 256 ; Максимум длина имени
|
||
SHFL_MAX_PATH_LEN equ 4096; Максимум длина пути
|
||
|
||
; =============================================================================
|
||
; KolibriOS Disk Status Codes
|
||
; =============================================================================
|
||
DISK_STATUS_GENERAL_ERROR equ -1
|
||
DISK_STATUS_OK equ 0
|
||
DISK_STATUS_INVALID_CALL equ 1
|
||
DISK_STATUS_NO_MEDIA equ 2
|
||
DISK_STATUS_END_OF_MEDIA equ 3
|
||
|
||
; =============================================================================
|
||
; Clipboard FSM States
|
||
; =============================================================================
|
||
CLIPBOARD_STATE_INIT equ 0 ; Not initialized
|
||
CLIPBOARD_STATE_CONNECTING equ 1 ; HGCM connect in progress
|
||
CLIPBOARD_STATE_READY equ 2 ; Ready to process events
|