twisted.protocols.ftp.html   [plain text]


<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>twisted.protocols.ftp</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">

<!-- =========== START OF NAVBAR =========== -->
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="center">
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="twisted.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar" align="right" width="100%">
      <table border="0" cellpadding="0" cellspacing="0">
      <tr><th class="navbar" align="center">
        <p class="nomargin">
          <a class="navbar" target="_top" href="http://twistedmatrix.com/">Twisted&nbsp;1.3.0rc1</a>
      </p></th></tr></table>
    </th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <font size="-1"><b class="breadcrumbs">
        <a href="twisted.html">Package&nbsp;twisted</a> ::
        <a href="twisted.protocols.html">Package&nbsp;protocols</a> ::
        Module&nbsp;ftp
      </b></font></br>
    </td>
    <td><table cellpadding="0" cellspacing="0">
      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="twisted.protocols.ftp.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
    </table></td>
</tr></table>

<!-- =========== START OF MODULE DESCRIPTION =========== -->
<h2 class="module">Module twisted.protocols.ftp</h2>

<p>An FTP protocol implementation</p>
Maintainer: <a href="mailto:slyphon&#64;twistedmatrix.com">Jonathan D. 
Simms</a>
<hr/>

<!-- =========== START OF CLASSES =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
  <th colspan="2">Classes</th></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.DTP.html"><code>DTP</code></a></b></td>
  <td>The Data Transfer Protocol for this FTP-PI instance all dtp_* methods 
return a deferred</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.DTPFactory.html"><code>DTPFactory</code></a></b></td>
  <td>&nbsp;</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.DTPFileSender.html"><code>DTPFileSender</code></a></b></td>
  <td>&nbsp;</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.FTP.html"><code>FTP</code></a></b></td>
  <td>Protocol Interpreter for the File Transfer Protocol</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.FTPAnonymousShell.html"><code>FTPAnonymousShell</code></a></b></td>
  <td>Only works on POSIX platforms at the moment.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.FTPClient.html"><code>FTPClient</code></a></b></td>
  <td>A Twisted FTP Client</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.FTPCommand.html"><code>FTPCommand</code></a></b></td>
  <td>&nbsp;</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.FTPDataPortFactory.html"><code>FTPDataPortFactory</code></a></b></td>
  <td>Factory for data connections that use the PORT command</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.FTPFactory.html"><code>FTPFactory</code></a></b></td>
  <td>A factory for producing ftp protocol instances</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.FTPFileListProtocol.html"><code>FTPFileListProtocol</code></a></b></td>
  <td>Parser for standard FTP file listings</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.FTPRealm.html"><code>FTPRealm</code></a></b></td>
  <td>&nbsp;</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.IDTPFactory.html"><code>IDTPFactory</code></a></b></td>
  <td>An interface for protocol.Factories</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.IDTPParent.html"><code>IDTPParent</code></a></b></td>
  <td>An interface for protocols that wish to use a DTP sub-protocol and 
factory.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.IFTPShell.html"><code>IFTPShell</code></a></b></td>
  <td>An abstraction of the shell commands used by the FTP protocol for a 
given user account</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.ProtocolWrapper.html"><code>ProtocolWrapper</code></a></b></td>
  <td>&nbsp;</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.SenderProtocol.html"><code>SenderProtocol</code></a></b></td>
  <td>&nbsp;</td></tr>
</table><br />


<!-- =========== START OF EXCEPTIONS =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
  <th colspan="2">Exceptions</th></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.AnonUserDeniedError.html"><code>AnonUserDeniedError</code></a></b></td>
  <td>raised when an anonymous user issues a command that will alter the 
filesystem</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.AuthorizationError.html"><code>AuthorizationError</code></a></b></td>
  <td>raised when client authentication fails</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.BadCmdSequenceError.html"><code>BadCmdSequenceError</code></a></b></td>
  <td>raised when a client sends a series of commands in an illogical 
sequence</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.BadResponse.html"><code>BadResponse</code></a></b></td>
  <td>&nbsp;</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.BogusClientError.html"><code>BogusClientError</code></a></b></td>
  <td>thrown when a client other than the one we opened this DTP connection 
