Skip to content

The XMSG protocols

Generated by generate.py - do not edit.

Everything here rides on XMSG. A service is a task holding a port; a port is addressed by a magic number; and XROUT is the phone book that turns a registered name into one.

flowchart TD
    TAD[TAD - terminal sessions] --> XMSG
    FA[FA - remote files] --> XMSG
    CHAT[chat, and anything we build] --> XMSG
    XMSG[XMSG messages, addressed by magic number] --> HDR
    XROUT[XROUT - names, routes, seats] -.->|turns a name into an address| XMSG
    HDR[SINTRAN datagram: 7-word header + body] --> LINK
    LINK[ND link over Ethernet, or LAPB over HDLC]
Protocol What it is Registry
The SINTRAN envelope the envelope every message rides in - the 7-word header, the bitfields, the ND link underneath sintran-wire.json
TAD - terminal sessions how a terminal on one machine reaches another: CONNECT-TO, the accept, then keystrokes and screen output tad-wire.json
FA - remote files, and the QFORM encoding open, read, write, create and list files on another machine - and the tag encoding its bodies use fa-qform.json
XROUT - names, routes and seats the phone book: it turns a registered name into an address, forwards the first letter, and counts the seats xrout-services.json
CHAT - rooms, members and what they say the one protocol Norsk Data never shipped: joining a room, saying something, and the two ports that decide who spends a seat chat-wire.json

Every claim carries a status and an evidence pointer. MEASURED means somebody watched it happen and the evidence names where; inferred follows from something measured; UNKNOWN means we copy it and never compute it.