Example #1
0
void rail_send_client_langbar_info_order(rdpRailOrder* rail_order)
{
	STREAM* s;
	s = rail_pdu_init(RAIL_LANGBAR_INFO_ORDER_LENGTH);
	rail_write_langbar_info_order(s, &rail_order->langbar_info);
	rail_send_pdu(rail_order, s, RAIL_ORDER_TYPE_LANGBAR_INFO);
}
Example #2
0
void rail_send_client_syscommand_order(rdpRailOrder* rail_order)
{
	STREAM* s;
	s = rail_pdu_init(RAIL_SYSCOMMAND_ORDER_LENGTH);
	rail_write_client_syscommand_order(s, &rail_order->syscommand);
	rail_send_pdu(rail_order, s, RAIL_ORDER_TYPE_SYSCOMMAND);
}
Example #3
0
void rail_send_client_sysparam_order(rdpRailOrder* rail_order)
{
	STREAM* s;
	int length;

	length = RAIL_SYSPARAM_ORDER_LENGTH;

	switch (rail_order->sysparam.param)
	{
		case SPI_SET_DRAG_FULL_WINDOWS:
		case SPI_SET_KEYBOARD_CUES:
		case SPI_SET_KEYBOARD_PREF:
		case SPI_SET_MOUSE_BUTTON_SWAP:
			length += 1;
			break;

		case SPI_SET_WORK_AREA:
		case SPI_DISPLAY_CHANGE:
		case SPI_TASKBAR_POS:
			length += 8;
			break;

		case SPI_SET_HIGH_CONTRAST:
			length += rail_order->sysparam.highContrast.colorSchemeLength + 10;
			break;
	}

	s = rail_pdu_init(RAIL_SYSPARAM_ORDER_LENGTH + 8);
	rail_write_client_sysparam_order(s, &rail_order->sysparam);
	rail_send_pdu(rail_order, s, RAIL_ORDER_TYPE_SYSPARAM);
}
Example #4
0
void rail_send_client_activate_order(rdpRailOrder* rail_order)
{
	STREAM* s;
	s = rail_pdu_init(RAIL_ACTIVATE_ORDER_LENGTH);
	rail_write_client_activate_order(s, &rail_order->activate);
	rail_send_pdu(rail_order, s, RAIL_ORDER_TYPE_ACTIVATE);
}
Example #5
0
void rail_send_client_sysmenu_order(rdpRailOrder* rail_order)
{
	STREAM* s;
	s = rail_pdu_init(RAIL_SYSMENU_ORDER_LENGTH);
	rail_write_client_sysmenu_order(s, &rail_order->sysmenu);
	rail_send_pdu(rail_order, s, RAIL_ORDER_TYPE_SYSMENU);
}
Example #6
0
void rail_send_client_window_move_order(rdpRailOrder* rail_order)
{
	STREAM* s;
	s = rail_pdu_init(RAIL_WINDOW_MOVE_ORDER_LENGTH);
	rail_write_client_window_move_order(s, &rail_order->window_move);
	rail_send_pdu(rail_order, s, RAIL_ORDER_TYPE_WINDOW_MOVE);
}
Example #7
0
void rail_send_handshake_order(rdpRailOrder* rail_order)
{
	STREAM* s;
	s = rail_pdu_init(RAIL_HANDSHAKE_ORDER_LENGTH);
	rail_write_handshake_order(s, &rail_order->handshake);
	rail_send_pdu(rail_order, s, RAIL_ORDER_TYPE_HANDSHAKE);
}
Example #8
0
void rail_send_client_status_order(rdpRailOrder* rail_order)
{
	STREAM* s;
	s = rail_pdu_init(RAIL_CLIENT_STATUS_ORDER_LENGTH);
	rail_write_client_status_order(s, &rail_order->client_status);
	rail_send_pdu(rail_order, s, RAIL_ORDER_TYPE_CLIENT_STATUS);
}
Example #9
0
void rail_send_client_sysparam(RailClientContext* context, RAIL_SYSPARAM_ORDER* sysparam)
{
	wStream* s;
	int length;
	railPlugin* rail = (railPlugin*) context->handle;

	length = RAIL_SYSPARAM_ORDER_LENGTH;

	switch (sysparam->param)
	{
		case SPI_SET_DRAG_FULL_WINDOWS:
		case SPI_SET_KEYBOARD_CUES:
		case SPI_SET_KEYBOARD_PREF:
		case SPI_SET_MOUSE_BUTTON_SWAP:
			length += 1;
			break;

		case SPI_SET_WORK_AREA:
		case SPI_DISPLAY_CHANGE:
		case SPI_TASKBAR_POS:
			length += 8;
			break;

		case SPI_SET_HIGH_CONTRAST:
			length += sysparam->highContrast.colorSchemeLength + 10;
			break;
	}

	s = rail_pdu_init(RAIL_SYSPARAM_ORDER_LENGTH + 8);
	rail_write_client_sysparam_order(s, sysparam);
	rail_send_pdu(rail, s, RDP_RAIL_ORDER_SYSPARAM);
	Stream_Free(s, TRUE);
}
Example #10
0
void rail_send_client_get_appid_req_order(rdpRailOrder* rail_order)
{
	STREAM* s;
	s = rail_pdu_init(RAIL_GET_APPID_REQ_ORDER_LENGTH);
	rail_write_client_get_appid_req_order(s, &rail_order->get_appid_req);
	rail_send_pdu(rail_order, s, RAIL_ORDER_TYPE_GET_APPID_REQ);
}
Example #11
0
void rail_send_client_notify_event_order(rdpRailOrder* rail_order)
{
	STREAM* s;
	s = rail_pdu_init(RAIL_NOTIFY_EVENT_ORDER_LENGTH);
	rail_write_client_notify_event_order(s, &rail_order->notify_event);
	rail_send_pdu(rail_order, s, RAIL_ORDER_TYPE_NOTIFY_EVENT);
}
Example #12
0
void rail_send_client_langbar_info_order(railPlugin* rail, RAIL_LANGBAR_INFO_ORDER* langBarInfo)
{
	wStream* s;
	s = rail_pdu_init(RAIL_LANGBAR_INFO_ORDER_LENGTH);
	rail_write_langbar_info_order(s, langBarInfo);
	rail_send_pdu(rail, s, RDP_RAIL_ORDER_LANGBARINFO);
	Stream_Free(s, TRUE);
}
Example #13
0
void rail_send_client_status_order(railPlugin* rail, RAIL_CLIENT_STATUS_ORDER* clientStatus)
{
	wStream* s;
	s = rail_pdu_init(RAIL_CLIENT_STATUS_ORDER_LENGTH);
	rail_write_client_status_order(s, clientStatus);
	rail_send_pdu(rail, s, RDP_RAIL_ORDER_CLIENTSTATUS);
	Stream_Free(s, TRUE);
}
Example #14
0
void rail_send_client_get_appid_req_order(railPlugin* rail, RAIL_GET_APPID_REQ_ORDER* getAppIdReq)
{
	wStream* s;
	s = rail_pdu_init(RAIL_GET_APPID_REQ_ORDER_LENGTH);
	rail_write_client_get_appid_req_order(s, getAppIdReq);
	rail_send_pdu(rail, s, RDP_RAIL_ORDER_GET_APPID_REQ);
	Stream_Free(s, TRUE);
}
Example #15
0
void rail_send_client_window_move_order(railPlugin* rail, RAIL_WINDOW_MOVE_ORDER* windowMove)
{
	wStream* s;
	s = rail_pdu_init(RAIL_WINDOW_MOVE_ORDER_LENGTH);
	rail_write_client_window_move_order(s, windowMove);
	rail_send_pdu(rail, s, RDP_RAIL_ORDER_WINDOWMOVE);
	Stream_Free(s, TRUE);
}
Example #16
0
void rail_send_client_notify_event_order(railPlugin* rail, RAIL_NOTIFY_EVENT_ORDER* notifyEvent)
{
	wStream* s;
	s = rail_pdu_init(RAIL_NOTIFY_EVENT_ORDER_LENGTH);
	rail_write_client_notify_event_order(s, notifyEvent);
	rail_send_pdu(rail, s, RDP_RAIL_ORDER_NOTIFY_EVENT);
	Stream_Free(s, TRUE);
}
Example #17
0
void rail_send_client_syscommand_order(railPlugin* rail, RAIL_SYSCOMMAND_ORDER* syscommand)
{
	wStream* s;
	s = rail_pdu_init(RAIL_SYSCOMMAND_ORDER_LENGTH);
	rail_write_client_syscommand_order(s, syscommand);
	rail_send_pdu(rail, s, RDP_RAIL_ORDER_SYSCOMMAND);
	Stream_Free(s, TRUE);
}
Example #18
0
void rail_send_client_sysmenu_order(railPlugin* rail, RAIL_SYSMENU_ORDER* sysmenu)
{
	wStream* s;
	s = rail_pdu_init(RAIL_SYSMENU_ORDER_LENGTH);
	rail_write_client_sysmenu_order(s, sysmenu);
	rail_send_pdu(rail, s, RDP_RAIL_ORDER_SYSMENU);
	Stream_Free(s, TRUE);
}
Example #19
0
void rail_send_client_activate_order(railPlugin* rail, RAIL_ACTIVATE_ORDER* activate)
{
	wStream* s;
	s = rail_pdu_init(RAIL_ACTIVATE_ORDER_LENGTH);
	rail_write_client_activate_order(s, activate);
	rail_send_pdu(rail, s, RDP_RAIL_ORDER_ACTIVATE);
	Stream_Free(s, TRUE);
}
Example #20
0
void rail_send_handshake_ex_order(railPlugin* rail, RAIL_HANDSHAKE_EX_ORDER* handshakeEx)
{
	wStream* s;
	s = rail_pdu_init(RAIL_HANDSHAKE_EX_ORDER_LENGTH);
	rail_write_handshake_ex_order(s, handshakeEx);
	rail_send_pdu(rail, s, RDP_RAIL_ORDER_HANDSHAKE_EX);
	Stream_Free(s, TRUE);
}
Example #21
0
/**
 * Function description
 *
 * @return 0 on success, otherwise a Win32 error code
 */
