rdp

package
v0.0.0-...-7cc2f1d Latest Latest
Warning

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

Go to latest
Published: Dec 4, 2023 License: GPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUnsupportedRequestedProtocol = errors.New("unsupported requested protocol")
)

Functions

func NewClient

func NewClient(
	hostname, username, password string,
	desktopWidth, desktopHeight int,
) (*client, error)

Types

type ChannelFlag

type ChannelFlag uint32
const (
	// ChannelFlagFirst CHANNEL_FLAG_FIRST
	ChannelFlagFirst ChannelFlag = 0x00000001

	// ChannelFlagLast CHANNEL_FLAG_LAST
	ChannelFlagLast ChannelFlag = 0x00000002

	// ChannelFlagShowProtocol CHANNEL_FLAG_SHOW_PROTOCOL
	ChannelFlagShowProtocol ChannelFlag = 0x00000010

	// ChannelFlagSuspend CHANNEL_FLAG_SUSPEND
	ChannelFlagSuspend ChannelFlag = 0x00000020

	// ChannelFlagResume CHANNEL_FLAG_RESUME
	ChannelFlagResume ChannelFlag = 0x00000040

	// ChannelFlagShadowPersistent CHANNEL_FLAG_SHADOW_PERSISTENT
	ChannelFlagShadowPersistent ChannelFlag = 0x00000080

	// ChannelFlagCompressed CHANNEL_PACKET_COMPRESSED
	ChannelFlagCompressed ChannelFlag = 0x00200000

	// ChannelFlagAtFront CHANNEL_PACKET_AT_FRONT
	ChannelFlagAtFront ChannelFlag = 0x00400000

	// ChannelFlagFlushed CHANNEL_PACKET_FLUSHED
	ChannelFlagFlushed ChannelFlag = 0x00800000
)

type ChannelPDUHeader

type ChannelPDUHeader struct {
	Flags ChannelFlag
}

ChannelPDUHeader CHANNEL_PDU_HEADER

func (*ChannelPDUHeader) Deserialize

func (h *ChannelPDUHeader) Deserialize(wire io.Reader) error

func (*ChannelPDUHeader) Serialize

func (h *ChannelPDUHeader) Serialize() []byte

type ProtocolCode

type ProtocolCode uint8

func (ProtocolCode) IsFastpath

func (a ProtocolCode) IsFastpath() bool

func (ProtocolCode) IsX224

func (a ProtocolCode) IsX224() bool

type RailOrder

type RailOrder uint16
const (
	// RailOrderExec TS_RAIL_ORDER_EXEC
	RailOrderExec RailOrder = 0x0001

	// RailOrderActivate TS_RAIL_ORDER_ACTIVATE
	RailOrderActivate RailOrder = 0x0002

	// RailOrderSysParam TS_RAIL_ORDER_SYSPARAM
	RailOrderSysParam RailOrder = 0x0003

	// RailOrderSysCommand TS_RAIL_ORDER_SYSCOMMAND
	RailOrderSysCommand RailOrder = 0x0004

	// RailOrderHandshake TS_RAIL_ORDER_HANDSHAKE
	RailOrderHandshake RailOrder = 0x0005

	// RailOrderNotifyEvent TS_RAIL_ORDER_NOTIFY_EVENT
	RailOrderNotifyEvent RailOrder = 0x0006

	// RailOrderWindowMove TS_RAIL_ORDER_WINDOWMOVE
	RailOrderWindowMove RailOrder = 0x0008

	// RailOrderLocalMoveSize TS_RAIL_ORDER_LOCALMOVESIZE
	RailOrderLocalMoveSize RailOrder = 0x0009

	// RailOrderMinMaxInfo TS_RAIL_ORDER_MINMAXINFO
	RailOrderMinMaxInfo RailOrder = 0x000a

	// RailOrderClientStatus TS_RAIL_ORDER_CLIENTSTATUS
	RailOrderClientStatus RailOrder = 0x000b

	// RailOrderSysMenu TS_RAIL_ORDER_SYSMENU
	RailOrderSysMenu RailOrder = 0x000c

	// RailOrderLangBarInfo TS_RAIL_ORDER_LANGBARINFO
	RailOrderLangBarInfo RailOrder = 0x000d

	// RailOrderExecResult TS_RAIL_ORDER_EXEC_RESULT
	RailOrderExecResult RailOrder = 0x0080

	// RailOrderGetAppIDReq TS_RAIL_ORDER_GET_APPID_REQ
	RailOrderGetAppIDReq RailOrder = 0x000E

	// RailOrderAppIDResp TS_RAIL_ORDER_GET_APPID_RESP
	RailOrderAppIDResp RailOrder = 0x000F

	// RailOrderTaskBarInfo TS_RAIL_ORDER_TASKBARINFO
	RailOrderTaskBarInfo RailOrder = 0x0010

	// RailOrderLanguageIMEInfo TS_RAIL_ORDER_LANGUAGEIMEINFO
	RailOrderLanguageIMEInfo RailOrder = 0x0011

	// RailOrderCompartmentInfo TS_RAIL_ORDER_COMPARTMENTINFO
	RailOrderCompartmentInfo RailOrder = 0x0012

	// RailOrderHandshakeEx TS_RAIL_ORDER_HANDSHAKE_EX
	RailOrderHandshakeEx RailOrder = 0x0013

	// RailOrderZOrderSync TS_RAIL_ORDER_ZORDER_SYNC
	RailOrderZOrderSync RailOrder = 0x0014

	// RailOrderCloak TS_RAIL_ORDER_CLOAK
	RailOrderCloak RailOrder = 0x0015

	// RailOrderPowerDisplayRequest TS_RAIL_ORDER_POWER_DISPLAY_REQUEST
	RailOrderPowerDisplayRequest RailOrder = 0x0016

	// RailOrderSnapArrange TS_RAIL_ORDER_SNAP_ARRANGE
	RailOrderSnapArrange RailOrder = 0x0017

	// RailOrderGetAppIDRespEx TS_RAIL_ORDER_GET_APPID_RESP_EX
	RailOrderGetAppIDRespEx RailOrder = 0x0018

	// RailOrderTextScaleInfo TS_RAIL_ORDER_TEXTSCALEINFO
	RailOrderTextScaleInfo RailOrder = 0x0019

	// RailOrderCaretBlinkInfo TS_RAIL_ORDER_CARETBLINKINFO
	RailOrderCaretBlinkInfo RailOrder = 0x001A
)

