pdu

package
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 11, 2023 License: GPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CAPSTYPE_GENERAL                 CapsType = 0x0001
	CAPSTYPE_BITMAP                           = 0x0002
	CAPSTYPE_ORDER                            = 0x0003
	CAPSTYPE_BITMAPCACHE                      = 0x0004
	CAPSTYPE_CONTROL                          = 0x0005
	CAPSTYPE_ACTIVATION                       = 0x0007
	CAPSTYPE_POINTER                          = 0x0008
	CAPSTYPE_SHARE                            = 0x0009
	CAPSTYPE_COLORCACHE                       = 0x000A
	CAPSTYPE_SOUND                            = 0x000C
	CAPSTYPE_INPUT                            = 0x000D
	CAPSTYPE_FONT                             = 0x000E
	CAPSTYPE_BRUSH                            = 0x000F
	CAPSTYPE_GLYPHCACHE                       = 0x0010
	CAPSTYPE_OFFSCREENCACHE                   = 0x0011
	CAPSTYPE_BITMAPCACHE_HOSTSUPPORT          = 0x0012
	CAPSTYPE_BITMAPCACHE_REV2                 = 0x0013
	CAPSTYPE_VIRTUALCHANNEL                   = 0x0014
	CAPSTYPE_DRAWNINEGRIDCACHE                = 0x0015
	CAPSTYPE_DRAWGDIPLUS                      = 0x0016
	CAPSTYPE_RAIL                             = 0x0017
	CAPSTYPE_WINDOW                           = 0x0018
	CAPSETTYPE_COMPDESK                       = 0x0019
	CAPSETTYPE_MULTIFRAGMENTUPDATE            = 0x001A
	CAPSETTYPE_LARGE_POINTER                  = 0x001B
	CAPSETTYPE_SURFACE_COMMANDS               = 0x001C
	CAPSETTYPE_BITMAP_CODECS                  = 0x001D
	CAPSSETTYPE_FRAME_ACKNOWLEDGE             = 0x001E
)
View Source
const (
	OSMAJORTYPE_UNSPECIFIED MajorType = 0x0000
	OSMAJORTYPE_WINDOWS               = 0x0001
	OSMAJORTYPE_OS2                   = 0x0002
	OSMAJORTYPE_MACINTOSH             = 0x0003
	OSMAJORTYPE_UNIX                  = 0x0004
	OSMAJORTYPE_IOS                   = 0x0005
	OSMAJORTYPE_OSX                   = 0x0006
	OSMAJORTYPE_ANDROID               = 0x0007
)
View Source
const (
	OSMINORTYPE_UNSPECIFIED    MinorType = 0x0000
	OSMINORTYPE_WINDOWS_31X              = 0x0001
	OSMINORTYPE_WINDOWS_95               = 0x0002
	OSMINORTYPE_WINDOWS_NT               = 0x0003
	OSMINORTYPE_OS2_V21                  = 0x0004
	OSMINORTYPE_POWER_PC                 = 0x0005
	OSMINORTYPE_MACINTOSH                = 0x0006
	OSMINORTYPE_NATIVE_XSERVER           = 0x0007
	OSMINORTYPE_PSEUDO_XSERVER           = 0x0008
	OSMINORTYPE_WINDOWS_RT               = 0x0009
)
View Source
const (
	FASTPATH_OUTPUT_SUPPORTED  uint16 = 0x0001
	NO_BITMAP_COMPRESSION_HDR         = 0x0400
	LONG_CREDENTIALS_SUPPORTED        = 0x0004
	AUTORECONNECT_SUPPORTED           = 0x0008
	ENC_SALTED_CHECKSUM               = 0x0010
)
View Source
const (
	NEGOTIATEORDERSUPPORT   OrderFlag = 0x0002
	ZEROBOUNDSDELTASSUPPORT           = 0x0008
	COLORINDEXSUPPORT                 = 0x0020
	SOLIDPATTERNBRUSHONLY             = 0x0040
	ORDERFLAGS_EXTRA_FLAGS            = 0x0080
)
View Source
const (
	TS_NEG_DSTBLT_INDEX             Order = 0x00
	TS_NEG_PATBLT_INDEX                   = 0x01
	TS_NEG_SCRBLT_INDEX                   = 0x02
	TS_NEG_MEMBLT_INDEX                   = 0x03
	TS_NEG_MEM3BLT_INDEX                  = 0x04
	TS_NEG_DRAWNINEGRID_INDEX             = 0x07
	TS_NEG_LINETO_INDEX                   = 0x08
	TS_NEG_MULTI_DRAWNINEGRID_INDEX       = 0x09
	TS_NEG_SAVEBITMAP_INDEX               = 0x0B
	TS_NEG_MULTIDSTBLT_INDEX              = 0x0F
	TS_NEG_MULTIPATBLT_INDEX              = 0x10
	TS_NEG_MULTISCRBLT_INDEX              = 0x11
	TS_NEG_MULTIOPAQUERECT_INDEX          = 0x12
	TS_NEG_FAST_INDEX_INDEX               = 0x13
	TS_NEG_POLYGON_SC_INDEX               = 0x14
	TS_NEG_POLYGON_CB_INDEX               = 0x15
	TS_NEG_POLYLINE_INDEX                 = 0x16
	TS_NEG_FAST_GLYPH_INDEX               = 0x18
	TS_NEG_ELLIPSE_SC_INDEX               = 0x19
	TS_NEG_ELLIPSE_CB_INDEX               = 0x1A
	TS_NEG_GLYPH_INDEX_INDEX              = 0x1B
)
View Source
const (
	INPUT_FLAG_SCANCODES       uint16 = 0x0001
	INPUT_FLAG_MOUSEX                 = 0x0004
	INPUT_FLAG_FASTPATH_INPUT         = 0x0008
	INPUT_FLAG_UNICODE                = 0x0010
	INPUT_FLAG_FASTPATH_INPUT2        = 0x0020
	INPUT_FLAG_UNUSED1                = 0x0040
	INPUT_FLAG_UNUSED2                = 0x0080
	INPUT_FLAG_MOUSE_HWHEEL           = 0x0100
)
View Source
const (
	BRUSH_DEFAULT    BrushSupport = 0x00000000
	BRUSH_COLOR_8x8               = 0x00000001
	BRUSH_COLOR_FULL              = 0x00000002
)
View Source
const (
	GLYPH_SUPPORT_NONE    GlyphSupport = 0x0000
	GLYPH_SUPPORT_PARTIAL              = 0x0001
	GLYPH_SUPPORT_FULL                 = 0x0002
	GLYPH_SUPPORT_ENCODE               = 0x0003
)
View Source
const (
	VCCAPS_NO_COMPR    VirtualChannelCompressionFlag = 0x00000000
	VCCAPS_COMPR_SC                                  = 0x00000001
	VCCAPS_COMPR_CS_8K                               = 0x00000002
)
View Source
const (
	RAIL_LEVEL_SUPPORTED                           = 0x00000001
	RAIL_LEVEL_DOCKED_LANGBAR_SUPPORTED            = 0x00000002
	RAIL_LEVEL_SHELL_INTEGRATION_SUPPORTED         = 0x00000004
	RAIL_LEVEL_LANGUAGE_IME_SYNC_SUPPORTED         = 0x00000008
	RAIL_LEVEL_SERVER_TO_CLIENT_IME_SYNC_SUPPORTED = 0x00000010
	RAIL_LEVEL_HIDE_MINIMIZED_APPS_SUPPORTED       = 0x00000020
	RAIL_LEVEL_WINDOW_CLOAKING_SUPPORTED           = 0x00000040
	RAIL_LEVEL_HANDSHAKE_EX_SUPPORTED              = 0x00000080
)
View Source
const (
	INPUT_EVENT_SYNC     = 0x0000
	INPUT_EVENT_UNUSED   = 0x0002
	INPUT_EVENT_SCANCODE = 0x0004
	INPUT_EVENT_UNICODE  = 0x0005
	INPUT_EVENT_MOUSE    = 0x8001
	INPUT_EVENT_MOUSEX   = 0x8002
)
View Source
const (
	PTRFLAGS_HWHEEL         = 0x0400
	PTRFLAGS_WHEEL          = 0x0200
	PTRFLAGS_WHEEL_NEGATIVE = 0x0100
	WheelRotationMask       = 0x01FF
	PTRFLAGS_MOVE           = 0x0800
	PTRFLAGS_DOWN           = 0x8000
	PTRFLAGS_BUTTON1        = 0x1000
	PTRFLAGS_BUTTON2        = 0x2000
	PTRFLAGS_BUTTON3        = 0x4000
)
View Source
const (
	KBDFLAGS_EXTENDED = 0x0100
	KBDFLAGS_DOWN     = 0x4000
	KBDFLAGS_RELEASE  = 0x8000
)
View Source
const (
	SURFCMDS_SET_SURFACE_BITS    = 0x00000002
	SURFCMDS_FRAME_MARKER        = 0x00000010
	SURFCMDS_STREAM_SURFACE_BITS = 0x00000040
)
View Source
const (
	PDUTYPE_DEMANDACTIVEPDU  = 0x11
	PDUTYPE_CONFIRMACTIVEPDU = 0x13
	PDUTYPE_DEACTIVATEALLPDU = 0x16
	PDUTYPE_DATAPDU          = 0x17
	PDUTYPE_SERVER_REDIR_PKT = 0x1A
)
View Source
const (
	PDUTYPE2_UPDATE                      = 0x02
	PDUTYPE2_CONTROL                     = 0x14
	PDUTYPE2_POINTER                     = 0x1B
	PDUTYPE2_INPUT                       = 0x1C
	PDUTYPE2_SYNCHRONIZE                 = 0x1F
	PDUTYPE2_REFRESH_RECT                = 0x21
	PDUTYPE2_PLAY_SOUND                  = 0x22
	PDUTYPE2_SUPPRESS_OUTPUT             = 0x23
	PDUTYPE2_SHUTDOWN_REQUEST            = 0x24
	PDUTYPE2_SHUTDOWN_DENIED             = 0x25
	PDUTYPE2_SAVE_SESSION_INFO           = 0x26
	PDUTYPE2_FONTLIST                    = 0x27
	PDUTYPE2_FONTMAP                     = 0x28
	PDUTYPE2_SET_KEYBOARD_INDICATORS     = 0x29
	PDUTYPE2_BITMAPCACHE_PERSISTENT_LIST = 0x2B
	PDUTYPE2_BITMAPCACHE_ERROR_PDU       = 0x2C
	PDUTYPE2_SET_KEYBOARD_IME_STATUS     = 0x2D
	PDUTYPE2_OFFSCRCACHE_ERROR_PDU       = 0x2E
	PDUTYPE2_SET_ERROR_INFO_PDU          = 0x2F
	PDUTYPE2_DRAWNINEGRID_ERROR_PDU      = 0x30
	PDUTYPE2_DRAWGDIPLUS_ERROR_PDU       = 0x31
	PDUTYPE2_ARC_STATUS_PDU              = 0x32
	PDUTYPE2_STATUS_INFO_PDU             = 0x36
	PDUTYPE2_MONITOR_LAYOUT_PDU          = 0x37
)
View Source
const (
	CTRLACTION_REQUEST_CONTROL = 0x0001
	CTRLACTION_GRANTED_CONTROL = 0x0002
	CTRLACTION_DETACH          = 0x0003
	CTRLACTION_COOPERATE       = 0x0004
)
View Source
const (
	STREAM_UNDEFINED = 0x00
	STREAM_LOW       = 0x01
	STREAM_MED       = 0x02
	STREAM_HI        = 0x04
)
View Source
const (
	FASTPATH_UPDATETYPE_ORDERS        = 0x0
	FASTPATH_UPDATETYPE_BITMAP        = 0x1
	FASTPATH_UPDATETYPE_PALETTE       = 0x2
	FASTPATH_UPDATETYPE_SYNCHRONIZE   = 0x3
	FASTPATH_UPDATETYPE_SURFCMDS      = 0x4
	FASTPATH_UPDATETYPE_PTR_NULL      = 0x5
	FASTPATH_UPDATETYPE_PTR_DEFAULT   = 0x6
	FASTPATH_UPDATETYPE_PTR_POSITION  = 0x8
	FASTPATH_UPDATETYPE_COLOR         = 0x9
	FASTPATH_UPDATETYPE_CACHED        = 0xA
	FASTPATH_UPDATETYPE_POINTER       = 0xB
	FASTPATH_UPDATETYPE_LARGE_POINTER = 0xC
)
View Source
const (
	RDP_MPPC_BIG        = 0x01
	RDP_MPPC_COMPRESSED = 0x20
	RDP_MPPC_RESET      = 0x40
	RDP_MPPC_FLUSH      = 0x80
	RDP_MPPC_DICT_SIZE  = 65536
)

