tn3270

package module
v0.0.0-...-d92fadf Latest Latest
Warning

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

Go to latest
Published: May 22, 2019 License: Apache-2.0 Imports: 13 Imported by: 0

README

go-tn3270

Documentation

Overview

line 1 "ext/parser.rl"

Index

Constants

This section is empty.

Variables

View Source
var ErrServerClosed = errors.New("Server closed")

Functions

func A2E

func A2E(src []byte) (res []byte)

func E2A

func E2A(src []byte) (res []byte)

func E2D

func E2D(src []byte) (res []byte)

Types

type Client

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

func NewClient

func NewClient(luname string) (c *Client)

func (*Client) Connect

func (c *Client) Connect(addr string) (chan string, error)

func (*Client) ConnectTLS

func (c *Client) ConnectTLS(addr string, tslconfig *tls.Config) (chan string, error)

func (*Client) OnError

func (c *Client) OnError([]byte, int) error

func (*Client) OnTN3270DeviceTypeIs

func (c *Client) OnTN3270DeviceTypeIs(model []byte, name []byte)

func (*Client) OnTN3270DeviceTypeReject

func (c *Client) OnTN3270DeviceTypeReject(byte)

func (*Client) OnTN3270DeviceTypeRequest

func (c *Client) OnTN3270DeviceTypeRequest([]byte, []byte, []byte)

func (*Client) OnTN3270FunctionsIs

func (c *Client) OnTN3270FunctionsIs([]byte)

func (*Client) OnTN3270FunctionsRequest

func (c *Client) OnTN3270FunctionsRequest(functions []byte)

func (*Client) OnTN3270SendDeviceType

func (c *Client) OnTN3270SendDeviceType()

func (*Client) OnTNArgCommand

func (c *Client) OnTNArgCommand(b byte, arg byte)

func (*Client) OnTNCommand

func (c *Client) OnTNCommand(b byte)

func (*Client) Send

func (c *Client) Send(s string) chan string

func (*Client) SendRecv

func (c *Client) SendRecv(s string) string

type ErrorHandler

type ErrorHandler interface {
	OnError([]byte, int) error
}

type Handler

type Handler interface {
	ServeWelcomeScreen(ResponseWriter)
	ServeTN3270(ResponseWriter, *Request)
}

Handler implements the Handler interface can be registered to serve a particular path or subtree in the HTTP server.

ServeHTTP should write reply headers and data to the ResponseWriter and then return. Returning signals that the request is finished and that the HTTP server can move on to the next request on the connection.

type MultiHandler

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

MultiHandler is a TN3270 handler that wraps several handlers into one all handlers are called for each function

func (*MultiHandler) OnTN3270AID

func (h *MultiHandler) OnTN3270AID(b byte)

func (*MultiHandler) OnTN3270Command

func (h *MultiHandler) OnTN3270Command(b byte)

func (*MultiHandler) OnTN3270EUA

func (h *MultiHandler) OnTN3270EUA(addr int)

func (*MultiHandler) OnTN3270IC

func (h *MultiHandler) OnTN3270IC()

func (*MultiHandler) OnTN3270Message

func (h *MultiHandler) OnTN3270Message()

func (*MultiHandler) OnTN3270PT

func (h *MultiHandler) OnTN3270PT()

func (*MultiHandler) OnTN3270RA

func (h *MultiHandler) OnTN3270RA(addr int, b byte)

func (*MultiHandler) OnTN3270SBA

func (h *MultiHandler) OnTN3270SBA(addr int)

func (*MultiHandler) OnTN3270SF

func (h *MultiHandler) OnTN3270SF(b byte)

func (*MultiHandler) OnTN3270SFE

func (h *MultiHandler) OnTN3270SFE(b byte)

func (*MultiHandler) OnTN3270Text

func (h *MultiHandler) OnTN3270Text(text []byte)

func (*MultiHandler) OnTN3270WCC

func (h *MultiHandler) OnTN3270WCC(b byte)

type Parser

type Parser interface {
	Parse([]byte) error
}

func NewParser

func NewParser(tnh TNHandler, tn3270negoh TN3270NegoHandler, tn3270h TN3270Handler, errorh ErrorHandler) Parser

