+++ /dev/null
-\chapter{Amoeba Specific Services}
-
-\section{\module{amoeba} ---
- Amoeba system support}
-
-\declaremodule{builtin}{amoeba}
- \platform{Amoeba}
-\modulesynopsis{Functions for the Amoeba operating system.}
-
-
-This module provides some object types and operations useful for
-Amoeba applications. It is only available on systems that support
-Amoeba operations. RPC errors and other Amoeba errors are reported as
-the exception \code{amoeba.error = 'amoeba.error'}.
-
-The module \module{amoeba} defines the following items:
-
-\begin{funcdesc}{name_append}{path, cap}
-Stores a capability in the Amoeba directory tree.
-Arguments are the pathname (a string) and the capability (a capability
-object as returned by
-\function{name_lookup()}).
-\end{funcdesc}
-
-\begin{funcdesc}{name_delete}{path}
-Deletes a capability from the Amoeba directory tree.
-Argument is the pathname.
-\end{funcdesc}
-
-\begin{funcdesc}{name_lookup}{path}
-Looks up a capability.
-Argument is the pathname.
-Returns a
-\dfn{capability}
-object, to which various interesting operations apply, described below.
-\end{funcdesc}
-
-\begin{funcdesc}{name_replace}{path, cap}
-Replaces a capability in the Amoeba directory tree.
-Arguments are the pathname and the new capability.
-(This differs from
-\function{name_append()}
-in the behavior when the pathname already exists:
-\function{name_append()}
-finds this an error while
-\function{name_replace()}
-allows it, as its name suggests.)
-\end{funcdesc}
-
-\begin{datadesc}{capv}
-A table representing the capability environment at the time the
-interpreter was started.
-(Alas, modifying this table does not affect the capability environment
-of the interpreter.)
-For example,
-\code{amoeba.capv['ROOT']}
-is the capability of your root directory, similar to
-\code{getcap("ROOT")}
-in C.
-\end{datadesc}
-
-\begin{excdesc}{error}
-The exception raised when an Amoeba function returns an error.
-The value accompanying this exception is a pair containing the numeric
-error code and the corresponding string, as returned by the C function
-\cfunction{err_why()}.
-\end{excdesc}
-
-\begin{funcdesc}{timeout}{msecs}
-Sets the transaction timeout, in milliseconds.
-Returns the previous timeout.
-Initially, the timeout is set to 2 seconds by the Python interpreter.
-\end{funcdesc}
-
-\subsection{Capability Operations}
-
-Capabilities are written in a convenient \ASCII{} format, also used by the
-Amoeba utilities
-\emph{c2a}(U)
-and
-\emph{a2c}(U).
-For example:
-
-\begin{verbatim}
->>> amoeba.name_lookup('/profile/cap')
-aa:1c:95:52:6a:fa/14(ff)/8e:ba:5b:8:11:1a
->>>
-\end{verbatim}
-%
-The following methods are defined for capability objects.
-
-\begin{methoddesc}[capability]{dir_list}{}
-Returns a list of the names of the entries in an Amoeba directory.
-\end{methoddesc}
-
-\begin{methoddesc}[capability]{b_read}{offset, maxsize}
-Reads (at most)
-\var{maxsize}
-bytes from a bullet file at offset
-\var{offset.}
-The data is returned as a string.
-EOF is reported as an empty string.
-\end{methoddesc}
-
-\begin{methoddesc}[capability]{b_size}{}
-Returns the size of a bullet file.
-\end{methoddesc}
-
-\begin{methoddesc}[capability]{dir_append}{}
-\funcline{dir_delete}{}
-\funcline{dir_lookup}{}
-\funcline{dir_replace}{}
-Like the corresponding
-\samp{name_}*
-functions, but with a path relative to the capability.
-(For paths beginning with a slash the capability is ignored, since this
-is the defined semantics for Amoeba.)
-\end{methoddesc}
-
-\begin{methoddesc}[capability]{std_info}{}
-Returns the standard info string of the object.
-\end{methoddesc}
-
-\begin{methoddesc}[capability]{tod_gettime}{}
-Returns the time (in seconds since the Epoch, in UCT, as for \POSIX) from
-a time server.
-\end{methoddesc}
-
-\begin{methoddesc}[capability]{tod_settime}{t}
-Sets the time kept by a time server.
-\end{methoddesc}