|
|
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.