annotate Doc/libctb.tex @ 5817:48b94de85bf3 legacy-trunk

Extensive changes by AMK.
author Guido van Rossum <guido@python.org>
date Thu, 17 Jul 1997 16:29:42 +0000
parents 9b7e6d9a528d
children 3468ea8645ca
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2576
f47bc5554418 mass changes; fix titles; add examples; correct typos; clarifications;
Guido van Rossum <guido@python.org>
parents: 2527
diff changeset
1 \section{Built-in Module \sectcode{ctb}}
2457
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
2 \bimodindex{ctb}
2458
65bcb4182c1a Added a missing line
Jack Jansen <jack.jansen@cwi.nl>
parents: 2457
diff changeset
3 \renewcommand{\indexsubitem}{(in module ctb)}
2457
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
4
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
5 This module provides a partial interface to the Macintosh
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
6 Communications Toolbox. Currently, only Connection Manager tools are
2647
9b7e6d9a528d typos, layout and other small things
Guido van Rossum <guido@python.org>
parents: 2576
diff changeset
7 supported. It may not be available in all Mac Python versions.
2457
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
8
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
9 \begin{datadesc}{error}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
10 The exception raised on errors.
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
11 \end{datadesc}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
12
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
13 \begin{datadesc}{cmData}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
14 \dataline{cmCntl}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
15 \dataline{cmAttn}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
16 Flags for the \var{channel} argument of the \var{Read} and \var{Write}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
17 methods.
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
18 \end{datadesc}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
19
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
20 \begin{datadesc}{cmFlagsEOM}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
21 End-of-message flag for \var{Read} and \var{Write}.
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
22 \end{datadesc}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
23
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
24 \begin{datadesc}{choose*}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
25 Values returned by \var{Choose}.
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
26 \end{datadesc}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
27
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
28 \begin{datadesc}{cmStatus*}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
29 Bits in the status as returned by \var{Status}.
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
30 \end{datadesc}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
31
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
32 \begin{funcdesc}{available}{}
2527
815dfaa6a778 small changes by Soren Larsen
Guido van Rossum <guido@python.org>
parents: 2458
diff changeset
33 Return 1 if the communication toolbox is available, zero otherwise.
2457
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
34 \end{funcdesc}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
35
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
36 \begin{funcdesc}{CMNew}{name\, sizes}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
37 Create a connection object using the connection tool named
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
38 \var{name}. \var{sizes} is a 6-tuple given buffer sizes for data in,
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
39 data out, control in, control out, attention in and attention out.
2527
815dfaa6a778 small changes by Soren Larsen
Guido van Rossum <guido@python.org>
parents: 2458
diff changeset
40 Alternatively, passing \code{None} will result in default buffer sizes.
2457
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
41 \end{funcdesc}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
42
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
43 \subsection{connection object}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
44 For all connection methods that take a \var{timeout} argument, a value
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
45 of \code{-1} is indefinite, meaning that the command runs to completion.
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
46
2576
f47bc5554418 mass changes; fix titles; add examples; correct typos; clarifications;
Guido van Rossum <guido@python.org>
parents: 2527
diff changeset
47 \renewcommand{\indexsubitem}{(connection object attribute)}
2457
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
48
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
49 \begin{datadesc}{callback}
2527
815dfaa6a778 small changes by Soren Larsen
Guido van Rossum <guido@python.org>
parents: 2458
diff changeset
50 If this member is set to a value other than \code{None} it should point
2457
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
51 to a function accepting a single argument (the connection
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
52 object). This will make all connection object methods work
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
53 asynchronously, with the callback routine being called upon
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
54 completion.
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
55
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
56 {\em Note:} for reasons beyond my understanding the callback routine
2527
815dfaa6a778 small changes by Soren Larsen
Guido van Rossum <guido@python.org>
parents: 2458
diff changeset
57 is currently never called. You are advised against using asynchronous
2457
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
58 calls for the time being.
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
59 \end{datadesc}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
60
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
61
2576
f47bc5554418 mass changes; fix titles; add examples; correct typos; clarifications;
Guido van Rossum <guido@python.org>
parents: 2527
diff changeset
62 \renewcommand{\indexsubitem}{(connection object method)}
f47bc5554418 mass changes; fix titles; add examples; correct typos; clarifications;
Guido van Rossum <guido@python.org>
parents: 2527
diff changeset
63
2457
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
64 \begin{funcdesc}{Open}{timeout}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
65 Open an outgoing connection, waiting at most \var{timeout} seconds for
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
66 the connection to be established.
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
67 \end{funcdesc}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
68
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
69 \begin{funcdesc}{Listen}{timeout}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
70 Wait for an incoming connection. Stop waiting after \var{timeout}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
71 seconds. This call is only meaningful to some tools.
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
72 \end{funcdesc}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
73
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
74 \begin{funcdesc}{accept}{yesno}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
75 Accept (when \var{yesno} is non-zero) or reject an incoming call after
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
76 \var{Listen} returned.
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
77 \end{funcdesc}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
78
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
79 \begin{funcdesc}{Close}{timeout\, now}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
80 Close a connection. When \var{now} is zero, the close is orderly
2527
815dfaa6a778 small changes by Soren Larsen
Guido van Rossum <guido@python.org>
parents: 2458
diff changeset
81 (i.e.\ outstanding output is flushed, etc.)\ with a timeout of
2457
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
82 \var{timeout} seconds. When \var{now} is non-zero the close is
2527
815dfaa6a778 small changes by Soren Larsen
Guido van Rossum <guido@python.org>
parents: 2458
diff changeset
83 immediate, discarding output.
2457
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
84 \end{funcdesc}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
85
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
86 \begin{funcdesc}{Read}{len\, chan\, timeout}
2527
815dfaa6a778 small changes by Soren Larsen
Guido van Rossum <guido@python.org>
parents: 2458
diff changeset
87 Read \var{len} bytes, or until \var{timeout} seconds have passed, from
2457
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
88 the channel \var{chan} (which is one of \var{cmData}, \var{cmCntl} or
2527
815dfaa6a778 small changes by Soren Larsen
Guido van Rossum <guido@python.org>
parents: 2458
diff changeset
89 \var{cmAttn}). Return a 2-tuple:\ the data read and the end-of-message
2457
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
90 flag.
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
91 \end{funcdesc}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
92
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
93 \begin{funcdesc}{Write}{buf\, chan\, timeout\, eom}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
94 Write \var{buf} to channel \var{chan}, aborting after \var{timeout}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
95 seconds. When \var{eom} has the value \var{cmFlagsEOM} an
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
96 end-of-message indicator will be written after the data (if this
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
97 concept has a meaning for this communication tool). The method returns
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
98 the number of bytes written.
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
99 \end{funcdesc}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
100
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
101 \begin{funcdesc}{Status}{}
2527
815dfaa6a778 small changes by Soren Larsen
Guido van Rossum <guido@python.org>
parents: 2458
diff changeset
102 Return connection status as the 2-tuple \code{(\var{sizes},
815dfaa6a778 small changes by Soren Larsen
Guido van Rossum <guido@python.org>
parents: 2458
diff changeset
103 \var{flags})}. \var{sizes} is a 6-tuple giving the actual buffer sizes used
2457
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
104 (see \var{CMNew}), \var{flags} is a set of bits describing the state
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
105 of the connection.
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
106 \end{funcdesc}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
107
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
108 \begin{funcdesc}{GetConfig}{}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
109 Return the configuration string of the communication tool. These
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
110 configuration strings are tool-dependent, but usually easily parsed
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
111 and modified.
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
112 \end{funcdesc}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
113
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
114 \begin{funcdesc}{SetConfig}{str}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
115 Set the configuration string for the tool. The strings are parsed
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
116 left-to-right, with later values taking precedence. This means
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
117 individual configuration parameters can be modified by simply appending
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
118 something like \code{'baud 4800'} to the end of the string returned by
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
119 \var{GetConfig} and passing that to this method. The method returns
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
120 the number of characters actually parsed by the tool before it
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
121 encountered an error (or completed successfully).
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
122 \end{funcdesc}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
123
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
124 \begin{funcdesc}{Choose}{}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
125 Present the user with a dialog to choose a communication tool and
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
126 configure it. If there is an outstanding connection some choices (like
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
127 selecting a different tool) may cause the connection to be
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
128 aborted. The return value (one of the \var{choose*} constants) will
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
129 indicate this.
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
130 \end{funcdesc}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
131
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
132 \begin{funcdesc}{Idle}{}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
133 Give the tool a chance to use the processor. You should call this
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
134 method regularly.
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
135 \end{funcdesc}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
136
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
137 \begin{funcdesc}{Abort}{}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
138 Abort an outstanding asynchronous \var{Open} or \var{Listen}.
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
139 \end{funcdesc}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
140
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
141 \begin{funcdesc}{Reset}{}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
142 Reset a connection. Exact meaning depends on the tool.
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
143 \end{funcdesc}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
144
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
145 \begin{funcdesc}{Break}{length}
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
146 Send a break. Whether this means anything, what it means and
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
147 interpretation of the \var{length} parameter depend on the tool in
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
148 use.
e1a7bdfafec9 Yet another one...
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
149 \end{funcdesc}