use of streamer.PipelineImpl in project cloudstack by apache.
the class ClientMCSErectDomainRequest method main.
/**
* Example.
* @see http://msdn.microsoft.com/en-us/library/cc240837.aspx
*/
public static void main(String[] args) {
// System.setProperty("streamer.Link.debug", "true");
System.setProperty("streamer.Element.debug", "true");
// System.setProperty("streamer.Pipeline.debug", "true");
/* @formatter:off */
byte[] packet = new byte[] { // TPKT Header (length = 12 bytes)
0x03, // TPKT Header (length = 12 bytes)
0x00, // TPKT Header (length = 12 bytes)
0x00, // TPKT Header (length = 12 bytes)
0x0c, // X.224 Data TPDU
0x02, // X.224 Data TPDU
(byte) 0xf0, // X.224 Data TPDU
(byte) 0x80, // PER encoded (ALIGNED variant of BASIC-PER) PDU contents:
0x04, 0x01, 0x00, 0x01, 0x00 };
/* @formatter:on */
MockSource source = new MockSource("source", ByteBuffer.convertByteArraysToByteBuffers(new byte[] { 1, 2, 3 }));
Element todo = new ClientMCSErectDomainRequest("TODO");
Element x224 = new ClientX224DataPDU("x224");
Element tpkt = new ClientTpkt("tpkt");
Element sink = new MockSink("sink", ByteBuffer.convertByteArraysToByteBuffers(packet));
Element mainSink = new MockSink("mainSink", ByteBuffer.convertByteArraysToByteBuffers(new byte[] { 1, 2, 3 }));
Pipeline pipeline = new PipelineImpl("test");
pipeline.add(source, todo, x224, tpkt, sink, mainSink);
pipeline.link("source", "TODO", "mainSink");
pipeline.link("TODO >" + OTOUT, "x224", "tpkt", "sink");
pipeline.runMainLoop("source", STDOUT, false, false);
}
use of streamer.PipelineImpl in project cloudstack by apache.
the class ClientSynchronizePDU method main.
/**
* Example.
*
* @see http://msdn.microsoft.com/en-us/library/cc240841.aspx
*/
public static void main(String[] args) {
// System.setProperty("streamer.Link.debug", "true");
System.setProperty("streamer.Element.debug", "true");
// System.setProperty("streamer.Pipeline.debug", "true");
/* @formatter:off */
byte[] packet = new byte[] { // TPKT
(byte) 0x03, (byte) 0x00, // TPKT length: 37 bytes
(byte) 0x00, (byte) 0x25, // X224 Data PDU
(byte) 0x02, (byte) 0xf0, (byte) 0x80, // MCS send data request
(byte) 0x64, // Initiator: 1004 (1001+3)
(byte) 0x00, (byte) 0x03, // Channel ID: 1003 (I/O Channel)
(byte) 0x03, (byte) 0xeb, // Data priority: high (0x40), segmentation: begin (0x20) | end (0x10)
(byte) 0x70, // Data length: 22 bytes (0x16, variable length field)
(byte) 0x80, (byte) 0x16, // RDP: total length: 22 bytes (LE)
(byte) 0x16, (byte) 0x00, // PDU type: PDUTYPE_DATAPDU (0x7), TS_PROTOCOL_VERSION (0x10) (LE)
(byte) 0x17, (byte) 0x00, // PDU source: 1007 (LE)
(byte) 0xec, (byte) 0x03, // Share ID: 0x000103ea (LE)
(byte) 0xea, (byte) 0x03, (byte) 0x01, (byte) 0x00, // Padding: 1 byte
(byte) 0x00, // Stream ID: STREAM_LOW (1)
(byte) 0x01, // uncompressedLength : 8 bytes (LE)
(byte) 0x08, (byte) 0x00, // pduType2 = PDUTYPE2_SYNCHRONIZE (31)
(byte) 0x1f, // generalCompressedType: 0
(byte) 0x00, // generalCompressedLength: 0 (LE?)
(byte) 0x00, (byte) 0x00, // messageType: SYNCMSGTYPE_SYNC (1) (LE)
(byte) 0x01, (byte) 0x00, // targetUser: 0x03ea
(byte) 0xea, (byte) 0x03 };
/* @formatter:on */
MockSource source = new MockSource("source", ByteBuffer.convertByteArraysToByteBuffers(new byte[] { 1, 2, 3 }));
Element todo = new ClientSynchronizePDU("TODO");
Element x224 = new ClientX224DataPDU("x224");
Element tpkt = new ClientTpkt("tpkt");
Element sink = new MockSink("sink", ByteBuffer.convertByteArraysToByteBuffers(packet));
Element mainSink = new MockSink("mainSink", ByteBuffer.convertByteArraysToByteBuffers(new byte[] { 1, 2, 3 }));
Pipeline pipeline = new PipelineImpl("test");
pipeline.add(source, todo, x224, tpkt, sink, mainSink);
pipeline.link("source", "TODO", "mainSink");
pipeline.link("TODO >" + OTOUT, "x224", "tpkt", "sink");
pipeline.runMainLoop("source", STDOUT, false, false);
}
use of streamer.PipelineImpl in project cloudstack by apache.
the class ClientInfoPDU method main.
/**
* Example.
*/
public static void main(String[] args) {
// System.setProperty("streamer.Link.debug", "true");
System.setProperty("streamer.Element.debug", "true");
// System.setProperty("streamer.Pipeline.debug", "true");
/* @formatter:off */
byte[] packet = new byte[] { // TPKT
(byte) 0x03, (byte) 0x00, // TPKT length: 343 bytes
(byte) 0x01, (byte) 0x57, // X224 Data PDU
(byte) 0x02, (byte) 0xf0, (byte) 0x80, // MCS Send Data Request PDU
(byte) 0x64, // Initiator: 0x03 + 1001 = 1004
(byte) 0x00, (byte) 0x03, // Channel ID: 1003 (IO Channel)
(byte) 0x03, (byte) 0xeb, // Data priority: high, segmentation: begin | end (0x40 | 0x20 | 0x10 = 0x70)
(byte) 0x70, // User data length: 328 (0x148) bytes, variable length field
(byte) 0x81, (byte) 0x48, // Flags: SEC_INFO_PKT (0x4000)
(byte) 0x40, (byte) 0x00, // TS_SECURITY_HEADER::flagsHi - ignored
(byte) 0x00, (byte) 0x00, // Codepage: 0 (UNKNOWN, LE) (use 0x04090409 (1033,1033) for EN_US)
(byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, // INFO_MOUSE_HAS_WHEEL (0x00020000), INFO_NOAUDIOPLAYBACK (0x00080000),
(byte) 0x73, (byte) 0x01, (byte) 0x0a, (byte) 0x00, // cbDomain length: 0 bytes (LE) (NOT including size of mandatory NULL terminator)
(byte) 0x00, (byte) 0x00, // cbUserName length: 16 bytes (0x10, LE) (NOT including size of mandatory NULL terminator)
(byte) 0x10, (byte) 0x00, // cbPassword length: 0 bytes (LE) (NOT including size of mandatory NULL terminator)
(byte) 0x00, (byte) 0x00, // cbAlternateShell: 0 bytes (LE) (NOT including size of mandatory NULL terminator)
(byte) 0x00, (byte) 0x00, // cbWorkingDir: 0 bytes (LE) (NOT including size of mandatory NULL terminator)
(byte) 0x00, (byte) 0x00, // Domain: "" (UCS2), see cbDomain
(byte) 0x00, (byte) 0x00, // User name: "vlisivka" (UCS2), see cbUserName
(byte) 0x76, (byte) 0x00, (byte) 0x6c, (byte) 0x00, (byte) 0x69, (byte) 0x00, (byte) 0x73, (byte) 0x00, (byte) 0x69, (byte) 0x00, (byte) 0x76, (byte) 0x00, (byte) 0x6b, (byte) 0x00, (byte) 0x61, (byte) 0x00, (byte) 0x00, (byte) 0x00, // Password: "" (UCS2), see cbPassword
(byte) 0x00, (byte) 0x00, // Alternate shell: "" (UCS2), see cbAlternateShell
(byte) 0x00, (byte) 0x00, // Working directory: "" (UCS2), see cbWorkingDir
(byte) 0x00, (byte) 0x00, // Client address family: 2 (AF_INET, LE)
(byte) 0x02, (byte) 0x00, // cbClientAddress = 28 bytes (0x1c, LE) (including the size of the mandatory NULL terminator)
(byte) 0x1c, (byte) 0x00, // Client address: "192.168.0.100" (UCS2)
(byte) 0x31, (byte) 0x00, (byte) 0x39, (byte) 0x00, (byte) 0x32, (byte) 0x00, (byte) 0x2e, (byte) 0x00, (byte) 0x31, (byte) 0x00, (byte) 0x36, (byte) 0x00, (byte) 0x38, (byte) 0x00, (byte) 0x2e, (byte) 0x00, (byte) 0x30, (byte) 0x00, (byte) 0x2e, (byte) 0x00, (byte) 0x31, (byte) 0x00, (byte) 0x30, (byte) 0x00, (byte) 0x30, (byte) 0x00, (byte) 0x00, (byte) 0x00, // cbClientDir: 64 bytes (0x40, LE) (including the size of the mandatory NULL terminator)
(byte) 0x40, (byte) 0x00, // Client directory: "C:\Windows\System32\mstscax.dll" (UCS2)
(byte) 0x43, (byte) 0x00, (byte) 0x3a, (byte) 0x00, (byte) 0x5c, (byte) 0x00, (byte) 0x57, (byte) 0x00, (byte) 0x69, (byte) 0x00, (byte) 0x6e, (byte) 0x00, (byte) 0x64, (byte) 0x00, (byte) 0x6f, (byte) 0x00, (byte) 0x77, (byte) 0x00, (byte) 0x73, (byte) 0x00, (byte) 0x5c, (byte) 0x00, (byte) 0x53, (byte) 0x00, (byte) 0x79, (byte) 0x00, (byte) 0x73, (byte) 0x00, (byte) 0x74, (byte) 0x00, (byte) 0x65, (byte) 0x00, (byte) 0x6d, (byte) 0x00, (byte) 0x33, (byte) 0x00, (byte) 0x32, (byte) 0x00, (byte) 0x5c, (byte) 0x00, (byte) 0x6d, (byte) 0x00, (byte) 0x73, (byte) 0x00, (byte) 0x74, (byte) 0x00, (byte) 0x73, (byte) 0x00, (byte) 0x63, (byte) 0x00, (byte) 0x61, (byte) 0x00, (byte) 0x78, (byte) 0x00, (byte) 0x2e, (byte) 0x00, (byte) 0x64, (byte) 0x00, (byte) 0x6c, (byte) 0x00, (byte) 0x6c, (byte) 0x00, (byte) 0x00, (byte) 0x00, // Bias: 0 minutes (LE)
(byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, // Standard name: "EET, Standard Time" (fixed string: 64 bytes, UCS2)
(byte) 0x45, (byte) 0x00, (byte) 0x45, (byte) 0x00, (byte) 0x54, (byte) 0x00, (byte) 0x2c, (byte) 0x00, (byte) 0x20, (byte) 0x00, (byte) 0x53, (byte) 0x00, (byte) 0x74, (byte) 0x00, (byte) 0x61, (byte) 0x00, (byte) 0x6e, (byte) 0x00, (byte) 0x64, (byte) 0x00, (byte) 0x61, (byte) 0x00, (byte) 0x72, (byte) 0x00, (byte) 0x64, (byte) 0x00, (byte) 0x20, (byte) 0x00, (byte) 0x54, (byte) 0x00, (byte) 0x69, (byte) 0x00, (byte) 0x6d, (byte) 0x00, (byte) 0x65, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, // wYear: 0 (LE)
(byte) 0x00, (byte) 0x00, // wMonth: unknown (LE)
(byte) 0x00, (byte) 0x00, // wDayOfWeek: Sunday (LE)
(byte) 0x00, (byte) 0x00, // wDay: unknown (LE)
(byte) 0x00, (byte) 0x00, // wHour: 0 (LE)
(byte) 0x00, (byte) 0x00, // wMinute: 0 (LE)
(byte) 0x00, (byte) 0x00, // wSecond: 0 (LE)
(byte) 0x00, (byte) 0x00, // wMilliseconds: 0
(byte) 0x00, (byte) 0x00, // StandardBias: 0 minutes (LE)
(byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, // Daylight name: "EET, Summer Time" (fixed string: 64 bytes, UCS2)
(byte) 0x45, (byte) 0x00, (byte) 0x45, (byte) 0x00, (byte) 0x54, (byte) 0x00, (byte) 0x2c, (byte) 0x00, (byte) 0x20, (byte) 0x00, (byte) 0x53, (byte) 0x00, (byte) 0x75, (byte) 0x00, (byte) 0x6d, (byte) 0x00, (byte) 0x6d, (byte) 0x00, (byte) 0x65, (byte) 0x00, (byte) 0x72, (byte) 0x00, (byte) 0x20, (byte) 0x00, (byte) 0x54, (byte) 0x00, (byte) 0x69, (byte) 0x00, (byte) 0x6d, (byte) 0x00, (byte) 0x65, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, // wYear: 0 (LE)
(byte) 0x00, (byte) 0x00, // wMonth: unknown (LE)
(byte) 0x00, (byte) 0x00, // wDayOfWeek: Sunday (LE)
(byte) 0x00, (byte) 0x00, // wDay: unknown (LE)
(byte) 0x00, (byte) 0x00, // wHour: 0 (LE)
(byte) 0x00, (byte) 0x00, // wMinute: 0 (LE)
(byte) 0x00, (byte) 0x00, // wSecond: 0 (LE)
(byte) 0x00, (byte) 0x00, // wMilliseconds: 0
(byte) 0x00, (byte) 0x00, // Daylight bias: 60 minutes (LE)
(byte) 0x3c, (byte) 0x00, (byte) 0x00, (byte) 0x00, // Client session ID: 0x00000000 (LE)
(byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, // Performance flags: 0x7 (LE) = PERF_DISABLE_WALLPAPER (0x1), PERF_DISABLE_FULLWINDOWDRAG (0x2), PERF_DISABLE_MENUANIMATIONS (0x4)
(byte) 0x07, (byte) 0x00, (byte) 0x00, (byte) 0x00, // cbAutoReconnectCookie: 0 bytes (LE)
(byte) 0x00, (byte) 0x00 };
/* @formatter:on */
MockSource source = new MockSource("source", ByteBuffer.convertByteArraysToByteBuffers(new byte[] { 1, 2, 3 }));
Element client_info = new ClientInfoPDU("client_info", "vlisivka");
Element x224 = new ClientX224DataPDU("x224");
Element tpkt = new ClientTpkt("tpkt");
Element sink = new MockSink("sink", ByteBuffer.convertByteArraysToByteBuffers(packet));
Element mainSink = new MockSink("mainSink", ByteBuffer.convertByteArraysToByteBuffers(new byte[] { 1, 2, 3 }));
Pipeline pipeline = new PipelineImpl("test");
pipeline.add(source, client_info, x224, tpkt, sink, mainSink);
pipeline.link("source", "client_info", "mainSink");
pipeline.link("client_info >" + OTOUT, "x224", "tpkt", "sink");
pipeline.runMainLoop("source", STDOUT, false, false);
}
use of streamer.PipelineImpl in project cloudstack by apache.
the class ServerDemandActivePDU method main.
/**
* Example.
*
*/
public static void main(String[] args) {
// System.setProperty("streamer.Link.debug", "true");
System.setProperty("streamer.Element.debug", "true");
// System.setProperty("streamer.Pipeline.debug", "true");
/* @formatter:off */
byte[] packet = new byte[] { // TS_SHARECONTROLHEADER::totalLength = 0x0167 = 359 bytes
0x67, // TS_SHARECONTROLHEADER::totalLength = 0x0167 = 359 bytes
0x01, // TS_SHARECONTROLHEADER::pduType = 0x0011 0x0011 = 0x0010 | 0x0001 = TS_PROTOCOL_VERSION | PDUTYPE_DEMANDACTIVEPDU
0x11, // TS_SHARECONTROLHEADER::pduType = 0x0011 0x0011 = 0x0010 | 0x0001 = TS_PROTOCOL_VERSION | PDUTYPE_DEMANDACTIVEPDU
0x00, // TS_SHARECONTROLHEADER::pduSource = 0x03ea (1002)
(byte) 0xea, // TS_SHARECONTROLHEADER::pduSource = 0x03ea (1002)
0x03, // TS_DEMAND_ACTIVE_PDU::shareId
(byte) 0xea, // TS_DEMAND_ACTIVE_PDU::shareId
0x03, // TS_DEMAND_ACTIVE_PDU::shareId
0x01, // TS_DEMAND_ACTIVE_PDU::shareId
0x00, // TS_DEMAND_ACTIVE_PDU::lengthSourceDescriptor = 4 bytes
0x04, // TS_DEMAND_ACTIVE_PDU::lengthSourceDescriptor = 4 bytes
0x00, // TS_DEMAND_ACTIVE_PDU::lengthCombinedCapabilities = 0x151 = 337 bytes
0x51, // TS_DEMAND_ACTIVE_PDU::lengthCombinedCapabilities = 0x151 = 337 bytes
0x01, // TS_DEMAND_ACTIVE_PDU::sourceDescriptor = "RDP"
0x52, // TS_DEMAND_ACTIVE_PDU::sourceDescriptor = "RDP"
0x44, // TS_DEMAND_ACTIVE_PDU::sourceDescriptor = "RDP"
0x50, // TS_DEMAND_ACTIVE_PDU::sourceDescriptor = "RDP"
0x00, // TS_DEMAND_ACTIVE_PDU::numberCapabilities = 13
0x0d, // TS_DEMAND_ACTIVE_PDU::numberCapabilities = 13
0x00, // TS_DEMAND_ACTIVE_PDU::pad2octets
0x00, // TS_DEMAND_ACTIVE_PDU::pad2octets
0x00, // TS_SHARE_CAPABILITYSET::capabilitySetType = CAPSTYPE_SHARE (9)
0x09, // TS_SHARE_CAPABILITYSET::capabilitySetType = CAPSTYPE_SHARE (9)
0x00, // TS_SHARE_CAPABILITYSET::lengthCapability = 8 bytes
0x08, // TS_SHARE_CAPABILITYSET::lengthCapability = 8 bytes
0x00, // TS_SHARE_CAPABILITYSET::nodeID = 0x03ea (1002)
(byte) 0xea, // TS_SHARE_CAPABILITYSET::nodeID = 0x03ea (1002)
0x03, // TS_SHARE_CAPABILITYSET::pad2octets
(byte) 0xdc, // TS_SHARE_CAPABILITYSET::pad2octets
(byte) 0xe2, // TS_GENERAL_CAPABILITYSET::capabilitySetType = CAPSTYPE_GENERAL (1)
0x01, // TS_GENERAL_CAPABILITYSET::capabilitySetType = CAPSTYPE_GENERAL (1)
0x00, // TS_GENERAL_CAPABILITYSET::lengthCapability = 24 bytes
0x18, // TS_GENERAL_CAPABILITYSET::lengthCapability = 24 bytes
0x00, // TS_GENERAL_CAPABILITYSET::osMajorType = TS_OSMAJORTYPE_WINDOWS (1)
0x01, // TS_GENERAL_CAPABILITYSET::osMajorType = TS_OSMAJORTYPE_WINDOWS (1)
0x00, // TS_GENERAL_CAPABILITYSET::osMinorType = TS_OSMINORTYPE_WINDOWS_NT (3)
0x03, // TS_GENERAL_CAPABILITYSET::osMinorType = TS_OSMINORTYPE_WINDOWS_NT (3)
0x00, // TS_GENERAL_CAPABILITYSET::protocolVersion = TS_CAPS_PROTOCOLVERSION (0x0200)
0x00, // TS_GENERAL_CAPABILITYSET::protocolVersion = TS_CAPS_PROTOCOLVERSION (0x0200)
0x02, // TS_GENERAL_CAPABILITYSET::pad2octetsA
0x00, // TS_GENERAL_CAPABILITYSET::pad2octetsA
0x00, // TS_GENERAL_CAPABILITYSET::generalCompressionTypes = 0
0x00, // TS_GENERAL_CAPABILITYSET::generalCompressionTypes = 0
0x00, // TS_GENERAL_CAPABILITYSET::extraFlags = 0x041d = 0x0400 | 0x0010 | 0x0008 | 0x0004 | 0x0001 = NO_BITMAP_COMPRESSION_HDR | ENC_SALTED_CHECKSUM | AUTORECONNECT_SUPPORTED | LONG_CREDENTIALS_SUPPORTED | FASTPATH_OUTPUT_SUPPORTED
0x1d, // TS_GENERAL_CAPABILITYSET::extraFlags = 0x041d = 0x0400 | 0x0010 | 0x0008 | 0x0004 | 0x0001 = NO_BITMAP_COMPRESSION_HDR | ENC_SALTED_CHECKSUM | AUTORECONNECT_SUPPORTED | LONG_CREDENTIALS_SUPPORTED | FASTPATH_OUTPUT_SUPPORTED
0x04, // TS_GENERAL_CAPABILITYSET::updateCapabilityFlag = 0
0x00, // TS_GENERAL_CAPABILITYSET::updateCapabilityFlag = 0
0x00, // TS_GENERAL_CAPABILITYSET::remoteUnshareFlag = 0
0x00, // TS_GENERAL_CAPABILITYSET::remoteUnshareFlag = 0
0x00, // TS_GENERAL_CAPABILITYSET::generalCompressionLevel = 0
0x00, // TS_GENERAL_CAPABILITYSET::generalCompressionLevel = 0
0x00, // TS_GENERAL_CAPABILITYSET::refreshRectSupport = TRUE
0x01, // TS_GENERAL_CAPABILITYSET::suppressOutputSupport = TRUE
0x01, // TS_VIRTUALCHANNEL_CAPABILITYSET::capabilitySetType = CAPSTYPE_VIRTUALCHANNEL (20)
0x14, // TS_VIRTUALCHANNEL_CAPABILITYSET::capabilitySetType = CAPSTYPE_VIRTUALCHANNEL (20)
0x00, // TS_VIRTUALCHANNEL_CAPABILITYSET::lengthCapability = 8 bytes
0x08, // TS_VIRTUALCHANNEL_CAPABILITYSET::lengthCapability = 8 bytes
0x00, // TS_VIRTUALCHANNEL_CAPABILITYSET::vccaps1 = 0x00000002 = VCCAPS_COMPR_CS_8K
0x02, // TS_VIRTUALCHANNEL_CAPABILITYSET::vccaps1 = 0x00000002 = VCCAPS_COMPR_CS_8K
0x00, // TS_VIRTUALCHANNEL_CAPABILITYSET::vccaps1 = 0x00000002 = VCCAPS_COMPR_CS_8K
0x00, // TS_VIRTUALCHANNEL_CAPABILITYSET::vccaps1 = 0x00000002 = VCCAPS_COMPR_CS_8K
0x00, // TS_DRAW_GDIPLUS_CAPABILITYSET::capabilitySetType = CAPSTYPE_DRAWGDIPLUS (22)
0x16, // TS_DRAW_GDIPLUS_CAPABILITYSET::capabilitySetType = CAPSTYPE_DRAWGDIPLUS (22)
0x00, // TS_DRAW_GDIPLUS_CAPABILITYSET::lengthCapability = 40 bytes
0x28, // TS_DRAW_GDIPLUS_CAPABILITYSET::lengthCapability = 40 bytes
0x00, // TS_DRAW_GDIPLUS_CAPABILITYSET::drawGdiplusSupportLevel = TS_DRAW_GDIPLUS_DEFAULT (0)
0x00, // TS_DRAW_GDIPLUS_CAPABILITYSET::drawGdiplusSupportLevel = TS_DRAW_GDIPLUS_DEFAULT (0)
0x00, // TS_DRAW_GDIPLUS_CAPABILITYSET::drawGdiplusSupportLevel = TS_DRAW_GDIPLUS_DEFAULT (0)
0x00, // TS_DRAW_GDIPLUS_CAPABILITYSET::drawGdiplusSupportLevel = TS_DRAW_GDIPLUS_DEFAULT (0)
0x00, // TS_DRAW_GDIPLUS_CAPABILITYSET::GdipVersion (not initialized by server)
0x70, // TS_DRAW_GDIPLUS_CAPABILITYSET::GdipVersion (not initialized by server)
(byte) 0xf6, // TS_DRAW_GDIPLUS_CAPABILITYSET::GdipVersion (not initialized by server)
0x13, // TS_DRAW_GDIPLUS_CAPABILITYSET::GdipVersion (not initialized by server)
(byte) 0xf3, // TS_DRAW_GDIPLUS_CAPABILITYSET::drawGdiplusCacheLevel = TS_DRAW_GDIPLUS_CACHE_LEVEL_ONE (1)
0x01, // TS_DRAW_GDIPLUS_CAPABILITYSET::drawGdiplusCacheLevel = TS_DRAW_GDIPLUS_CACHE_LEVEL_ONE (1)
0x00, // TS_DRAW_GDIPLUS_CAPABILITYSET::drawGdiplusCacheLevel = TS_DRAW_GDIPLUS_CACHE_LEVEL_ONE (1)
0x00, // TS_DRAW_GDIPLUS_CAPABILITYSET::drawGdiplusCacheLevel = TS_DRAW_GDIPLUS_CACHE_LEVEL_ONE (1)
0x00, // TS_GDIPLUS_CACHE_ENTRIES::GdipGraphicsCacheEntries (not initialized by server)
0x01, // TS_GDIPLUS_CACHE_ENTRIES::GdipGraphicsCacheEntries (not initialized by server)
0x00, // TS_GDIPLUS_CACHE_ENTRIES::GdipObjectBrushCacheEntries (not initialized by server)
0x00, // TS_GDIPLUS_CACHE_ENTRIES::GdipObjectBrushCacheEntries (not initialized by server)
0x00, // TS_GDIPLUS_CACHE_ENTRIES::GdipObjectPenCacheEntries (not initialized by server)
0x18, // TS_GDIPLUS_CACHE_ENTRIES::GdipObjectPenCacheEntries (not initialized by server)
0x00, // TS_GDIPLUS_CACHE_ENTRIES::GdipObjectImageCacheEntries (not initialized by server)
0x00, // TS_GDIPLUS_CACHE_ENTRIES::GdipObjectImageCacheEntries (not initialized by server)
0x00, // TS_GDIPLUS_CACHE_ENTRIES::GdipObjectImageAttributesCacheEntries (not initialized by server)
(byte) 0x9c, // TS_GDIPLUS_CACHE_ENTRIES::GdipObjectImageAttributesCacheEntries (not initialized by server)
(byte) 0xf6, // TS_GDIPLUS_CACHE_CHUNK_SIZE::GdipGraphicsCacheChunkSize (not initialized by server)
0x13, // TS_GDIPLUS_CACHE_CHUNK_SIZE::GdipGraphicsCacheChunkSize (not initialized by server)
(byte) 0xf3, // TS_GDIPLUS_CACHE_CHUNK_SIZE::GdipObjectBrushCacheChunkSize (not initialized by server)
0x61, // TS_GDIPLUS_CACHE_CHUNK_SIZE::GdipObjectBrushCacheChunkSize (not initialized by server)
(byte) 0xa6, // TS_GDIPLUS_CACHE_CHUNK_SIZE::GdipObjectPenCacheChunkSize (not initialized by server)
(byte) 0x82, // TS_GDIPLUS_CACHE_CHUNK_SIZE::GdipObjectPenCacheChunkSize (not initialized by server)
(byte) 0x80, // TS_GDIPLUS_CACHE_CHUNK_SIZE::GdipObjectImageAttributesCacheChunkSize (not initialized by server)
0x00, // TS_GDIPLUS_CACHE_CHUNK_SIZE::GdipObjectImageAttributesCacheChunkSize (not initialized by server)
0x00, // TS_GDIPLUS_IMAGE_CACHE_PROPERTIES::GdipObjectImageCacheChunkSize (not initialized by server)
0x00, // TS_GDIPLUS_IMAGE_CACHE_PROPERTIES::GdipObjectImageCacheChunkSize (not initialized by server)
0x00, // TS_GDIPLUS_IMAGE_CACHE_PROPERTIES::GdipObjectImageCacheTotalSize (not initialized by server)
0x00, // TS_GDIPLUS_IMAGE_CACHE_PROPERTIES::GdipObjectImageCacheTotalSize (not initialized by server)
0x50, // TS_GDIPLUS_IMAGE_CACHE_PROPERTIES::GdipObjectImageCacheMaxSize (not initialized by server)
(byte) 0x91, // TS_GDIPLUS_IMAGE_CACHE_PROPERTIES::GdipObjectImageCacheMaxSize (not initialized by server)
(byte) 0xbf, // TS_FONT_CAPABILITYSET::capabilitySetType = CAPSTYPE_FONT (14)
0x0e, // TS_FONT_CAPABILITYSET::capabilitySetType = CAPSTYPE_FONT (14)
0x00, // TS_FONT_CAPABILITYSET::lengthCapability = 4 bytes
0x04, // TS_FONT_CAPABILITYSET::lengthCapability = 4 bytes
0x00, // TS_BITMAP_CAPABILITYSET::capabilitySetType = CAPSTYPE_BITMAP (2)
0x02, // TS_BITMAP_CAPABILITYSET::capabilitySetType = CAPSTYPE_BITMAP (2)
0x00, // TS_BITMAP_CAPABILITYSET::lengthCapability = 28 bytes
0x1c, // TS_BITMAP_CAPABILITYSET::lengthCapability = 28 bytes
0x00, // TS_BITMAP_CAPABILITYSET::preferredBitsPerPixel = 24 bpp
0x18, // TS_BITMAP_CAPABILITYSET::preferredBitsPerPixel = 24 bpp
0x00, // TS_BITMAP_CAPABILITYSET::receive1BitPerPixel = TRUE
0x01, // TS_BITMAP_CAPABILITYSET::receive1BitPerPixel = TRUE
0x00, // TS_BITMAP_CAPABILITYSET::receive4BitsPerPixel = TRUE
0x01, // TS_BITMAP_CAPABILITYSET::receive4BitsPerPixel = TRUE
0x00, // TS_BITMAP_CAPABILITYSET::receive8BitsPerPixel = TRUE
0x01, // TS_BITMAP_CAPABILITYSET::receive8BitsPerPixel = TRUE
0x00, // TS_BITMAP_CAPABILITYSET::desktopWidth = 1280 pixels
0x00, // TS_BITMAP_CAPABILITYSET::desktopWidth = 1280 pixels
0x05, // TS_BITMAP_CAPABILITYSET::desktopHeight = 1024 pixels
0x00, // TS_BITMAP_CAPABILITYSET::desktopHeight = 1024 pixels
0x04, // TS_BITMAP_CAPABILITYSET::pad2octets
0x00, // TS_BITMAP_CAPABILITYSET::pad2octets
0x00, // TS_BITMAP_CAPABILITYSET::desktopResizeFlag = TRUE
0x01, // TS_BITMAP_CAPABILITYSET::desktopResizeFlag = TRUE
0x00, // TS_BITMAP_CAPABILITYSET::bitmapCompressionFlag = TRUE
0x01, // TS_BITMAP_CAPABILITYSET::bitmapCompressionFlag = TRUE
0x00, // TS_BITMAP_CAPABILITYSET::highColorFlags = 0
0x00, // TS_BITMAP_CAPABILITYSET::pad1octet
0x00, // TS_BITMAP_CAPABILITYSET::multipleRectangleSupport = TRUE
0x01, // TS_BITMAP_CAPABILITYSET::multipleRectangleSupport = TRUE
0x00, // TS_BITMAP_CAPABILITYSET::pad2octetsB
0x00, // TS_BITMAP_CAPABILITYSET::pad2octetsB
0x00, // TS_ORDER_CAPABILITYSET::capabilitySetType = CAPSTYPE_ORDER (3)
0x03, // TS_ORDER_CAPABILITYSET::capabilitySetType = CAPSTYPE_ORDER (3)
0x00, // TS_ORDER_CAPABILITYSET::lengthCapability = 88 bytes
0x58, // TS_ORDER_CAPABILITYSET::lengthCapability = 88 bytes
0x00, // TS_ORDER_CAPABILITYSET::terminalDescriptor = ""
0x00, // TS_ORDER_CAPABILITYSET::terminalDescriptor = ""
0x00, // TS_ORDER_CAPABILITYSET::terminalDescriptor = ""
0x00, // TS_ORDER_CAPABILITYSET::terminalDescriptor = ""
0x00, // TS_ORDER_CAPABILITYSET::terminalDescriptor = ""
0x00, // TS_ORDER_CAPABILITYSET::terminalDescriptor = ""
0x00, // TS_ORDER_CAPABILITYSET::terminalDescriptor = ""
0x00, // TS_ORDER_CAPABILITYSET::terminalDescriptor = ""
0x00, // TS_ORDER_CAPABILITYSET::terminalDescriptor = ""
0x00, // TS_ORDER_CAPABILITYSET::terminalDescriptor = ""
0x00, // TS_ORDER_CAPABILITYSET::terminalDescriptor = ""
0x00, // TS_ORDER_CAPABILITYSET::terminalDescriptor = ""
0x00, // TS_ORDER_CAPABILITYSET::terminalDescriptor = ""
0x00, // TS_ORDER_CAPABILITYSET::terminalDescriptor = ""
0x00, // TS_ORDER_CAPABILITYSET::terminalDescriptor = ""
0x00, // TS_ORDER_CAPABILITYSET::terminalDescriptor = ""
0x00, // TS_ORDER_CAPABILITYSET::pad4octetsA
0x40, // TS_ORDER_CAPABILITYSET::pad4octetsA
0x42, // TS_ORDER_CAPABILITYSET::pad4octetsA
0x0f, // TS_ORDER_CAPABILITYSET::pad4octetsA
0x00, // TS_ORDER_CAPABILITYSET::desktopSaveXGranularity = 1
0x01, // TS_ORDER_CAPABILITYSET::desktopSaveXGranularity = 1
0x00, // TS_ORDER_CAPABILITYSET::desktopSaveYGranularity = 20
0x14, // TS_ORDER_CAPABILITYSET::desktopSaveYGranularity = 20
0x00, // TS_ORDER_CAPABILITYSET::pad2octetsA
0x00, // TS_ORDER_CAPABILITYSET::pad2octetsA
0x00, // TS_ORDER_CAPABILITYSET::maximumOrderLevel = ORD_LEVEL_1_ORDERS (1)
0x01, // TS_ORDER_CAPABILITYSET::maximumOrderLevel = ORD_LEVEL_1_ORDERS (1)
0x00, // TS_ORDER_CAPABILITYSET::numberFonts = 0
0x00, // TS_ORDER_CAPABILITYSET::numberFonts = 0
0x00, // TS_ORDER_CAPABILITYSET::orderFlags = 0x0022 = 0x0020 | 0x0002 = COLORINDEXSUPPORT | NEGOTIATEORDERSUPPORT
0x22, // TS_ORDER_CAPABILITYSET::orderFlags = 0x0022 = 0x0020 | 0x0002 = COLORINDEXSUPPORT | NEGOTIATEORDERSUPPORT
0x00, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_DSTBLT_INDEX] = TRUE
0x01, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_PATBLT_INDEX] = TRUE
0x01, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_SCRBLT_INDEX] = TRUE
0x01, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_MEMBLT_INDEX] = TRUE
0x01, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_MEM3BLT_INDEX] = TRUE
0x01, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_ATEXTOUT_INDEX] = FALSE
0x00, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_AEXTTEXTOUT_INDEX] = FALSE
0x00, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_DRAWNINEGRID_INDEX] = TRUE
0x01, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_LINETO_INDEX] = TRUE
0x01, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_MULTI_DRAWNINEGRID_INDEX] = TRUE
0x01, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_OPAQUERECT_INDEX] = TRUE
0x01, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_SAVEBITMAP_INDEX] = TRUE
0x01, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_WTEXTOUT_INDEX] = FALSE
0x00, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_MEMBLT_R2_INDEX] = FALSE
0x00, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_MEM3BLT_R2_INDEX] = FALSE
0x00, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_MULTIDSTBLT_INDEX] = TRUE
0x01, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_MULTIPATBLT_INDEX] = TRUE
0x01, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_MULTISCRBLT_INDEX] = TRUE
0x01, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_MULTIOPAQUERECT_INDEX] = TRUE
0x01, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_FAST_INDEX_INDEX] = TRUE
0x01, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_POLYGON_SC_INDEX] = TRUE
0x01, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_POLYGON_CB_INDEX] = TRUE
0x01, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_POLYLINE_INDEX] = TRUE
0x01, // TS_ORDER_CAPABILITYSET::orderSupport[23] = 0
0x00, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_FAST_GLYPH_INDEX] = TRUE
0x01, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_ELLIPSE_SC_INDEX] = TRUE
0x01, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_ELLIPSE_CB_INDEX] = TRUE
0x01, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_INDEX_INDEX] = TRUE
0x01, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_WEXTTEXTOUT_INDEX] = FALSE
0x00, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_WLONGTEXTOUT_INDEX] = FALSE
0x00, // TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_WLONGEXTTEXTOUT_INDEX] = FALSE
0x00, // TS_ORDER_CAPABILITYSET::orderSupport[24] = 0
0x00, // TS_ORDER_CAPABILITYSET::textFlags = 0x06a1
(byte) 0xa1, // TS_ORDER_CAPABILITYSET::textFlags = 0x06a1
0x06, // TS_ORDER_CAPABILITYSET::pad2octetsB
0x00, // TS_ORDER_CAPABILITYSET::pad2octetsB
0x00, // TS_ORDER_CAPABILITYSET::pad4octetsB
0x40, // TS_ORDER_CAPABILITYSET::pad4octetsB
0x42, // TS_ORDER_CAPABILITYSET::pad4octetsB
0x0f, // TS_ORDER_CAPABILITYSET::pad4octetsB
0x00, // TS_ORDER_CAPABILITYSET::desktopSaveSize = 0xf4240 = 1000000
0x40, // TS_ORDER_CAPABILITYSET::desktopSaveSize = 0xf4240 = 1000000
0x42, // TS_ORDER_CAPABILITYSET::desktopSaveSize = 0xf4240 = 1000000
0x0f, // TS_ORDER_CAPABILITYSET::desktopSaveSize = 0xf4240 = 1000000
0x00, // TS_ORDER_CAPABILITYSET::pad2octetsC
0x01, // TS_ORDER_CAPABILITYSET::pad2octetsC
0x00, // TS_ORDER_CAPABILITYSET::pad2octetsD
0x00, // TS_ORDER_CAPABILITYSET::pad2octetsD
0x00, // TS_ORDER_CAPABILITYSET::textANSICodePage
0x00, // TS_ORDER_CAPABILITYSET::textANSICodePage
0x00, // TS_ORDER_CAPABILITYSET::pad2octetsE
0x00, // TS_ORDER_CAPABILITYSET::pad2octetsE
0x00, // TS_COLORTABLECACHE_CAPABILITYSET::capabilitySetType = CAPSTYPE_COLORCACHE (10)
0x0a, // TS_COLORTABLECACHE_CAPABILITYSET::capabilitySetType = CAPSTYPE_COLORCACHE (10)
0x00, // TS_COLORTABLECACHE_CAPABILITYSET::lengthCapability = 8 bytes
0x08, // TS_COLORTABLECACHE_CAPABILITYSET::lengthCapability = 8 bytes
0x00, // TS_COLORTABLECACHE_CAPABILITYSET::colorTableCacheSize = 6
0x06, // TS_COLORTABLECACHE_CAPABILITYSET::colorTableCacheSize = 6
0x00, // TS_COLORTABLECACHE_CAPABILITYSET::pad2octets
0x00, // TS_COLORTABLECACHE_CAPABILITYSET::pad2octets
0x00, // TS_BITMAPCACHE_CAPABILITYSET_HOSTSUPPORT::capabilitySetType = CAPSTYPE_BITMAPCACHE_HOSTSUPPORT (18)
0x12, // TS_BITMAPCACHE_CAPABILITYSET_HOSTSUPPORT::capabilitySetType = CAPSTYPE_BITMAPCACHE_HOSTSUPPORT (18)
0x00, // TS_BITMAPCACHE_CAPABILITYSET_HOSTSUPPORT::lengthCapability = 8 bytes
0x08, // TS_BITMAPCACHE_CAPABILITYSET_HOSTSUPPORT::lengthCapability = 8 bytes
0x00, // TS_BITMAPCACHE_CAPABILITYSET_HOSTSUPPORT::CacheVersion = 1 (corresponds to rev. 2 capabilities)
0x01, // TS_BITMAPCACHE_CAPABILITYSET_HOSTSUPPORT::Pad1
0x00, // TS_BITMAPCACHE_CAPABILITYSET_HOSTSUPPORT::Pad2
0x00, // TS_BITMAPCACHE_CAPABILITYSET_HOSTSUPPORT::Pad2
0x00, // TS_POINTER_CAPABILITYSET::capabilitySetType = CAPSTYPE_POINTER (8)
0x08, // TS_POINTER_CAPABILITYSET::capabilitySetType = CAPSTYPE_POINTER (8)
0x00, // TS_POINTER_CAPABILITYSET::lengthCapability = 10 bytes
0x0a, // TS_POINTER_CAPABILITYSET::lengthCapability = 10 bytes
0x00, // TS_POINTER_CAPABILITYSET::colorPointerFlag = TRUE
0x01, // TS_POINTER_CAPABILITYSET::colorPointerFlag = TRUE
0x00, // TS_POINTER_CAPABILITYSET::colorPointerCacheSize = 25
0x19, // TS_POINTER_CAPABILITYSET::colorPointerCacheSize = 25
0x00, // TS_POINTER_CAPABILITYSET::pointerCacheSize = 25
0x19, // TS_POINTER_CAPABILITYSET::pointerCacheSize = 25
0x00, // TS_INPUT_CAPABILITYSET::capabilitySetType = CAPSTYPE_INPUT (13)
0x0d, // TS_INPUT_CAPABILITYSET::capabilitySetType = CAPSTYPE_INPUT (13)
0x00, // TS_INPUT_CAPABILITYSET::lengthCapability = 88 bytes
0x58, // TS_INPUT_CAPABILITYSET::lengthCapability = 88 bytes
0x00, // TS_INPUT_CAPABILITYSET::inputFlags = 0x0035 = 0x0020 | 0x0010 | 0x0004 | 0x0001 = INPUT_FLAG_FASTPATH_INPUT2 | INPUT_FLAG_VKPACKET | INPUT_FLAG_MOUSEX | INPUT_FLAG_SCANCODES
0x35, // TS_INPUT_CAPABILITYSET::inputFlags = 0x0035 = 0x0020 | 0x0010 | 0x0004 | 0x0001 = INPUT_FLAG_FASTPATH_INPUT2 | INPUT_FLAG_VKPACKET | INPUT_FLAG_MOUSEX | INPUT_FLAG_SCANCODES
0x00, // TS_INPUT_CAPABILITYSET::pad2octetsA
0x00, // TS_INPUT_CAPABILITYSET::pad2octetsA
0x00, // TS_INPUT_CAPABILITYSET::keyboardLayout (not initialized by server)
(byte) 0xa1, // TS_INPUT_CAPABILITYSET::keyboardLayout (not initialized by server)
0x06, // TS_INPUT_CAPABILITYSET::keyboardLayout (not initialized by server)
0x00, // TS_INPUT_CAPABILITYSET::keyboardLayout (not initialized by server)
0x00, // TS_INPUT_CAPABILITYSET::keyboardType (not initialized by server)
0x40, // TS_INPUT_CAPABILITYSET::keyboardType (not initialized by server)
0x42, // TS_INPUT_CAPABILITYSET::keyboardType (not initialized by server)
0x0f, // TS_INPUT_CAPABILITYSET::keyboardType (not initialized by server)
0x00, // TS_INPUT_CAPABILITYSET::keyboardSubType (not initialized by server)
0x0c, // TS_INPUT_CAPABILITYSET::keyboardSubType (not initialized by server)
(byte) 0xf6, // TS_INPUT_CAPABILITYSET::keyboardSubType (not initialized by server)
0x13, // TS_INPUT_CAPABILITYSET::keyboardSubType (not initialized by server)
(byte) 0xf3, // TS_INPUT_CAPABILITYSET::keyboardFunctionKey (not initialized by server)
(byte) 0x93, // TS_INPUT_CAPABILITYSET::keyboardFunctionKey (not initialized by server)
0x5a, // TS_INPUT_CAPABILITYSET::keyboardFunctionKey (not initialized by server)
0x37, // TS_INPUT_CAPABILITYSET::keyboardFunctionKey (not initialized by server)
(byte) 0xf3, // TS_INPUT_CAPABILITYSET::imeFileName (not initialized by server)
0x00, (byte) 0x90, 0x30, (byte) 0xe1, 0x34, 0x1c, 0x38, (byte) 0xf3, 0x40, (byte) 0xf6, 0x13, (byte) 0xf3, 0x04, 0x00, 0x00, 0x00, 0x4c, 0x54, (byte) 0xdc, (byte) 0xe2, 0x08, 0x50, (byte) 0xdc, (byte) 0xe2, 0x01, 0x00, 0x00, 0x00, 0x08, 0x50, (byte) 0xdc, (byte) 0xe2, 0x00, 0x00, 0x00, 0x00, 0x38, (byte) 0xf6, 0x13, (byte) 0xf3, 0x2e, 0x05, 0x38, (byte) 0xf3, 0x08, 0x50, (byte) 0xdc, (byte) 0xe2, 0x2c, (byte) 0xf6, 0x13, (byte) 0xf3, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0a, 0x00, 0x01, 0x00, 0x19, 0x00, // TS_RAIL_CAPABILITYSET::capabilitySetType = CAPSTYPE_RAIL (23)
0x17, // TS_RAIL_CAPABILITYSET::capabilitySetType = CAPSTYPE_RAIL (23)
0x00, // TS_RAIL_CAPABILITYSET::lengthCapability = 8 bytes
0x08, // TS_RAIL_CAPABILITYSET::lengthCapability = 8 bytes
0x00, // TS_RAIL_CAPABILITYSET::railSupportLevel = TS_RAIL_LEVEL_DEFAULT (0)
0x00, // TS_RAIL_CAPABILITYSET::railSupportLevel = TS_RAIL_LEVEL_DEFAULT (0)
0x00, // TS_RAIL_CAPABILITYSET::railSupportLevel = TS_RAIL_LEVEL_DEFAULT (0)
0x00, // TS_RAIL_CAPABILITYSET::railSupportLevel = TS_RAIL_LEVEL_DEFAULT (0)
0x00, // TS_WINDOW_CAPABILITYSET::capabilitySetType = CAPSTYPE_WINDOW (24)
0x18, // TS_WINDOW_CAPABILITYSET::capabilitySetType = CAPSTYPE_WINDOW (24)
0x00, // TS_WINDOW_CAPABILITYSET::lengthCapability = 11 bytes
0x0b, // TS_WINDOW_CAPABILITYSET::lengthCapability = 11 bytes
0x00, // TS_WINDOW_CAPABILITYSET::wndSupportLevel = TS_WINDOW_LEVEL_DEFAULT (0)
0x00, // TS_WINDOW_CAPABILITYSET::wndSupportLevel = TS_WINDOW_LEVEL_DEFAULT (0)
0x00, // TS_WINDOW_CAPABILITYSET::wndSupportLevel = TS_WINDOW_LEVEL_DEFAULT (0)
0x00, // TS_WINDOW_CAPABILITYSET::wndSupportLevel = TS_WINDOW_LEVEL_DEFAULT (0)
0x00, // TS_WINDOW_CAPABILITYSET::nIconCaches = 0
0x00, // TS_WINDOW_CAPABILITYSET::nIconCacheEntries = 0
0x00, // TS_WINDOW_CAPABILITYSET::nIconCacheEntries = 0
0x00, // TS_DEMAND_ACTIVE_PDU::sessionId = 0
0x00, // TS_DEMAND_ACTIVE_PDU::sessionId = 0
0x00, // TS_DEMAND_ACTIVE_PDU::sessionId = 0
0x00, // TS_DEMAND_ACTIVE_PDU::sessionId = 0
0x00 };
/* @formatter:on */
RdpState rdpState = new RdpState();
ScreenDescription screenDescription = new ScreenDescription();
MockSource source = new MockSource("source", ByteBuffer.convertByteArraysToByteBuffers(packet));
Element demandActive = new ServerDemandActivePDU("demand_active", screenDescription, rdpState);
Element sink = new FakeSink("sink");
Pipeline pipeline = new PipelineImpl("test");
pipeline.add(source, demandActive, sink);
pipeline.link("source", "demand_active", "sink");
pipeline.runMainLoop("source", STDOUT, false, false);
}
use of streamer.PipelineImpl in project cloudstack by apache.
the class AprSocketWrapperImpl method main.
/**
* Example.
*/
public static void main(String[] args) {
try {
System.setProperty("streamer.Link.debug", "true");
System.setProperty("streamer.Element.debug", "true");
System.setProperty("rdpclient.MockServer.debug", "true");
Pipeline pipeline = new PipelineImpl("echo client");
AprSocketWrapperImpl socketWrapper = new AprSocketWrapperImpl("socket", null);
pipeline.add(socketWrapper);
pipeline.add(new BaseElement("echo"));
// To decouple input and output
pipeline.add(new Queue("queue"));
pipeline.link("socket", "echo", "queue", "socket");
final byte[] mockData = new byte[] { 0x01, 0x02, 0x03 };
MockServer server = new MockServer(new Packet[] { new Packet("Server hello") {
{
type = SERVER;
data = mockData;
}
}, new Packet("Client hello") {
{
type = CLIENT;
data = mockData;
}
}, new Packet("Server hello") {
{
type = SERVER;
data = mockData;
}
}, new Packet("Client hello") {
{
type = CLIENT;
data = mockData;
}
} });
server.start();
InetSocketAddress address = server.getAddress();
socketWrapper.connect(address);
} catch (Exception e) {
e.printStackTrace(System.err);
}
}
Aggregations