Package gensio

General Stream I/O

https://github.com/cminyard/gensio

This is gensio (pronounced gen'-see-oh), a framework for giving a consistent
view of various stream (and packet) I/O types. You create a gensio object (or
a gensio), and you can use that gensio without having to know too much about
what is going on underneath. You can stack gensio on top of another one to add
protocol functionality. For instance, you can create a TCP gensio, stack SSL on
top of that, and stack Telnet on top of that. It supports a number of network
I/O and serial ports. gensios that stack on other gensios are called filters.

You can do the same thing with receiving ports. You can set up a gensio
accepter (accepter) to accept connections in a stack. So in our previous
example, you can setup TCP to listen on a specific port and automatically stack
SSL and Telnet on top when the connection comes in, and you are not informed
until everything is ready.

A very important feature of gensio is that it makes establishing encrypted and
authenticated connections much easier than without it. Beyond basic key
management, it's really no harder than TCP or anything else. It offers extended
flexibility for controlling the authentication process if needed. It's really
easy to use.

Note that the gensio(5) man page has more details on individual gensio types.

Version: 2.8.4

General Commands

gensiot Tool for doing gensio connections
gmdns Tool for doing mDNS operations
greflector A program that will reflect data to all connections
gsound Tool for doing sound I/O using the sound gensio
gtlssh Shell connection over TLS
gtlssh-keygen Key handling for gtlssh
gtlssync A wrapper for running rsync over gtlssh

File Formats

gensio How to specify a gensio
sergensio How to use a serial gensio

System Administration

gtlsshd Server for shell over TLS