ASYNC(3)						     Library Functions Manual							  ASYNC(3)

NAME
async - framing for a serial line to Datakit SYNOPSIS
ctlfd = open(".../ctl", ORDWR); write(ctlfd, "push async", 10); DESCRIPTION
This is not a device, but rather a stream module (see stream(3)) that can be pushed onto a stream. This module provides the framing neces- sary to treat a serial line as a Datakit trunk. It is usually pushed onto a stream before the dkmux module. The frame includes a CRC. Any received frames with an incorrect CRC are discarded. The format of a message upstream of the module is: channel # low byte channel # high byte control byte (0 means none) data bytes The format of a frame is: 0x7d 0x7d channel # low byte channel # high byte crc low byte crc high byte 0x7d 0x7d All control bytes in the frame are preceded by a 0x9d byte. All 0x9d and 0x7d bytes in the data are followed by a 0x00 byte to distinguish them from framing or control specifiers. SEE ALSO
stream(3), cons(3), dk(3) SOURCE
/sys/src/9/port/stasync.c ASYNC(3)