Blame include/freerdp/rail.h

Packit 1fb8d4
/**
Packit 1fb8d4
 * FreeRDP: A Remote Desktop Protocol Implementation
Packit 1fb8d4
 * Remote Applications Integrated Locally (RAIL)
Packit 1fb8d4
 *
Packit 1fb8d4
 * Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
Packit 1fb8d4
 * Copyright 2011 Roman Barabanov <romanbarabanov@gmail.com>
Packit 1fb8d4
 *
Packit 1fb8d4
 * Licensed under the Apache License, Version 2.0 (the "License");
Packit 1fb8d4
 * you may not use this file except in compliance with the License.
Packit 1fb8d4
 * You may obtain a copy of the License at
Packit 1fb8d4
 *
Packit 1fb8d4
 *     http://www.apache.org/licenses/LICENSE-2.0
Packit 1fb8d4
 *
Packit 1fb8d4
 * Unless required by applicable law or agreed to in writing, software
Packit 1fb8d4
 * distributed under the License is distributed on an "AS IS" BASIS,
Packit 1fb8d4
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Packit 1fb8d4
 * See the License for the specific language governing permissions and
Packit 1fb8d4
 * limitations under the License.
Packit 1fb8d4
 */
Packit 1fb8d4
Packit 1fb8d4
#ifndef FREERDP_RAIL_GLOBAL_H
Packit 1fb8d4
#define FREERDP_RAIL_GLOBAL_H
Packit 1fb8d4
Packit 1fb8d4
#include <winpr/wnd.h>
Packit 1fb8d4
Packit 1fb8d4
#include <freerdp/types.h>
Packit 1fb8d4
Packit 1fb8d4
/* RAIL PDU flags */
Packit 1fb8d4
#define RAIL_EXEC_FLAG_EXPAND_WORKINGDIRECTORY		0x0001
Packit 1fb8d4
#define RAIL_EXEC_FLAG_TRANSLATE_FILES			0x0002
Packit 1fb8d4
#define RAIL_EXEC_FLAG_FILE				0x0004
Packit 1fb8d4
#define RAIL_EXEC_FLAG_EXPAND_ARGUMENTS			0x0008
Packit 1fb8d4
Packit 1fb8d4
/* Notification Icon Balloon Tooltip */
Packit 1fb8d4
#define NIIF_NONE					0x00000000
Packit 1fb8d4
#define NIIF_INFO					0x00000001
Packit 1fb8d4
#define NIIF_WARNING					0x00000002
Packit 1fb8d4
#define NIIF_ERROR					0x00000003
Packit 1fb8d4
#define NIIF_NOSOUND					0x00000010
Packit 1fb8d4
#define NIIF_LARGE_ICON					0x00000020
Packit 1fb8d4
Packit 1fb8d4
/* Client Execute PDU Flags */
Packit 1fb8d4
#define RAIL_EXEC_FLAG_EXPAND_WORKING_DIRECTORY		0x0001
Packit 1fb8d4
#define RAIL_EXEC_FLAG_TRANSLATE_FILES			0x0002
Packit 1fb8d4
#define RAIL_EXEC_FLAG_FILE				0x0004
Packit 1fb8d4
#define RAIL_EXEC_FLAG_EXPAND_ARGUMENTS			0x0008
Packit 1fb8d4
Packit 1fb8d4
/* Server Execute Result PDU */
Packit 1fb8d4
#define RAIL_EXEC_S_OK					0x0000
Packit 1fb8d4
#define RAIL_EXEC_E_HOOK_NOT_LOADED			0x0001
Packit 1fb8d4
#define RAIL_EXEC_E_DECODE_FAILED			0x0002
Packit 1fb8d4
#define RAIL_EXEC_E_NOT_IN_ALLOWLIST			0x0003
Packit 1fb8d4
#define RAIL_EXEC_E_FILE_NOT_FOUND			0x0005
Packit 1fb8d4
#define RAIL_EXEC_E_FAIL				0x0006
Packit 1fb8d4
#define RAIL_EXEC_E_SESSION_LOCKED			0x0007
Packit 1fb8d4
Packit 1fb8d4
/* Client System Parameters Update PDU */
Packit 1fb8d4
#define SPI_SET_DRAG_FULL_WINDOWS			0x00000025
Packit 1fb8d4
#define SPI_SET_KEYBOARD_CUES				0x0000100B
Packit 1fb8d4
#define SPI_SET_KEYBOARD_PREF				0x00000045
Packit 1fb8d4
#define SPI_SET_MOUSE_BUTTON_SWAP			0x00000021
Packit 1fb8d4
#define SPI_SET_WORK_AREA				0x0000002F
Packit 1fb8d4
#define SPI_DISPLAY_CHANGE				0x0000F001
Packit 1fb8d4
#define SPI_TASKBAR_POS					0x0000F000
Packit 1fb8d4
#define SPI_SET_HIGH_CONTRAST				0x00000043
Packit 1fb8d4
Packit 1fb8d4
/* Server System Parameters Update PDU */
Packit 1fb8d4
#define SPI_SET_SCREEN_SAVE_ACTIVE			0x00000011
Packit 1fb8d4
#define SPI_SET_SCREEN_SAVE_SECURE			0x00000077
Packit 1fb8d4
Packit 1fb8d4
/*Bit mask values for SPI_ parameters*/
Packit 1fb8d4
enum SPI_MASK
Packit 1fb8d4
{
Packit 1fb8d4
	SPI_MASK_SET_DRAG_FULL_WINDOWS		= 0x00000001,
Packit 1fb8d4
	SPI_MASK_SET_KEYBOARD_CUES		= 0x00000002,
Packit 1fb8d4
	SPI_MASK_SET_KEYBOARD_PREF		= 0x00000004,
Packit 1fb8d4
	SPI_MASK_SET_MOUSE_BUTTON_SWAP		= 0x00000008,
Packit 1fb8d4
	SPI_MASK_SET_WORK_AREA			= 0x00000010,
Packit 1fb8d4
	SPI_MASK_DISPLAY_CHANGE			= 0x00000020,
Packit 1fb8d4
	SPI_MASK_TASKBAR_POS			= 0x00000040,
Packit 1fb8d4
	SPI_MASK_SET_HIGH_CONTRAST		= 0x00000080,
Packit 1fb8d4
	SPI_MASK_SET_SCREEN_SAVE_ACTIVE		= 0x00000100,
Packit 1fb8d4
	SPI_MASK_SET_SET_SCREEN_SAVE_SECURE	= 0x00000200
Packit 1fb8d4
};
Packit 1fb8d4
Packit 1fb8d4
/* Client System Command PDU */
Packit 1fb8d4
#define SC_SIZE						0xF000
Packit 1fb8d4
#define SC_MOVE						0xF010
Packit 1fb8d4
#define SC_MINIMIZE					0xF020
Packit 1fb8d4
#define SC_MAXIMIZE					0xF030
Packit 1fb8d4
#define SC_CLOSE					0xF060
Packit 1fb8d4
#define SC_KEYMENU					0xF100
Packit 1fb8d4
#define SC_RESTORE					0xF120
Packit 1fb8d4
#define SC_DEFAULT					0xF160
Packit 1fb8d4
Packit 1fb8d4
/* Client Notify Event PDU */
Packit 1fb8d4
#ifndef _WIN32
Packit 1fb8d4
#define NIN_SELECT					0x00000400
Packit 1fb8d4
#define NIN_KEYSELECT					0x00000401
Packit 1fb8d4
#define NIN_BALLOONSHOW					0x00000402
Packit 1fb8d4
#define NIN_BALLOONHIDE					0x00000403
Packit 1fb8d4
#define NIN_BALLOONTIMEOUT				0x00000404
Packit 1fb8d4
#define NIN_BALLOONUSERCLICK				0x00000405
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
/* Client Information PDU */
Packit 1fb8d4
#define RAIL_CLIENTSTATUS_ALLOWLOCALMOVESIZE		0x00000001
Packit 1fb8d4
#define RAIL_CLIENTSTATUS_AUTORECONNECT			0x00000002
Packit 1fb8d4
Packit 1fb8d4
/* HIGHCONTRAST flags values */
Packit 1fb8d4
#define HCF_AVAILABLE 					0x00000002
Packit 1fb8d4
#define HCF_CONFIRMHOTKEY 				0x00000008
Packit 1fb8d4
#define HCF_HIGHCONTRASTON 				0x00000001
Packit 1fb8d4
#define HCF_HOTKEYACTIVE 				0x00000004
Packit 1fb8d4
#define HCF_HOTKEYAVAILABLE				0x00000040
Packit 1fb8d4
#define HCF_HOTKEYSOUND 				0x00000010
Packit 1fb8d4
#define HCF_INDICATOR 					0x00000020
Packit 1fb8d4
Packit 1fb8d4
/* Server Move/Size Start PDU */
Packit 1fb8d4
#define RAIL_WMSZ_LEFT					0x0001
Packit 1fb8d4
#define RAIL_WMSZ_RIGHT					0x0002
Packit 1fb8d4
#define RAIL_WMSZ_TOP					0x0003
Packit 1fb8d4
#define RAIL_WMSZ_TOPLEFT				0x0004
Packit 1fb8d4
#define RAIL_WMSZ_TOPRIGHT				0x0005
Packit 1fb8d4
#define RAIL_WMSZ_BOTTOM				0x0006
Packit 1fb8d4
#define RAIL_WMSZ_BOTTOMLEFT				0x0007
Packit 1fb8d4
#define RAIL_WMSZ_BOTTOMRIGHT				0x0008
Packit 1fb8d4
#define RAIL_WMSZ_MOVE					0x0009
Packit 1fb8d4
#define RAIL_WMSZ_KEYMOVE				0x000A
Packit 1fb8d4
#define RAIL_WMSZ_KEYSIZE				0x000B
Packit 1fb8d4
Packit 1fb8d4
/* Language Bar Information PDU */
Packit 1fb8d4
#define TF_SFT_SHOWNORMAL				0x00000001
Packit 1fb8d4
#define TF_SFT_DOCK					0x00000002
Packit 1fb8d4
#define TF_SFT_MINIMIZED				0x00000004
Packit 1fb8d4
#define TF_SFT_HIDDEN					0x00000008
Packit 1fb8d4
#define TF_SFT_NOTRANSPARENCY				0x00000010
Packit 1fb8d4
#define TF_SFT_LOWTRANSPARENCY				0x00000020
Packit 1fb8d4
#define TF_SFT_HIGHTRANSPARENCY				0x00000040
Packit 1fb8d4
#define TF_SFT_LABELS					0x00000080
Packit 1fb8d4
#define TF_SFT_NOLABELS					0x00000100
Packit 1fb8d4
#define TF_SFT_EXTRAICONSONMINIMIZED			0x00000200
Packit 1fb8d4
#define TF_SFT_NOEXTRAICONSONMINIMIZED			0x00000400
Packit 1fb8d4
#define TF_SFT_DESKBAND					0x00000800
Packit 1fb8d4
Packit 1fb8d4
/* Extended Handshake Flags */
Packit 1fb8d4
#define RAIL_ORDER_HANDSHAKEEX_FLAGS_HIDEF		0x00000001
Packit 1fb8d4
Packit 1fb8d4
/* Language Profile Information Flags */
Packit 1fb8d4
#define TF_PROFILETYPE_INPUTPROCESSOR			0x00000001
Packit 1fb8d4
#define TF_PROFILETYPE_KEYBOARDLAYOUT			0x00000002
Packit 1fb8d4
Packit 1fb8d4
#define IME_STATE_CLOSED				0x00000000
Packit 1fb8d4
#define IME_STATE_OPEN					0x00000001
Packit 1fb8d4
Packit 1fb8d4
#ifndef _IME_CMODES_
Packit 1fb8d4
#define IME_CMODE_NATIVE				0x00000001
Packit 1fb8d4
#define IME_CMODE_KATAKANA				0x00000002
Packit 1fb8d4
#define IME_CMODE_FULLSHAPE				0x00000008
Packit 1fb8d4
#define IME_CMODE_ROMAN					0x00000010
Packit 1fb8d4
#define IME_CMODE_CHARCODE				0x00000020
Packit 1fb8d4
#define IME_CMODE_HANJACONVERT				0x00000040
Packit 1fb8d4
#define IME_CMODE_SOFTKBD				0x00000080
Packit 1fb8d4
#define IME_CMODE_NOCONVERSION				0x00000100
Packit 1fb8d4
#define IME_CMODE_EUDC					0x00000200
Packit 1fb8d4
#define IME_CMODE_SYMBOL				0x00000400
Packit 1fb8d4
#define IME_CMODE_FIXED					0x00000800
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
#ifndef _IMM_
Packit 1fb8d4
#define IME_SMODE_NONE					0x00000000
Packit 1fb8d4
#define IME_SMODE_PLURALCASE				0x00000001
Packit 1fb8d4
#define IME_SMODE_SINGLECONVERT				0x00000002
Packit 1fb8d4
#define IME_SMODE_AUTOMATIC				0x00000004
Packit 1fb8d4
#define IME_SMODE_PHRASEPREDICT				0x00000008
Packit 1fb8d4
#define IME_SMODE_CONVERSATION				0x00000010
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
#define KANA_MODE_OFF					0x00000000
Packit 1fb8d4
#define KANA_MODE_ON					0x00000001
Packit 1fb8d4
Packit 1fb8d4
struct _RAIL_UNICODE_STRING
Packit 1fb8d4
{
Packit 1fb8d4
	UINT16 length;
Packit 1fb8d4
	BYTE* string;
Packit 1fb8d4
};
Packit 1fb8d4
typedef struct _RAIL_UNICODE_STRING RAIL_UNICODE_STRING;
Packit 1fb8d4
Packit 1fb8d4
struct _RAIL_HIGH_CONTRAST
Packit 1fb8d4
{
Packit 1fb8d4
	UINT32 flags;
Packit 1fb8d4
	UINT32 colorSchemeLength;
Packit 1fb8d4
	RAIL_UNICODE_STRING colorScheme;
Packit 1fb8d4
};
Packit 1fb8d4
typedef struct _RAIL_HIGH_CONTRAST RAIL_HIGH_CONTRAST;
Packit 1fb8d4
Packit 1fb8d4
/* RAIL Orders */
Packit 1fb8d4
Packit 1fb8d4
struct _RAIL_HANDSHAKE_ORDER
Packit 1fb8d4
{
Packit 1fb8d4
	UINT32 buildNumber;
Packit 1fb8d4
};
Packit 1fb8d4
typedef struct _RAIL_HANDSHAKE_ORDER RAIL_HANDSHAKE_ORDER;
Packit 1fb8d4
Packit 1fb8d4
struct _RAIL_HANDSHAKE_EX_ORDER
Packit 1fb8d4
{
Packit 1fb8d4
	UINT32 buildNumber;
Packit 1fb8d4
	UINT32 railHandshakeFlags;
Packit 1fb8d4
};
Packit 1fb8d4
typedef struct _RAIL_HANDSHAKE_EX_ORDER RAIL_HANDSHAKE_EX_ORDER;
Packit 1fb8d4
Packit 1fb8d4
struct _RAIL_CLIENT_STATUS_ORDER
Packit 1fb8d4
{
Packit 1fb8d4
	UINT32 flags;
Packit 1fb8d4
};
Packit 1fb8d4
typedef struct _RAIL_CLIENT_STATUS_ORDER RAIL_CLIENT_STATUS_ORDER;
Packit 1fb8d4
Packit 1fb8d4
struct _RAIL_EXEC_ORDER
Packit 1fb8d4
{
Packit 1fb8d4
	UINT16 flags;
Packit 1fb8d4
	char* RemoteApplicationProgram;
Packit 1fb8d4
	char* RemoteApplicationWorkingDir;
Packit 1fb8d4
	char* RemoteApplicationArguments;
Packit 1fb8d4
};
Packit 1fb8d4
typedef struct _RAIL_EXEC_ORDER RAIL_EXEC_ORDER;
Packit 1fb8d4
Packit 1fb8d4
struct _RAIL_EXEC_RESULT_ORDER
Packit 1fb8d4
{
Packit 1fb8d4
	UINT16 flags;
Packit 1fb8d4
	UINT16 execResult;
Packit 1fb8d4
	UINT32 rawResult;
Packit 1fb8d4
	RAIL_UNICODE_STRING exeOrFile;
Packit 1fb8d4
};
Packit 1fb8d4
typedef struct _RAIL_EXEC_RESULT_ORDER RAIL_EXEC_RESULT_ORDER;
Packit 1fb8d4
Packit 1fb8d4
struct _RAIL_SYSPARAM_ORDER
Packit 1fb8d4
{
Packit 1fb8d4
	UINT32 param;
Packit 1fb8d4
	UINT32 params;
Packit 1fb8d4
	BOOL dragFullWindows;
Packit 1fb8d4
	BOOL keyboardCues;
Packit 1fb8d4
	BOOL keyboardPref;
Packit 1fb8d4
	BOOL mouseButtonSwap;
Packit 1fb8d4
	RECTANGLE_16 workArea;
Packit 1fb8d4
	RECTANGLE_16 displayChange;
Packit 1fb8d4
	RECTANGLE_16 taskbarPos;
Packit 1fb8d4
	RAIL_HIGH_CONTRAST highContrast;
Packit 1fb8d4
	BOOL setScreenSaveActive;
Packit 1fb8d4
	BOOL setScreenSaveSecure;
Packit 1fb8d4
};
Packit 1fb8d4
typedef struct _RAIL_SYSPARAM_ORDER RAIL_SYSPARAM_ORDER;
Packit 1fb8d4
Packit 1fb8d4
struct _RAIL_ACTIVATE_ORDER
Packit 1fb8d4
{
Packit 1fb8d4
	UINT32 windowId;
Packit 1fb8d4
	BOOL enabled;
Packit 1fb8d4
};
Packit 1fb8d4
typedef struct _RAIL_ACTIVATE_ORDER RAIL_ACTIVATE_ORDER;
Packit 1fb8d4
Packit 1fb8d4
struct _RAIL_SYSMENU_ORDER
Packit 1fb8d4
{
Packit 1fb8d4
	UINT32 windowId;
Packit 1fb8d4
	UINT16 left;
Packit 1fb8d4
	UINT16 top;
Packit 1fb8d4
};
Packit 1fb8d4
typedef struct _RAIL_SYSMENU_ORDER RAIL_SYSMENU_ORDER;
Packit 1fb8d4
Packit 1fb8d4
struct _RAIL_SYSCOMMAND_ORDER
Packit 1fb8d4
{
Packit 1fb8d4
	UINT32 windowId;
Packit 1fb8d4
	UINT16 command;
Packit 1fb8d4
};
Packit 1fb8d4
typedef struct _RAIL_SYSCOMMAND_ORDER RAIL_SYSCOMMAND_ORDER;
Packit 1fb8d4
Packit 1fb8d4
struct _RAIL_NOTIFY_EVENT_ORDER
Packit 1fb8d4
{
Packit 1fb8d4
	UINT32 windowId;
Packit 1fb8d4
	UINT32 notifyIconId;
Packit 1fb8d4
	UINT32 message;
Packit 1fb8d4
};
Packit 1fb8d4
typedef struct _RAIL_NOTIFY_EVENT_ORDER RAIL_NOTIFY_EVENT_ORDER;
Packit 1fb8d4
Packit 1fb8d4
struct _RAIL_MINMAXINFO_ORDER
Packit 1fb8d4
{
Packit 1fb8d4
	UINT32 windowId;
Packit 1fb8d4
	UINT16 maxWidth;
Packit 1fb8d4
	UINT16 maxHeight;
Packit 1fb8d4
	UINT16 maxPosX;
Packit 1fb8d4
	UINT16 maxPosY;
Packit 1fb8d4
	UINT16 minTrackWidth;
Packit 1fb8d4
	UINT16 minTrackHeight;
Packit 1fb8d4
	UINT16 maxTrackWidth;
Packit 1fb8d4
	UINT16 maxTrackHeight;
Packit 1fb8d4
};
Packit 1fb8d4
typedef struct _RAIL_MINMAXINFO_ORDER RAIL_MINMAXINFO_ORDER;
Packit 1fb8d4
Packit 1fb8d4
struct _RAIL_LOCALMOVESIZE_ORDER
Packit 1fb8d4
{
Packit 1fb8d4
	UINT32 windowId;
Packit 1fb8d4
	BOOL isMoveSizeStart;
Packit 1fb8d4
	UINT16 moveSizeType;
Packit 1fb8d4
	UINT16 posX;
Packit 1fb8d4
	UINT16 posY;
Packit 1fb8d4
};
Packit 1fb8d4
typedef struct _RAIL_LOCALMOVESIZE_ORDER RAIL_LOCALMOVESIZE_ORDER;
Packit 1fb8d4
Packit 1fb8d4
struct _RAIL_WINDOWMOVE_ORDER
Packit 1fb8d4
{
Packit 1fb8d4
	UINT32 windowId;
Packit 1fb8d4
	UINT16 left;
Packit 1fb8d4
	UINT16 top;
Packit 1fb8d4
	UINT16 right;
Packit 1fb8d4
	UINT16 bottom;
Packit 1fb8d4
};
Packit 1fb8d4
typedef struct _RAIL_WINDOWMOVE_ORDER RAIL_WINDOW_MOVE_ORDER;
Packit 1fb8d4
Packit 1fb8d4
struct _RAIL_GET_APPID_REQ_ORDER
Packit 1fb8d4
{
Packit 1fb8d4
	UINT32 windowId;
Packit 1fb8d4
};
Packit 1fb8d4
typedef struct _RAIL_GET_APPID_REQ_ORDER RAIL_GET_APPID_REQ_ORDER;
Packit 1fb8d4
Packit 1fb8d4
struct _RAIL_GET_APPID_RESP_ORDER
Packit 1fb8d4
{
Packit 1fb8d4
	UINT32 windowId;
Packit 1fb8d4
	WCHAR applicationId[256];
Packit 1fb8d4
};
Packit 1fb8d4
typedef struct _RAIL_GET_APPID_RESP_ORDER RAIL_GET_APPID_RESP_ORDER;
Packit 1fb8d4
Packit 1fb8d4
struct _RAIL_LANGBAR_INFO_ORDER
Packit 1fb8d4
{
Packit 1fb8d4
	UINT32 languageBarStatus;
Packit 1fb8d4
};
Packit 1fb8d4
typedef struct _RAIL_LANGBAR_INFO_ORDER RAIL_LANGBAR_INFO_ORDER;
Packit 1fb8d4
Packit 1fb8d4
struct _RAIL_LANGUAGE_IME_INFO_ORDER
Packit 1fb8d4
{
Packit 1fb8d4
	UINT32 ProfileType;
Packit 1fb8d4
	UINT32 LanguageId;
Packit 1fb8d4
	GUID LanguageProfileClsId;
Packit 1fb8d4
	GUID ProfileGuid;
Packit 1fb8d4
};
Packit 1fb8d4
typedef struct _RAIL_LANGUAGE_IME_INFO_ORDER RAIL_LANGUAGE_IME_INFO_ORDER;
Packit 1fb8d4
Packit 1fb8d4
struct _RAIL_COMPARTMENT_INFO_ORDER
Packit 1fb8d4
{
Packit 1fb8d4
	UINT32 ImeState;
Packit 1fb8d4
	UINT32 ImeConvMode;
Packit 1fb8d4
	UINT32 ImeSentenceMode;
Packit 1fb8d4
	UINT32 KanaMode;
Packit 1fb8d4
};
Packit 1fb8d4
typedef struct _RAIL_COMPARTMENT_INFO_ORDER RAIL_COMPARTMENT_INFO_ORDER;
Packit 1fb8d4
Packit 1fb8d4
/* RAIL Constants */
Packit 1fb8d4
Packit 1fb8d4
#define RDP_RAIL_ORDER_EXEC		0x0001
Packit 1fb8d4
#define RDP_RAIL_ORDER_ACTIVATE		0x0002
Packit 1fb8d4
#define RDP_RAIL_ORDER_SYSPARAM		0x0003
Packit 1fb8d4
#define RDP_RAIL_ORDER_SYSCOMMAND	0x0004
Packit 1fb8d4
#define RDP_RAIL_ORDER_HANDSHAKE	0x0005
Packit 1fb8d4
#define RDP_RAIL_ORDER_NOTIFY_EVENT	0x0006
Packit 1fb8d4
#define RDP_RAIL_ORDER_WINDOWMOVE	0x0008
Packit 1fb8d4
#define RDP_RAIL_ORDER_LOCALMOVESIZE	0x0009
Packit 1fb8d4
#define RDP_RAIL_ORDER_MINMAXINFO	0x000A
Packit 1fb8d4
#define RDP_RAIL_ORDER_CLIENTSTATUS	0x000B
Packit 1fb8d4
#define RDP_RAIL_ORDER_SYSMENU		0x000C
Packit 1fb8d4
#define RDP_RAIL_ORDER_LANGBARINFO	0x000D
Packit 1fb8d4
#define RDP_RAIL_ORDER_EXEC_RESULT	0x0080
Packit 1fb8d4
#define RDP_RAIL_ORDER_GET_APPID_REQ	0x000E
Packit 1fb8d4
#define RDP_RAIL_ORDER_GET_APPID_RESP	0x000F
Packit 1fb8d4
#define RDP_RAIL_ORDER_LANGUAGEIMEINFO	0x0011
Packit 1fb8d4
#define RDP_RAIL_ORDER_COMPARTMENTINFO	0x0012
Packit 1fb8d4
#define RDP_RAIL_ORDER_HANDSHAKE_EX	0x0013
Packit 1fb8d4
Packit 1fb8d4
Packit 1fb8d4
#ifdef __cplusplus
Packit 1fb8d4
extern "C" {
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
FREERDP_API BOOL rail_read_unicode_string(wStream* s, RAIL_UNICODE_STRING* unicode_string);
Packit 1fb8d4
Packit 1fb8d4
#ifdef __cplusplus
Packit 1fb8d4
}
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
Packit 1fb8d4
#endif /* FREERDP_RAIL_GLOBAL_H */