|
|
1.1 root 1: .TH ASYNC 3
2: .SH NAME
3: async \- framing for a serial line to Datakit
4: .SH SYNOPSIS
5: .nf
6: .B
7: ctlfd = open(".../ctl", ORDWR);
8: .B
9: write(ctlfd, "push async", 10);
10: .fi
11: .SH DESCRIPTION
12: .PP
13: This is not a device, but rather a
14: .I stream module
15: (see
16: .IR stream (3))
17: that can be pushed onto a stream.
18: This module provides the framing necessary to treat
19: a serial line as a Datakit trunk.
20: It is usually pushed onto a stream before the
21: .I dkmux
22: module.
23: The frame includes a CRC.
24: Any received frames with an incorrect CRC are
25: discarded.
26: .PP
27: The format of a message upstream of the module is:
28: .IP
29: channel # low byte
30: .br
31: channel # high byte
32: .br
33: control byte (0 means none)
34: .br
35: data bytes
36: .LP
37: The format of a frame is:
38: .IP
39: .B 0x7d
40: .br
41: .B 0x7d
42: .br
43: channel # low byte
44: .br
45: channel # high byte
46: .br
47: crc low byte
48: .br
49: crc high byte
50: .br
51: .B 0x7d
52: .br
53: .B 0x7d
54: .LP
55: All control bytes in the frame are preceded by a
56: .B 0x9d
57: byte.
58: All
59: .B 0x9d
60: and
61: .B 0x7d
62: bytes in the data are followed by a
63: .B 0x00
64: byte to distinguish them from framing or control
65: specifiers.
66: .SH "SEE ALSO"
67: .IR stream (3),
68: .IR cons (3),
69: .IR dk (3)
70: .SH SOURCE
71: .B /sys/src/9/port/stasync.c
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.