compression types

View Source
const (
	INFOTYPE_LOGON               = 0x00000000
	INFOTYPE_LOGON_LONG          = 0x00000001
	INFOTYPE_LOGON_PLAINNOTIFY   = 0x00000002
	INFOTYPE_LOGON_EXTENDED_INFO = 0x00000003
)
View Source
const (
	LOGON_EX_AUTORECONNECTCOOKIE = 0x00000001
	LOGON_EX_LOGONERRORS         = 0x00000002
)
View Source
const (
	FASTPATH_FRAGMENT_SINGLE = (0x0 << 4)
	FASTPATH_FRAGMENT_LAST   = (0x1 << 4)
	FASTPATH_FRAGMENT_FIRST  = (0x2 << 4)
	FASTPATH_FRAGMENT_NEXT   = (0x3 << 4)
)
View Source
const (
	GDI_R2_BLACK       = 0x01
	GDI_R2_NOTMERGEPEN = 0x02
	GDI_R2_MASKNOTPEN  = 0x03
	GDI_R2_NOTCOPYPEN  = 0x04
	GDI_R2_MASKPENNOT  = 0x05
	GDI_R2_NOT         = 0x06
	GDI_R2_XORPEN      = 0x07
	GDI_R2_NOTMASKPEN  = 0x08
	GDI_R2_MASKPEN     = 0x09
	GDI_R2_NOTXORPEN   = 0x0A
	GDI_R2_NOP         = 0x0B
	GDI_R2_MERGENOTPEN = 0x0C
	GDI_R2_COPYPEN     = 0x0D
	GDI_R2_MERGEPENNOT = 0x0E
	GDI_R2_MERGEPEN    = 0x0F
	GDI_R2_WHITE       = 0x10
)

Binary Raster Operations (ROP2)

