package vd

// Protocols
const VD_AGENT_PROTOCOL = 1

// Ports
const (
	VDP_CLIENT_PORT = iota + 1
	VDP_SERVER_PORT
	VDP_END_PORT
)

// Message types
const (
	VD_AGENT_MOUSE_STATE = iota + 1
	VD_AGENT_MONITORS_CONFIG
	VD_AGENT_REPLY
	VD_AGENT_CLIPBOARD
	VD_AGENT_DISPLAY_CONFIG
	VD_AGENT_ANNOUNCE_CAPABILITIES
	VD_AGENT_CLIPBOARD_GRAB
	VD_AGENT_CLIPBOARD_REQUEST
	VD_AGENT_CLIPBOARD_RELEASE
	VD_AGENT_FILE_XFER_START
	VD_AGENT_FILE_XFER_STATUS
	VD_AGENT_FILE_XFER_DATA
	VD_AGENT_CLIENT_DISCONNECTED
	VD_AGENT_MAX_CLIPBOARD
	VD_AGENT_AUDIO_VOLUME_SYNC
	VD_AGENT_GRAPHICS_DEVICE_INFO
	VD_AGENT_END_MESSAGE
)

// Capabilities
const (
	VD_AGENT_CAP_MOUSE_STATE = 1 << iota
	VD_AGENT_CAP_MONITORS_CONFIG
	VD_AGENT_CAP_REPLY
	VD_AGENT_CAP_CLIPBOARD
	VD_AGENT_CAP_DISPLAY_CONFIG
	VD_AGENT_CAP_CLIPBOARD_BY_DEMAND
	VD_AGENT_CAP_CLIPBOARD_SELECTION
	VD_AGENT_CAP_SPARSE_MONITORS_CONFIG
	VD_AGENT_CAP_GUEST_LINEEND_LF
	VD_AGENT_CAP_GUEST_LINEEND_CRLF
	VD_AGENT_CAP_MAX_CLIPBOARD
	VD_AGENT_CAP_AUDIO_VOLUME_SYNC
	VD_AGENT_CAP_MONITORS_CONFIG_POSITION
	VD_AGENT_CAP_FILE_XFER_DISABLED
	VD_AGENT_CAP_FILE_XFER_DETAILED_ERRORS
	VD_AGENT_CAP_GRAPHICS_DEVICE_INFO
	VD_AGENT_CAP_CLIPBOARD_NO_RELEASE_ON_REGRAB
	VD_AGENT_CAP_CLIPBOARD_GRAB_SERIAL
	VD_AGENT_END_CAP
)

// Clipboard selections
const (
	VD_AGENT_CLIPBOARD_SELECTION_CLIPBOARD = iota
	VD_AGENT_CLIPBOARD_SELECTION_PRIMARY
	VD_AGENT_CLIPBOARD_SELECTION_SECONDARY
)

// Clipboard content types
const (
	VD_AGENT_CLIPBOARD_NONE = iota
	VD_AGENT_CLIPBOARD_UTF8_TEXT
	VD_AGENT_CLIPBOARD_IMAGE_PNG
	VD_AGENT_CLIPBOARD_IMAGE_BMP
	VD_AGENT_CLIPBOARD_IMAGE_TIFF
	VD_AGENT_CLIPBOARD_IMAGE_JPG
	VD_AGENT_CLIPBOARD_FILE_LIST
)
