\documentstyle[russian,fancyheadings,twoside,epsf,indentfirst]{article}
% Vertical sizes
%\vsize=20cm
%\voffset=-2.3cm
%\topmargin=0cm
%\headheight=0.9cm
%\footskip=1cm
%\footheight=0.9cm
%\textheight=16cm
%\headrulewidth 0.01cm
%\footrulewidth 0.0cm
% horisontal sizes
%\hsize=30cm
%\hoffset=-4.3cm
%\hoffset=-2.3cm	
%\textwidth=13cm
% Modes
% \special{landscape}
\pagestyle{empty}
\pagestyle{fancyplain}
\newcommand{\tit}[1]{#1}
\rhead[\fancyplain{}{\tit{\leftmark}}]{\fancyplain{}{\tit{\rightmark}}}
\lhead[\fancyplain{}{\tit{\rightmark}}]{\fancyplain{}{\tit{\leftmark}}}
\chead{\hfill}
\lfoot[\fancyplain{}{\tit{\thepage}}]{\fancyplain{}{\hfill}}
\rfoot[\fancyplain{}{\hfill}]{\fancyplain{}{\tit{\thepage}}}
\cfoot{\hfill}
\renewcommand{\sectionmark}[1]{\markboth{#1}{\ }}
\renewcommand{\subsectionmark}[1]{\markright{\ }}
\newcommand{\look}[1]{(�����~\ref{#1}, ���.~\pageref{#1})}
\newcommand{\toindex}[1]{\underline{\bf#1}\index{#1}}
\newcommand{\add}[1]{\symbol{64}}
\newcommand{\ps}[1]{\symbol{37}s}
\newcommand{\twcol}[4]{
\noindent\parbox[t]{#1\textwidth}{#3} \hfill \parbox[t]{#2\textwidth}{#4\hfill}\\
}
\newcommand{\tc}[2]{\twcol{0.49}{0.49}{#1}{#2}}
\newcommand{\tcc}[2]{\twcol{0.49}{0.49}{\toindex{#1}}{#2}}
\newcommand{\ttt}[2]{\bigskip

{\bf#1}

#2}
\newcommand{\ts}[1]{{\bf#1}}
\newcommand{\dl}[2]{\parbox[t]{0.4\textwidth}{#1\hfill}\hfill
                    \parbox[t]{0.4\textwidth}{#2\hfill}}
\makeindex
\begin{document} 
\title{\bf\it ����������� ������������ ���������� "LIBFTP"}
\author{���� ����}
\date{\today}
\newpage 
\maketitle

\section*{��������}

������� ������������ ��� ��������� ���������� ��������������� ������������
�����������. �� ����� ������������ � ������������. 
����� ����� ���������� �� ��������� �������, ����� ��������� � ������ 
������������ �����������.

������������ ������������� ���� ����������  �������� � ������������
�\"� ������.

\section*{������� �������� � ������� ��������}

��� �����, ������� ���� �� ���� ��� ������ ��������� � ��������������
��������� ������� ���� socket, connect, bind.... �� ������, ��� ����� ������ 
������������������ ������� ������� ��� �������� ���������� �� ��������� TCP ���� � �� ��. ������ ��������� �������� 
������ ``� ������ ���������� �� ����� ���������� ����� �������� 
������, ��� ��������� �������� ����������������?''.
��� ��������� �������� �������� \ts{libftp}.

����� ���������� ``������'' ����� ����������, ���� �������
������� ����� �������� ������, ����� ��� 
�������� ������ ����� ��� ������ ������ ������. ��� ���������
���� �������� �������� ������������� ������� ������� ������� �������,
��� ������������ ��������� �� ������������ ����� ������� 
(��������� ������������� 
������������� ��������� �������).
��� ����� ��� ������ ������ \ts{EXIT}, ������� ��� �������� ��������� �������,
��������� ���, � � ������ ������������� �������� ������� ������������� 
�������.

��� �������� ������ �� ����, ������� � �������� ������� �� dialup-slip'��
(�������� �������� ��� exUSSR) 
����� ��������� �������� ``������� ����'' � ���� �������� ������� ��������
���������� ����������� ����������\footnote{������� ����� ������������
��������� ftp, � �������� � ��� ``reget filename''}, ��� ��������� �������� 
��������� ��������� \toindex{ftptry}\footnote{��������� \ts{ftptry} ����� ������� ����} � �������������� ���������� libftp.
��� �\"� ���������� � ���������� ���� ��������� ������� 
\toindex{FtpRestorTimeout} � \toindex{FtpReretrTimeout}, 
������� � ������� �� ������� \ts{FtpStorTimeout} � \ts{FtpRetrTimeout} 
�� �������� � ���������� �����.   

\section*{���������� - ��� ����������� � ��������� �������}

\begin{itemize}

\item � ���������� ������ ������ �� socket'�� ������������ ���������
setjmp-longjmp, alarm+SIGALRM, SIGIO, ������� ����� �������� �� select. 
���� ���������� (������������� SIGALRM) ����������� ��� ������ � X11
\footnote{��� ���� ������������ alarm}

\item ���������� FtpDataStart\footnote{� ������ ����� ���������� �����} �� ����������� ��������� FTP, � �������� ����� ��� ����.

\item ���������� ������ � \toindex{site-specific} ftpd ���������
\end{itemize}
 
\section*{���� ��� ���������� ����������}

\begin{itemize}

\item  ���������� ���������  ������������ ������
���������� ����� ������ �� ������. \footnote{���������� ���� � ������ ������}

\item ���������� ���������� � ��������� X-window's ��� ����������� 
������� ����������� �� ������ ������� � ������������ ��������������� �������� 
(��� ��������� �����)

\item �������� ������������������� �������� ��� ������������� 
��������� ���������� ������� ������. 

\item �������� ������� FTP ��� C++

\end{itemize}

\section*{��������}

���������� ``libftp'' ������������� ��� ��������� ���������� �������� � �������
���������� ������������� ���������� ����� �� ���� TCP/IP. O��
�������� ������� ������� ������� �� ����������� �������, ����� ��� �������� ���������� �� ��������� FTP �� ��������� ������, �� ������� �������� ������, ������� �������� 
����� ���� ��������� ����������/������������ � ��������. 
��� ������� ����� ��������� � ����� \toindex{FtpLibrary.h}, 
������� ������ ���� �������
� ������� ����������� ����������\footnote{�������� /usr/include}. 
��� ��������� ����������� ��������� ���������
���������� �������  � �� ���������, �� ��� �� ����� ���������� ������� �� ����� ���������
���������� ���������� � �� ���������. 

��� ����������, ������� ��������, ����������
� ��������������� ������� ���������� ����������� \toindex{FTPD}
\footnote{��� ������ ������� FtpRertrTimeout, FtpRestorTimeout ����������
����� ������ ����������� ������� REST}.

�� ������ ������������ �������� ���������� �������� ��������� 
������� ���� ������, � ��� ����� ������ 
�����/������, � ������ �������������� ����������� ������ �������� �������� 
���������� ������ ����� �������  (������������ \ts{EXIT}, ������������ � \ts{FtpLibrary.h}) 
������� ��������� 
�������������� ��������� ���� ��� ����������� ������� ��������� 
������ � �������
�������, ������ ��������� ����� ���������, ����� ������ � �� ������ ������ 
� ��������� ��������. � �������� �������� ������ � ��� ������� ����������
����������� ���������� ������������ ����� �������� ������ ������, �� ��������� ��������, �������� ������� ������������ ���������. 


��� ������ � �����������, ������ ������ ���������� ��������� 
���������� � ��������\footnote{�� ����������� FtplibDebug} (\ts{FtpLogin} ��� \ts{FtpConnect})
������� ���������� ��������� �� ����� ��������� ��������� ������ (���� \ts{FTP})  
� ���������� � ��������. 




\section{��������� ������ FTP}


\tc{int \toindex{sock}}{--- ���������� ������ �������� ������ �� ������;}
\tc{FILE *\toindex{data}}{--- �������� ������ ��� �������� ������ �� ������;}
\tc{int \toindex{errno}}{ --- �������� ���������� ������������� ����������� ��������.
                        � ������ ���� ��� ������������ ��� ����� ����, 
                        �� ��������� ������;}
\tc{char \toindex{mode}}{--- ��� �������� ������;}
\tc{int ch}{--- ��������������� ���������� ������������ ��� ��������������
                        ������ � ������ �������� ��������� ������;}
\tc{STATUS (*func)()}{--- ����� �������, ������� ���������� � ������ ����� �� �������
                        ������� ����� �� ������;}
\tc{STATUS (*debug)()}{--- ����� �������, ������� ���������� ��� ������� ���������;}
\tc{STATUS (*IO)()}{--- ������� ���������� � ������ ������ ����� � ��������, ���
                        �� ��������� ������������� ������� �� �����/�������� ������
                        �������.}
 

\section{ ��������� ����������/������������ � ��������}

\ttt{STATUS \toindex{FtpConnect}(FTP~**, char~*hostname
\footnote{��� ������ ����� ���� ��� ���������� ��� � ��������, �������� 
\ts{dxcern.cern.ch} ��� \ts{128.141.201.96}}
)}
{
  ������� ����� ���������� � ��������, ����������� �� ������  hostname,
  � ������� ��������� FTP, ��������� �� ��� ���������. ���� ��������������
  ���� ��������� ��������� \toindex{FtplibDebug}(1), 
  �� �� ���������� � �������� �������� �����������
  ������������ ��������� ������ \toindex{FtpDebugDebug}, \toindex{FtpDebugError}, 
  \toindex{FtpDebugIO} \look{debug}.
}
\ttt{STATUS \toindex{FtpUser}(FTP~*, char~*user)}
{
 �������� ������� ��� ������������. ����� ������ ���� ���� ����������� ����������
}

\ttt{STATUS \toindex{FtpPassword}(FTP~*, char~*password)}
{
 �������� ������� ������. ����� ������ ���� ���� ��������� ��������� \ts{FtpUser} 
}\ttt{STATUS \toindex{FtpAccount}(FTP~*, char~*acct)}
{
 �������� ������� ��� account'a ��� ������� ������� ��� ������� ������������
 ���������� ��������� \ts{FTP}, �� �.�. ���� ����� ������������ ������ � ������� ��������� ���� 
 ������� ������������ �� ������� \ts{FtpAccount} � ����� �� �� �����.
 �������������� ������ ���� ���� ��������� ���������
 \ts{FtpUser}.
}

\ttt{
STATUS \toindex{FtpLogin}(FTP~**, char~*hostname, char~*user, char~*password, char~*account)}
{
  ��������������� ��������� ��������� \ts{FtpConnect}, \ts{FtpUser}, \ts{FtpPassword}, \ts{FtpAccount} 
(���� �������� account ����� NULL, �� ��������� FtpAccount �� ����������)}

\ttt{STATUS \toindex{FtpBye}(FTP~*)}
{ ��������� ����� ������ � �������� \footnote{��� ����� �� �������� �������� ����������/������������ �� ����� ��������� ����� ������������ ���������� � ����������� ���������} }




\section{��������� ������� ���������} \label{debug} 

���������� ����������� �������������� ���������� ��� 
���������:~\footnote{���� � ����� �� �������, ��������� ����, ������ ��������� function �������� �������� \ts{NULL}, �� ��� ����� ��������
���������� �������. ��� ����������� ������� ��������� ������ ����� 
���������� ��� �� �� ������������� �������� �������� (���� ��� ���� \toindex{STATUS}) ��� 
�� ���������� errno � ��������� \ts{FTP}}

\ttt{\toindex{FtpSetDebugHandler}(FTP *,function)}
{  ������������� ��������� ������� ��������� � ��������� ��������. 
   ���� �� ����������, �� ��� ������ ����� ���������� �� ����������� ������� 
   ������/�������� ��������� �/�� �������. ������ ������ �������, �� � ��������
   ����� ������ ����� ��������� ���������� ��������� � ������ �������������.
}

\ttt{\toindex{FtpSetErrorHandler}(FTP *,function)}
{
   ���������� ������� ��������� ������.
   ����� �� �����������, � ������ ����������� ��������
   ��������������������� ������, ����� ���������� ��������� �������. 
   ��� ���� ���� � ���� ������ �������� �� '-', � �.�. ��������� 
   ���������� ������ ����.
}
\ttt{\toindex{FtpSetIOHandler}(FTP *,function)}
{
   ����������� ������� ��������� ������ �����/������.
   ��� �������� ������ ��� ������ �� ������, ����� ���������� �������� ����� 
   ����� � �������� ����� �������� (���� ������ ����������� ��� ���� ���� 
   � ���� ��� ������ ������� �� ��������� ������) ��� ���� ����� �������
   ��������� �������. ���  ���������� ��� �� �� ���������
   ������������� ������� ��� �������� ���������� ������� � ������� �� �����
   �������� ������. (\toindex{timeout})
}

\ttt{\toindex{FtpDebug}(FTP *)}
{
����������� ����������� ������� ������� ��������� ����� ��� 
\tc{\toindex{FtpDebugError}}{--- �������� ������ ������������ �������� � ��������� ���������;}
\tc{\toindex{FtpDebugDebug}}{--- �������� ������ ������������ ��������;}
\tc{\toindex{FtpDebugIO}}{--- �������� ������ \ts{strerror(errno)} � ��������� ���������.}
}

�� ��� ��������� ���������� ��� ���������:\\
1. ��������� \ts{FTP};\\
2. �������� ������������ ��������, ���� ��� ������ ������� �� ��������� ������;\\
3. ���������� ��������� �� ������ (char *).

\ttt{\toindex{FtplibDebug}(\ts{on} or \ts{off})}
{	��������/��������� �������������� ��������� ���� ����� ������� ��� 
        ���������� ������� \ts{FtpConnect(FtpLogin)}}
\section{��������� �������� ������ � �������}

\ttt{STATUS  \toindex{FtpRetrTimeout}(FTP~*, char~*command, char~*inp, char~*out
\footnote{���� ��� ���������� ����� \ts{out} �������� �� �������� \ts{*STDIN*}, \ts{*STDOUT*}, \ts{*STDERR*} �� 
������ �������� ������ ����� ���������� ������������ ������ �������������� � �������� 
\ts{stdin}, \ts{stdout}, \ts{stderr} (��������� ������ ������������ ������ 
���������� ������� \toindex{Ftpfopen}, ������� ��� ������������� ����� ���� ������� ��������������, � ������ �� �����������, ��� ��������� ������� fopen)},
 long~time)}
{
	�������� ������� \ts{command} �� ������, ������ ���� � ������� 
        ���������� ��������� \ps, �� �� �� ����� ����� ����������� ������ \ts{inp}.
        ������� ����� ��� �������� ������, � �� ��� ����� ��������
	�������� � ���� ����� ����� ����������� � ��������� ���� \ts{out}. 
        ���� � ������� ������� \ts{time}(� ��������)
	 � ������� �� ������ �� ������ �������, �� 
        ������� ��������� ������ ������� ����� �������� ������ �����/������.
	� ������ ����� \toindex{timeout}=0, 
        ������������ ����� �������� �� ������ ���������� �����
        �������������, � ���� ������ ������ �����/������  ����� ����������
        �� ��������� timeout'a � ���� TCP/IP (��� �������). ����� �������, ���� \ts{timeout} � 
	��������� time ������ ��� timeout � ���� TCP/IP, �� ������� 
        �� ������� �������� ������. \footnote{\ts{Timeout} � ����� ������ TCP/IP(��������) ������} 
}

\ttt{STATUS  \toindex{FtpReretrTimeout}(FTP~*, char~*command, char~*inp, char~*out, long~time)}
{
	���������� �o �� �a��� �������� ��� � ������� \ts{FtpRetrTimeout}, �� 
���������� ����, ��� ����� ��������� ����������� ���� \ts{out}, � � ������
��� ������������� �������� � ������� ���������� � ����� � ������� \ts{<������ ����� out>}+1.}
\ttt{\toindex{FtpRetr}(FTP~*, char~*command, char~*inp, char~*out)}
{
 �������� �� �� �������� ��� � FtpRetrTimeout, �� � ����������� timeout'��.
}

\ttt{\toindex{FtpGetTimeout}(FTP~*, char~*inp, char~*out, long~time)}
{
 �������� � ������� ���� \ts{inp} � ��������� ���� \ts{out}, ��� ���� ���������������
 \ts{timeout=time}.
}

\ttt{\toindex{FtpGet}(FTP~*, char~*in, char~*out)}
{
 �������� ������� \ts{FtpGetTimeout} � ����������� ������������ �������� 
�������� ������}

\ttt{\toindex{FtpDirectory}(FTP~*, char~*pat\footnote{��� ������ �������� ��� ������� ls(dir)}, char~*out)}
{
 �������� ���������� ����������, ���������� ���������� \ts{pat}, � ������� � ���� \ts{out}.
}
\ttt{\toindex{FtpDir}(FTP~*, char~*out)}
{
 �������� ���������� ������� ���������� � ������� � ���� \ts{out}.
}

\section{��������� �������� ������ �� ������}

\ttt{\toindex{FtpStorTimeout}(FTP~*, char~*command, char~*inp, char~*out, long~time)}
{
  �������� ���������� ���������� ����� \ts{inp} �� ������, �������������� ������ 
��� �������, ������������ �� \ts{command} � \ts{out}. �������� \ts{time}, ������ ������������
����� �� �������� ������ �������. 
}

\ttt{STATUS  \toindex{FtpRestorTimeout}(FTP~*, char~*command, char~*inp, char~*out, long~time)}
{
	���������� �o �� �a��� �������� ��� � ������� \ts{FtpStorTimeout}, �� 
���������� ����, ��� ����� ��������� ����������� ���� \ts{out} �� �������, 
�, � ������ ��� �������������, �������� �� ������ ���������� � ����� � ������� \ts{<������ ����� out>}+1.}

\ttt{\toindex{FtpStor}(FTP~*, char~*command, char~*inp, char*~out)}
{
  �������� ������ ��������� \ts{FtpStorTimeout} � ���������� \ts{time=0}.
}

\ttt{\toindex{FtpPutTimeout}(FTP~*, char~*in, char~*out, long~time)}
{ �������� ��������� ���� \ts{in} �� ������ � ���� � ������ \ts{out}, ��� ���� \ts{timeout=time}}

\ttt{\toindex{FtpPut}(FTP~*, char~*in, char~*out)}
{
  �������� ��������� \ts{FtpPutTimeout} � ���������� \ts{time=0}}


\section{��������� ������/������ � ���� �� �������}

��� ����, ����� ����������� ����/����� ��/� ����� ������� ��������� �� �������, 
������ �� ������� �� �������������� � ��������� ����, � ������� ��������������� � ����������, 
���������� ����������� ������� ���� �� ������� �� ������/������/�������� �
����� � ������� ������� �������� �����/������ ��� �� ��� ������ ��������
\ts{FtpRead} � \ts{FtpWrite}, ������� � ������� �� ������ ����������� ��������� �����, 
����������� ����������� ��������.
\footnote{�����������, ����� ������� ��� \ts{seek}, \ts{ioctl}, ... 
          ��� ���� ������ �����������.}


\ttt{\toindex{FtpData}(FTP~*, char~*command, char~*param, char~*mode)}
{ ������� ����� ��� �������� ������ �������������� ������ ������� ������� �������
������������ �� ���������� \ts{command} � \ts{param}. �������� \ts{mode} ��������� ����� ���� 
��� ``r'' ��� ``w''}

\ttt{\toindex{FtpOpenRead}(FTP~*,char~*filename)}
{ ��������� ��� ������ ���� � ������ \ts{filename} �� ������� }

\ttt{\toindex{FtpOpenWrite}(FTP~*,char~*filename)}
{ ��������� ��� ������ ���� � ������ \ts{filename} �� ������� }

\ttt{\toindex{FtpOpenAppend}(FTP~*,char~*filename)}
{ ��������� ��� �������� ���� � ������ \ts{filename} �� ������� }

\ttt{\toindex{FtpOpenDir}(FTP~*, char~*files)}
{
  ������� ����� ��� ������ ���������� �������� ����������, �������� files ����������
������� \ts{ls} �� ������� � �������� 1-�� ���������
}

\ttt{int \toindex{FtpRead}(FTP~*)}{������ ������ �� ������ ������, ���� ���� �����������
 ��������� ���� �������� \footnote{����������� �� ���������.}, ����������� �������� �� ����� ������. ��� �����������
����� ������ ���������� \toindex{EOF}} 

\ttt{\toindex{FtpGetString}(FTP~*, char~*str)}
{ ������ ����� ������ �� ������ ������ ��� ������ ������� \ts{FtpRead}.}

\ttt{\toindex{FtpWrite}(FTP~*, char~c)}{����� ������ � ����� ������, ���� ���� �����������
 ��������� ���� ��������, ����������� �������� �� ����� ������. ��� �����������
������ �����/������ ���������� \toindex{EOF}} 

\ttt{\toindex{FtpClose}(FTP~*)}
{��������� ����� �������� ����� ������.}

\section{������� ��� ������� � ��������������� �������}

\ttt{\toindex{FtpCommand}(FTP~*, char~*command, char~*param, int~ok1, ok2, ok3, ..., okN, EOF)}
{ �������� �������, ������������ �� ���������� \ts{command} � \ts{param}, � ��������� 
����� �������, ���� ��� ������ �� ��������� �� � ����� ��������� \ts{ok}, ��
���� ���� ������ �������� �� '-'. � ������ ���� ���������� handler ��������� 
������ �������� ���. 
}

\ttt{\toindex{FtpType}(FTP~*,char~*mode)}
{������������� ���� �������� ������, mode ����� ���� ``A'', ``I'', ``S'',....}

\ttt{\toindex{FtpBinary}(FTP~*)}
{������������� �������� ���� �������� ������}

\ttt{\toindex{FtpAscii}(FTP~*)}
{������������� ��������� ���� �������� ������}


\ttt{\toindex{FtpMkdir}(FTP~*,char *dirname)}
{������� ���������� �� �������}

\ttt{\toindex{FtpChdir}(FTP~*,char *dirname)}
{������ �������� ���������� �� �������}

\ttt{\toindex{FtpRm}(FTP~*,char *filename)}
{������� ���� �� �������}

\ttt{char~*\toindex{FtpPwd}(FTP~*)}
{���������� �������� ���������� �� �������}

\ttt{int \toindex{FtpSize}(FTP~*,char *filename)}
{���������� ������ ����� � ������, ���� ���� � ��������� ������ �����������,
�� ������������ ������ ������, �.�. �������� ������ ����}

\ttt{\toindex{FtpMove}(FTP~*,char *oldfilename, char *newfilename)}
{��������������� �� ������� ���� \ts{oldfilename} � ���� \ts{newfilename}}

\ttt{\toindex{FtpPort}(FTP~*, int~a, int~b, int~c, int~d, int~e, int~f)}
{������� ������� ������� ����� ��� �������� ������. ������ \ts{a.b.c.d} ��� IP ����� 
������� � \ts{e*256+f} ����� �����.}

\ttt{struct hostent *\toindex{FtpGetHost}(char *hostname)}
{���������� ��������� �� ��������� ���� hostent.
 �������� -- ��� ������ ���������� ��� ��� ������,
��� �� IP ����� � �������� ����\footnote{��������: ``dxunk8.oea.ihep.su'' ��� 
``192.102.229.71''}.}

\section{������������ �������� ��������� �/�� �������}

\ttt{\toindex{FtpSendMessage}(FTP~*, char~*message)}
{�������� ��������� �������}

\ttt{int \toindex{FtpGetMessage}(FTP~*)}
{��������� ��������� �� ������� � ���������� ��� ���}

\ttt{\toindex{FtpMessage}(int Number)}
{���������� �� ���� ��������� ��� ����������}

\section{������� ������� ������ ������}

\ttt{FILE *\toindex{FtpFullOpen}(char *filename,char *mode)}
{ ��������� ������ filename, ������� ������ ���� ���� 
\\ \ts{host/user/password:filename} ��� �� ���� \ts{filename}, � ����������� �� ����� 
�����������  ���� ��� �� ������� \ts{host} ��� ��������� ����. �������� mode ������
��������� ���� ��� ��� �������. ������ ������ ��� �������� ����� ``r'',``w'' ���
``a''. ������ ������ ����� ��������� ������ ``b'' ��� ����� �������� �������� ���� ��������}
\ttt{\toindex{FtpFullClose}(FILE *f)}
{�������� �����}


\section{�������� �������� � ���������� ��������}

\subsection{��������� get}\index{get}

����������� ����� � ������� � ��������� ���� � ����� �� ������ � �������������� ������� ������� ������.


\subsection{��������� fcp}\index{fcp}

��������� fcp ������������� ������� ������������� ������� ������� ������ ������
(FtpFullOpen � FtpFullClose). ��� ����� ������������� � �������� 
���������, ����� ��������� � ��������� � ��������� ����. ��� ���������
����������� �������� ��� � ������� � ��������� ����, ��� � ��������,
 � ����� � ������� �� ������.

\subsection{��������� ftptry}\index{ftptry}

������������� ��� �������� ������ �������� ������� �� ����� ������� 
����� ����� ``��������''. ��� ������ ����� ��������� � ����� �����������
�� dialup-������. 

\ts{ftptry} � ��������  ������������ ��� �������������� 
�������� ������, ������� ����������� ���������� ��� ���������� �������� ����e��� � ���� ����� ��� ������� ���������. 

��� ������� \ts{ftptry} ��� ������, �� ����� ��������� ������ ���� ���������� 
����� � ���� ������ �������, ������� � ������ ����������� ����� 
� �� ���������� ��������� �� ����� ������. 
���������� ������ ������� � ���, ��� 
��� ��� ��������� ����� ���������� ������� ����������� ������, 
�� ����� ��������������
���������� ���������� ��������� ``FTPTRY''\index{FTPTRY enviroment} 
�� �������� � ��� ��� ��� �������� 
� ��������� ``less''
\footnote{��������: \% setenv FTPTRY ``-DBb -u anonymous -s 60 -t 15''},
� ������ � ��������� ������ ������ �� ����� ������� ����� 
������������ ��� �� ������ �� ������.


\newpage
\input rus.ind
\newpage
\tableofcontents
\end{document}


