libtelnet: Bindings to libtelnet

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Binds https://github.com/seanmiddleditch/libtelnet , a C library for writing telnet clients and servers. See README.md or Network.Telnet.LibTelnet to get started.


[Skip to Readme]

Properties

Versions 0.1.0.0, 0.1.0.0, 0.1.0.1
Change log ChangeLog.md
Dependencies base (>=4.7 && <5), bytestring (>=0.10.6.0 && <0.11) [details]
License GPL-3.0-or-later
Copyright (c) 2017-2019 Jack Kelly
Author Jack Kelly
Maintainer jack@jackkelly.name
Category Network
Home page https://git.sr.ht/~jack/libtelnet-haskell
Bug tracker https://todo.sr.ht/~jack/libtelnet-haskell
Source repo head: git clone https://git.sr.ht/~jack/libtelnet-haskell
Uploaded by jack at 2019-01-29T22:49:10Z

Modules

[Index] [Quick Jump]

Flags

Manual Flags

NameDescriptionDefault
example

Build the example program

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for libtelnet-0.1.0.0

[back to package description]

Bindings to libtelnet

This is a wrapper around libtelnet, a C library for handling Telnet streams, including option negotiation, &c. As a cleartext protocol, Telnet is thorougly unsuitable for use on the open internet, but you might have a niche where it makes sense:

This library hews closely to the interface provided by the C libtelnet, so reading the excellent C documentation will help you. The short version goes something like this:

  1. Define an event handler of type Network.Telnet.LibTelnet.EventHandler. This function receives callbacks that tell you what received data should be propagated to the application, and what bytes need to be sent out over the socket.

  2. Pass your event handler (and some other flags) to Network.Telnet.LibTelnet.telnetInit, which will give you access to a Telnet, a garbage-collected state tracker.

  3. Tell the state tracker that data has arrived on the socket, or that you want to send data to the socket, by passing it to the library's other functions.

Other Resources