View Source
const (
	GDI_BLACKNESS   = 0x00000042
	GDI_DPSoon      = 0x00010289
	GDI_DPSona      = 0x00020C89
	GDI_PSon        = 0x000300AA
	GDI_SDPona      = 0x00040C88
	GDI_DPon        = 0x000500A9
	GDI_PDSxnon     = 0x00060865
	GDI_PDSaon      = 0x000702C5
	GDI_SDPnaa      = 0x00080F08
	GDI_PDSxon      = 0x00090245
	GDI_DPna        = 0x000A0329
	GDI_PSDnaon     = 0x000B0B2A
	GDI_SPna        = 0x000C0324
	GDI_PDSnaon     = 0x000D0B25
	GDI_PDSonon     = 0x000E08A5
	GDI_Pn          = 0x000F0001
	GDI_PDSona      = 0x00100C85
	GDI_NOTSRCERASE = 0x001100A6
	GDI_SDPxnon     = 0x00120868
	GDI_SDPaon      = 0x001302C8
	GDI_DPSxnon     = 0x00140869
	GDI_DPSaon      = 0x001502C9
	GDI_PSDPSanaxx  = 0x00165CCA
	GDI_SSPxDSxaxn  = 0x00171D54
	GDI_SPxPDxa     = 0x00180D59
	GDI_SDPSanaxn   = 0x00191CC8
	GDI_PDSPaox     = 0x001A06C5
	GDI_SDPSxaxn    = 0x001B0768
	GDI_PSDPaox     = 0x001C06CA
	GDI_DSPDxaxn    = 0x001D0766
	GDI_PDSox       = 0x001E01A5
	GDI_PDSoan      = 0x001F0385
	GDI_DPSnaa      = 0x00200F09
	GDI_SDPxon      = 0x00210248
	GDI_DSna        = 0x00220326
	GDI_SPDnaon     = 0x00230B24
	GDI_SPxDSxa     = 0x00240D55
	GDI_PDSPanaxn   = 0x00251CC5
	GDI_SDPSaox     = 0x002606C8
	GDI_SDPSxnox    = 0x00271868
	GDI_DPSxa       = 0x00280369
	GDI_PSDPSaoxxn  = 0x002916CA
	GDI_DPSana      = 0x002A0CC9
	GDI_SSPxPDxaxn  = 0x002B1D58
	GDI_SPDSoax     = 0x002C0784
	GDI_PSDnox      = 0x002D060A
	GDI_PSDPxox     = 0x002E064A
	GDI_PSDnoan     = 0x002F0E2A
	GDI_PSna        = 0x0030032A
	GDI_SDPnaon     = 0x00310B28
	GDI_SDPSoox     = 0x00320688
	GDI_NOTSRCCOPY  = 0x00330008
	GDI_SPDSaox     = 0x003406C4
	GDI_SPDSxnox    = 0x00351864
	GDI_SDPox       = 0x003601A8
	GDI_SDPoan      = 0x00370388
	GDI_PSDPoax     = 0x0038078A
	GDI_SPDnox      = 0x00390604
	GDI_SPDSxox     = 0x003A0644
	GDI_SPDnoan     = 0x003B0E24
	GDI_PSx         = 0x003C004A
	GDI_SPDSonox    = 0x003D18A4
	GDI_SPDSnaox    = 0x003E1B24
	GDI_PSan        = 0x003F00EA
	GDI_PSDnaa      = 0x00400F0A
	GDI_DPSxon      = 0x00410249
	GDI_SDxPDxa     = 0x00420D5D
	GDI_SPDSanaxn   = 0x00431CC4
	GDI_SRCERASE    = 0x00440328
	GDI_DPSnaon     = 0x00450B29
	GDI_DSPDaox     = 0x004606C6
	GDI_PSDPxaxn    = 0x0047076A
	GDI_SDPxa       = 0x00480368
	GDI_PDSPDaoxxn  = 0x004916C5
	GDI_DPSDoax     = 0x004A0789
	GDI_PDSnox      = 0x004B0605
	GDI_SDPana      = 0x004C0CC8
	GDI_SSPxDSxoxn  = 0x004D1954
	GDI_PDSPxox     = 0x004E0645
	GDI_PDSnoan     = 0x004F0E25
	GDI_PDna        = 0x00500325
	GDI_DSPnaon     = 0x00510B26
	GDI_DPSDaox     = 0x005206C9
	GDI_SPDSxaxn    = 0x00530764
	GDI_DPSonon     = 0x005408A9
	GDI_DSTINVERT   = 0x00550009
	GDI_DPSox       = 0x005601A9
	GDI_DPSoan      = 0x00570389
	GDI_PDSPoax     = 0x00580785
	GDI_DPSnox      = 0x00590609
	GDI_PATINVERT   = 0x005A0049
	GDI_DPSDonox    = 0x005B18A9
	GDI_DPSDxox     = 0x005C0649
	GDI_DPSnoan     = 0x005D0E29
	GDI_DPSDnaox    = 0x005E1B29
	GDI_DPan        = 0x005F00E9
	GDI_PDSxa       = 0x00600365
	GDI_DSPDSaoxxn  = 0x006116C6
	GDI_DSPDoax     = 0x00620786
	GDI_SDPnox      = 0x00630608
	GDI_SDPSoax     = 0x00640788
	GDI_DSPnox      = 0x00650606
	GDI_SRCINVERT   = 0x00660046
	GDI_SDPSonox    = 0x006718A8
	GDI_DSPDSonoxxn = 0x006858A6
	GDI_PDSxxn      = 0x00690145
	GDI_DPSax       = 0x006A01E9
	GDI_PSDPSoaxxn  = 0x006B178A
	GDI_SDPax       = 0x006C01E8
	GDI_PDSPDoaxxn  = 0x006D1785
	GDI_SDPSnoax    = 0x006E1E28
	GDI_PDSxnan     = 0x006F0C65
	GDI_PDSana      = 0x00700CC5
	GDI_SSDxPDxaxn  = 0x00711D5C
	GDI_SDPSxox     = 0x00720648
	GDI_SDPnoan     = 0x00730E28
	GDI_DSPDxox     = 0x00740646
	GDI_DSPnoan     = 0x00750E26
	GDI_SDPSnaox    = 0x00761B28
	GDI_DSan        = 0x007700E6
	GDI_PDSax       = 0x007801E5
	GDI_DSPDSoaxxn  = 0x00791786
	GDI_DPSDnoax    = 0x007A1E29
	GDI_SDPxnan     = 0x007B0C68
	GDI_SPDSnoax    = 0x007C1E24
	GDI_DPSxnan     = 0x007D0C69
	GDI_SPxDSxo     = 0x007E0955
	GDI_DPSaan      = 0x007F03C9
	GDI_DPSaa       = 0x008003E9
	GDI_SPxDSxon    = 0x00810975
	GDI_DPSxna      = 0x00820C49
	GDI_SPDSnoaxn   = 0x00831E04
	GDI_SDPxna      = 0x00840C48
	GDI_PDSPnoaxn   = 0x00851E05
	GDI_DSPDSoaxx   = 0x008617A6
	GDI_PDSaxn      = 0x008701C5
	GDI_SRCAND      = 0x008800C6
	GDI_SDPSnaoxn   = 0x00891B08
	GDI_DSPnoa      = 0x008A0E06
	GDI_DSPDxoxn    = 0x008B0666
	GDI_SDPnoa      = 0x008C0E08
	GDI_SDPSxoxn    = 0x008D0668
	GDI_SSDxPDxax   = 0x008E1D7C
	GDI_PDSanan     = 0x008F0CE5
	GDI_PDSxna      = 0x00900C45
	GDI_SDPSnoaxn   = 0x00911E08
	GDI_DPSDPoaxx   = 0x009217A9
	GDI_SPDaxn      = 0x009301C4
	GDI_PSDPSoaxx   = 0x009417AA
	GDI_DPSaxn      = 0x009501C9
	GDI_DPSxx       = 0x00960169
	GDI_PSDPSonoxx  = 0x0097588A
	GDI_SDPSonoxn   = 0x00981888
	GDI_DSxn        = 0x00990066
	GDI_DPSnax      = 0x009A0709
	GDI_SDPSoaxn    = 0x009B07A8
	GDI_SPDnax      = 0x009C0704
	GDI_DSPDoaxn    = 0x009D07A6
	GDI_DSPDSaoxx   = 0x009E16E6
	GDI_PDSxan      = 0x009F0345
	GDI_DPa         = 0x00A000C9
	GDI_PDSPnaoxn   = 0x00A11B05
	GDI_DPSnoa      = 0x00A20E09
	GDI_DPSDxoxn    = 0x00A30669
	GDI_PDSPonoxn   = 0x00A41885
	GDI_PDxn        = 0x00A50065
	GDI_DSPnax      = 0x00A60706
	GDI_PDSPoaxn    = 0x00A707A5
	GDI_DPSoa       = 0x00A803A9
	GDI_DPSoxn      = 0x00A90189
	GDI_DSTCOPY     = 0x00AA0029
	GDI_DPSono      = 0x00AB0889
	GDI_SPDSxax     = 0x00AC0744
	GDI_DPSDaoxn    = 0x00AD06E9
	GDI_DSPnao      = 0x00AE0B06
	GDI_DPno        = 0x00AF0229
	GDI_PDSnoa      = 0x00B00E05
	GDI_PDSPxoxn    = 0x00B10665
	GDI_SSPxDSxox   = 0x00B21974
	GDI_SDPanan     = 0x00B30CE8
	GDI_PSDnax      = 0x00B4070A
	GDI_DPSDoaxn    = 0x00B507A9
	GDI_DPSDPaoxx   = 0x00B616E9
	GDI_SDPxan      = 0x00B70348
	GDI_PSDPxax     = 0x00B8074A
	GDI_DSPDaoxn    = 0x00B906E6
	GDI_DPSnao      = 0x00BA0B09
	GDI_MERGEPAINT  = 0x00BB0226
	GDI_SPDSanax    = 0x00BC1CE4
	GDI_SDxPDxan    = 0x00BD0D7D
	GDI_DPSxo       = 0x00BE0269
	GDI_DPSano      = 0x00BF08C9
	GDI_MERGECOPY   = 0x00C000CA
	GDI_SPDSnaoxn   = 0x00C11B04
	GDI_SPDSonoxn   = 0x00C21884
	GDI_PSxn        = 0x00C3006A
	GDI_SPDnoa      = 0x00C40E04
	GDI_SPDSxoxn    = 0x00C50664
	GDI_SDPnax      = 0x00C60708
	GDI_PSDPoaxn    = 0x00C707AA
	GDI_SDPoa       = 0x00C803A8
	GDI_SPDoxn      = 0x00C90184
	GDI_DPSDxax     = 0x00CA0749
	GDI_SPDSaoxn    = 0x00CB06E4
	GDI_SRCCOPY     = 0x00CC0020
	GDI_SDPono      = 0x00CD0888
	GDI_SDPnao      = 0x00CE0B08
	GDI_SPno        = 0x00CF0224
	GDI_PSDnoa      = 0x00D00E0A
	GDI_PSDPxoxn    = 0x00D1066A
	GDI_PDSnax      = 0x00D20705
	GDI_SPDSoaxn    = 0x00D307A4
	GDI_SSPxPDxax   = 0x00D41D78
	GDI_DPSanan     = 0x00D50CE9
	GDI_PSDPSaoxx   = 0x00D616EA
	GDI_DPSxan      = 0x00D70349
	GDI_PDSPxax     = 0x00D80745
	GDI_SDPSaoxn    = 0x00D906E8
	GDI_DPSDanax    = 0x00DA1CE9
	GDI_SPxDSxan    = 0x00DB0D75
	GDI_SPDnao      = 0x00DC0B04
	GDI_SDno        = 0x00DD0228
	GDI_SDPxo       = 0x00DE0268
	GDI_SDPano      = 0x00DF08C8
	GDI_PDSoa       = 0x00E003A5
	GDI_PDSoxn      = 0x00E10185
	GDI_DSPDxax     = 0x00E20746
	GDI_PSDPaoxn    = 0x00E306EA
	GDI_SDPSxax     = 0x00E40748
	GDI_PDSPaoxn    = 0x00E506E5
	GDI_SDPSanax    = 0x00E61CE8
	GDI_SPxPDxan    = 0x00E70D79
	GDI_SSPxDSxax   = 0x00E81D74
	GDI_DSPDSanaxxn = 0x00E95CE6
	GDI_DPSao       = 0x00EA02E9
	GDI_DPSxno      = 0x00EB0849
	GDI_SDPao       = 0x00EC02E8
	GDI_SDPxno      = 0x00ED0848
	GDI_SRCPAINT    = 0x00EE0086
	GDI_SDPnoo      = 0x00EF0A08
	GDI_PATCOPY     = 0x00F00021
	GDI_PDSono      = 0x00F10885
	GDI_PDSnao      = 0x00F20B05
	GDI_PSno        = 0x00F3022A
	GDI_PSDnao      = 0x00F40B0A
	GDI_PDno        = 0x00F50225
	GDI_PDSxo       = 0x00F60265
	GDI_PDSano      = 0x00F708C5
	GDI_PDSao       = 0x00F802E5
	GDI_PDSxno      = 0x00F90845
	GDI_DPo         = 0x00FA0089
	GDI_PATPAINT    = 0x00FB0A09
	GDI_PSo         = 0x00FC008A
	GDI_PSDnoo      = 0x00FD0A0A
	GDI_DPSoo       = 0x00FE02A9
	GDI_WHITENESS   = 0x00FF0062
	GDI_GLYPH_ORDER = 0xFFFFFFFF
)

