telopts

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Dec 27, 2024 License: MIT Imports: 8 Imported by: 5

Documentation

Index

Constants

This section is empty.

Variables

View Source
var NEWENVIRONWellKnownVars = []string{"USER", "JOB", "ACCT", "PRINTER", "SYSTEMTYPE", "DISPLAY"}

Functions

func RegisterCHARSET

func RegisterCHARSET(usage telnet.TelOptUsage, options CHARSETConfig) telnet.TelnetOption

func RegisterECHO

func RegisterECHO(usage telnet.TelOptUsage) telnet.TelnetOption

func RegisterEOR

func RegisterEOR(usage telnet.TelOptUsage) telnet.TelnetOption

func RegisterLINEMODE added in v0.7.0

func RegisterLINEMODE(usage telnet.TelOptUsage, mode LineModeFlags) telnet.TelnetOption

func RegisterNAWS

func RegisterNAWS(usage telnet.TelOptUsage) telnet.TelnetOption

func RegisterNEWENVIRON

func RegisterNEWENVIRON(usage telnet.TelOptUsage, config NEWENVIRONConfig) telnet.TelnetOption

func RegisterSENDLOCATION

func RegisterSENDLOCATION(usage telnet.TelOptUsage, localLocation string) telnet.TelnetOption

func RegisterSUPPRESSGOAHEAD

func RegisterSUPPRESSGOAHEAD(usage telnet.TelOptUsage) telnet.TelnetOption

func RegisterTRANSMITBINARY

func RegisterTRANSMITBINARY(usage telnet.TelOptUsage) telnet.TelnetOption

func RegisterTTYPE

func RegisterTTYPE(usage telnet.TelOptUsage, localTerminals []string) telnet.TelnetOption

Types

type BaseTelOpt

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

func NewBaseTelOpt

func NewBaseTelOpt(code telnet.TelOptCode, name string, usage telnet.TelOptUsage) BaseTelOpt

func (*BaseTelOpt) Code added in v0.1.4

func (o *BaseTelOpt) Code() telnet.TelOptCode

func (*BaseTelOpt) Initialize

func (o *BaseTelOpt) Initialize(terminal *telnet.Terminal)

func (*BaseTelOpt) LocalState

func (o *BaseTelOpt) LocalState() telnet.TelOptState

func (*BaseTelOpt) RemoteState

func (o *BaseTelOpt) RemoteState() telnet.TelOptState

func (*BaseTelOpt) String added in v0.1.4

func (o *BaseTelOpt) String() string

func (*BaseTelOpt) Subnegotiate added in v0.1.4

func (o *BaseTelOpt) Subnegotiate(subnegotiation []byte) error

func (*BaseTelOpt) SubnegotiationString added in v0.1.4

func (o *BaseTelOpt) SubnegotiationString(subnegotiation []byte) (string, error)

func (*BaseTelOpt) Terminal

func (o *BaseTelOpt) Terminal() *telnet.Terminal

func (*BaseTelOpt) TransitionLocalState

func (o *BaseTelOpt) TransitionLocalState(newState telnet.TelOptState) (func() error, error)

func (*BaseTelOpt) TransitionRemoteState

func (o *BaseTelOpt) TransitionRemoteState(newState telnet.TelOptState) (func() error, error)

func (*BaseTelOpt) Usage

func (o *BaseTelOpt) Usage() telnet.TelOptUsage

type BaseTelOptEvent added in v0.2.0

type BaseTelOptEvent struct {
	TelnetOption telnet.TelnetOption
}

func (BaseTelOptEvent) Option added in v0.2.0

func (e BaseTelOptEvent) Option() telnet.TelnetOption

type CHARSET

type CHARSET struct {
	BaseTelOpt
	// contains filtered or unexported fields
}

func (*CHARSET) Subnegotiate

func (o *CHARSET) Subnegotiate(subnegotiation []byte) error

func (*CHARSET) SubnegotiationString

func (o *CHARSET) SubnegotiationString(subnegotiation []byte) (string, error)

func (*CHARSET) TransitionLocalState

func (o *CHARSET) TransitionLocalState(newState telnet.TelOptState) (func() error, error)

func (*CHARSET) TransitionRemoteState

func (o *CHARSET) TransitionRemoteState(newState telnet.TelOptState) (func() error, error)

type CHARSETConfig

type CHARSETConfig struct {
	PreferredCharsets []string
	AllowAnyCharset   bool
}

type CHARSETDefaultChangedEvent added in v0.2.0

type CHARSETDefaultChangedEvent struct {
	BaseTelOptEvent
	NewDefaultCharset string
}

