gensio(5) File Formats Manual gensio(5) (NAME) gensio - gensio (SYNOPSIS) [(options)][,gensio|terminaloptions] (DESCRIPTION) gensio GENeral Stream Input Output (/ ) . (abstraction) I/O I/O ( UDP) I/O . gensio . gensio (gensio) (string format) . gensio . gensio (terminal gensio - ) (terminaloptions) . gensio ( ) gensio . : serialdev,/dev/ttyS0 gensio . : tcp(readbuf=100),localhost,4000 TCP 4000 localhost . : telnet,tcp,localhost,4000 telnet TCP . . terminaloptions terminal gensio . gensio ( ) . <<\>> . laddr sctp . : sctp(laddr=localhost,4001),localhost,3023 . : sctp(laddr="localhost,4001"),localhost,3023 . Gensio (Accepter gensios) gensio gensio (connecting gensios) . gensio . gensio . TCP gensio hostname . gensio gensio (accepted gensio) . gensio . gensio . gensio . gensio . gensio . gensio . gensio (reliable) . gensio TCP. gensio UDP. gensio_is_reliable() . gensio (packet) . gensio . . gensio . I/O . gensio . (truncate) . . . . (partial read) . gensio (message oriented) . SCTP ( ). . auxdata "eom" . "eom" "eom" . "eom" . "eom" . . "eom" . gensio . gensio . gensio gensio . gensio : readbuf= . (DEFAULTS) gensio ( serialdev ipmisol) gensio . gensio_set_default() gensio . (class) NULL gensio . gensio . . "mode" . NULL gensio . (STREAMS AND CHANNELS) gensio (stream) / (channel) . gensio . "default" . "stream=" auxdata . (flow control) . stream . gensio GENSIO_EVENT_NEW_CHANNEL . gensio_alloc_channel() gensio_open() . gensio . gensio . gensio . (PUBLIC KEY CRYPTOGRAPHY) Gensio ssl certauth . . . (session) . . : (private key) (certificate / public key) (CA). . . . . . . ( Common Name) . . CA ( ) . CA . CA . (SIGNING) . . . : . CA . . . ( ) . . . https . (web client) (web server) . . ( SSL/TLS ssl gensio ). ( Common Name Subject Alternate Name) . Gensio ssl certauth . (ENCRYPTING) . ( ) . . (SELF-SIGNED CERTIFICATES) . ssh . . .ssh/authorized_keys . ( ) CA ( authorized_keys) . ssh .ssh/known_hosts CA . CA . . CA . CA . (TRUST AND CRYPTOGRAPHY) . . . CA ( fingerprints openssl ) . . . (Bruce Schneier) . IPv6 IPv4 (IPv6, IPv4, and host names) . IPv4 IPv6 . . localhost IPv4 IPv6 : $ gensiot -a -p tcp,localhost,1234 Address 0(0): ipv6,::1,1234 Address 1(0): ipv4,127.0.0.1,1234 ipv4 ipv6 . ipv6n4 IPv6 IPv4 . ipv6n4 IPv4 . tcp,ipv6n4,::1,1234 ::1 IPv4 IPv4 . IPv4 : tcp,ipv6n4,127.0.0.1,1234 IPv6 IPv4 : $ gensiot -a -p tcp,ipv6n4,localhost,1234 Address 0(0): ipv6,::ffff:127.0.0.1,1234 gensio ( sctp,1234) IPv6 IPv4 . IPv4 IPv6 . getaddrinfo IPv6 IPv6 IPv4 . gensio . SCTP (multi- homing) . . (subnet mask) : 192.168.33.0/24 gensio_addr_addr_present() . 192.168.33.0 192.168.33.255 . gensio ser2net remaddr . IPv6 . gensio ( gtime) . 'D' 'H' 'M' 's' 'm' 'u' 'n' . "10D5H4M9s100u" . gensio . (Drain Timeout) gensio . . . gensio drain_timeout . drain_timeout . ( ) gensio . . (timeout) . nbits auxdata gensio . hdlc convcode . gensio "nbits" auxdata "nbits" . "nbits=n" n . "nbits" ( ) . nbits . : ((nbits + 7) / 8). "nbits" nbits (< > * 8) . . . TCP tcp[()][,],[[,],[...]] hostname = [ipv4|ipv6|ipv6n4,] TCP gensio hostname . hostname/port . TCP gensio . gensio hostname/port . (Dynamic Ports) IANA . . gensio_acc_control() GENSIO_ACC_CONTROL_LPORT . (Out Of Band Data) TCP (oob) . "oob" auxdata . "oob" auxdata oob oob . "oobtcp" auxdata oob TCP oob . (Options) readbuf tcp gensio : nodelay[=true|false] nodelay . laddr= bind . reuseaddr[=true|false] SO_REUSEADDR . . false . laddr . "SO_REUSEADDR" "man 7 socket" . true . (race conditions) . tcpd=on|print|off tcpd . "on" tcpd tcpd . "print" on "Access Denied" . "off" tcpd . on . tcpd . tcpdname= tcpd . "gensio" gensio_set_progname() . gensio . tcpd . (Remote Address String) "[ipv4|ipv6],," IPv4 IPv6 . (Remote Address) TCP struct sockaddr GENSIO_CONTROL_RADDR_BIN . (Direct Allocation) terminal gensio gdata "const struct gensio_addr *" . UDP udp[()][,],[[,],[...]] hostname = [ipv4|ipv6|ipv6n4,] unixdgram[()][,] UDP gensio UDP . TCP UDP . unixdgram . UDP . laddr . gensio . UDP . UDP : . UDP gensio . gensio gensio . gensio gensio gensio gensio . gensio UDP UDP ser2net . UDP gensio . Gensio UDP . 0 TCP TCP . gensio ( gensio ) ( gensio ) "addr:" auxdata . (Options) readbuf udp gensio : laddr= bind . nocon[=true|false] . gensio . "addr:" auxdata gensio_addr_to_str() . mloop[=true|false] UDP. false . true . mttl=[1-255] UDP. Time-to-Live . . (hops) . mcast= UDP. . . / . reuseaddr[=true|false] UDP. SO_REUSEADDR gensio . false . delsock[=true|false] unixdomain. . umode=[0-7|[rwx]*] unixdomain. . read(4)/write(2)/execute(1) chmod . "6" (rw) umask . . perm . gmode=[0-7|[rwx]*] unixdomain. umode . omode=[0-7|[rwx]*] unixdomain. umode . perm=[0-7][0-7][0-7] unixdomain. umask . owner= unixdomain. . group= unixdomain. . (Remote Address String) "[ipv4|ipv6],," IPv4 IPv6 . unixdomain "unix," . (Remote Address) UDP struct sockaddr GENSIO_CONTROL_RADDR_BIN . UDP (UDP Multicast) gensio UDP nocon, maddr laddr . UDP gensio laddr nocon : "udp(mcast='ff02::1',laddr='ipv6,3000',nocon),ff02::1,3000" . laddr . . (Direct Allocation) terminal gensio gdata "const struct gensio_addr *" . SCTP sctp[()][,],[[,],[...]] hostname = [ipv4|ipv6|ipv6n4,] SCTP gensio UDP TCP . . gensio (multi-homed) . . gensio . . Gensio SCTP . . SCTP_EXPLICIT_EOR SCTP . IPv6 IPv4 . IPv4 IPv6 IPv4 . : tools/gensiot -a "sctp,ipv6,::,1234" : tools/gensiot "sctp,::1,1234" IPv4 . Nagle SCTP SCTP Nagle sack_freq . sack_freq gensio . (unacked) sack_freq . Nagle . sack sack . sack_delay sack . sack_freq . (Options) readbuf sctp gensio : instreams= ostreams= . . auxdata "stream=" . sack_freq= sack_delay= (sacks) . sack_freq sack . . sack_delay sack . sack_freq . . nodelay[=true|false] nodelay . laddr= bind . reuseaddr[=true|false] SO_REUSEADDR . . false . laddr . "SO_REUSEADDR" "man 7 socket" . true . . 0 TCP TCP . SCTP (oob) . "oob" auxdata . "oob" auxdata oob . SCTP . (Remote Address String) "[ipv4|ipv6],,[;[ipv4|ipv6],,[...]]" IPv4 IPv6 . SCTP . (Remote Address) SCTP struct sockaddr GENSIO_CONTROL_RADDR_BIN SCTP . (Direct Allocation) terminal gensio gdata "const struct gensio_addr *" . UNIX unix[()], unixseq[()], . unixseq unix SOCK_SEQPACKET SOCK_STREAM . unix . unix gensio . unixseq unixdgram . . . . . . delsock . unix(7) . . . (Linux remote credentials) . (Options) readbuf unix gensio : delsock[=true|false] . umode=[0-7|[rwx]*] . read(4)/write(2)/execute(1) chmod . "6" (rw) umask . . perm . . gmode=[0-7|[rwx]*] umode . omode=[0-7|[rwx]*] umode . perm=[0-7][0-7][0-7] umask . . owner= . . group= . . peerusers=[;[;...]] . . peerusers peergroups . . peergrps=[;[;...]] . . . (Remote Address String) : "unix,". (Remote Address) UNIX struct sockaddr_un GENSIO_CONTROL_RADDR_BIN . (Direct Allocation) terminal gensio gdata "const struct gensio_addr *" . serialdev connecting = serialdev[()],[,[,]] serialdev . /dev/xxx termios . //./COM Device Manager . . gensio "dev" . gensio . "serialdev" "sdev" . serialdev UUCP fork() serialdev UUCP . . (Options) readbuf serialdev gensio : uucplock[=true|false] UUCP . pty /dev/tty true . . flock[=true|false] flock . /dev/tty true . "flock(fd, LOCK_EX | LOCK_NB)" "ioctl(fd, TIOCNXCL)" . . drain_time=off|