pdu

package
v0.0.0-...-521b610 Latest Latest
Warning

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

Go to latest
Published: Nov 3, 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

type Altsec struct {
}

type BitmapCache2Capability

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

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

func (b *BitmapData) IsCompress() bool

type BitmapDataEx

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

type BitmapUpdateDataPDU

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

func (*BitmapUpdateDataPDU) FastPathUpdateType

func (*BitmapUpdateDataPDU) FastPathUpdateType() uint8

func (*BitmapUpdateDataPDU) Unpack

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

type Bounds

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

Primary

type Brush

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

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

type CacheBitmapV2Order

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

type CacheBitmapV3Order

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

type CacheBrushOrder

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

type CacheColorTableOrder

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

type CacheGlyph

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

type CacheGlyphOrder

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

type Capability

type Capability interface {
	Type() CapsType
}

type CapsType

type CapsType uint16

func (CapsType) String

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

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

type ClientInputEventPDU

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

func (*ClientInputEventPDU) Type2

func (*ClientInputEventPDU) Type2() uint8

func (*ClientInputEventPDU) Unpack

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

func (*ControlDataPDU) Unpack

func (d *ControlDataPDU) Unpack(r io.Reader) error

type ControlFlag

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
	Unpack(io.Reader) error
}

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

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

func (*DrawNineGridCapability) Type

type Dstblt

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

func (*Dstblt) Type

func (d *Dstblt) Type() int

func (*Dstblt) Unpack

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

type EllipeCb

type EllipeCb struct {
}

func (*EllipeCb) Type

func (d *EllipeCb) Type() int

func (*EllipeCb) Unpack

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

type EllipeSc

type EllipeSc struct {
}

func (*EllipeSc) Type

func (d *EllipeSc) Type() int

func (*EllipeSc) Unpack

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

func (*ErrorInfoDataPDU) Unpack

func (d *ErrorInfoDataPDU) Unpack(r io.Reader) error

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

type FastPathColorPdu

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

func (*FastPathColorPdu) FastPathUpdateType() uint8

func (*FastPathColorPdu) Unpack

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

type FastPathOrdersPDU

type FastPathOrdersPDU struct {
	NumberOrders uint16
	OrderPdus    []OrderPdu
}

func (*FastPathOrdersPDU) FastPathUpdateType

func (*FastPathOrdersPDU) FastPathUpdateType() uint8

func (*FastPathOrdersPDU) Unpack

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

type FastPathSurfaceCmds

type FastPathSurfaceCmds struct {
}

func (*FastPathSurfaceCmds) FastPathUpdateType

func (*FastPathSurfaceCmds) FastPathUpdateType() uint8

func (*FastPathSurfaceCmds) Unpack

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

type FastPathUpdateType uint8

func (FastPathUpdateType) String

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

func (*FontListDataPDU) Unpack

func (d *FontListDataPDU) Unpack(r io.Reader) error

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

func (*FontMapDataPDU) Unpack

func (d *FontMapDataPDU) Unpack(r io.Reader) error

type FrameAcknowledgeCapability

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

func (*FrameAcknowledgeCapability) Type

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

type GlayphIndex struct {
}

func (*GlayphIndex) Type

func (d *GlayphIndex) Type() int

func (*GlayphIndex) Unpack

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

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

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

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

func (*LineTo) Type

func (d *LineTo) Type() int

func (*LineTo) Unpack

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

type LogonFields

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

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

func (d *Mem3blt) Type() int

func (*Mem3blt) Unpack

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

type Memblt

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

func (d *Memblt) Type() int

func (*Memblt) Unpack

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

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

func (*OpaqueRect) Type

func (d *OpaqueRect) Type() int

func (*OpaqueRect) Unpack

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

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

type OrderPdu

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

func (*OrderPdu) HasBounds

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

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

func (*Patblt) Type

func (d *Patblt) Type() int

func (*Patblt) Unpack

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

type PduType2

type PduType2 uint8

func (PduType2) String

func (p PduType2) String() string

type Pen

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

type PersistKeyPDU

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

func (*PersistKeyPDU) Type2() uint8

type Point

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

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

func (*PointerEvent) Serialize

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

type PolygonCb

type PolygonCb struct {
}

func (*PolygonCb) Type

func (d *PolygonCb) Type() int

func (*PolygonCb) Unpack

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

type PolygonSc

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

func (*PolygonSc) Type

func (d *PolygonSc) Type() int

func (*PolygonSc) Unpack

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

type Polyline

type Polyline struct {
}

func (*Polyline) Type

func (d *Polyline) Type() int

func (*Polyline) Unpack

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

type Primary

type Primary struct {
	Bounds Bounds
	Data   PrimaryOrder
}

type PrimaryOrder

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

type PrimaryOrderType

type PrimaryOrderType uint8

type RailsupportLevel

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

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

func (*SaveBitmap) Type

func (d *SaveBitmap) Type() int

func (*SaveBitmap) Unpack

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

type SaveSessionInfo

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

func (*SaveSessionInfo) Type2

func (*SaveSessionInfo) Type2() uint8

func (*SaveSessionInfo) Unpack

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

type ScancodeKeyEvent

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

func (*ScancodeKeyEvent) Serialize

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

type Scrblt

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

func (*Scrblt) Type

func (d *Scrblt) Type() int

func (*Scrblt) Unpack

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

type Secondary

type Secondary struct {
}

type SecondaryOrderType

type SecondaryOrderType uint8

func (SecondaryOrderType) String

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

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

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

func (*SynchronizeDataPDU) Unpack

func (d *SynchronizeDataPDU) Unpack(r io.Reader) error

type SynchronizeEvent

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

func (*SynchronizeEvent) Serialize

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

type UnicodeKeyEvent

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

func (*UnicodeKeyEvent) Serialize

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

type UpdateData

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

type UpdateDataPDU

type UpdateDataPDU struct {
	UpdateType uint16
	Udata      UpdateData
}

func (*UpdateDataPDU) Type2

func (*UpdateDataPDU) Type2() uint8

func (*UpdateDataPDU) Unpack

func (d *UpdateDataPDU) Unpack(r io.Reader) (err 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