type Request

type Request struct {
	Text string
}

type ResponseWriter

type ResponseWriter interface {
	io.Writer
}

type Screen

type Screen []byte

type Server

type Server struct {
	Addr      string  // TCP address to listen on, ":telnet" if empty
	Handler   Handler // handler to invoke
	TLSConfig *tls.Config
	// contains filtered or unexported fields
}

func (*Server) Close

func (s *Server) Close() error

func (*Server) ListenAndServe

func (s *Server) ListenAndServe() error

ListenAndServe listens on the TCP network address s.Addr and then calls Serve to handle requests on incoming connections. If s.Addr is blank, ":telnet" is used.

func (*Server) ListenAndServeTLS

func (s *Server) ListenAndServeTLS(certFile, keyFile string) error

func (*Server) Serve

func (s *Server) Serve(l net.Listener) error

Serve accepts incoming connections on the Listener l, creating a new service goroutine for each. The service goroutines read requests and then call s.Handler to reply to them.

func (*Server) ServeTLS

func (srv *Server) ServeTLS(l net.Listener, certFile, keyFile string) error

ServeTLS accepts incoming connections on the Listener l, creating a new service goroutine for each. The service goroutines perform TLS setup and then read requests, calling srv.Handler to reply to them.

type TN3270Handler

type TN3270Handler interface {
	OnTN3270Command(byte)
	OnTN3270Text([]byte)
	OnTN3270WCC(byte)
	OnTN3270AID(byte)
	OnTN3270PT()
	OnTN3270IC()
	OnTN3270SF(byte)
	OnTN3270SFE(byte)
	OnTN3270RA(int, byte)
	OnTN3270SBA(int)
	OnTN3270EUA(int)
	OnTN3270Message()
}

type TN3270NegoHandler

type TN3270NegoHandler interface {
	OnTN3270DeviceTypeRequest([]byte, []byte, []byte)
	OnTN3270DeviceTypeIs([]byte, []byte)
	OnTN3270DeviceTypeReject(byte)
	OnTN3270FunctionsIs([]byte)
	OnTN3270FunctionsRequest([]byte)
	OnTN3270SendDeviceType()
}

type TNHandler

type TNHandler interface {
	OnTNCommand(byte)
	OnTNArgCommand(byte, byte)
}

type TextTN3270Handler

type TextTN3270Handler struct {
	HandleMessage func(string)
	// contains filtered or unexported fields
}

TextTN3270Handler is a handler that keeps only track of text display

func (*TextTN3270Handler) OnTN3270AID

func (h *TextTN3270Handler) OnTN3270AID(byte)

func (*TextTN3270Handler) OnTN3270Command

func (h *TextTN3270Handler) OnTN3270Command(byte)

func (*TextTN3270Handler) OnTN3270EUA

func (h *TextTN3270Handler) OnTN3270EUA(int)

func (*TextTN3270Handler) OnTN3270IC

func (h *TextTN3270Handler) OnTN3270IC()

func (*TextTN3270Handler) OnTN3270Message

func (h *TextTN3270Handler) OnTN3270Message()

func (*TextTN3270Handler) OnTN3270PT

func (h *TextTN3270Handler) OnTN3270PT()

func (*TextTN3270Handler) OnTN3270RA

func (h *TextTN3270Handler) OnTN3270RA(int, byte)

func (*TextTN3270Handler) OnTN3270SBA

func (h *TextTN3270Handler) OnTN3270SBA(int)

func (*TextTN3270Handler) OnTN3270SF

func (h *TextTN3270Handler) OnTN3270SF(byte)

func (*TextTN3270Handler) OnTN3270SFE

func (h *TextTN3270Handler) OnTN3270SFE(byte)

func (*TextTN3270Handler) OnTN3270Text

func (h *TextTN3270Handler) OnTN3270Text(text []byte)

func (*TextTN3270Handler) OnTN3270WCC

func (h *TextTN3270Handler) OnTN3270WCC(byte)

func (*TextTN3270Handler) String

func (h *TextTN3270Handler) String() string

type VerboseErrorHandler

type VerboseErrorHandler struct {
}

func (*VerboseErrorHandler) OnError