Ternary Raster Operations (ROP3)

View Source
const (
	TS_STANDARD             = 0x01
	TS_SECONDARY            = 0x02
	TS_BOUNDS               = 0x04
	TS_TYPE_CHANGE          = 0x08
	TS_DELTA_COORDINATES    = 0x10
	TS_ZERO_BOUNDS_DELTAS   = 0x20
	TS_ZERO_FIELD_BYTE_BIT0 = 0x40
	TS_ZERO_FIELD_BYTE_BIT1 = 0x80
)
View Source
const (
	ORDER_TYPE_DSTBLT = 0x00 //0
	ORDER_TYPE_PATBLT = 0x01 //1
	ORDER_TYPE_SCRBLT = 0x02 //2
	//ORDER_TYPE_DRAWNINEGRID       = 0x07 //7
	//ORDER_TYPE_MULTI_DRAWNINEGRID = 0x08 //8
	ORDER_TYPE_LINETO     = 0x09 //9
	ORDER_TYPE_OPAQUERECT = 0x0A //10
	ORDER_TYPE_SAVEBITMAP = 0x0B //11
	ORDER_TYPE_MEMBLT     = 0x0D //13
	ORDER_TYPE_MEM3BLT    = 0x0E //14
	//ORDER_TYPE_MULTIDSTBLT        = 0x0F //15
	//ORDER_TYPE_MULTIPATBLT        = 0x10 //16
	//ORDER_TYPE_MULTISCRBLT        = 0x11 //17
	//ORDER_TYPE_MULTIOPAQUERECT    = 0x12 //18
	//ORDER_TYPE_FAST_INDEX         = 0x13 //19
	ORDER_TYPE_POLYGON_SC = 0x14 //20
	ORDER_TYPE_POLYGON_CB = 0x15 //21
	ORDER_TYPE_POLYLINE   = 0x16 //22
	//ORDER_TYPE_FAST_GLYPH         = 0x18 //24
	ORDER_TYPE_ELLIPSE_SC = 0x19 //25
	ORDER_TYPE_ELLIPSE_CB = 0x1A //26
	ORDER_TYPE_TEXT2      = 0x1B //27
)
View Source
const (
	ORDER_TYPE_BITMAP_UNCOMPRESSED     = 0x00
	ORDER_TYPE_CACHE_COLOR_TABLE       = 0x01
	ORDER_TYPE_CACHE_BITMAP_COMPRESSED = 0x02
	ORDER_TYPE_CACHE_GLYPH             = 0x03
	ORDER_TYPE_BITMAP_UNCOMPRESSED_V2  = 0x04
	ORDER_TYPE_BITMAP_COMPRESSED_V2    = 0x05
	ORDER_TYPE_CACHE_BRUSH             = 0x07
	ORDER_TYPE_BITMAP_COMPRESSED_V3    = 0x08
)
View Source
const (
	ORDER_TYPE_SWITCH_SURFACE          = 0x00
	ORDER_TYPE_CREATE_OFFSCREEN_BITMAP = 0x01
	ORDER_TYPE_STREAM_BITMAP_FIRST     = 0x02
	ORDER_TYPE_STREAM_BITMAP_NEXT      = 0x03
	ORDER_TYPE_CREATE_NINE_GRID_BITMAP = 0x04
	ORDER_TYPE_GDIPLUS_FIRST           = 0x05
	ORDER_TYPE_GDIPLUS_NEXT            = 0x06
	ORDER_TYPE_GDIPLUS_END             = 0x07
	ORDER_TYPE_GDIPLUS_CACHE_FIRST     = 0x08
	ORDER_TYPE_GDIPLUS_CACHE_NEXT      = 0x09
	ORDER_TYPE_GDIPLUS_CACHE_END       = 0x0A
	ORDER_TYPE_WINDOW                  = 0x0B
	ORDER_TYPE_COMPDESK_FIRST          = 0x0C
	ORDER_TYPE_FRAME_MARKER            = 0x0D
)

Alternate Secondary Drawing Orders

View Source
const (
	GLYPH_FRAGMENT_NOP = 0x00
	GLYPH_FRAGMENT_USE = 0xFE
	GLYPH_FRAGMENT_ADD = 0xFF

	CBR2_HEIGHT_SAME_AS_WIDTH      = 0x01
	CBR2_PERSISTENT_KEY_PRESENT    = 0x02
	CBR2_NO_BITMAP_COMPRESSION_HDR = 0x08
	CBR2_DO_NOT_CACHE              = 0x10
)
View Source
const (
	ORDER_PRIMARY = iota
	ORDER_SECONDARY
	ORDER_ALTSEC
)
View Source
const (
	BITMAP_COMPRESSION = 0x0001
)
View Source
const (
	FASTPATH_OUTPUT_COMPRESSION_USED = 0x2
)

Variables

View Source
var Rop3CodeTable = map[int]string{}/* 256 elements not displayed */

Functions

This section is empty.

Types

type Altsec added in v0.2.0

type Altsec struct {
}

type BitmapCache2Capability added in v0.2.0

type BitmapCache2Capability struct {
	BitmapCachePersist uint16   `struc:"little"`
	Pad2octets         uint8    `struc:"little"`
	CachesNum          uint8    `struc:"little"`
	BmpC0Cells         uint32   `struc:"little"`
	BmpC1Cells         uint32   `struc:"little"`
	BmpC2Cells         uint32   `struc:"little"`
	BmpC3Cells         uint32   `struc:"little"`
	BmpC4Cells         uint32   `struc:"little"`
	Pad2octets1        [12]byte `struc:"little"`
}

func (*BitmapCache2Capability) Type added in v0.2.0

type BitmapCacheCapability