static UINT rail_send_client_sysparam(RailClientContext* context,
                                      RAIL_SYSPARAM_ORDER* sysparam)
{
	wStream* s;
	int length;
	railPlugin* rail = (railPlugin*) context->handle;
	UINT error;
	length = RAIL_SYSPARAM_ORDER_LENGTH;

	switch (sysparam->param)
	{
		case SPI_SET_DRAG_FULL_WINDOWS:
		case SPI_SET_KEYBOARD_CUES:
		case SPI_SET_KEYBOARD_PREF:
		case SPI_SET_MOUSE_BUTTON_SWAP:
			length += 1;
			break;

		case SPI_SET_WORK_AREA:
		case SPI_DISPLAY_CHANGE:
		case SPI_TASKBAR_POS:
			length += 8;
			break;

		case SPI_SET_HIGH_CONTRAST:
			length += sysparam->highContrast.colorSchemeLength + 10;
			break;
	}

	s = rail_pdu_init(RAIL_SYSPARAM_ORDER_LENGTH + 8);

	if (!s)
	{
		WLog_ERR(TAG, "rail_pdu_init failed!");
		return CHANNEL_RC_NO_MEMORY;
	}

	if ((error = rail_write_client_sysparam_order(s, sysparam)))
	{
		WLog_ERR(TAG, "rail_write_client_sysparam_order failed with error %"PRIu32"!", error);
		Stream_Free(s, TRUE);
		return error;
	}

	if ((error = rail_send_pdu(rail, s, RDP_RAIL_ORDER_SYSPARAM)))
	{
		WLog_ERR(TAG, "rail_send_pdu failed with error %"PRIu32"!", error);
	}

	Stream_Free(s, TRUE);
	return error;
}
Example #22
0
BOOL rail_send_handshake_ex_order(railPlugin* rail, RAIL_HANDSHAKE_EX_ORDER* handshakeEx)
{
	wStream* s;
	BOOL ret;
	s = rail_pdu_init(RAIL_HANDSHAKE_EX_ORDER_LENGTH);
	if (!s)
		return FALSE;

	rail_write_handshake_ex_order(s, handshakeEx);
	ret = rail_send_pdu(rail, s, RDP_RAIL_ORDER_HANDSHAKE_EX);
	Stream_Free(s, TRUE);
	return ret;
}
Example #23
0
BOOL rail_send_client_langbar_info_order(railPlugin* rail, RAIL_LANGBAR_INFO_ORDER* langBarInfo)
{
	wStream* s;
	BOOL ret;

	s = rail_pdu_init(RAIL_LANGBAR_INFO_ORDER_LENGTH);
	if (!s)
		return FALSE;

	rail_write_langbar_info_order(s, langBarInfo);
	ret = rail_send_pdu(rail, s, RDP_RAIL_ORDER_LANGBARINFO);
	Stream_Free(s, TRUE);
	return ret;
}
Example #24
0
BOOL rail_send_client_window_move_order(railPlugin* rail, RAIL_WINDOW_MOVE_ORDER* windowMove)
{
	wStream* s;
	BOOL ret;

	s = rail_pdu_init(RAIL_WINDOW_MOVE_ORDER_LENGTH);
	if (!s)
		return FALSE;

	rail_write_client_window_move_order(s, windowMove);
	ret = rail_send_pdu(rail, s, RDP_RAIL_ORDER_WINDOWMOVE);
	Stream_Free(s, TRUE);
	return ret;
}
Example #25
0
BOOL rail_send_client_notify_event_order(railPlugin* rail, RAIL_NOTIFY_EVENT_ORDER* notifyEvent)
{
	wStream* s;
	BOOL ret;

	s = rail_pdu_init(RAIL_NOTIFY_EVENT_ORDER_LENGTH);
	if (!s)
		return FALSE;

	rail_write_client_notify_event_order(s, notifyEvent);
	ret = rail_send_pdu(rail, s, RDP_RAIL_ORDER_NOTIFY_EVENT);
	Stream_Free(s, TRUE);
	return ret;
}
Example #26
0
BOOL rail_send_client_syscommand_order(railPlugin* rail, RAIL_SYSCOMMAND_ORDER* syscommand)
{
	wStream* s;
	BOOL ret;

	s = rail_pdu_init(RAIL_SYSCOMMAND_ORDER_LENGTH);
	if (!s)
		return FALSE;

	rail_write_client_syscommand_order(s, syscommand);
	ret = rail_send_pdu(rail, s, RDP_RAIL_ORDER_SYSCOMMAND);
	Stream_Free(s, TRUE);
	return ret;
}
Example #27
0
BOOL rail_send_client_activate_order(railPlugin* rail, RAIL_ACTIVATE_ORDER* activate)
{
	wStream* s;
	BOOL ret;

	s = rail_pdu_init(RAIL_ACTIVATE_ORDER_LENGTH);
	if (!s)
		return FALSE;

	rail_write_client_activate_order(s, activate);
	ret = rail_send_pdu(rail, s, RDP_RAIL_ORDER_ACTIVATE);
	Stream_Free(s, TRUE);
	return ret;
}
Example #28
0
BOOL rail_send_client_status_order(railPlugin* rail, RAIL_CLIENT_STATUS_ORDER* clientStatus)
{
	wStream* s;
	BOOL ret;

	s = rail_pdu_init(RAIL_CLIENT_STATUS_ORDER_LENGTH);
	if (!s)
		return FALSE;

	rail_write_client_status_order(s, clientStatus);
	ret = rail_send_pdu(rail, s, RDP_RAIL_ORDER_CLIENTSTATUS);
	Stream_Free(s, TRUE);
	return ret;
}
Example #29
0
void rail_send_client_exec_order(rdpRailOrder* rail_order)
{
	STREAM* s;
	int length;

	length = RAIL_EXEC_ORDER_LENGTH +
			rail_order->exec.exeOrFile.length +
			rail_order->exec.workingDir.length +
			rail_order->exec.arguments.length;

	s = rail_pdu_init(RAIL_EXEC_ORDER_LENGTH);
	rail_write_client_exec_order(s, &rail_order->exec);
	rail_send_pdu(rail_order, s, RAIL_ORDER_TYPE_EXEC);
}
Example #30
0
void rail_send_client_exec_order(railPlugin* rail, RAIL_EXEC_ORDER* exec)
{
	wStream* s;
	int length;

	length = RAIL_EXEC_ORDER_LENGTH +
			exec->exeOrFile.length +
			exec->workingDir.length +
			exec->arguments.length;

	s = rail_pdu_init(RAIL_EXEC_ORDER_LENGTH);
	rail_write_client_exec_order(s, exec);
	rail_send_pdu(rail, s, RDP_RAIL_ORDER_EXEC);
	Stream_Free(s, TRUE);
}