for attempts to connect, or a client attempts to get us to connect to an 
ip that differs from the one where the request came from</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.ClientDisconnectError.html"><code>ClientDisconnectError</code></a></b></td>
  <td>&nbsp;</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.CmdArgSyntaxError.html"><code>CmdArgSyntaxError</code></a></b></td>
  <td>&nbsp;</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.CmdNotImplementedError.html"><code>CmdNotImplementedError</code></a></b></td>
  <td>raised when an unimplemented command is given to the server</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.CmdNotImplementedForArgError.html"><code>CmdNotImplementedForArgError</code></a></b></td>
  <td>&nbsp;</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.CmdSyntaxError.html"><code>CmdSyntaxError</code></a></b></td>
  <td>&nbsp;</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.CommandFailed.html"><code>CommandFailed</code></a></b></td>
  <td>&nbsp;</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.ConnectionLost.html"><code>ConnectionLost</code></a></b></td>
  <td>&nbsp;</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.DTPError.html"><code>DTPError</code></a></b></td>
  <td>&nbsp;</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.FileNotFoundError.html"><code>FileNotFoundError</code></a></b></td>
  <td>&nbsp;</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.FTPError.html"><code>FTPError</code></a></b></td>
  <td>&nbsp;</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.FTPTimeoutError.html"><code>FTPTimeoutError</code></a></b></td>
  <td>&nbsp;</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.IsNotADirectoryError.html"><code>IsNotADirectoryError</code></a></b></td>
  <td>raised when RMD is called on a path that isn't a directory</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.OperationFailedError.html"><code>OperationFailedError</code></a></b></td>
  <td>raised when a command like rmd or mkdir fails for a reason other than 
permissions errors</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.PathBelowTLDError.html"><code>PathBelowTLDError</code></a></b></td>
  <td>&nbsp;</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.PermissionDeniedError.html"><code>PermissionDeniedError</code></a></b></td>
  <td>&nbsp;</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.TLDNotSetInRealmError.html"><code>TLDNotSetInRealmError</code></a></b></td>
  <td>raised if the tld (root) directory for the FTPRealm was not set before 
requestAvatar was called</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.ftp.UnexpectedResponse.html"><code>UnexpectedResponse</code></a></b></td>
  <td>&nbsp;</td></tr>
</table><br />


<!-- =========== START OF FUNCTION SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
  <th colspan="2">Function Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="_callWithDefault"></a><span class="summary-sig"><span class="summary-sig-name">_callWithDefault</span>(<span class=summary-sig-arg>default</span>,
          <span class=summary-sig-arg>_f</span>,
          <span class="summary-sig-vararg">*_a</span>,
          <span class="summary-sig-kwarg">**_kw</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.protocols.ftp.html#_getFPName" class="summary-sig-name"><code>_getFPName</code></a>(<span class=summary-sig-arg>fp</span>)</span></code>
<br />
returns a file object's name attr if it has one, otherwise it returns 
&quot;&lt;string&gt;&quot;</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.protocols.ftp.html#_memberGIDs" class="summary-sig-name"><code>_memberGIDs</code></a>(<span class=summary-sig-arg>gid</span>)</span></code>
<br />
returns a list of all gid's that are a member of group with id</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.protocols.ftp.html#_testPermissions" class="summary-sig-name"><code>_testPermissions</code></a>(<span class=summary-sig-arg>uid</span>,
          <span class=summary-sig-arg>gid</span>,
          <span class=summary-sig-arg>spath</span>,
          <span class=summary-sig-arg>mode</span>)</span></code>