type BitmapCacheCapability struct {
	// 04002800000000000000000000000000000000000000000000000000000000000000000000000000
	Pad1                  uint32 `struc:"little"`
	Pad2                  uint32 `struc:"little"`
	Pad3                  uint32 `struc:"little"`
	Pad4                  uint32 `struc:"little"`
	Pad5                  uint32 `struc:"little"`
	Pad6                  uint32 `struc:"little"`
	Cache0Entries         uint16 `struc:"little"`
	Cache0MaximumCellSize uint16 `struc:"little"`
	Cache1Entries         uint16 `struc:"little"`
	Cache1MaximumCellSize uint16 `struc:"little"`
	Cache2Entries         uint16 `struc:"little"`
	Cache2MaximumCellSize uint16 `struc:"little"`
}

func (*BitmapCacheCapability) Type

type BitmapCacheHostSupportCapability

type BitmapCacheHostSupportCapability struct {
	CacheVersion uint8
	Pad1         uint8
	Pad2         uint16
}

see https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpbcgr/fc05c385-46c3-42cb-9ed2-c475a3990e0b

func (*BitmapCacheHostSupportCapability) Type

type BitmapCapability

type BitmapCapability struct {
	// 02001c00180001000100010000052003000000000100000001000000
	PreferredBitsPerPixel    gcc.HighColor `struc:"little"`
	Receive1BitPerPixel      uint16        `struc:"little"`
	Receive4BitsPerPixel     uint16        `struc:"little"`
	Receive8BitsPerPixel     uint16        `struc:"little"`
	DesktopWidth             uint16        `struc:"little"`
	DesktopHeight            uint16        `struc:"little"`
	Pad2octets               uint16        `struc:"little"`
	DesktopResizeFlag        uint16        `struc:"little"`
	BitmapCompressionFlag    uint16        `struc:"little"`
	HighColorFlags           uint8         `struc:"little"`
	DrawingFlags             uint8         `struc:"little"`
	MultipleRectangleSupport uint16        `struc:"little"`
	Pad2octetsB              uint16        `struc:"little"`
}

func (*BitmapCapability) Type

func (*BitmapCapability) Type() CapsType

type BitmapCodec

type BitmapCodec struct {
	GUID             [16]byte
	ID               uint8
	PropertiesLength uint16 `struc:"little,sizeof=Properties"`
	Properties       []byte
}

see https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpbcgr/86507fed-a0ee-4242-b802-237534a8f65e

type BitmapCodecsCapability

type BitmapCodecsCapability struct {
	SupportedBitmapCodecs BitmapCodecS // A variable-length field containing a TS_BITMAPCODECS structure (section 2.2.7.2.10.1).
}

see https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpbcgr/17e80f50-d163-49de-a23b-fd6456aa472f

func (*BitmapCodecsCapability) Type

type BitmapCompressedDataHeader

type BitmapCompressedDataHeader struct {
	CbCompFirstRowSize uint16 `struc:"little"`
	CbCompMainBodySize uint16 `struc:"little"`
	CbScanWidth        uint16 `struc:"little"`
	CbUncompressedSize uint16 `struc:"little"`
}

type BitmapData

type BitmapData struct {
	DestLeft         uint16 `struc:"little"`
	DestTop          uint16 `struc:"little"`
	DestRight        uint16 `struc:"little"`
	DestBottom       uint16 `struc:"little"`
	Width            uint16 `struc:"little"`
	Height           uint16 `struc:"little"`
	BitsPerPixel     uint16 `struc:"little"`
	Flags            uint16 `struc:"little"`
	BitmapLength     uint16 `struc:"little,sizeof=BitmapDataStream"`
	BitmapComprHdr   *BitmapCompressedDataHeader
	BitmapDataStream []byte
}

func (*BitmapData) IsCompress added in v0.2.0

func (b *BitmapData) IsCompress() bool

type BitmapDataEx added in v0.2.0

type BitmapDataEx struct {
	// contains filtered or unexported fields
}

type Bounds added in v0.2.0

type Bounds struct {
	// contains filtered or unexported fields
}

Primary

type Brush added in v0.2.0

type Brush struct {
	X     uint8
	Y     uint8
	Style uint8
	Hatch uint8
	Data  []byte
}

type BrushCapability

type BrushCapability struct {
	// 0f00080000000000
	SupportLevel BrushSupport `struc:"little"`
}

func (*BrushCapability) Type

func (*BrushCapability) Type() CapsType

type CacheBitmapOrder added in v0.2.0

type CacheBitmapOrder struct {
	// contains filtered or unexported fields
}

type CacheBitmapV2Order added in v0.2.0

type CacheBitmapV2Order struct {
	// contains filtered or unexported fields
}

type CacheBitmapV3Order added in v0.2.0

type CacheBitmapV3Order struct {
	// contains filtered or unexported fields
}

type CacheBrushOrder added in v0.2.0

type CacheBrushOrder struct {
	// contains filtered or unexported fields
}

type CacheColorTableOrder added in v0.2.0

type CacheColorTableOrder struct {
	// contains filtered or unexported fields
}

type CacheGlyph added in v0.2.0

type CacheGlyph struct {
	// contains filtered or unexported fields
}

type CacheGlyphOrder added in v0.2.0

type CacheGlyphOrder struct {
	// contains filtered or unexported fields
}

type Capability

type Capability interface {
	Type() CapsType
}

type CapsType

type CapsType uint16

func (CapsType) String added in v0.2.0

func (c CapsType) String() string

type Client

type Client struct {
	*PDULayer
	// contains filtered or unexported fields
}

func NewClient

func NewClient(t core.Transport) *Client

func (*Client) RecvFastPath

func (c *Client) RecvFastPath(secFlag byte, s []byte)

func (*Client) SendInputEvents added in v0.2.0

func (c *Client) SendInputEvents(msgType uint16, events []InputEventsInterface)

type ClientInputEventPDU added in v0.2.0

type ClientInputEventPDU struct {
	NumEvents           uint16               `struc:"little,sizeof=SlowPathInputEvents"`
	Pad2Octets          uint16               `struc:"little"`
	SlowPathInputEvents []SlowPathInputEvent `struc:"little"`
}

func (*ClientInputEventPDU) Type2 added in v0.2.0

func (*ClientInputEventPDU) Type2() uint8

type ColorCacheCapability

type ColorCacheCapability struct {
	CacheSize  uint16 `struc:"little"`
	Pad2octets uint16 `struc:"little"`
}

func (*ColorCacheCapability) Type

type ConfirmActivePDU

type ConfirmActivePDU struct {
	SharedId                   uint32       `struc:"little"`
	OriginatorId               uint16       `struc:"little"`
	LengthSourceDescriptor     uint16       `struc:"little,sizeof=SourceDescriptor"`
	LengthCombinedCapabilities uint16       `struc:"little"`
	SourceDescriptor           []byte       `struc:"sizefrom=LengthSourceDescriptor"`
	NumberCapabilities         uint16       `struc:"little,sizeof=CapabilitySets"`
	Pad2Octets                 uint16       `struc:"little"`
	CapabilitySets             []Capability `struc:"sizefrom=NumberCapabilities"`
}

func NewConfirmActivePDU

func NewConfirmActivePDU() *ConfirmActivePDU

func (*ConfirmActivePDU) Serialize

func (c *ConfirmActivePDU) Serialize() []byte

func (*ConfirmActivePDU) Type

func (*ConfirmActivePDU) Type() uint16

type ControlCapability

type ControlCapability struct {
	ControlFlags     uint16 `struc:"little"`
	RemoteDetachFlag uint16 `struc:"little"`
	ControlInterest  uint16 `struc:"little"`
	DetachInterest   uint16 `struc:"little"`
}

func (*ControlCapability) Type

func (*ControlCapability) Type() CapsType

type ControlDataPDU

type ControlDataPDU struct {
	Action    uint16 `struc:"little"`
	GrantId   uint16 `struc:"little"`
	ControlId uint32 `struc:"little"`
}

func (*ControlDataPDU) Type2

func (*ControlDataPDU) Type2() uint8

type ControlFlag added in v0.2.0

type ControlFlag uint8

type DataPDU

type DataPDU struct {
	Header *ShareDataHeader
	Data   DataPDUData
}

func NewDataPDU

func NewDataPDU(data DataPDUData, shareId uint32) *DataPDU

func (*DataPDU) Serialize

func (d *DataPDU) Serialize() []byte

func (*DataPDU) Type

func (*DataPDU) Type() uint16

type DataPDUData

type DataPDUData interface {
	Type2() uint8
}

type DeactiveAllPDU

type DeactiveAllPDU struct {
	ShareId                uint32 `struc:"little"`
	LengthSourceDescriptor uint16 `struc:"little,sizeof=SourceDescriptor"`
	SourceDescriptor       []byte
}