type RailPDU

type RailPDU struct {
	RailPDUHandshake               *RailPDUHandshake
	RailPDUClientInfo              *RailPDUClientInfo
	RailPDUClientExecute           *RailPDUClientExecute
	RailPDUSystemParameters        *RailPDUSystemParameters
	RailPDUExecResult              *RailPDUExecResult
	RailPDUClientSystemParamUpdate *RailPDUClientSystemParamUpdate
	// contains filtered or unexported fields
}

func NewRailClientExecutePDU

func NewRailClientExecutePDU(app, workDir, args string) *RailPDU

func NewRailClientInfoPDU

func NewRailClientInfoPDU() *RailPDU

func NewRailHandshakePDU

func NewRailHandshakePDU() *RailPDU

func NewRailPDUClientSystemParamUpdate

func NewRailPDUClientSystemParamUpdate(systemParam uint32, body uint8) *RailPDU

func (*RailPDU) Deserialize

func (pdu *RailPDU) Deserialize(wire io.Reader) error

func (*RailPDU) Serialize

func (pdu *RailPDU) Serialize() []byte

type RailPDUClientExecute

type RailPDUClientExecute struct {
	Flags      uint16
	ExeOrFile  string
	WorkingDir string
	Arguments  string
}

func (*RailPDUClientExecute) Serialize

func (pdu *RailPDUClientExecute) Serialize() []byte

type RailPDUClientInfo

type RailPDUClientInfo struct {
	Flags uint32
}

func (*RailPDUClientInfo) Serialize

func (pdu *RailPDUClientInfo) Serialize() []byte

type RailPDUClientSystemParamUpdate

type RailPDUClientSystemParamUpdate struct {
	SystemParam uint32
	Body        uint8
}

func (*RailPDUClientSystemParamUpdate) Serialize

func (pdu *RailPDUClientSystemParamUpdate) Serialize() []byte

type RailPDUExecResult

type RailPDUExecResult struct {
	Flags      uint16
	ExecResult uint16
	RawResult  uint32
	ExeOrFile  string
}

func (*RailPDUExecResult) Deserialize

func (pdu *RailPDUExecResult) Deserialize(wire io.Reader) error

type RailPDUHandshake

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

func (*RailPDUHandshake) Deserialize

func (pdu *RailPDUHandshake) Deserialize(wire io.Reader) error

func (*RailPDUHandshake) Serialize

func (pdu *RailPDUHandshake) Serialize() []byte

type RailPDUHeader

type RailPDUHeader struct {
	OrderType   RailOrder
	OrderLength uint16
}

func (*RailPDUHeader) Deserialize

func (h *RailPDUHeader) Deserialize(wire io.Reader) error

func (*RailPDUHeader) Serialize

func (h *RailPDUHeader) Serialize() []byte

type RailPDUSystemParameters

type RailPDUSystemParameters struct {
	SystemParameter uint32
	Body            uint8
}

func (*RailPDUSystemParameters) Deserialize

func (pdu *RailPDUSystemParameters) Deserialize(wire io.Reader) error

type RailState

type RailState uint8
const (
	RailStateUninitialized RailState = iota
	RailStateInitializing
	RailStateSyncDesktop
	RailStateWaitForData
	RailStateExecuteApp
)

type RemoteApp

type RemoteApp struct {
	App        string
	WorkingDir string
	Args       string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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