func (CHARSETDefaultChangedEvent) String added in v0.2.0

type CHARSETNegotiationSuccessEvent added in v0.2.0

type CHARSETNegotiationSuccessEvent struct {
	BaseTelOptEvent
	NewCharsetName string
}

func (CHARSETNegotiationSuccessEvent) String added in v0.2.0

type ECHO

type ECHO struct {
	BaseTelOpt
}

ECHO indicates whether the local will repeat text sent from the remote back to the remote. In practice, clients will tend to echo locally if the remote is not set to echo, so ECHO is used far more often to stop the remote from echoing locally than actually echoing to the remote. As a result, this telopt doesn't do anything at all, since the lib consumer needs to decide what ECHO being on actually means.

type EOR

type EOR struct {
	BaseTelOpt
}

func (*EOR) TransitionLocalState

func (o *EOR) TransitionLocalState(newState telnet.TelOptState) (func() error, error)

func (*EOR) TransitionRemoteState

func (o *EOR) TransitionRemoteState(newState telnet.TelOptState) (func() error, error)

type LINEMODE added in v0.7.0

type LINEMODE struct {
	BaseTelOpt
	// contains filtered or unexported fields
}

LINEMODE allows linemode to be negotiated- this is used by some BBS's but we are not going to support most features provided by the telopt. We'll just support MODE EDIT and that's it. RFC LINEMODE also has a system for defining characters to trigger telnet functions, and FORWARDMASK, which allows the remote to demand we instantly send them our line-in-progress. We will accept the functions but never use them, and we will reject all attempts to establish FORWARDMASK. We will also reject attempts at MODE SOFT_TAB and MODE LIT_ECHO. We will accept MODE TRAPSIG, as that is required by the RFC, but we won't do anything about it since we don't allow the client to send any of the TRAPSIG signals on demand anyway.

func (*LINEMODE) Mode added in v0.7.0

func (m *LINEMODE) Mode() LineModeFlags

func (*LINEMODE) SetMode added in v0.7.0

func (m *LINEMODE) SetMode(mode LineModeFlags)

func (*LINEMODE) Subnegotiate added in v0.7.0

func (m *LINEMODE) Subnegotiate(subnegotiation []byte) error

func (*LINEMODE) SubnegotiationString added in v0.8.0

func (m *LINEMODE) SubnegotiationString(subnegotiation []byte) (string, error)

func (*LINEMODE) TransitionRemoteState added in v0.7.0

func (m *LINEMODE) TransitionRemoteState(newState telnet.TelOptState) (func() error, error)

type LINEMODEChangeEvent added in v0.7.0

type LINEMODEChangeEvent struct {
	BaseTelOptEvent
	NewMode LineModeFlags
}

func (LINEMODEChangeEvent) String added in v0.7.0

func (e LINEMODEChangeEvent) String() string

type LineModeFlags added in v0.7.0

type LineModeFlags int
const (
	LineModeEDIT LineModeFlags = 1 << iota
	LineModeTRAPSIG
	LineModeACK
	LineModeSOFTTAB
	LineModeLITECHO
)

func (LineModeFlags) String added in v0.7.0

func (f LineModeFlags) String() string

type NAWS

type NAWS struct {
	BaseTelOpt
	// contains filtered or unexported fields
}

func (*NAWS) GetRemoteSize

func (o *NAWS) GetRemoteSize() (width, height int)

func (*NAWS) SetLocalSize

func (o *NAWS) SetLocalSize(newWidth, newHeight int)

func (*NAWS) Subnegotiate

func (o *NAWS) Subnegotiate(subnegotiation []byte) error

func (*NAWS) SubnegotiationString

func (o *NAWS) SubnegotiationString(subnegotiation []byte) (string, error)

func (*NAWS) TransitionLocalState

func (o *NAWS) TransitionLocalState(newState telnet.TelOptState) (func() error, error)

type NAWSRemoteSizeChangedEvent added in v0.2.0

type NAWSRemoteSizeChangedEvent struct {
	BaseTelOptEvent
	NewRemoteWidth  int
	NewRemoteHeight int
}

func (NAWSRemoteSizeChangedEvent) String added in v0.2.0

type NEWENVIRON

type NEWENVIRON struct {
	BaseTelOpt
	// contains filtered or unexported fields
}

func (*NEWENVIRON) ClearVars

func (o *NEWENVIRON) ClearVars(keys ...string)

func (*NEWENVIRON) RemoteUserVar

func (o *NEWENVIRON) RemoteUserVar(key string) (string, bool)