func (h *VerboseErrorHandler) OnError(data []byte, position int) error

type VerboseTN3270Handler

type VerboseTN3270Handler struct {
}

VerboseTN3270Handler is a handler that prints all the TN3270 commands to stdout

func (*VerboseTN3270Handler) OnTN3270AID

func (h *VerboseTN3270Handler) OnTN3270AID(b byte)

func (*VerboseTN3270Handler) OnTN3270Command

func (h *VerboseTN3270Handler) OnTN3270Command(b byte)

func (*VerboseTN3270Handler) OnTN3270EUA

func (h *VerboseTN3270Handler) OnTN3270EUA(addr int)

func (*VerboseTN3270Handler) OnTN3270IC

func (h *VerboseTN3270Handler) OnTN3270IC()

func (*VerboseTN3270Handler) OnTN3270Message

func (h *VerboseTN3270Handler) OnTN3270Message()

func (*VerboseTN3270Handler) OnTN3270PT

func (h *VerboseTN3270Handler) OnTN3270PT()

func (*VerboseTN3270Handler) OnTN3270RA

func (h *VerboseTN3270Handler) OnTN3270RA(addr int, b byte)

func (*VerboseTN3270Handler) OnTN3270SBA

func (h *VerboseTN3270Handler) OnTN3270SBA(addr int)

func (*VerboseTN3270Handler) OnTN3270SF

func (h *VerboseTN3270Handler) OnTN3270SF(b byte)

func (*VerboseTN3270Handler) OnTN3270SFE

func (h *VerboseTN3270Handler) OnTN3270SFE(b byte)

func (*VerboseTN3270Handler) OnTN3270Text

func (h *VerboseTN3270Handler) OnTN3270Text(b []byte)

func (*VerboseTN3270Handler) OnTN3270WCC

func (h *VerboseTN3270Handler) OnTN3270WCC(b byte)

type VirtualScreenTN3270Handler

type VirtualScreenTN3270Handler struct {
	HandleMessage func(string)
	// contains filtered or unexported fields
}

VirtualScreenTN3270Handler is a TN3270 handler that simulates a terminal and keeps track of the terminal display as if it was a GUI

func (*VirtualScreenTN3270Handler) OnTN3270AID

func (h *VirtualScreenTN3270Handler) OnTN3270AID(b byte)

func (*VirtualScreenTN3270Handler) OnTN3270Command

func (h *VirtualScreenTN3270Handler) OnTN3270Command(b byte)

func (*VirtualScreenTN3270Handler) OnTN3270EUA

func (h *VirtualScreenTN3270Handler) OnTN3270EUA(addr int)

func (*VirtualScreenTN3270Handler) OnTN3270IC

func (h *VirtualScreenTN3270Handler) OnTN3270IC()

func (*VirtualScreenTN3270Handler) OnTN3270Message

func (h *VirtualScreenTN3270Handler) OnTN3270Message()

func (*VirtualScreenTN3270Handler) OnTN3270PT

func (h *VirtualScreenTN3270Handler) OnTN3270PT()

func (*VirtualScreenTN3270Handler) OnTN3270RA

func (h *VirtualScreenTN3270Handler) OnTN3270RA(addr int, b byte)

func (*VirtualScreenTN3270Handler) OnTN3270SBA

func (h *VirtualScreenTN3270Handler) OnTN3270SBA(addr int)

func (*VirtualScreenTN3270Handler) OnTN3270SF

func (h *VirtualScreenTN3270Handler) OnTN3270SF(b byte)

func (*VirtualScreenTN3270Handler) OnTN3270SFE

func (h *VirtualScreenTN3270Handler) OnTN3270SFE(b byte)

func (*VirtualScreenTN3270Handler) OnTN3270Text

func (h *VirtualScreenTN3270Handler) OnTN3270Text(b []byte)

func (*VirtualScreenTN3270Handler) OnTN3270WCC

func (h *VirtualScreenTN3270Handler) OnTN3270WCC(b byte)

func (*VirtualScreenTN3270Handler) String

func (h *VirtualScreenTN3270Handler) String() string

Directories

Path Synopsis
examples

Jump to

Keyboard shortcuts

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