<br />
checks to see if uid has proper permissions to access path with 
mode</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="cleanPath"></a><span class="summary-sig"><span class="summary-sig-name">cleanPath</span>(<span class=summary-sig-arg>path</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="debugDeferred"></a><span class="summary-sig"><span class="summary-sig-name">debugDeferred</span>(<span class=summary-sig-arg>self</span>,
          <span class="summary-sig-vararg">*_</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.protocols.ftp.html#decodeHostPort" class="summary-sig-name"><code>decodeHostPort</code></a>(<span class=summary-sig-arg>line</span>)</span></code>
<br />
Decode an FTP response specifying a host and port.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.protocols.ftp.html#parsePWDResponse" class="summary-sig-name"><code>parsePWDResponse</code></a>(<span class=summary-sig-arg>response</span>)</span></code>
<br />
Returns the path from a response to a PWD command.</td></tr>
</table><br />


<!-- =========== START OF VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
  <th colspan="2">Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#BAD_CMD_SEQ"><code>BAD_CMD_SEQ</code></a></b> = <span title="'503'"><code><span class="variable-quote">'</span>503<span class="variable-quote">'</span>                                      </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#CANT_OPEN_DATA_CNX"><code>CANT_OPEN_DATA_CNX</code></a></b> = <span title="'425'"><code><span class="variable-quote">'</span>425<span class="variable-quote">'</span>                               </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#CLOSING_DATA_CNX"><code>CLOSING_DATA_CNX</code></a></b> = <span title="'226'"><code><span class="variable-quote">'</span>226<span class="variable-quote">'</span>                                 </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#CMD_NOT_IMPLMNTD"><code>CMD_NOT_IMPLMNTD</code></a></b> = <span title="'502'"><code><span class="variable-quote">'</span>502<span class="variable-quote">'</span>                                 </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#CMD_NOT_IMPLMNTD_FOR_PARAM"><code>CMD_NOT_IMPLMNTD_FOR_PARAM</code></a></b> = <span title="'504'"><code><span class="variable-quote">'</span>504<span class="variable-quote">'</span>                       </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#CMD_NOT_IMPLMNTD_SUPERFLUOUS"><code>CMD_NOT_IMPLMNTD_SUPERFLUOUS</code></a></b> = <span title="'202'"><code><span class="variable-quote">'</span>202<span class="variable-quote">'</span>                     </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#CMD_OK"><code>CMD_OK</code></a></b> = <span title="'200.1'"><code><span class="variable-quote">'</span>200.1<span class="variable-quote">'</span>                                         </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#CNX_CLOSED_TXFR_ABORTED"><code>CNX_CLOSED_TXFR_ABORTED</code></a></b> = <span title="'426'"><code><span class="variable-quote">'</span>426<span class="variable-quote">'</span>                          </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#DATA_CNX_ALREADY_OPEN_START_XFR"><code>DATA_CNX_ALREADY_OPEN_START_XFR</code></a></b> = <span title="'125'"><code><span class="variable-quote">'</span>125<span class="variable-quote">'</span>                  </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#DATA_CNX_OPEN_NO_XFR_IN_PROGRESS"><code>DATA_CNX_OPEN_NO_XFR_IN_PROGRESS</code></a></b> = <span title="'225'"><code><span class="variable-quote">'</span>225<span class="variable-quote">'</span>                 </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#DIR_STATUS"><code>DIR_STATUS</code></a></b> = <span title="'212'"><code><span class="variable-quote">'</span>212<span class="variable-quote">'</span>                                       </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#ENDLN"><code>ENDLN</code></a></b> = <span title="'\r\n'"><code><span class="variable-quote">'</span>\r\n<span class="variable-quote">'</span>                                           </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#ENTERING_EPSV_MODE"><code>ENTERING_EPSV_MODE</code></a></b> = <span title="'229'"><code><span class="variable-quote">'</span>229<span class="variable-quote">'</span>                               </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#ENTERING_PASV_MODE"><code>ENTERING_PASV_MODE</code></a></b> = <span title="'227'"><code><span class="variable-quote">'</span>227<span class="variable-quote">'</span>                               </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#ENTERING_PORT_MODE"><code>ENTERING_PORT_MODE</code></a></b> = <span title="'200.3'"><code><span class="variable-quote">'</span>200.3<span class="variable-quote">'</span>                             </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#EXCEEDED_STORAGE_ALLOC"><code>EXCEEDED_STORAGE_ALLOC</code></a></b> = <span title="'552'"><code><span class="variable-quote">'</span>552<span class="variable-quote">'</span>                           </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#FILE_STATUS"><code>FILE_STATUS</code></a></b> = <span title="'213'"><code><span class="variable-quote">'</span>213<span class="variable-quote">'</span>                                      </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#FILE_STATUS_OK_OPEN_DATA_CNX"><code>FILE_STATUS_OK_OPEN_DATA_CNX</code></a></b> = <span title="'150'"><code><span class="variable-quote">'</span>150<span class="variable-quote">'</span>                     </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#FILENAME_NOT_ALLOWED"><code>FILENAME_NOT_ALLOWED</code></a></b> = <span title="'553'"><code><span class="variable-quote">'</span>553<span class="variable-quote">'</span>                             </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#GOODBYE_MSG"><code>GOODBYE_MSG</code></a></b> = <span title="'221'"><code><span class="variable-quote">'</span>221<span class="variable-quote">'</span>                                      </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#HELP_MSG"><code>HELP_MSG</code></a></b> = <span title="'214'"><code><span class="variable-quote">'</span>214<span class="variable-quote">'</span>                                         </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#NAME_SYS_TYPE"><code>NAME_SYS_TYPE</code></a></b> = <span title="'215'"><code><span class="variable-quote">'</span>215<span class="variable-quote">'</span>                                    </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#NEED_ACCT_FOR_LOGIN"><code>NEED_ACCT_FOR_LOGIN</code></a></b> = <span title="'332'"><code><span class="variable-quote">'</span>332<span class="variable-quote">'</span>                              </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#NEED_ACCT_FOR_STOR"><code>NEED_ACCT_FOR_STOR</code></a></b> = <span title="'532'"><code><span class="variable-quote">'</span>532<span class="variable-quote">'</span>                               </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#PAGE_TYPE_UNK"><code>PAGE_TYPE_UNK</code></a></b> = <span title="'551'"><code><span class="variable-quote">'</span>551<span class="variable-quote">'</span>                                    </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#PASV"><code>PASV</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#PORT"><code>PORT</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#PWD_REPLY"><code>PWD_REPLY</code></a></b> = <span title="'257'"><code><span class="variable-quote">'</span>257<span class="variable-quote">'</span>                                        </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#REQ_ACTN_ABRTD_FILE_UNAVAIL"><code>REQ_ACTN_ABRTD_FILE_UNAVAIL</code></a></b> = <span title="'450'"><code><span class="variable-quote">'</span>450<span class="variable-quote">'</span>                      </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#REQ_ACTN_ABRTD_INSUFF_STORAGE"><code>REQ_ACTN_ABRTD_INSUFF_STORAGE</code></a></b> = <span title="'452'"><code><span class="variable-quote">'</span>452<span class="variable-quote">'</span>                    </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#REQ_ACTN_ABRTD_LOCAL_ERR"><code>REQ_ACTN_ABRTD_LOCAL_ERR</code></a></b> = <span title="'451'"><code><span class="variable-quote">'</span>451<span class="variable-quote">'</span>                         </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#REQ_ACTN_NOT_TAKEN"><code>REQ_ACTN_NOT_TAKEN</code></a></b> = <span title="'550.5'"><code><span class="variable-quote">'</span>550.5<span class="variable-quote">'</span>                             </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#REQ_FILE_ACTN_COMPLETED_OK"><code>REQ_FILE_ACTN_COMPLETED_OK</code></a></b> = <span title="'250'"><code><span class="variable-quote">'</span>250<span class="variable-quote">'</span>                       </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#REQ_FILE_ACTN_PENDING_FURTHER_INFO"><code>REQ_FILE_ACTN_PENDING_FURTHER_INFO</code></a></b> = <span title="'350'"><code><span class="variable-quote">'</span>350<span class="variable-quote">'</span>               </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#RESPONSE"><code>RESPONSE</code></a></b> = <span title="{'150': '150 File status okay; about to open data connection.', '214': '214 help: %s', '215': '215 UNIX Type: L8', '212': '212 %s', '213': '213 %s', '211': '211 system status reply', '425': &quot;425 Can't open data connection.&quot;, '200.1': '200 Command OK', '200.3': '200 PORT OK', '200.2': '200 Type set to %s.', '331.1': '331 Password required for %s.', '220.2': '220-Welcome, ask your doctor if twistedmatrix.com is right for you!\r\n220 Features p .', '220.1': '220 Service ready', '100': '110 MARK yyyy-mmmm', '257': '257 &quot;%s&quot; is current directory.', '331.2': '331 Guest login ok, type your email a..."><code>{'150':&nbsp;'150&nbsp;File&nbsp;status&nbsp;okay;&nbsp;about&nbsp;to&nbsp;open&nbsp;<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#RESTART_MARKER_REPLY"><code>RESTART_MARKER_REPLY</code></a></b> = <span title="'100'"><code><span class="variable-quote">'</span>100<span class="variable-quote">'</span>                             </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#SERVICE_READY_IN_N_MINUTES"><code>SERVICE_READY_IN_N_MINUTES</code></a></b> = <span title="'120'"><code><span class="variable-quote">'</span>120<span class="variable-quote">'</span>                       </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#SVC_CLOSING_CTRL_CNX"><code>SVC_CLOSING_CTRL_CNX</code></a></b> = <span title="'221'"><code><span class="variable-quote">'</span>221<span class="variable-quote">'</span>                             </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#SVC_NOT_AVAIL_CLOSING_CTRL_CNX"><code>SVC_NOT_AVAIL_CLOSING_CTRL_CNX</code></a></b> = <span title="'421.1'"><code><span class="variable-quote">'</span>421.1<span class="variable-quote">'</span>                 </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#SVC_READY_FOR_NEW_USER"><code>SVC_READY_FOR_NEW_USER</code></a></b> = <span title="'220.1'"><code><span class="variable-quote">'</span>220.1<span class="variable-quote">'</span>                         </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#SYNTAX_ERR"><code>SYNTAX_ERR</code></a></b> = <span title="'500'"><code><span class="variable-quote">'</span>500<span class="variable-quote">'</span>                                       </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#SYNTAX_ERR_IN_ARGS"><code>SYNTAX_ERR_IN_ARGS</code></a></b> = <span title="'501'"><code><span class="variable-quote">'</span>501<span class="variable-quote">'</span>                               </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#SYS_STATUS_OR_HELP_REPLY"><code>SYS_STATUS_OR_HELP_REPLY</code></a></b> = <span title="'211'"><code><span class="variable-quote">'</span>211<span class="variable-quote">'</span>                         </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#TOO_MANY_CONNECTIONS"><code>TOO_MANY_CONNECTIONS</code></a></b> = <span title="'421.2'"><code><span class="variable-quote">'</span>421.2<span class="variable-quote">'</span>                           </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#TXFR_COMPLETE_OK"><code>TXFR_COMPLETE_OK</code></a></b> = <span title="'226'"><code><span class="variable-quote">'</span>226<span class="variable-quote">'</span>                                 </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#TYPE_SET_OK"><code>TYPE_SET_OK</code></a></b> = <span title="'200.2'"><code><span class="variable-quote">'</span>200.2<span class="variable-quote">'</span>                                    </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.ftp.html#WELCOME_MSG"><code>WELCOME_MSG</code></a></b> = <span title="'220.2'"><code><span class="variable-quote">'</span>220.2<span class="variable-quote">'</span>                                    </code>
</span></td></tr>
</table><br />


<!-- =========== START OF FUNCTION DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
  <th colspan="2">Function Details</th></tr>
</table>

<a name="_getFPName"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">_getFPName</span>(<span class=sig-arg>fp</span>)</span>
  </h3>
  returns a file object's name attr if it has one, otherwise it 
  returns &quot;&lt;string&gt;&quot;
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>

<a name="_memberGIDs"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">_memberGIDs</span>(<span class=sig-arg>gid</span>)</span>
  </h3>
  returns a list of all gid's that are a member of group with id
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>

<a name="_testPermissions"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">_testPermissions</span>(<span class=sig-arg>uid</span>,
          <span class=sig-arg>gid</span>,
          <span class=sig-arg>spath</span>,
          <span class=sig-arg>mode</span>=<span class=sig-default>'r'</span>)</span>
  </h3>
  checks to see if uid has proper permissions to access path with 
  mode
  <dl><dt></dt><dd>
    <dl><dt><b>Parameters:</b></dt>
      <dd><code><b>uid</b></code> -
         numeric user id
        <br /><i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        (type=int)</i>
      <dd><code><b>gid</b></code> -
         numeric group id
        <br /><i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        (type=int)</i>
      <dd><code><b>spath</b></code> -
         the path on the server to test
        <br /><i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        (type=string)</i>
      <dd><code><b>mode</b></code> -
         'r' or 'w' (read or write)
        <br /><i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        (type=string)</i>
      </dd>
    </dl>
    <dl><dt><b>Returns:</b></dt>
      <dd>
        a True if the uid can access path
      </dd>
    </dl>
  </dd></dl>
</td></tr></table>

<a name="decodeHostPort"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">decodeHostPort</span>(<span class=sig-arg>line</span>)</span>
  </h3>
  Decode an FTP response specifying a host and port.
  <dl><dt></dt><dd>
    <dl><dt><b>Returns:</b></dt>
      <dd>
        a 2-tuple of (host, port).
      </dd>
    </dl>
  </dd></dl>
</td></tr></table>

<a name="parsePWDResponse"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">parsePWDResponse</span>(<span class=sig-arg>response</span>)</span>
  </h3>
  <p>Returns the path from a response to a PWD command.</p>
  Responses typically look like:
<pre class="literalblock">
   257 &quot;/home/andrew&quot; is current directory.
</pre>
  <p>For this example, I will return <code>'/home/andrew'</code>.</p>
  If I can't find the path, I return <code>None</code>.
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>
<br />


<!-- =========== START OF VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
  <th colspan="2">Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="BAD_CMD_SEQ"></a>
<h3>BAD_CMD_SEQ</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'503'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>503<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="CANT_OPEN_DATA_CNX"></a>
<h3>CANT_OPEN_DATA_CNX</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'425'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>425<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="CLOSING_DATA_CNX"></a>
<h3>CLOSING_DATA_CNX</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'226'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>226<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="CMD_NOT_IMPLMNTD"></a>
<h3>CMD_NOT_IMPLMNTD</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'502'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>502<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="CMD_NOT_IMPLMNTD_FOR_PARAM"></a>
<h3>CMD_NOT_IMPLMNTD_FOR_PARAM</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'504'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>504<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="CMD_NOT_IMPLMNTD_SUPERFLUOUS"></a>
<h3>CMD_NOT_IMPLMNTD_SUPERFLUOUS</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'202'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>202<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="CMD_OK"></a>
<h3>CMD_OK</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'200.1'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>200.1<span class="variable-quote">'</span>                                                                </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="CNX_CLOSED_TXFR_ABORTED"></a>
<h3>CNX_CLOSED_TXFR_ABORTED</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'426'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>426<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="DATA_CNX_ALREADY_OPEN_START_XFR"></a>
<h3>DATA_CNX_ALREADY_OPEN_START_XFR</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'125'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>125<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="DATA_CNX_OPEN_NO_XFR_IN_PROGRESS"></a>
<h3>DATA_CNX_OPEN_NO_XFR_IN_PROGRESS</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'225'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>225<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="DIR_STATUS"></a>
<h3>DIR_STATUS</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'212'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>212<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="ENDLN"></a>
<h3>ENDLN</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'\r\n'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'''</span>\r
<span class="variable-quote">'''</span>                                                                    </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="ENTERING_EPSV_MODE"></a>
<h3>ENTERING_EPSV_MODE</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'229'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>229<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="ENTERING_PASV_MODE"></a>
<h3>ENTERING_PASV_MODE</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'227'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>227<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="ENTERING_PORT_MODE"></a>
<h3>ENTERING_PORT_MODE</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'200.3'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>200.3<span class="variable-quote">'</span>                                                                </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="EXCEEDED_STORAGE_ALLOC"></a>
<h3>EXCEEDED_STORAGE_ALLOC</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'552'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>552<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="FILE_STATUS"></a>
<h3>FILE_STATUS</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'213'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>213<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="FILE_STATUS_OK_OPEN_DATA_CNX"></a>
<h3>FILE_STATUS_OK_OPEN_DATA_CNX</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'150'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>150<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="FILENAME_NOT_ALLOWED"></a>
<h3>FILENAME_NOT_ALLOWED</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'553'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>553<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="GOODBYE_MSG"></a>
<h3>GOODBYE_MSG</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'221'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>221<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="HELP_MSG"></a>
<h3>HELP_MSG</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'214'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>214<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="NAME_SYS_TYPE"></a>
<h3>NAME_SYS_TYPE</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'215'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>215<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="NEED_ACCT_FOR_LOGIN"></a>
<h3>NEED_ACCT_FOR_LOGIN</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'332'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>332<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="NEED_ACCT_FOR_STOR"></a>
<h3>NEED_ACCT_FOR_STOR</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'532'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>532<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="PAGE_TYPE_UNK"></a>
<h3>PAGE_TYPE_UNK</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'551'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>551<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="PASV"></a>
<h3>PASV</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>int</code>

      </dd>
<span title="1">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="PORT"></a>
<h3>PORT</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>int</code>

      </dd>
<span title="2">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="PWD_REPLY"></a>
<h3>PWD_REPLY</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'257'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>257<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="REQ_ACTN_ABRTD_FILE_UNAVAIL"></a>
<h3>REQ_ACTN_ABRTD_FILE_UNAVAIL</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'450'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>450<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="REQ_ACTN_ABRTD_INSUFF_STORAGE"></a>
<h3>REQ_ACTN_ABRTD_INSUFF_STORAGE</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'452'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>452<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="REQ_ACTN_ABRTD_LOCAL_ERR"></a>
<h3>REQ_ACTN_ABRTD_LOCAL_ERR</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'451'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>451<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="REQ_ACTN_NOT_TAKEN"></a>
<h3>REQ_ACTN_NOT_TAKEN</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'550.5'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>550.5<span class="variable-quote">'</span>                                                                </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="REQ_FILE_ACTN_COMPLETED_OK"></a>
<h3>REQ_FILE_ACTN_COMPLETED_OK</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'250'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>250<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="REQ_FILE_ACTN_PENDING_FURTHER_INFO"></a>
<h3>REQ_FILE_ACTN_PENDING_FURTHER_INFO</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'350'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>350<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="RESPONSE"></a>
<h3>RESPONSE</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>dict</code>

      </dd>
<span title="{'150': '150 File status okay; about to open data connection.', '214': '214 help: %s', '215': '215 UNIX Type: L8', '212': '212 %s', '213': '213 %s', '211': '211 system status reply', '425': &quot;425 Can't open data connection.&quot;, '200.1': '200 Command OK', '200.3': '200 PORT OK', '200.2': '200 Type set to %s.', '331.1': '331 Password required for %s.', '220.2': '220-Welcome, ask your doctor if twistedmatrix.com is right for you!\r\n220 Features p .', '220.1': '220 Service ready', '100': '110 MARK yyyy-mmmm', '257': '257 &quot;%s&quot; is current directory.', '331.2': '331 Guest login ok, type your email a...">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
{'100': '110 MARK yyyy-mmmm',
 '120': '120 service ready in %s minutes',
 '125': '125 Data connection already open, starting transfer',
 '150': '150 File status okay; about to open data connection.',
 '200.1': '200 Command OK',
 '200.2': '200 Type set to %s.',
 '200.3': '200 PORT OK',
 '202': '202 command not implemented, superfluous at this site',
<span class="variable-ellipsis">...</span>                                                                    </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="RESTART_MARKER_REPLY"></a>
<h3>RESTART_MARKER_REPLY</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'100'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>100<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="SERVICE_READY_IN_N_MINUTES"></a>
<h3>SERVICE_READY_IN_N_MINUTES</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'120'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>120<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="SVC_CLOSING_CTRL_CNX"></a>
<h3>SVC_CLOSING_CTRL_CNX</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'221'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>221<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="SVC_NOT_AVAIL_CLOSING_CTRL_CNX"></a>
<h3>SVC_NOT_AVAIL_CLOSING_CTRL_CNX</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'421.1'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>421.1<span class="variable-quote">'</span>                                                                </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="SVC_READY_FOR_NEW_USER"></a>
<h3>SVC_READY_FOR_NEW_USER</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'220.1'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>220.1<span class="variable-quote">'</span>                                                                </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="SYNTAX_ERR"></a>
<h3>SYNTAX_ERR</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'500'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>500<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="SYNTAX_ERR_IN_ARGS"></a>
<h3>SYNTAX_ERR_IN_ARGS</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'501'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>501<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="SYS_STATUS_OR_HELP_REPLY"></a>
<h3>SYS_STATUS_OR_HELP_REPLY</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'211'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>211<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="TOO_MANY_CONNECTIONS"></a>
<h3>TOO_MANY_CONNECTIONS</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'421.2'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>421.2<span class="variable-quote">'</span>                                                                </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="TXFR_COMPLETE_OK"></a>
<h3>TXFR_COMPLETE_OK</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'226'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>226<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="TYPE_SET_OK"></a>
<h3>TYPE_SET_OK</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'200.2'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>200.2<span class="variable-quote">'</span>                                                                </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="WELCOME_MSG"></a>
<h3>WELCOME_MSG</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'220.2'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>220.2<span class="variable-quote">'</span>                                                                </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<br />


<!-- =========== START OF NAVBAR =========== -->
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="center">
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="twisted.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar" align="right" width="100%">
      <table border="0" cellpadding="0" cellspacing="0">
      <tr><th class="navbar" align="center">
        <p class="nomargin">
          <a class="navbar" target="_top" href="http://twistedmatrix.com/">Twisted&nbsp;1.3.0rc1</a>
      </p></th></tr></table>
    </th>
  </tr>
</table>

<table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
    <td align="left"><font size="-2">Generated by Epydoc 2.0 on Sat May 15 20:07:44 2004</font></td>
    <td align="right"><a href="http://epydoc.sourceforge.net"
                      ><font size="-2">http://epydoc.sf.net</font></a></td>
  </tr>
</table>
</body>
</html>