mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 03:44:55 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			132 lines
		
	
	
	
		
			3.6 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			132 lines
		
	
	
	
		
			3.6 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
\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.
 | 
						|
 | 
						|
\setindexsubitem{(capability method)}
 | 
						|
\begin{funcdesc}{dir_list}{}
 | 
						|
Returns a list of the names of the entries in an Amoeba directory.
 | 
						|
\end{funcdesc}
 | 
						|
 | 
						|
\begin{funcdesc}{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{funcdesc}
 | 
						|
 | 
						|
\begin{funcdesc}{b_size}{}
 | 
						|
Returns the size of a bullet file.
 | 
						|
\end{funcdesc}
 | 
						|
 | 
						|
\begin{funcdesc}{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{funcdesc}
 | 
						|
 | 
						|
\begin{funcdesc}{std_info}{}
 | 
						|
Returns the standard info string of the object.
 | 
						|
\end{funcdesc}
 | 
						|
 | 
						|
\begin{funcdesc}{tod_gettime}{}
 | 
						|
Returns the time (in seconds since the Epoch, in UCT, as for \POSIX{}) from
 | 
						|
a time server.
 | 
						|
\end{funcdesc}
 | 
						|
 | 
						|
\begin{funcdesc}{tod_settime}{t}
 | 
						|
Sets the time kept by a time server.
 | 
						|
\end{funcdesc}
 |