-
Notifications
You must be signed in to change notification settings - Fork 4
/
ts_order_capabilityset.go
58 lines (51 loc) · 1.48 KB
/
ts_order_capabilityset.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
package capability
import (
"github.com/GoFeGroup/gordp/core"
"io"
)
const (
NEGOTIATEORDERSUPPORT = 0x0002
ZEROBOUNDSDELTASSUPPORT = 0x0008
COLORINDEXSUPPORT = 0x0020
SOLIDPATTERNBRUSHONLY = 0x0040
ORDERFLAGS_EXTRA_FLAGS = 0x0080
)
// TsOrderCapabilitySet
// https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpbcgr/9f409c29-480c-4751-9665-510b8ffff294
type TsOrderCapabilitySet struct {
TerminalDescriptor [16]byte
Pad4octetsA uint32
DesktopSaveXGranularity uint16
DesktopSaveYGranularity uint16
Pad2octetsA uint16
MaximumOrderLevel uint16
NumberFonts uint16
OrderFlags uint16
OrderSupport [32]byte
TextFlags uint16
OrderSupportExFlags uint16
Pad4octetsB uint32
DesktopSaveSize uint32
Pad2octetsC uint16
Pad2octetsD uint16
TextANSICodePage uint16
Pad2octetsE uint16
}
func (c *TsOrderCapabilitySet) Type() uint16 {
return CAPSTYPE_ORDER
}
func (c *TsOrderCapabilitySet) Read(r io.Reader) TsCapsSet {
return core.ReadLE(r, c)
}
func (c *TsOrderCapabilitySet) Write(w io.Writer) {
core.WriteLE(w, c)
}
func NewTsOrderCapabilitySet() *TsOrderCapabilitySet {
return &TsOrderCapabilitySet{
DesktopSaveXGranularity: 1,
DesktopSaveYGranularity: 20,
MaximumOrderLevel: 1,
OrderFlags: NEGOTIATEORDERSUPPORT | ZEROBOUNDSDELTASSUPPORT,
DesktopSaveSize: 480 * 480,
}
}