func (*NEWENVIRON) RemoteWellKnownVar

func (o *NEWENVIRON) RemoteWellKnownVar(key string) (string, bool)

func (*NEWENVIRON) SetVars

func (o *NEWENVIRON) SetVars(keysAndValues ...string) error

func (*NEWENVIRON) Subnegotiate

func (o *NEWENVIRON) Subnegotiate(subnegotiation []byte) error

func (*NEWENVIRON) SubnegotiationString

func (o *NEWENVIRON) SubnegotiationString(subnegotiation []byte) (string, error)

func (*NEWENVIRON) TransitionRemoteState

func (o *NEWENVIRON) TransitionRemoteState(newState telnet.TelOptState) (func() error, error)

type NEWENVIRONConfig

type NEWENVIRONConfig struct {
	WellKnownVarKeys []string

	InitialVars map[string]string
}

type NEWENVIRONRemoteVarsChangedEvent added in v0.2.0

type NEWENVIRONRemoteVarsChangedEvent struct {
	BaseTelOptEvent
	UpdatedWellKnownVars []string
	UpdatedUserVars      []string
}

func (NEWENVIRONRemoteVarsChangedEvent) String added in v0.2.0

type SENDLOCATION

type SENDLOCATION struct {
	BaseTelOpt
	// contains filtered or unexported fields
}

func (*SENDLOCATION) RemoteLocation

func (o *SENDLOCATION) RemoteLocation() string

func (*SENDLOCATION) SetLocalLocation

func (o *SENDLOCATION) SetLocalLocation(location string)

func (*SENDLOCATION) Subnegotiate

func (o *SENDLOCATION) Subnegotiate(subnegotiation []byte) error

func (*SENDLOCATION) SubnegotiationString

func (o *SENDLOCATION) SubnegotiationString(subnegotiation []byte) (string, error)

func (*SENDLOCATION) TransitionLocalState

func (o *SENDLOCATION) TransitionLocalState(newState telnet.TelOptState) (func() error, error)

func (*SENDLOCATION) TransitionRemoteState

func (o *SENDLOCATION) TransitionRemoteState(newState telnet.TelOptState) (func() error, error)

type SENDLOCATIONRemoteUpdatedEvent added in v0.2.0

type SENDLOCATIONRemoteUpdatedEvent struct {
	BaseTelOptEvent
	NewLocation string
}

func (SENDLOCATIONRemoteUpdatedEvent) String added in v0.2.0

type SUPPRESSGOAHEAD

type SUPPRESSGOAHEAD struct {
	BaseTelOpt
}

func (*SUPPRESSGOAHEAD) TransitionLocalState

func (o *SUPPRESSGOAHEAD) TransitionLocalState(newState telnet.TelOptState) (func() error, error)

func (*SUPPRESSGOAHEAD) TransitionRemoteState

func (o *SUPPRESSGOAHEAD) TransitionRemoteState(newState telnet.TelOptState) (func() error, error)

type TRANSMITBINARY

type TRANSMITBINARY struct {
	BaseTelOpt
}

func (*TRANSMITBINARY) TransitionLocalState

func (o *TRANSMITBINARY) TransitionLocalState(newState telnet.TelOptState) (func() error, error)

func (*TRANSMITBINARY) TransitionRemoteState

func (o *TRANSMITBINARY) TransitionRemoteState(newState telnet.TelOptState) (func() error, error)

type TTYPE

type TTYPE struct {
	BaseTelOpt
	// contains filtered or unexported fields
}

func (*TTYPE) GetRemoteTerminals

func (o *TTYPE) GetRemoteTerminals() []string

func (*TTYPE) SetLocalTerminals

func (o *TTYPE) SetLocalTerminals(terminals []string)

func (*TTYPE) Subnegotiate

func (o *TTYPE) Subnegotiate(subnegotiation []byte) error

func (*TTYPE) SubnegotiationString

func (o *TTYPE) SubnegotiationString(subnegotiation []byte) (string, error)

func (*TTYPE) TransitionLocalState

func (o *TTYPE) TransitionLocalState(newState telnet.TelOptState) (func() error, error)

func (*TTYPE) TransitionRemoteState

func (o *TTYPE) TransitionRemoteState(newState telnet.TelOptState) (func() error, error)

type TTYPERemoteTerminalsUpdatedEvent added in v0.2.0

type TTYPERemoteTerminalsUpdatedEvent struct {
	BaseTelOptEvent
	RemoteTerminals []string
}

func (TTYPERemoteTerminalsUpdatedEvent) String added in v0.2.0

Jump to

Keyboard shortcuts

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