mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice-gtk
synced 2025-12-26 05:26:12 +00:00
209 lines
4.2 KiB
Vala
209 lines
4.2 KiB
Vala
namespace SpiceProtocol {
|
|
[CCode (cprefix = "Controller", cheader_filename = "spice/controller_prot.h")]
|
|
namespace Controller {
|
|
[CCode (cname = "CONTROLLER_MAGIC")]
|
|
public const uint32 MAGIC;
|
|
[CCode (cname = "CONTROLLER_VERSION")]
|
|
public const int VERSION;
|
|
|
|
[Compact]
|
|
public struct InitHeader {
|
|
uint32 magic;
|
|
uint32 version;
|
|
uint32 size;
|
|
}
|
|
|
|
[Compact]
|
|
public struct Init {
|
|
InitHeader base;
|
|
uint64 credentials;
|
|
uint32 flags;
|
|
}
|
|
|
|
[CCode (cprefix = "CONTROLLER_FLAG_")]
|
|
[Flags]
|
|
public enum Flag {
|
|
EXCLUSIVE,
|
|
}
|
|
|
|
[Compact]
|
|
public struct Msg {
|
|
uint32 id;
|
|
uint32 size;
|
|
}
|
|
|
|
[CCode (cprefix = "CONTROLLER_")]
|
|
public enum MsgId {
|
|
//external app -> spice client
|
|
HOST,
|
|
PORT,
|
|
SPORT,
|
|
PASSWORD,
|
|
|
|
SECURE_CHANNELS,
|
|
DISABLE_CHANNELS,
|
|
|
|
TLS_CIPHERS,
|
|
CA_FILE,
|
|
HOST_SUBJECT,
|
|
|
|
FULL_SCREEN,
|
|
SET_TITLE,
|
|
|
|
CREATE_MENU,
|
|
DELETE_MENU,
|
|
|
|
HOTKEYS,
|
|
SEND_CAD,
|
|
|
|
CONNECT,
|
|
SHOW,
|
|
HIDE,
|
|
|
|
ENABLE_SMARTCARD,
|
|
|
|
ENABLE_USB,
|
|
ENABLE_USB_AUTOSHARE,
|
|
USB_FILTER,
|
|
|
|
//spice client -> external app
|
|
MENU_ITEM_CLICK,
|
|
|
|
COLOR_DEPTH,
|
|
DISABLE_EFFECTS,
|
|
}
|
|
|
|
[CCode (cname = "unsigned int", cprefix = "CONTROLLER_", has_type_id = false)]
|
|
[Flags]
|
|
public enum Display {
|
|
SET_FULL_SCREEN,
|
|
AUTO_DISPLAY_RES,
|
|
}
|
|
|
|
[Compact]
|
|
[CCode (cname = "ControllerValue")]
|
|
public struct MsgValue: Msg {
|
|
Msg base;
|
|
uint32 value;
|
|
}
|
|
|
|
[Compact]
|
|
[CCode (cname = "ControllerData")]
|
|
public struct MsgData {
|
|
Msg base;
|
|
uint8 data[0];
|
|
}
|
|
|
|
[CCode (cname = "CONTROLLER_MENU_ITEM_DELIMITER")]
|
|
public static string MENU_ITEM_DELIMITER;
|
|
[CCode (cname = "CONTROLLER_MENU_PARAM_DELIMITER")]
|
|
public static string MENU_PARAM_DELIMITER;
|
|
|
|
[CCode (cname = "SPICE_MENU_INTERNAL_ID_BASE")]
|
|
public static int MENU_INTERNAL_ID_BASE;
|
|
[CCode (cname = "SPICE_MENU_INTERNAL_ID_SHIFT")]
|
|
public static int MENU_INTERNAL_ID_SHIFT;
|
|
|
|
[CCode (cprefix = "CONTROLLER_MENU_FLAGS_", cname = "unsigned int", has_type_id = false)]
|
|
[Flags]
|
|
public enum MenuFlags {
|
|
SEPARATOR,
|
|
DISABLED,
|
|
POPUP,
|
|
CHECKED,
|
|
GRAYED,
|
|
}
|
|
}
|
|
|
|
[CCode (cprefix = "FrgMenu", cheader_filename = "spice/foreign_menu_prot.h")]
|
|
namespace ForeignMenu {
|
|
[CCode (cname = "FOREIGN_MENU_MAGIC")]
|
|
public const uint32 MAGIC;
|
|
[CCode (cname = "FOREIGN_MENU_VERSION")]
|
|
public const int VERSION;
|
|
|
|
[Compact]
|
|
public struct InitHeader {
|
|
uint32 magic;
|
|
uint32 version;
|
|
uint32 size;
|
|
}
|
|
|
|
[Compact]
|
|
[CCode (has_destroy_function = false)]
|
|
public struct Init {
|
|
InitHeader base;
|
|
uint64 credentials;
|
|
string title; // utf8
|
|
}
|
|
|
|
[Compact]
|
|
public struct Msg {
|
|
uint32 id;
|
|
uint32 size;
|
|
}
|
|
|
|
[CCode (cprefix = "FOREIGN_MENU_", cname = "int")]
|
|
public enum MsgId {
|
|
//external app -> spice client
|
|
SET_TITLE,
|
|
ADD_ITEM,
|
|
MODIFY_ITEM,
|
|
REMOVE_ITEM,
|
|
CLEAR,
|
|
|
|
//spice client -> external app
|
|
ITEM_EVENT,
|
|
APP_ACTIVATED,
|
|
APP_DEACTIVATED,
|
|
}
|
|
|
|
[Compact]
|
|
[CCode (cname = "FrgMenuSetTitle")]
|
|
public struct SetTitle {
|
|
Msg base;
|
|
string string; // utf8
|
|
}
|
|
|
|
[CCode (cprefix = "FOREIGN_MENU_ITEM_TYPE_", cname = "unsigned int", has_type_id = false)]
|
|
[Flags]
|
|
public enum MenuFlags {
|
|
CHECKED,
|
|
DIM,
|
|
SEPARATOR
|
|
}
|
|
|
|
[Compact]
|
|
[CCode (cname = "FrgMenuAddItem")]
|
|
public struct AddItem {
|
|
Msg base;
|
|
uint32 id;
|
|
uint32 type;
|
|
uint32 position;
|
|
string string; // utf8
|
|
}
|
|
|
|
[Compact]
|
|
[CCode (cname = "FrgMenuRmItem")]
|
|
public struct RmItem {
|
|
Msg base;
|
|
uint32 id;
|
|
}
|
|
|
|
[CCode (cprefix = "FOREIGN_MENU_EVENT_", cname = "int")]
|
|
public enum EventType {
|
|
CLICK,
|
|
CHECKED,
|
|
UNCHECKED,
|
|
}
|
|
|
|
[Compact]
|
|
[CCode (cname = "FrgMenuEvent")]
|
|
public struct Event {
|
|
Msg base;
|
|
uint32 id;
|
|
uint32 action;
|
|
}
|
|
}
|
|
}
|