func (*DeactiveAllPDU) Serialize

func (d *DeactiveAllPDU) Serialize() []byte

func (*DeactiveAllPDU) Type

func (*DeactiveAllPDU) Type() uint16

type DemandActivePDU

type DemandActivePDU struct {
	SharedId                   uint32       `struc:"little"`
	LengthSourceDescriptor     uint16       `struc:"little,sizeof=SourceDescriptor"`
	LengthCombinedCapabilities uint16       `struc:"little"`
	SourceDescriptor           []byte       `struc:"sizefrom=LengthSourceDescriptor"`
	NumberCapabilities         uint16       `struc:"little,sizeof=CapabilitySets"`
	Pad2Octets                 uint16       `struc:"little"`
	CapabilitySets             []Capability `struc:"sizefrom=NumberCapabilities"`
	SessionId                  uint32       `struc:"little"`
}

func (*DemandActivePDU) Serialize

func (d *DemandActivePDU) Serialize() []byte

func (*DemandActivePDU) Type

func (d *DemandActivePDU) Type() uint16

type DesktopCompositionCapability

type DesktopCompositionCapability struct {
	CompDeskSupportLevel uint16 `struc:"little"`
}

see https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpbcgr/9132002f-f133-4a0f-ba2f-2dc48f1e7f93

func (*DesktopCompositionCapability) Type

type DrawGDIPlusCapability

type DrawGDIPlusCapability struct {
	SupportLevel             uint32
	GdipVersion              uint32
	CacheLevel               uint32
	GdipCacheEntries         [10]byte
	GdipCacheChunkSize       [8]byte
	GdipImageCacheProperties [6]byte
}

func (*DrawGDIPlusCapability) Type

type DrawNineGridCapability added in v0.2.0

type DrawNineGridCapability struct {
	SupportLevel uint32 `struc:"little"`
	CacheSize    uint16 `struc:"little"`
	CacheEntries uint16 `struc:"little"`
}

func (*DrawNineGridCapability) Type added in v0.2.0

type Dstblt added in v0.2.0

type Dstblt struct {
	// contains filtered or unexported fields
}

func (*Dstblt) Type added in v0.2.0

func (d *Dstblt) Type() int

func (*Dstblt) Unpack added in v0.2.0

func (d *Dstblt) Unpack(r io.Reader, present uint32, delta bool) error

type EllipeCb added in v0.2.0

type EllipeCb struct {
}

func (*EllipeCb) Type added in v0.2.0

func (d *EllipeCb) Type() int

func (*EllipeCb) Unpack added in v0.2.0

func (d *EllipeCb) Unpack(r io.Reader, present uint32, delta bool) error

type EllipeSc added in v0.2.0

type EllipeSc struct {
}

func (*EllipeSc) Type added in v0.2.0

func (d *EllipeSc) Type() int

func (*EllipeSc) Unpack added in v0.2.0

func (d *EllipeSc) Unpack(r io.Reader, present uint32, delta bool) error

type ErrorInfoDataPDU

type ErrorInfoDataPDU struct {
	ErrorInfo uint32 `struc:"little"`
}

func (*ErrorInfoDataPDU) Type2

func (*ErrorInfoDataPDU) Type2() uint8

type FastPathBitmapUpdateDataPDU

type FastPathBitmapUpdateDataPDU struct {
	Header           uint16 `struc:"little"`
	NumberRectangles uint16 `struc:"little,sizeof=Rectangles"`
	Rectangles       []BitmapData
}

func (*FastPathBitmapUpdateDataPDU) FastPathUpdateType

func (*FastPathBitmapUpdateDataPDU) FastPathUpdateType() uint8

func (*FastPathBitmapUpdateDataPDU) Unpack added in v0.2.0

type FastPathColorPdu added in v0.2.0

type FastPathColorPdu struct {
	CacheIdx uint16
	X        uint16
	Y        uint16
	Width    uint16
	Height   uint16
	MaskLen  uint16 `struc:"little,sizeof=Mask"`
	DataLen  uint16 `struc:"little,sizeof=Data"`
	Mask     []byte
	Data     []byte
}

func (*FastPathColorPdu) FastPathUpdateType added in v0.2.0

func (*FastPathColorPdu) FastPathUpdateType() uint8

func (*FastPathColorPdu) Unpack added in v0.2.0

func (f *FastPathColorPdu) Unpack(r io.Reader) error

type FastPathOrdersPDU added in v0.2.0

type FastPathOrdersPDU struct {
	NumberOrders uint16
	OrderPdus    []OrderPdu
}

func (*FastPathOrdersPDU) FastPathUpdateType added in v0.2.0

func (*FastPathOrdersPDU) FastPathUpdateType() uint8

func (*FastPathOrdersPDU) Unpack added in v0.2.0

func (f *FastPathOrdersPDU) Unpack(r io.Reader) error

type FastPathSurfaceCmds added in v0.2.0

type FastPathSurfaceCmds struct {
}

func (*FastPathSurfaceCmds) FastPathUpdateType added in v0.2.0

func (*FastPathSurfaceCmds) FastPathUpdateType() uint8

func (*FastPathSurfaceCmds) Unpack added in v0.2.0

func (f *FastPathSurfaceCmds) Unpack(r io.Reader) error

type FastPathUpdatePDU

type FastPathUpdatePDU struct {
	UpdateHeader     uint8
	Fragmentation    uint8
	CompressionFlags uint8
	Size             uint16
	Data             UpdateData
}

type FastPathUpdateType added in v0.2.0

type FastPathUpdateType uint8

func (FastPathUpdateType) String added in v0.2.0

func (t FastPathUpdateType) String() string

type FontCapability

type FontCapability struct {
	SupportFlags uint16 `struc:"little"`
	Pad2octets   uint16 `struc:"little"`
}

func (*FontCapability) Type

func (*FontCapability) Type() CapsType

type FontListDataPDU

type FontListDataPDU struct {
	NumberFonts   uint16 `struc:"little"`
	TotalNumFonts uint16 `struc:"little"`
	ListFlags     uint16 `struc:"little"`
	EntrySize     uint16 `struc:"little"`
}

func (*FontListDataPDU) Type2

func (*FontListDataPDU) Type2() uint8

type FontMapDataPDU

type FontMapDataPDU struct {
	NumberEntries   uint16 `struc:"little"`
	TotalNumEntries uint16 `struc:"little"`
	MapFlags        uint16 `struc:"little"`
	EntrySize       uint16 `struc:"little"`
}

func (*FontMapDataPDU) Type2

func (*FontMapDataPDU) Type2() uint8

type FrameAcknowledgeCapability added in v0.2.0

type FrameAcknowledgeCapability struct {
	FrameCount uint32 `struc:"little"`
}

func (*FrameAcknowledgeCapability) Type added in v0.2.0

type GeneralCapability

type GeneralCapability struct {
	// 010018000100030000020000000015040000000000000000
	OSMajorType             MajorType `struc:"little"`
	OSMinorType             MinorType `struc:"little"`
	ProtocolVersion         uint16    `struc:"little"`
	Pad2octetsA             uint16    `struc:"little"`
	GeneralCompressionTypes uint16    `struc:"little"`
	ExtraFlags              uint16    `struc:"little"`
	UpdateCapabilityFlag    uint16    `struc:"little"`
	RemoteUnshareFlag       uint16    `struc:"little"`
	GeneralCompressionLevel uint16    `struc:"little"`
	RefreshRectSupport      uint8     `struc:"little"`
	SuppressOutputSupport   uint8     `struc:"little"`
}

func (*GeneralCapability) Type

func (*GeneralCapability) Type() CapsType

type GlayphIndex added in v0.2.0

type GlayphIndex struct {
}

func (*GlayphIndex) Type added in v0.2.0

func (d *GlayphIndex) Type() int

func (*GlayphIndex) Unpack added in v0.2.0

func (d *GlayphIndex) Unpack(r io.Reader, present uint32, delta bool) error

type GlyphCapability

type GlyphCapability struct {
	// 10003400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
	GlyphCache   [10]cacheEntry `struc:"little"`
	FragCache    uint32         `struc:"little"`
	SupportLevel GlyphSupport   `struc:"little"`
	Pad2octets   uint16         `struc:"little"`
}

func (*GlyphCapability) Type

func (*GlyphCapability) Type() CapsType

type InfoType added in v0.2.0

type InfoType uint32

type InputCapability

