term% cat index.txt FCALL(3) Library Functions Manual FCALL(3)
NAME
fcall - recreate packet delimiters
SYNOPSIS
Fctlfd = open(".../ctl", ORDWR);
Fwrite(ctlfd, "push fcall", 10);
DESCRIPTION
Fcall is a stream module (see stream(3)) that can be pushed onto a con‐
nection to a 9P file server. The function of the module is to recreate
packet delimiters lost in transmission. The 9P protocol demands that
network connections preserve delimiters between messages written to the
file server. Stream based protocols, like TCP, are unable to preserve
delimiters. The delimiters must be recreated by the receiver before a
packet is read by a file system.
Fcall examines a data stream and identifies 9P messages from their
type. The length of the message is computed from the header. Data is
collected and buffered by the stream module until an entire 9P message
has been assembled. A single message is then delimited and sent up‐
stream to be read by a file server.
SEE ALSO
stream(3), ip(3), exportfs(4), srv(4)
SOURCE
/sys/src/9/port/stfcall.c
FCALL(3)