int freerds_server_outbound_write_message(rdsModuleConnector* connector, RDS_MSG_COMMON* msg) { int status; wStream* s; s = connector->OutboundStream; Stream_SetPosition(s, 0); freerds_server_message_write(NULL, msg); Stream_EnsureRemainingCapacity(s, msg->length); freerds_server_message_write(s, msg); status = freerds_named_pipe_write(connector->hClientPipe, Stream_Buffer(s), msg->length); return status; }
int freerds_client_outbound_write_message(rdsBackend* backend, RDS_MSG_COMMON* msg) { int status; wStream* s; s = backend->OutboundStream; Stream_SetPosition(s, 0); freerds_client_message_write(NULL, msg); Stream_EnsureRemainingCapacity(s, msg->length); freerds_client_message_write(s, msg); status = freerds_named_pipe_write(backend->hClientPipe, Stream_Buffer(s), msg->length); return status; }
int freerds_init_client(HANDLE hClientPipe, rdpSettings* settings, wStream* s) { RDS_MSG_CAPABILITIES capabilities; ZeroMemory(&capabilities, sizeof(RDS_MSG_CAPABILITIES)); capabilities.type = RDS_CLIENT_CAPABILITIES; capabilities.Version = 1; capabilities.DesktopWidth = settings->DesktopWidth; capabilities.DesktopHeight = settings->DesktopHeight; capabilities.KeyboardLayout = settings->KeyboardLayout; capabilities.KeyboardType = settings->KeyboardType; capabilities.KeyboardSubType = settings->KeyboardSubType; freerds_write_capabilities(s, &capabilities); return freerds_named_pipe_write(hClientPipe, Stream_Buffer(s), Stream_GetPosition(s)); }
int freerds_client_outbound_vblank_event(rdsModuleConnector* connector) { int length; int status; wStream* s; RDS_MSG_VBLANK_EVENT msg; msg.msgFlags = 0; msg.type = RDS_CLIENT_VBLANK_EVENT; s = connector->OutboundStream; Stream_SetPosition(s, 0); length = freerds_write_vblank_event(NULL, &msg); freerds_write_vblank_event(s, &msg); status = freerds_named_pipe_write(connector->hClientPipe, Stream_Buffer(s), length); return status; }
int freerds_client_outbound_suppress_output(rdsBackend* backend, UINT32 suppress_output) { int length; int status; wStream* s; RDS_MSG_SUPPRESS_OUTPUT msg; msg.msgFlags = 0; msg.type = RDS_CLIENT_SUPPRESS_OUTPUT; msg.activeOutput = suppress_output; s = backend->OutboundStream; Stream_SetPosition(s, 0); length = freerds_write_suppress_output(NULL, &msg); freerds_write_suppress_output(s, &msg); status = freerds_named_pipe_write(backend->hClientPipe, Stream_Buffer(s), length); return status; }
int freerds_client_outbound_synchronize_keyboard_event(rdsModuleConnector* connector, DWORD flags) { int length; int status; wStream* s; RDS_MSG_SYNCHRONIZE_KEYBOARD_EVENT msg; msg.msgFlags = 0; msg.type = RDS_CLIENT_SYNCHRONIZE_KEYBOARD_EVENT; msg.flags = flags; s = connector->OutboundStream; Stream_SetPosition(s, 0); length = freerds_write_synchronize_keyboard_event(NULL, &msg); freerds_write_synchronize_keyboard_event(s, &msg); status = freerds_named_pipe_write(connector->hClientPipe, Stream_Buffer(s), length); return status; }
int freerds_client_outbound_virtual_keyboard_event(rdsModuleConnector* connector, DWORD flags, DWORD code) { int length; int status; wStream* s; RDS_MSG_VIRTUAL_KEYBOARD_EVENT msg; msg.msgFlags = 0; msg.type = RDS_CLIENT_VIRTUAL_KEYBOARD_EVENT; msg.flags = flags; msg.code = code; s = connector->OutboundStream; Stream_SetPosition(s, 0); length = freerds_write_virtual_keyboard_event(NULL, &msg); freerds_write_virtual_keyboard_event(s, &msg); status = freerds_named_pipe_write(connector->hClientPipe, Stream_Buffer(s), length); return status; }
int freerds_client_outbound_unicode_keyboard_event(rdsBackend* backend, DWORD flags, DWORD code) { int length; int status; wStream* s; RDS_MSG_UNICODE_KEYBOARD_EVENT msg; msg.msgFlags = 0; msg.type = RDS_CLIENT_UNICODE_KEYBOARD_EVENT; msg.flags = flags; msg.code = code; s = backend->OutboundStream; Stream_SetPosition(s, 0); length = freerds_write_unicode_keyboard_event(NULL, &msg); freerds_write_unicode_keyboard_event(s, &msg); status = freerds_named_pipe_write(backend->hClientPipe, Stream_Buffer(s), length); return status; }
int freerds_client_outbound_extended_mouse_event(rdsModuleConnector* connector, DWORD flags, DWORD x, DWORD y) { int length; int status; wStream* s; RDS_MSG_EXTENDED_MOUSE_EVENT msg; msg.msgFlags = 0; msg.type = RDS_CLIENT_EXTENDED_MOUSE_EVENT; msg.flags = flags; msg.x = x; msg.y = y; s = connector->OutboundStream; Stream_SetPosition(s, 0); length = freerds_write_extended_mouse_event(NULL, &msg); freerds_write_extended_mouse_event(s, &msg); status = freerds_named_pipe_write(connector->hClientPipe, Stream_Buffer(s), length); return status; }
int freerds_client_outbound_mouse_event(rdsBackend* backend, DWORD flags, DWORD x, DWORD y) { int length; int status; wStream* s; RDS_MSG_MOUSE_EVENT msg; msg.msgFlags = 0; msg.type = RDS_CLIENT_MOUSE_EVENT; msg.flags = flags; msg.x = x; msg.y = y; s = backend->OutboundStream; Stream_SetPosition(s, 0); length = freerds_write_mouse_event(NULL, &msg); freerds_write_mouse_event(s, &msg); status = freerds_named_pipe_write(backend->hClientPipe, Stream_Buffer(s), length); return status; }