type InputCapability struct {
	// 0d005c001500000009040000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000
	Flags       uint16 `struc:"little"`
	Pad2octetsA uint16 `struc:"little"`
	// same value as gcc.ClientCoreSettings.kbdLayout
	KeyboardLayout gcc.KeyboardLayout `struc:"little"`
	// same value as gcc.ClientCoreSettings.keyboardType
	KeyboardType uint32 `struc:"little"`
	// same value as gcc.ClientCoreSettings.keyboardSubType
	KeyboardSubType uint32 `struc:"little"`
	// same value as gcc.ClientCoreSettings.keyboardFnKeys
	KeyboardFunctionKey uint32 `struc:"little"`
	// same value as gcc.ClientCoreSettingrrs.imeFileName
	ImeFileName [64]byte
}

func (*InputCapability) Type

func (*InputCapability) Type() CapsType

type InputEventsInterface added in v0.2.0

type InputEventsInterface interface {
	Serialize() []byte
}

type LargePointerCapability

type LargePointerCapability struct {
	SupportFlags uint16 `struc:"little"`
}

see https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpbcgr/41323437-c753-460e-8108-495a6fdd68a8

func (*LargePointerCapability) Type

type LineTo added in v0.2.0

type LineTo struct {
	Mixmode  uint16
	Startx   int32
	Starty   int32
	Endx     int32
	Endy     int32
	Bgcolour [4]uint8
	Opcode   uint8
	Pen      Pen
}

func (*LineTo) Type added in v0.2.0

func (d *LineTo) Type() int

func (*LineTo) Unpack added in v0.2.0

func (d *LineTo) Unpack(r io.Reader, present uint32, delta bool) error

type LogonFields added in v0.2.0

type LogonFields struct {
	CbFileData uint32 `struc:"little"`
	Len        uint32 //28 `struc:"little"`
	Version    uint32 // 1 `struc:"little"`
	LogonId    uint32 `struc:"little"`
	// contains filtered or unexported fields
}

type MajorType

type MajorType uint16

type Mem3blt added in v0.2.0

type Mem3blt struct {
	ColourTable uint8
	CacheId     uint8
	X           int32
	Y           int32
	Cx          int32
	Cy          int32
	Opcode      uint8
	Srcx        int32
	Srcy        int32
	Bgcolour    [4]uint8
	Fgcolour    [4]uint8
	Brush       Brush
	CacheIdx    uint16
}

func (*Mem3blt) Type added in v0.2.0

func (d *Mem3blt) Type() int

func (*Mem3blt) Unpack added in v0.2.0

func (d *Mem3blt) Unpack(r io.Reader, present uint32, delta bool) error

type Memblt added in v0.2.0

type Memblt struct {
	ColourTable uint8
	CacheId     uint8
	X           int32
	Y           int32
	Cx          int32
	Cy          int32
	Opcode      uint8
	Srcx        int32
	Srcy        int32
	CacheIdx    uint16
}

func (*Memblt) Type added in v0.2.0

func (d *Memblt) Type() int

func (*Memblt) Unpack added in v0.2.0

func (d *Memblt) Unpack(r io.Reader, present uint32, delta bool) error

type MinorType

type MinorType uint16

type MultiFragmentUpdate

type MultiFragmentUpdate struct {
	// 1a00080000000000
	MaxRequestSize uint32 `struc:"little"`
}

func (*MultiFragmentUpdate) Type

func (*MultiFragmentUpdate) Type() CapsType

type OffscreenBitmapCacheCapability

type OffscreenBitmapCacheCapability struct {
	// 11000c000000000000000000
	SupportLevel OffscreenSupportLevel `struc:"little"`
	CacheSize    uint16                `struc:"little"`
	CacheEntries uint16                `struc:"little"`
}

func (*OffscreenBitmapCacheCapability) Type

type OffscreenSupportLevel

type OffscreenSupportLevel uint32

*

const (
	OSL_FALSE OffscreenSupportLevel = 0x00000000
	OSL_TRUE                        = 0x00000001
)

type OpaqueRect added in v0.2.0

type OpaqueRect struct {
	X      int32
	Y      int32
	Cx     int32
	Cy     int32
	Colour [4]uint8
}

func (*OpaqueRect) Type added in v0.2.0

func (d *OpaqueRect) Type() int

func (*OpaqueRect) Unpack added in v0.2.0

func (d *OpaqueRect) Unpack(r io.Reader, present uint32, delta bool) error

type OrderCapability

type OrderCapability struct {
	// 030058000000000000000000000000000000000000000000010014000000010000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000008403000000000000000000
	TerminalDescriptor      [16]byte
	Pad4octetsA             uint32    `struc:"little"`
	DesktopSaveXGranularity uint16    `struc:"little"`
	DesktopSaveYGranularity uint16    `struc:"little"`
	Pad2octetsA             uint16    `struc:"little"`
	MaximumOrderLevel       uint16    `struc:"little"`
	NumberFonts             uint16    `struc:"little"`
	OrderFlags              OrderFlag `struc:"little"`
	OrderSupport            [32]byte
	TextFlags               uint16 `struc:"little"`
	OrderSupportExFlags     uint16 `struc:"little"`
	Pad4octetsB             uint32 `struc:"little"`
	DesktopSaveSize         uint32 `struc:"little"`
	Pad2octetsC             uint16 `struc:"little"`
	Pad2octetsD             uint16 `struc:"little"`
	TextANSICodePage        uint16 `struc:"little"`
	Pad2octetsE             uint16 `struc:"little"`
}

func (*OrderCapability) Type

func (*OrderCapability) Type() CapsType

type OrderEx

type OrderEx uint16
const (
	ORDERFLAGS_EX_CACHE_BITMAP_REV3_SUPPORT   OrderEx = 0x0002
	ORDERFLAGS_EX_ALTSEC_FRAME_MARKER_SUPPORT         = 0x0004
)

type OrderFlag

type OrderFlag uint16

type OrderInfo added in v0.2.0

type OrderInfo struct {
	// contains filtered or unexported fields
}

type OrderPdu added in v0.2.0

type OrderPdu struct {
	ControlFlags uint8
	Type         int
	Altsec       *Altsec
	Primary      *Primary
	Secondary    *Secondary
}

func (*OrderPdu) HasBounds added in v0.2.0

func (o *OrderPdu) HasBounds() bool

type PDU

type PDU struct {
	ShareCtrlHeader *ShareControlHeader
	Message         PDUMessage
}

func NewPDU

func NewPDU(userId uint16, message PDUMessage) *PDU

type PDULayer

type PDULayer struct {
	emission.Emitter
	// contains filtered or unexported fields
}

func NewPDULayer

func NewPDULayer(t core.Transport) *PDULayer

func (*PDULayer) SetFastPathSender

func (p *PDULayer) SetFastPathSender(f core.FastPathSender)

type PDUMessage

type PDUMessage interface {
	Type() uint16
	Serialize() []byte
}

type Patblt added in v0.2.0

type Patblt struct {
	// contains filtered or unexported fields
}

func (*Patblt) Type added in v0.2.0

func (d *Patblt) Type() int

func (*Patblt) Unpack added in v0.2.0

func (d *Patblt) Unpack(r io.Reader, present uint32, delta bool) error

type PduType2 added in v0.2.0

type PduType2 uint8

func (PduType2) String added in v0.2.0

func (p PduType2) String() string

type Pen added in v0.2.0

type Pen struct {
	Style  uint8
	Width  uint8
	Colour [4]uint8
}

type PersistKeyPDU added in v0.2.0

type PersistKeyPDU struct {
	NumEntriesCache0   uint16 `struc:"little"`
	NumEntriesCache1   uint16 `struc:"little"`
	NumEntriesCache2   uint16 `struc:"little"`
	NumEntriesCache3   uint16 `struc:"little"`
	NumEntriesCache4   uint16 `struc:"little"`
	TotalEntriesCache0 uint16 `struc:"little"`
	TotalEntriesCache1 uint16 `struc:"little"`
	TotalEntriesCache2 uint16 `struc:"little"`
	TotalEntriesCache3 uint16 `struc:"little"`
	TotalEntriesCache4 uint16 `struc:"little"`
	BBitMask           uint8  `struc:"little"`
	Pad1               uint8  `struc:"little"`
	Ppad3              uint16 `struc:"little"`
}

func (*PersistKeyPDU) Type2 added in v0.2.0

func (*PersistKeyPDU) Type2() uint8

type Point added in v0.2.0

type Point struct {
	X int32
	Y int32
}

type PointerCapability

