-.NH 3
-Descriptor wrapping.\(dg
-.PP
-.FS
-\(dg The facilities described in this section are not included
-in 4.3BSD.
-.FE
-A user process may build descriptors of a specified type by
-\fIwrapping\fP a communications channel with a system supplied protocol
-translator:
-.DS
-new = wrap(old, proto)
-result int new; int old; struct dprop *proto;
-.DE
-Operations on the descriptor \fIold\fP are then translated by the
-system provided protocol translator into requests on the underlying
-object \fIold\fP in a way defined by the protocol.
-The protocols supported by the kernel may vary from system to system
-and are described in the programmers manual.
-.PP
-Protocols may be based on communications multiplexing or a rights-passing
-style of handling multiple requests made on the same object. For instance,
-a protocol for implementing a file abstraction may or may not include
-locally generated ``read-ahead'' requests. A protocol that provides for
-read-ahead may provide higher performance but have a more difficult
-implementation.
-.PP
-Another example is the terminal driving facilities. Normally a terminal
-is associated with a communications line, and the terminal type
-and standard terminal access protocol are wrapped around a synchronous
-communications line and given to the user. If a virtual terminal
-is required, the terminal driver can be wrapped around a communications
-link, the other end of which is held by a virtual terminal protocol
-interpreter.