Plan B User's Manual


Name

intro ­ Introduction to Op, the Box Protocol.

Synopsis

#include <op.h>

Description

Plan B uses the Op protocol, described in this section, to operate on boxes.

The procotol is based on RPCs used to operate on remote boxes. Each RPC has a request message and a reply message—there is also a generic status reply message that can be used for requests that do not need to return data to the caller and also to report error conditions while processing requests.

The kernel uses a procedural interface for Op; it calls procedures for each request defined in Op. The implementation of such procedures for remote boxes is in charge of sending/receiving messages.

All requests are self-contained, and correspond almost one to one with system calls. Although some requests have a corresponding reply message defined, all of them may be replied by a status(5) message to notify any error condition to the request sender.

Op requests refer to boxes. A box is identified by the server address, and by the box selector (i.e. name) used by the server to name the box; both are strings.

The synopsis sections in the following pages show the fields of the messages involved. The format for binary numbers is that of 386 machines. Strings are null terminated. All messages start with an OpHdr structure, with a magic number, a serial request number, and an operation id. Manual pages show just the symbolic name for the request. All messages carry also authentication information, that is not shown in the following pages. For a detailed description of the message format, you can refer to the header file op.h that contains the detailed declaration for the OpMsg data structure that describes Op messages.

Source

/src/b/port/rbox.c and /src/b/port/op.c

See also

intro(1)

Plan B: Boxes for network resources. Francisco J Ballesteros.

The Box: A replacement for files. Francisco J Ballesteros and Sergio Arevalo. HotOS-VII.

intro(1).

Bugs

Many, this section is not different and the protocols is young.


Plan B User's Manual. First edition.