type PointerCapability struct {
	ColorPointerFlag      uint16 `struc:"little"`
	ColorPointerCacheSize uint16 `struc:"little"`
	// old version of rdp doesn't support ...
	PointerCacheSize uint16 `struc:"little"` // only server need
}

func (*PointerCapability) Type

func (*PointerCapability) Type() CapsType

type PointerEvent added in v0.2.0

type PointerEvent struct {
	PointerFlags uint16 `struc:"little"`
	XPos         uint16 `struc:"little"`
	YPos         uint16 `struc:"little"`
}

func (*PointerEvent) Serialize added in v0.2.0

func (p *PointerEvent) Serialize() []byte

type PolygonCb added in v0.2.0

type PolygonCb struct {
}

func (*PolygonCb) Type added in v0.2.0

func (d *PolygonCb) Type() int

func (*PolygonCb) Unpack added in v0.2.0

func (d *PolygonCb) Unpack(r io.Reader, present uint32, delta bool) error

type PolygonSc added in v0.2.0

type PolygonSc struct {
	X        int32
	Y        int32
	Opcode   uint8
	Fillmode uint8
	Fgcolour [4]uint8
	Npoints  uint8
	Points   []Point
}

func (*PolygonSc) Type added in v0.2.0

func (d *PolygonSc) Type() int

func (*PolygonSc) Unpack added in v0.2.0

func (d *PolygonSc) Unpack(r io.Reader, present uint32, delta bool) error

type Polyline added in v0.2.0

type Polyline struct {
}

func (*Polyline) Type added in v0.2.0

func (d *Polyline) Type() int

func (*Polyline) Unpack added in v0.2.0

func (d *Polyline) Unpack(r io.Reader, present uint32, delta bool) error

type Primary added in v0.2.0

type Primary struct {
	Bounds Bounds
	Data   PrimaryOrder
}

type PrimaryOrder added in v0.2.0

type PrimaryOrder interface {
	Type() int
	Unpack(io.Reader, uint32, bool) error
}

type PrimaryOrderType added in v0.2.0

type PrimaryOrderType uint8

type RailsupportLevel added in v0.2.0

type RailsupportLevel uint32

type RemoteProgramsCapability

type RemoteProgramsCapability struct {
	RailSupportLevel uint32 `struc:"little"`
}

see https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdperp/36a25e21-25e1-4954-aae8-09aaf6715c79

func (*RemoteProgramsCapability) Type

type SaveBitmap added in v0.2.0

type SaveBitmap struct {
	Offset uint32
	Left   int32
	Top    int32
	Right  int32
	Bottom int32
	// contains filtered or unexported fields
}

func (*SaveBitmap) Type added in v0.2.0

func (d *SaveBitmap) Type() int

func (*SaveBitmap) Unpack added in v0.2.0

func (d *SaveBitmap) Unpack(r io.Reader, present uint32, delta bool) error

type SaveSessionInfo added in v0.2.0

type SaveSessionInfo struct {
	InfoType      uint32
	Length        uint16
	FieldsPresent uint32
	LogonId       uint32
	Random        []byte
}

func (*SaveSessionInfo) Type2 added in v0.2.0

func (*SaveSessionInfo) Type2() uint8

func (*SaveSessionInfo) Unpack added in v0.2.0

func (s *SaveSessionInfo) Unpack(r io.Reader) (err error)

type ScancodeKeyEvent added in v0.2.0

type ScancodeKeyEvent struct {
	KeyboardFlags uint16 `struc:"little"`
	KeyCode       uint16 `struc:"little"`
	Pad2Octets    uint16 `struc:"little"`
}

func (*ScancodeKeyEvent) Serialize added in v0.2.0

func (p *ScancodeKeyEvent) Serialize() []byte

type Scrblt added in v0.2.0

type Scrblt struct {
	X      int32
	Y      int32
	Cx     int32
	Cy     int32
	Opcode uint8
	Srcx   int32
	Srcy   int32
}

func (*Scrblt) Type added in v0.2.0

func (d *Scrblt) Type() int

func (*Scrblt) Unpack added in v0.2.0

func (d1 *Scrblt) Unpack(r io.Reader, present uint32, delta bool) error

type Secondary added in v0.2.0

type Secondary struct {
}

type SecondaryOrderType added in v0.2.0

type SecondaryOrderType uint8

func (SecondaryOrderType) String added in v0.2.0

func (s SecondaryOrderType) String() string

type ShareCapability

type ShareCapability struct {
	NodeId     uint16 `struc:"little"`
	Pad2octets uint16 `struc:"little"`
}

func (*ShareCapability) Type

func (*ShareCapability) Type() CapsType

type ShareControlHeader

type ShareControlHeader struct {
	TotalLength uint16 `struc:"little"`
	PDUType     uint16 `struc:"little"`
	PDUSource   uint16 `struc:"little"`
}

type ShareDataHeader

type ShareDataHeader struct {
	SharedId           uint32 `struc:"little"`
	Padding1           uint8  `struc:"little"`
	StreamId           uint8  `struc:"little"`
	UncompressedLength uint16 `struc:"little"`
	PDUType2           uint8  `struc:"little"`
	CompressedType     uint8  `struc:"little"`
	CompressedLength   uint16 `struc:"little"`
}

func NewShareDataHeader

func NewShareDataHeader(size int, type2 uint8, shareId uint32) *ShareDataHeader

type SlowPathInputEvent added in v0.2.0

type SlowPathInputEvent struct {
	EventTime         uint32 `struc:"little"`
	MessageType       uint16 `struc:"little"`
	Size              int    `struc:"skip"`
	SlowPathInputData []byte `struc:"sizefrom=Size"`
}

type SoundCapability

type SoundCapability struct {
	// 0c00080000000000
	Flags      SoundFlag `struc:"little"`
	Pad2octets uint16    `struc:"little"`
}

func (*SoundCapability) Type

func (*SoundCapability) Type() CapsType

type SoundFlag

type SoundFlag uint16
const (
	SOUND_NONE       SoundFlag = 0x0000
	SOUND_BEEPS_FLAG           = 0x0001
)

type SurfaceCmdFlags added in v0.2.0

type SurfaceCmdFlags uint32

type SurfaceCommandsCapability

type SurfaceCommandsCapability struct {
	CmdFlags uint32 `struc:"little"`
	Reserved uint32 `struc:"little"`
}

see https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpbcgr/aa953018-c0a8-4761-bb12-86586c2cd56a

func (*SurfaceCommandsCapability) Type

type SynchronizeDataPDU

type SynchronizeDataPDU struct {
	MessageType uint16 `struc:"little"`
	TargetUser  uint16 `struc:"little"`
}

func NewSynchronizeDataPDU

func NewSynchronizeDataPDU(targetUser uint16) *SynchronizeDataPDU

func (*SynchronizeDataPDU) Type2

func (*SynchronizeDataPDU) Type2() uint8

type SynchronizeEvent added in v0.2.0

type SynchronizeEvent struct {
	Pad2Octets  uint16 `struc:"little"`
	ToggleFlags uint32 `struc:"little"`
}

func (*SynchronizeEvent) Serialize added in v0.2.0

func (p *SynchronizeEvent) Serialize() []byte

type UnicodeKeyEvent added in v0.2.0

type UnicodeKeyEvent struct {
	KeyboardFlags uint16 `struc:"little"`
	Unicode       uint16 `struc:"little"`
	Pad2Octets    uint16 `struc:"little"`
}

func (*UnicodeKeyEvent) Serialize added in v0.2.0

func (p *UnicodeKeyEvent) Serialize() []byte

type UpdateData

type UpdateData interface {
	FastPathUpdateType() uint8
	Unpack(io.Reader) error
}

type VirtualChannelCapability

type VirtualChannelCapability struct {
	// 14000c000000000000000000
	Flags       VirtualChannelCompressionFlag `struc:"little"`
	VCChunkSize uint32                        `struc:"little"` // optional
}

func (*VirtualChannelCapability) Type

type WindowActivationCapability

type WindowActivationCapability struct {
	HelpKeyFlag          uint16 `struc:"little"`
	HelpKeyIndexFlag     uint16 `struc:"little"`
	HelpExtendedKeyFlag  uint16 `struc:"little"`
	WindowManagerKeyFlag uint16 `struc:"little"`
}

func (*WindowActivationCapability) Type

type WindowListCapability

type WindowListCapability struct {
	WndSupportLevel     uint32 `struc:"little"`
	NumIconCaches       uint8
	NumIconCacheEntries uint16 `struc:"little"`
}

see https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdperp/82ec7a69-f7e3-4294-830d-666178b35d15

func (*WindowListCapability) Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL