home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-12-14 | 70.5 KB | 1,109 lines |
- Newsgroups: comp.sources.misc
- From: orel@oea.ihep.su (Oleg Orel)
- Subject: v41i036: libftp - A C library interface for the FTP protocol, v1.2, Part03/05
- Message-ID: <1993Dec14.154837.25835@sparky.sterling.com>
- X-Md4-Signature: fde458bc5f84c29ecd762ec63da29e82
- Sender: kent@sparky.sterling.com (Kent Landfield)
- Organization: Sterling Software
- Date: Tue, 14 Dec 1993 15:48:37 GMT
- Approved: kent@sparky.sterling.com
-
- Submitted-by: orel@oea.ihep.su (Oleg Orel)
- Posting-number: Volume 41, Issue 36
- Archive-name: libftp/part03
- Environment: UNIX
- Supersedes: libftp: Volume 38, Issue 52
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then feed it
- # into a shell via "sh file" or similar. To overwrite existing files,
- # type "sh file -c".
- # Contents: libftp/Changes libftp/etc/eng.ps.B libftp/etc/rus.tex.UU
- # Wrapped by kent@sparky on Tue Dec 14 09:20:58 1993
- PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin:$PATH ; export PATH
- echo If this archive is complete, you will see the following message:
- echo ' "shar: End of archive 3 (of 5)."'
- if test -f 'libftp/Changes' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'libftp/Changes'\"
- else
- echo shar: Extracting \"'libftp/Changes'\" \(1490 characters\)
- sed "s/^X//" >'libftp/Changes' <<'END_OF_FILE'
- X10/16/1993 FtpConnect.c Replace gethostbyname with FtpGetHost
- X10/16/1993 FtpGetHost.c Created. Read host by name or address.
- X10/16/1993 ftptry.c Add signals SIGSEGV,SIGPIPE
- X10/16/1993 ftptry.c Add key -c (cat mode)
- X10/16/1993 ftptry.c Add key -m (redirect output via e-mail)
- X10/16/1993 ftptry.c Add exit(0) in loop
- X10/16/1993 ftptry.c Add logging via e-mail
- X10/16/1993 ftptry.c In loop2 replace loop() with longjmp,
- X Add setjmp in loop.
- X10/16/1993 ftptry.c Replace FtpSetDebugDebug
- X with FtplibDebug(1)
- X10/16/1993 ftptry.c Replace /dev/tty with *STDOUT*
- X10/16/1993 FtpFopen.c Created. Check file name for
- X *STDIN*, *STDOUT*, *STDERR* there special
- X file name witch rederected for pipes 0,1,2
- X10/16/1993 FtpRetrTimeout.c \
- X FtpStorTimeout.c > Replace fopen with Ftpfopen
- X FtpFullOpen.c /
- X10/17/1993 ftptry.c Add key -P for read password from tty.
- X10/19/1993 FtpLibrary.h Add enum for ftplib_debug
- X FTP_nodebug (default)
- X FTP_debug (debug with exit)
- X FTP_noexit (debug without exit)
- X10/19/1993 FtpDebug.c \ Move ftplib_debug var from
- X FtpConnect.c / FtpConnect.c to FtpDebug.c
- X10/24/1993 ftptry.c Add close chanel procedure to front of the loop2 func.
- X10/26/1993 ftptry.c Add keys O & G. Add function domultiget
- END_OF_FILE
- if test 1490 -ne `wc -c <'libftp/Changes'`; then
- echo shar: \"'libftp/Changes'\" unpacked with wrong size!
- fi
- # end of 'libftp/Changes'
- fi
- if test -f 'libftp/etc/eng.ps.B' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'libftp/etc/eng.ps.B'\"
- else
- echo shar: Extracting \"'libftp/etc/eng.ps.B'\" \(43748 characters\)
- sed "s/^X//" >'libftp/etc/eng.ps.B' <<'END_OF_FILE'
- X01FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE00
- X01FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE00
- X01FE00FFFFFCFFFFFCFFFFFC16297FA819>I<FFFE00007FFFFFFF00007FFFFFFF00007FFF03FF
- X800001C003FFC00001C003FFE00001C003BFF00001C0039FF80001C0038FFC0001C00387FC0001
- XC00383FE0001C00383FF0001C00381FF8001C00380FFC001C003807FE001C003803FE001C00380
- X1FF001C003800FF801C003800FFC01C0038007FE01C0038003FF01C0038001FF81C0038000FF81
- XC00380007FC1C00380007FE1C00380003FF1C00380001FF9C00380000FFDC003800007FDC00380
- X0003FFC003800001FFC003800001FFC003800000FFC0038000007FC0038000003FC0038000001F
- XC0038000000FC0038000000FC0FFFE000007C0FFFE000003C0FFFE000001C030297EA835>78
- XD<0000FFC00000000FFFFC0000003F807F000000FE001FC00001F80007E00003F00003F00007E0
- X0001F8000FE00001FC001FC00000FE001FC00000FE003F8000007F003F8000007F007F8000007F
- X807F0000003F807F0000003F807F0000003F80FF0000003FC0FF0000003FC0FF0000003FC0FF00
- X00003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003F
- XC07F0000003F807F8000007F807F8000007F803F8000007F003F8000007F001FC00000FE001FC0
- X0000FE000FE00001FC0007F00003F80003F80007F00001FC000FE00000FE001FC000003FC0FF00
- X00000FFFFC00000000FFC000002A297CA833>I<FFFFFFF800FFFFFFFF00FFFFFFFFC003FC003F
- XE003FC0007F003FC0003F803FC0003FC03FC0001FC03FC0001FE03FC0001FE03FC0001FE03FC00
- X01FE03FC0001FE03FC0001FE03FC0001FE03FC0001FC03FC0003FC03FC0003F803FC0007F003FC
- X003FE003FFFFFF8003FFFFFE0003FC00000003FC00000003FC00000003FC00000003FC00000003
- XFC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC000000
- X03FC00000003FC00000003FC000000FFFFF00000FFFFF00000FFFFF0000027297EA82E>I<FFFF
- XFFE00000FFFFFFFE0000FFFFFFFF800003FC003FE00003FC000FF00003FC0007F80003FC0003FC
- X0003FC0001FC0003FC0001FE0003FC0001FE0003FC0001FE0003FC0001FE0003FC0001FE0003FC
- X0001FE0003FC0001FC0003FC0003F80003FC0007F80003FC000FE00003FC003FC00003FFFFFE00
- X0003FFFFFE000003FC00FF800003FC003FE00003FC001FF00003FC000FF00003FC000FF80003FC
- X0007F80003FC0007F80003FC0007F80003FC0007F80003FC0007F80003FC0007F80003FC0007F8
- X0003FC0007F80003FC0007F80E03FC0007F80E03FC0003FC0E03FC0003FC1EFFFFF001FE3CFFFF
- XF0007FF8FFFFF0000FE02F297EA832>82 D<00FF00C003FFE1C00FFFF9C01F80FFC03F003FC03E
- X000FC07C0007C07C0007C0FC0003C0FC0003C0FC0001C0FE0001C0FE0001C0FF000000FFC00000
- X7FFC00007FFFE0003FFFF8001FFFFE001FFFFF0007FFFF8003FFFFC000FFFFC0000FFFE000007F
- XE000001FF000000FF0000007F0E00003F0E00003F0E00003F0E00003F0F00003E0F00003E0F800
- X07E0FC0007C0FF000F80FFE01F80E3FFFF00E1FFFC00C01FF0001C297CA825>I<7FFFFFFFFF80
- X7FFFFFFFFF807FFFFFFFFF807F807F807F807C007F800F8078007F80078078007F80078070007F
- X800380F0007F8003C0F0007F8003C0E0007F8001C0E0007F8001C0E0007F8001C0E0007F8001C0
- XE0007F8001C000007F80000000007F80000000007F80000000007F80000000007F80000000007F
- X80000000007F80000000007F80000000007F80000000007F80000000007F80000000007F800000
- X00007F80000000007F80000000007F80000000007F80000000007F80000000007F80000000007F
- X80000000007F80000000007F80000000007F80000000FFFFFFC00000FFFFFFC00000FFFFFFC000
- X2A287EA72F>I<FFFFF000FFFEFFFFF000FFFEFFFFF000FFFE03FC0000038003FC0000038003FC
- X0000038003FC0000038003FC0000038003FC0000038003FC0000038003FC0000038003FC000003
- X8003FC0000038003FC0000038003FC0000038003FC0000038003FC0000038003FC0000038003FC
- X0000038003FC0000038003FC0000038003FC0000038003FC0000038003FC0000038003FC000003
- X8003FC0000038003FC0000038003FC0000038003FC0000038003FC0000038003FC0000078001FE
- X0000070001FE0000070000FE00000F0000FF00001E00007F80003C00003FC0007800000FF003F0
- X000007FFFFE0000000FFFF800000001FFC00002F297EA834>I<03FF80000FFFF0001F01FC003F
- X80FE003F807F003F803F003F803F801F003F8000003F8000003F8000003F8000003F80003FFF80
- X01FC3F800FE03F801F803F803F003F807E003F80FC003F80FC003F80FC003F80FC003F80FC005F
- X807E00DFC03F839FFC1FFE0FFC03F803FC1E1B7E9A21>97 D<FFE00000FFE00000FFE000000FE0
- X00000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000F
- XE000000FE000000FE1FE000FE7FF800FFE07E00FF803F00FF001F80FE000FC0FE000FC0FE0007E
- X0FE0007E0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE000
- X7E0FE0007E0FE0007E0FE000FC0FE000FC0FF001F80FF803F00F9C0FE00F0FFF800E01FC00202A
- X7EA925>I<003FF00001FFFC0003F03E000FC07F001F807F003F007F003F007F007F003E007E00
- X00007E000000FE000000FE000000FE000000FE000000FE000000FE000000FE0000007E0000007E
- X0000007F0000003F0003803F8003801F8007000FE00E0003F83C0001FFF800003FC000191B7E9A
- X1E>I<00007FF000007FF000007FF0000007F0000007F0000007F0000007F0000007F0000007F0
- X000007F0000007F0000007F0000007F0000007F0000007F0003F87F001FFF7F007F03FF00FC00F
- XF01F8007F03F0007F03F0007F07E0007F07E0007F07E0007F0FE0007F0FE0007F0FE0007F0FE00
- X07F0FE0007F0FE0007F0FE0007F0FE0007F07E0007F07E0007F03F0007F03F0007F01F800FF00F
- XC01FF007E07FFF01FFE7FF007F87FF202A7EA925>I<003FC00001FFF00007E07C000FC03E001F
- X801F003F001F803F000F807F000F807E000FC0FE000FC0FE0007C0FE0007C0FFFFFFC0FFFFFFC0
- XFE000000FE000000FE000000FE0000007E0000007F0000003F0001C03F8001C01F8003C00FC007
- X8003F01F0000FFFC00003FE0001A1B7E9A1F>I<0007F8003FFC007E3E01FC7F03F87F03F07F07
- XF07F07F03E07F00007F00007F00007F00007F00007F00007F000FFFFC0FFFFC0FFFFC007F00007
- XF00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007
- XF00007F00007F00007F00007F00007F00007F0007FFF807FFF807FFF80182A7EA915>I<007F80
- XF001FFE3F807C0FE1C0F807C7C1F003E7C1F003E103F003F003F003F003F003F003F003F003F00
- X3F003F003F001F003E001F003E000F807C0007C0F80005FFE0000C7F8000180000001C0000001C
- X0000001E0000001FFFF8001FFFFF000FFFFFC007FFFFE003FFFFF00FFFFFF03E0007F07C0001F8
- XF80000F8F80000F8F80000F8F80000F87C0001F07C0001F03F0007E00FC01F8007FFFF00007FF0
- X001E287E9A22>I<FFE00000FFE00000FFE000000FE000000FE000000FE000000FE000000FE000
- X000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE07E000FE1FF800FE3
- X0FC00FE40FE00FE807E00FF807F00FF007F00FF007F00FE007F00FE007F00FE007F00FE007F00F
- XE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F0
- X0FE007F00FE007F0FFFE3FFFFFFE3FFFFFFE3FFF202A7DA925>I<07001FC01FE03FE03FE03FE0
- X1FE01FC007000000000000000000000000000000FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00F
- XE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0FFFEFFFEFFFE0F2B7EAA
- X12>I<FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0
- X0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00F
- XE00FE0FFFEFFFEFFFE0F2A7EA912>108 D<FFC07F001FC000FFC1FFC07FF000FFC307E0C1F800
- X0FC407F101FC000FC803F200FC000FD803FE00FE000FD003FC00FE000FD003FC00FE000FE003F8
- X00FE000FE003F800FE000FE003F800FE000FE003F800FE000FE003F800FE000FE003F800FE000F
- XE003F800FE000FE003F800FE000FE003F800FE000FE003F800FE000FE003F800FE000FE003F800
- XFE000FE003F800FE000FE003F800FE000FE003F800FE000FE003F800FE00FFFE3FFF8FFFE0FFFE
- X3FFF8FFFE0FFFE3FFF8FFFE0331B7D9A3A>I<FFC07E00FFC1FF80FFC30FC00FC40FE00FC807E0
- X0FD807F00FD007F00FD007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007
- XF00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F0FFFE
- X3FFFFFFE3FFFFFFE3FFF201B7D9A25>I<003FE00001FFFC0003F07E000FC01F801F800FC03F00
- X07E03F0007E07E0003F07E0003F07E0003F0FE0003F8FE0003F8FE0003F8FE0003F8FE0003F8FE
- X0003F8FE0003F8FE0003F87E0003F07E0003F03F0007E03F0007E01F800FC00FC01F8007F07F00
- X01FFFC00003FE0001D1B7E9A22>I<FFE1FE00FFE7FF80FFFE0FE00FF803F00FF001F80FE001FC
- X0FE000FC0FE000FE0FE000FE0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE000
- X7F0FE0007F0FE0007E0FE000FE0FE000FE0FE000FC0FE001FC0FF001F80FF803F00FFC0FE00FEF
- XFF800FE1FC000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000F
- XE00000FFFE0000FFFE0000FFFE000020277E9A25>I<FFC3E0FFC7F8FFCC7C0FD8FE0FD0FE0FD0
- XFE0FF0FE0FE07C0FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0
- X000FE0000FE0000FE0000FE0000FE000FFFF00FFFF00FFFF00171B7E9A1B>114
- XD<03FE300FFFF03E03F07800F07000F0F00070F00070F80070FE0000FFE0007FFF007FFFC03FFF
- XE01FFFF007FFF800FFF80007FC0000FCE0007CE0003CF0003CF00038F80038FC0070FF01E0E7FF
- XC0C1FF00161B7E9A1B>I<00700000700000700000700000F00000F00000F00001F00003F00003
- XF00007F0001FFFE0FFFFE0FFFFE007F00007F00007F00007F00007F00007F00007F00007F00007
- XF00007F00007F00007F00007F00007F07007F07007F07007F07007F07007F07007F07003F0E001
- XF8C000FFC0003F0014267FA51A>I<FFE07FF0FFE07FF0FFE07FF00FE007F00FE007F00FE007F0
- X0FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007
- XF00FE007F00FE007F00FE007F00FE007F00FE007F00FE00FF00FE00FF007E017F003F067FF01FF
- XC7FF007F87FF201B7D9A25>I<FFFE07FFFFFE07FFFFFE07FF07F000E007F000E007F801E003F8
- X01C003F801C001FC038001FC038001FE078000FE070000FF0F00007F0E00007F0E00003F9C0000
- X3F9C00003FFC00001FF800001FF800000FF000000FF000000FF0000007E0000007E0000003C000
- X0003C000201B7F9A23>I<FFFC7FFC1FFCFFFC7FFC1FFCFFFC7FFC1FFC0FE00FE001C007F007E0
- X038007F007E0038007F807F0078003F807F0070003F807F8070001FC0FF80E0001FC0FF80E0001
- XFE1FFC1E0000FE1CFC1C0000FE1CFE1C0000FF387E3C00007F387E3800007F787F3800003FF03F
- X7000003FF03F7000003FE01FF000001FE01FE000001FE01FE000000FC00FC000000FC00FC00000
- X0FC00FC0000007800780000007800780002E1B7F9A31>I<FFFC1FFEFFFC1FFEFFFC1FFE07F007
- X8003F8070001FC0F0001FE1E0000FE3C00007F7800003FF800003FF000001FE000000FE0000007
- XF0000007F800000FF800001FFC00003DFE000038FF0000787F0000F03F8001E03FC003C01FE003
- X800FE0FFF03FFFFFF03FFFFFF03FFF201B7F9A23>I E /Fh 15 117 df<70F8FCFC7404040404
- X080810102040060F7C840E>44 D<008003800F80F3800380038003800380038003800380038003
- X8003800380038003800380038003800380038003800380038003800380038003800380038007C0
- XFFFE0F217CA018>49 D<03F0000C1C001007002007804003C04003C08003E0F003E0F801E0F801
- XE0F801E02003E00003E00003C00003C0000780000700000E00001C0000180000300000600000C0
- X000180000100000200200400200800201800603000403FFFC07FFFC0FFFFC013217EA018>I<03
- XF8000C1E001007002007804007C07807C07803C07807C03807C0000780000780000700000F0000
- X0E0000380003F000001C00000F000007800007800003C00003C00003E02003E07003E0F803E0F8
- X03E0F003C04003C0400780200780100F000C1C0003F00013227EA018>I<01F800060E00080300
- X1001802001802000C06000C06000C06000C07000C07801803E01003F02001FC4000FF80003F800
- X03FC00067F00083F80100F803007C06001C06000E0C000E0C00060C00060C00060C00060600040
- X6000C03000801803000E0E0003F00013227EA018>56 D<01F000060C000C060018070038038070
- X0380700380F001C0F001C0F001C0F001E0F001E0F001E0F001E0F001E07001E07003E03803E018
- X05E00C05E00619E003E1E00001C00001C00001C0000380000380300300780700780600700C0020
- X18001030000FC00013227EA018>I<000FE00000783C0000E00E0003C00780078003C00F0001E0
- X0E0000E01E0000F03C0000783C0000787C00007C7C00007C7800003C7800003CF800003EF80000
- X3EF800003EF800003EF800003EF800003EF800003EF800003EF800003E7800003C7C00007C7C00
- X007C3C0000783E0000F81E0000F00F0001E00F0001E0078003C003C0078000E00E0000783C0000
- X0FE0001F247DA226>79 D<0E0000FE00001E00000E00000E00000E00000E00000E00000E00000E
- X00000E00000E00000E00000E00000E1F000E61C00E80600F00300E00380E003C0E001C0E001E0E
- X001E0E001E0E001E0E001E0E001E0E001E0E001C0E003C0E00380F00700C80600C41C0083F0017
- X237FA21B>98 D<01FE000703000C07801C0780380300780000700000F00000F00000F00000F000
- X00F00000F00000F000007000007800403800401C00800C010007060001F80012157E9416>I<01
- XFC000707000C03801C01C03801C07801E07000E0F000E0FFFFE0F00000F00000F00000F00000F0
- X00007000007800203800201C00400E008007030000FC0013157F9416>101
- XD<00007001F198071E180E0E181C07001C07003C07803C07803C07803C07801C07001C07000E0E
- X000F1C0019F0001000001000001800001800001FFE000FFFC00FFFE03800F0600030400018C000
- X18C00018C000186000306000303800E00E038003FE0015217F9518>103
- XD<0E00FE001E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00
- X0E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00FFE00B237FA20E>
- X108 D<01FC000707000C01801800C03800E0700070700070F00078F00078F00078F00078F00078
- XF00078F000787000707800F03800E01C01C00E038007070001FC0015157F9418>111
- XD<0E3CFE461E8F0F0F0F060F000E000E000E000E000E000E000E000E000E000E000E000E000E00
- X0F00FFF010157F9413>114 D<02000200020002000600060006000E001E003E00FFF80E000E00
- X0E000E000E000E000E000E000E000E000E000E040E040E040E040E040E040708030801F00E1F7F
- X9E13>116 D E /Fi 15 118 df<07000F801FC01FC01FC01F400E400040008000800080010001
- X00020004000400080010002000400080000A1570B116>39 D<000FFFFFFC00000FFFFFFF800000
- X7E000FC000007C0003E000007C0001F000007C0001F800007C0000F80000F80000F80000F80000
- XF80000F80000FC0000F80000F80001F00000F80001F00001F80001F00001F80001F00001F00003
- XE00003F00003E00003E00003E00007C00003E0000FC00007C0001F000007C0003E000007C000FC
- X000007C003F000000FFFFFC000000F8001F000000F80007C00000F80003E00001F00003E00001F
- X00001F00001F00001F00001F00001F00003E00001F80003E00001F80003E00001F80003E00001F
- X80007C00001F00007C00003F00007C00003F00007C00003E0000F800007E0000F80000FC0000F8
- X0000FC0000F80001F80001F00003F00001F00007E00001F0001FC00003F0007F0000FFFFFFFC00
- X00FFFFFFF000002E317BB031>66 D<000FFFFFFFF8000FFFFFFFF800007E0003F800007C0000F8
- X00007C00007800007C00007800007C0000300000F80000300000F80000300000F80000300000F8
- X0000300001F00000300001F00000300001F00000300001F00000600003E00180600003E0018000
- X0003E00180000003E00180000007C00300000007C00300000007C00700000007C01F0000000FFF
- XFE0000000FFFFE0000000F801E0000000F800E0000001F000C0000001F000C0000001F000C0000
- X001F000C0000003E00180000003E00180000003E00000000003E00000000007C00000000007C00
- X000000007C00000000007C0000000000F80000000000F80000000000F80000000000F800000000
- X01F00000000001F00000000001F00000000003F000000000FFFFE0000000FFFFE00000002D317B
- XB02E>70 D<000FFFFE000FFFFE00003F0000003E0000003E0000003E0000003E0000007C000000
- X7C0000007C0000007C000000F8000000F8000000F8000000F8000001F0000001F0000001F00000
- X01F0000003E0000003E0000003E0000003E0000007C0000007C0000007C0000007C000000F8000
- X000F8000000F8000000F8000001F0000001F0000001F0000001F0000003E0000003E0000003E00
- X00003E0000007C0000007C0000007C0000007C000000F8000000F8000000F8000001F800007FFF
- XE000FFFFE0001F317CB01B>73 D<000FFFFE00000FFFFE0000007F000000007C000000007C0000
- X00007C000000007C00000000F800000000F800000000F800000000F800000001F000000001F000
- X000001F000000001F000000003E000000003E000000003E000000003E000000007C000000007C0
- X00000007C000000007C00000000F800000000F800000000F800000000F800000001F000000001F
- X000000001F000000001F000000003E000018003E000018003E000018003E000030007C00003000
- X7C000070007C000060007C0000E000F80000C000F80001C000F80001C000F800038001F0000780
- X01F0000F8001F0003F0003F001FF00FFFFFFFE00FFFFFFFE0025317BB02C>76
- XD<000FFFFFFC00000FFFFFFF0000007E001FC000007C0007E000007C0001F000007C0001F00000
- X7C0000F80000F80000F80000F80000F80000F80000F80000F80000F80001F00001F80001F00001
- XF80001F00001F80001F00001F80003E00003F00003E00003F00003E00007E00003E00007C00007
- XC0000F800007C0001F000007C0003E000007C0007C00000F8003F000000FFFFF8000000F800000
- X00000F80000000001F00000000001F00000000001F00000000001F00000000003E00000000003E
- X00000000003E00000000003E00000000007C00000000007C00000000007C00000000007C000000
- X0000F80000000000F80000000000F80000000000F80000000001F00000000001F00000000001F0
- X0000000003F000000000FFFFC0000000FFFF800000002D317BB030>80 D<07FFFFFFFFF007FFFF
- XFFFFF00FE007E007F00F8007C001F00E0007C000E00C0007C000E01C0007C000E018000F8000E0
- X18000F8000E030000F8000C030000F8000C030001F0000C060001F0000C060001F0000C060001F
- X0000C0C0003E00018000003E00000000003E00000000003E00000000007C00000000007C000000
- X00007C00000000007C0000000000F80000000000F80000000000F80000000000F80000000001F0
- X0000000001F00000000001F00000000001F00000000003E00000000003E00000000003E0000000
- X0003E00000000007C00000000007C00000000007C00000000007C0000000000F80000000000F80
- X000000000F80000000000F80000000001F00000000001F00000000001F00000000003F00000000
- X7FFFFF0000007FFFFF0000002C3174B032>84 D<1FFFF003FFF01FFFF003FFF000FC00007F0000
- XF800001C0000F80000180000F80000180000F80000180001F00000300001F00000300001F00000
- X300001F00000300003E00000600003E00000600003E00000600003E00000600007C00000C00007
- XC00000C00007C00000C00007C00000C0000F80000180000F80000180000F80000180000F800001
- X80001F00000300001F00000300001F00000300001F00000300003E00000600003E00000600003E
- X00000600003E00000600007C00000C00007C00000C00007C00000C00007C00000C000078000018
- X0000780000180000F80000300000780000300000780000600000780000600000780000C0000078
- X00018000003C00030000003C00060000001E000C0000000F003800000007C0F000000003FFC000
- X0000007E000000002C3272B034>I<0000007C00000FFC00000FFC0000007C0000007800000078
- X0000007800000078000000F0000000F0000000F0000000F0000001E0000001E0000001E0000001
- XE0000003C0000003C0000003C00007C3C0001867800070378000E0178001C01F8003801F000780
- X0F000F000F000F000F001F001E001E001E003E001E003E001E007C003C007C003C007C003C007C
- X003C00F8007800F8007800F8007800F8007810F800F030F000F030F000F0307001F0307003F060
- X7802E0603804E0C0180870C00C30318007C01E001E3278B124>100 D<0007E000383000F01801
- XC00C03800C07800C0F000C1E000C1E00183E00187C00307C00E07C0780FFFC00F80000F80000F8
- X0000F00000F00000F00000F00000F00000F00008F0000CF000187000307000603800C01803800C
- X0E0003F000161F779E20>I<00007C000001863000070378000E0178001C01F8003801F0007800
- XF000F000F000F000F001F001E001E001E003E001E003E001E007C003C007C003C007C003C007C0
- X03C00F8007800F8007800F8007800F8007800F800F000F000F000F000F0007001F0007003E0007
- X803E0003805E0001809E0000C33C00007C3C0000003C0000003C00000078000000780000007800
- X000078000000F0000000F0003801E0007801C000F8038000F8070000701C00003FF000001D2D7C
- X9E20>103 D<000700000F80000F80000F00000600000000000000000000000000000000000000
- X00000000000000000000000000000000000003E000063000083800183800303C00303C00603C00
- X607800607800C07800C0F00000F00001E00001E00001E00003C00003C00003C000078000078000
- X0781000F03000F03001E03001E06001E06001E04001E0C000E180006300003C00011307AAF16>
- X105 D<07C03F800C60C0E0187180E0107B01F0307E01F0307C01E0607C01C06078000060780000
- XC0F00000C0F0000000F0000000F0000001E0000001E0000001E0000001E0000003C0000003C000
- X0003C0000003C00000078000000780000007800000078000000F0000000F0000000F0000000F00
- X00001E0000000C0000001C1F7A9E1E>114 D<000FC000383000601800C00C01C00C01801C0380
- X3C03803C03801807800007C00003E00003FE0003FF8001FFC0007FE0000FF00001F00000F80000
- X78000078700070F80070F80070F00060E000E0C000C0400180600300181C0007F000161F7A9E1D
- X>I<01E00038063800780C180078181C0078101C0078303C00F0203C00F0603C00F0607800F0C0
- X7801E0C07801E000F001E000F001E000F003C001E003C001E003C001E003C003C0078003C00780
- X03C0078003C0078103800F0307800F0307800F0307800F0303801F0603801E0603C02E0C01C047
- X0C00E18318003E01E0201F7A9E26>117 D E end
- X%%EndProlog
- X%%BeginSetup
- X%%Feature: *Resolution 300
- XTeXDict begin
- X%%EndSetup
- X%%Page: 1 1
- Xbop 565 482 a Fi(LIBFTP)25 b(User's)f(guide)796 602 y Fh(Oleg)16
- Xb(Orel)716 700 y(Octob)q(er)h(28,)f(1993)183 871 y Fg(INTR)n(ODUCTION)245
- X962 y Ff(The)e(basic)f(orien)o(tation)g(of)g(this)g(library)g(is)g(making)e
- X(user's)j(programs)e(whic)o(h)h(trans-)183 1012 y(p)q(ort)g(\014les)g(via)f
- X(TCP/IP)g(net)o(w)o(ork.)18 b(It)13 b(con)o(tains)g(set)g(of)f(functions,)h
- X(starting)g(from)d(prim-)183 1061 y(itiv)o(e,)i(suc)o(h)h(as)h(op)q(ening)e
- X(FTP)i(connection)f(to)g(the)h(serv)o(er,)g(and)f(\014nishing)f(b)o(y)h
- X(high-lev)o(el)183 1111 y(functions,)i(suc)o(h)i(as)e(functions)h(whic)o(h)g
- X(retriev)o(e)h(\014les)f(via)e(net)o(w)o(ork,)i(making)d(and)j(clos-)183
- X1161 y(ing)h(c)o(hannels)h(to)g(the)h(serv)o(er.)31 b(All)18
- Xb(functions)g(ha)o(v)o(e)f(protot)o(yp)q(es)i(in)f(common)d(header)183
- X1211 y(\014le)g(named)g Fe(FtpLibrary)l(.h)p 387 1226 268 2
- Xv -3 w Ff(,)g(whic)o(h)g(m)o(ust)g(b)q(e)h(a)o(v)n(ailable)d(in)i(standard)h
- X(headers)h(direc-)183 1261 y(tory)m(.)24 b(Those)17 b(protot)o(yp)q(es)g
- X(almost)d(fully)h(describ)q(e)j(orien)o(tation)d(and)h(argumen)o(ts)f(of)h
- X(all)183 1310 y(functions,)d(but)h(common)d(ideology)i(and)h(library)f(comp)q
- X(onen)o(ts)g(should)h(b)q(e)g(men)o(tioned.)245 1360 y(This)g(library)f(is)h
- X(a)f(clien)o(t)h(and)g(uses)h(standard)f(FTPD)g(from)e(the)j(other)f(side.)
- X245 1410 y(There)20 b(are)g(problems)e(of)g(errors)j(pro)q(cessing)f(in)e
- X(UNIX)i(including)e(input/output)183 1460 y(errors.)h(The)13
- Xb(m)o(utual)d(mec)o(hanism)g(of)i(v)n(alue)g(returning)i(of)e(all)f
- X(functions)i(is)f(used)i(in)e(this)183 1510 y(library)m(.)23
- Xb(\(EXIT)17 b(macros,)e(de\014ned)j(in)d(\014le)h(FtpLibrary)m(.h\).)25
- Xb(This)16 b(mec)o(hanism)d(allo)o(ws,)183 1560 y(after)d(the)h(de\014nition)e
- X(of)h(the)g(error)h(pro)q(cessing)h(functions,)e(write)g(programs,)f
- X(considering)183 1609 y(the)h(conditions)g(to)g(b)q(e)g(ideal.)16
- Xb(Data)10 b(transfer)h(functions)f(ha)o(v)o(e)g(p)q(ossibilit)o(y)e(to)i
- X(preset)i(data)183 1659 y(stream)g(exp)q(ectation)h(timeout.)j(When)c(the)h
- X(set)g(time)e(expires,)j(previously)e(set)h(function)183 1709
- Xy(will)f(b)q(e)j(called.)245 1759 y(The)10 b(\014rst)g(function,)g(whic)o(h)f
- X(should)g(b)q(e)h(called)f(for)g(w)o(ork)h(with)f(library)f(is)i(FtpConnect)
- X183 1809 y(or)k(FtpLogin.)k(They)c(mak)o(e)f(connection)h(to)g(FTP)h(serv)o
- X(er)g(and)f(return)h(p)q(oin)o(ter)g(to)e(FTP)183 1858 y(date)h(structure.)
- X183 1995 y Fg(1)67 b(The)22 b(FTP)g(data)g(structure)183 2085
- Xy Ff(in)o(t)13 b Fe(so)q(c)o(k)p 246 2092 90 2 v 578 w Ff(|)f(descriptor)i
- X(of)e(a)h(command)d(c)o(hannel)j(to)913 2135 y(the)i(serv)o(er;)183
- X2176 y(FILE)f(*)p Fe(data)p 314 2183 92 2 v 507 w Ff(|)e(p)q(oin)o(ter)i(to)e
- X(data)h(structure,)i(whic)o(h)d(de-)913 2226 y(scrib)q(es)k(data)d(c)o
- X(hannel)h(to)g(the)g(serv)o(er;)183 2267 y(in)o(t)f Fe(errno)p
- X246 2274 112 2 v 554 w Ff(|)j(last)g(returned)i(v)n(alue.)25
- Xb(When)16 b(v)n(alue)g(is)913 2317 y(lo)o(w)o(er)e(than)f(1,)h(an)f(error)i
- X(o)q(ccurred;)183 2358 y(c)o(har)f Fe(mo)q(de)p 274 2365 114
- X2 v 525 w Ff(|)f(t)o(yp)q(e)i(of)e(transfer;)183 2408 y(in)o(t)g(c)o(h)627
- Xb(|)21 b(help)h(v)n(ariable.)39 b(Is)22 b(used)h(to)e(con)o(v)o(ert)913
- X2458 y(ASCI)q(I)14 b(\014les;)p eop
- X%%Page: 2 2
- Xbop 1078 147 a Ff(Connection/Disconnection)14 b(with)g(serv)o(er)p
- X340 164 1433 2 v 340 307 a(ST)m(A)m(TUS)g(\(*func\)\(\))393
- Xb(|)19 b(p)q(oin)o(ter)h(to)g(an)g(error)g(handler.)37 b(It)20
- Xb(is)1071 357 y(called)f(when)h(status)h(from)d(the)i(serv)o(er)i(is)1071
- X407 y(bad;)340 448 y(ST)m(A)m(TUS)14 b(\(*debug\)\(\))362 b(|)10
- Xb(p)q(oin)o(ter)h(to)g(a)f(debug)h(handler.)18 b(Is)11 b(called)1071
- X498 y(from)32 b(functions)i(of)f(sending/receiving)1071 547
- Xy(messages)14 b(to/from)e(serv)o(er;)340 591 y(ST)m(A)m(TUS)i(\(*IO\)\(\))423
- Xb(|)13 b(p)q(oin)o(ter)i(to)f(Input/Output)h(error)g(han-)1071
- X641 y(dler.)27 b(Is)17 b(called)f(when)h(c)o(hannel)g(to)g(serv)o(er)1071
- X690 y(is)d(brok)o(en.)340 830 y Fg(2)90 b(Connection/Disconnection)22
- Xb(with)i(serv)n(er)403 964 y Fe(ST)l(A)l(TUS)15 b(FtpConnect)p
- X603 979 249 2 v -2 w(\(FTP)g(**,)h(c)o(har)g(*hostname)1402
- X949 y Fd(1)1437 964 y Fe(\))403 1014 y Ff(Mak)o(es)c(c)o(hannel)f(to)h(the)g
- X(serv)o(er,)h(at)f(the)g(\\hostname")e(mac)o(hine.)16 b(Creates)d(FTP)f(data)
- X340 1064 y(structure)g(and)e(returns)h(p)q(oin)o(ter)f(to)g(it.)16
- Xb(If)9 b(the)i(pro)q(cedure)g Fe(FtplibDebu)o(g)p 1265 1079
- X264 2 v -3 w Ff(\(1\))f(w)o(as)f(previ-)340 1114 y(ously)g(called,)h
- XFe(FtpConnect)p 569 1128 249 2 v 8 w Ff(calls)f(automatically)d
- XFe(FtpDebug)p 1172 1128 211 2 v 7 w Ff(for)j(the)h Fe(debug)k(mo)q(de)p
- X1518 1128 255 2 v 340 1164 a Ff(to)g(b)q(e)h(turned)g(on.)i(\(Chapter)e(3,)e
- X(page)h(3\).)403 1256 y Fe(ST)l(A)l(TUS)h(FtpUser)p 603 1271
- X173 2 v -2 w(\(FTP)g(*,)i(c)o(har)e(*user\))403 1306 y Ff(Sends)k(the)g(name)
- Xe(of)h(the)h(user)g(to)f(the)h(serv)o(er.)33 b(The)19 b(connection)g(m)o(ust)
- Xe(b)q(e)i(done)340 1356 y(b)q(efore)c(it.)403 1449 y Fe(ST)l(A)l(TUS)g(FtpP)o
- X(assw)o(ord)p 603 1463 271 2 v -3 w(\(FTP)h(*,)g(c)o(har)f(*passw)o(ord\))403
- X1498 y Ff(Sends)c Fe(passw)o(ord)p 517 1513 191 2 v 10 w Ff(to)f(the)h(serv)o
- X(er.)19 b(The)11 b(function)f Fe(FtpUser)p 1211 1513 173 2
- Xv 9 w Ff(m)o(ust)g(b)q(e)h(called)g(b)q(efore)340 1548 y(it.)403
- X1641 y Fe(ST)l(A)l(TUS)k(FtpAccoun)o(t)p 603 1656 248 2 v -2
- Xw(\(FTP)g(*,)h(c)o(har)f(*acct\))403 1691 y Ff(Sends)g(a)f(name)f(of)g(the)i
- X(accoun)o(t)g(to)f(the)h(serv)o(er.)21 b(The)14 b(name)f(of)h(the)h(accoun)o
- X(t)f(is)h(not)340 1741 y(standard)f(attribute)g(for)f(man)o(y)e(systems,)i
- X(so)g(this)h(function)f(is)g(used)h(v)o(ery)f(seldom.)k(The)340
- X1790 y(function)d Fe(FtpP)o(assw)o(ord)p 503 1805 271 2 v 11
- Xw Ff(m)o(ust)f(b)q(e)i(called)e(b)q(efore)i(it.)403 1883 y
- XFe(ST)l(A)l(TUS)10 b(FtpLogin)p 598 1898 192 2 v -3 w(\(FTP)g(**,)i(c)o(har)e
- X(*hostname,)g(c)o(har)f(*user,)i(c)o(har)f(*pass-)340 1933
- Xy(w)o(ord,)16 b(c)o(har)f(*accoun)o(t\))403 1983 y Ff(Executes)h(functions)e
- XFe(FtpConnect)p 757 1998 249 2 v -2 w Ff(,)g Fe(FtpUser)p 1031
- X1998 173 2 v -2 w Ff(,)g Fe(FtpP)o(assw)o(ord)p 1229 1998 271
- X2 v -3 w Ff(,)g Fe(FtpAccoun)o(t)p 1525 1998 248 2 v 340 2033
- Xa Ff(\(if)e(necessary\))i(consisten)o(tly)m(.)k(If)12 b(the)h(name)e(of)g
- X(the)i(accoun)o(t)g(is)f(absen)o(t,)g(replaces)i(it)e(with)340
- X2082 y(the)j Fe(NULL)p 412 2089 132 2 v 13 w Ff(v)n(alue.)403
- X2175 y Fe(ST)l(A)l(TUS)g(FtpBy)o(e)p 603 2190 155 2 v -1 w(\(FTP)g(*\))403
- X2230 y Ff(Finishes)f(w)o(ork)g(with)f(the)i(serv)o(er)g(and)f(closes)g(all)f
- X(c)o(hannels.)1390 2214 y Fd(2)p 340 2253 573 2 v 387 2280
- Xa Fc(1)404 2291 y Fb(The)h(name)e(of)i(the)f(host)g(ma)o(y)g(b)q(e)g(sym)o(b)
- Xq(olic)f(\(for)h(example)e Fa(dxcern.cern.c)o(h)p 1248 2298
- X259 2 v -1 w Fb(\))i(or)h(n)o(umeric)e(\(for)340 2331 y(example)e
- XFa(128.141.201.)q(96)p 479 2338 258 2 v 3 w Fb(\))387 2359
- Xy Fc(2)404 2370 y Fb(Y)m(ou)15 b(can)f(see)g(from)f(the)h(description)e(of)j
- X(connect/di)o(scon)o(ne)o(ct)d(functions,)h(that)h(y)o(ou)f(can)h(create)340
- X2410 y(more)d(than)f(one)h(connection)d(to)j(serv)o(ers)f(sim)o(ultaneousl)o
- X(y)m(.)340 2574 y Ff(2)p eop
- X%%Page: 3 3
- Xbop 183 147 a Ff(The)14 b(debugging)p 183 164 1433 2 v 183
- X307 a Fg(3)67 b(The)22 b(debugging)245 410 y Ff(There)15 b(is)f(a)f(p)q
- X(ossibilit)o(y)g(to)h(prede\014ne)h(three)h(functions,)d(suc)o(h)i(as:)1325
- X395 y Fd(3)245 543 y Fe(FtpSetDebug)o(Handl)o(er)p 245 558
- X446 2 v -3 w(\(FTP)g(*,function\))245 600 y Ff(Prede\014nes)24
- Xb(function)d(of)h(proto)q(col)f(debugging.)41 b(After)22 b(the)h(function)e
- X(is)h(prede-)183 650 y(\014ned,)16 b(it)g(is)g(called)g(with)g(ev)o(ery)g
- X(sending/receiving)h(messages)f(from)e(the)j(serv)o(er.)26
- Xb(The)183 700 y(function,)16 b(de\014ned)i(as)f(a)f(debug)h(handler)g(m)o
- X(ust)f(do)g(returns)j(to)d(the)h(calling)f(functions)183 749
- Xy(\()p Fe(FtpSendMessage)p 199 764 351 2 v -3 w Ff(/)p Fe(FtpGetMessage)p
- X570 764 327 2 v -2 w Ff(\),)d(but)h(can)h(also)e(ab)q(ort)h(the)g(program.)
- X245 882 y Fe(FtpSetErrorHandl)o(er)p 245 897 425 2 v -3 w(\(FTP)h
- X(*,function\))245 939 y Ff(Prede\014nes)g(error)f(handler.)k(If)12
- Xb(the)i(serv)o(er's)g(answ)o(er)g(means,)e(that)h(the)g(op)q(eration)g(is)183
- X989 y(not)h(\014nished)i(correctly)m(,)f(this)g(function)g(will)e(b)q(e)i
- X(called.)21 b(The)15 b(result)h(co)q(de)g(is)e(negativ)o(e,)183
- X1038 y(if)f(an)g(error)i(is)f(o)q(ccurs.)245 1171 y Fe(FtpSetIOHandler)p
- X245 1186 365 2 v -4 w(\(FTP)i(*,function\))245 1228 y Ff(Prede\014nes)c
- X(handler)e(of)f(Input/Output)h(pro)q(cessing.)18 b(This)10
- Xb(function)f(is)g(called,)h(when)183 1278 y(a)17 b(connection)h(to)g(the)g
- X(serv)o(er)h(is)f(brok)o(en.)30 b(F)m(or)17 b(example,)g(when)h(the)h(net)o
- X(w)o(ork)e(or)h(the)183 1327 y(remote)h(host)i(is)f(do)o(wn.)36
- Xb(This)20 b(handler)g(also)g(is)g(called)f(after)i(the)g Fe(timeout)p
- X1317 1334 163 2 v 17 w Ff(of)f(one)183 1377 y(c)o(haracter)15
- Xb(w)o(aiting)d(expires.)245 1510 y Fe(FtpDebug)p 245 1525 211
- X2 v -3 w(\(FTP)k(*\))245 1567 y Ff(T)m(urns)9 b(on)g(all)g(standard)g
- X(debugging)g(functions.)33 b Fe(FtpDebugError)p 1038 1581 325
- X2 v 183 1616 a Ff(|)28 b(prin)o(ts)h(a)g(string,)j(tak)o(en)e(from)d(the)183
- X1666 y(serv)o(er,)15 b(and)e(ab)q(orts)i(the)f(program;)183
- X1707 y Fe(FtpDebugDeb)o(ug)p 183 1722 346 2 v 381 w Ff(|)28
- Xb(prin)o(ts)i(a)e(string,)33 b(tak)o(en)c(from)e(the)913 1757
- Xy(serv)o(er;)183 1800 y Fe(FtpDebugIO)p 183 1815 265 2 v 463
- Xw Ff(|)18 b(prin)o(ts)h(string)f Fe(strerror\(errn)o(o\))p
- X1219 1817 311 2 v 15 w Ff(and)913 1850 y(ab)q(orts)c(the)h(program.)245
- X1919 y(All)e(function)h(for)f(debugging)g(ha)o(v)o(e)h(three)h(argumen)o(ts:)
- X183 1969 y(1.)i(P)o(oin)o(ter)d(to)g(FTP)g(data)g(structure;)183
- X2019 y(2.)28 b(Last)17 b(returned)j(v)n(alue)c(from)g(the)i(serv)o(er.)30
- Xb(When)18 b(errors)g(o)q(ccur,)h(the)f(v)n(alue)f(is)g(less)183
- X2068 y(than)d(1;)183 2118 y(3.)j(Diagnostic)c(string.)245 2251
- Xy Fe(FtplibDeb)o(ug)p 245 2266 264 2 v -4 w(\(1)j(or)f(0\))245
- X2308 y Ff(T)m(urns)f(on/o\013)f(autostart)i(debug)f(mo)q(de,)e(when)j
- X(connection)f(is)g(established.)p 183 2371 573 2 v 229 2398
- Xa Fc(3)246 2410 y Fb(If)d(the)f Fa(NULL)p 341 2417 112 2 v
- X12 w Fb(v)n(alue)f(is)i(transferred)d(as)j(a)f(parameter)e
- XFa(\\function")p 1007 2417 189 2 v 11 w Fb(to)j(the)f(functions,)e(describ)q
- X(ed)183 2449 y(b)q(elo)o(w,)i(the)h(debugging)e(will)i(b)q(e)g(turned)f
- X(o\013.)1594 2574 y Ff(3)p eop
- X%%Page: 4 4
- Xbop 1078 147 a Ff(Data)13 b(transfer)i(pro)q(cedures)h(to)d(the)i(serv)o(er)p
- X340 164 1433 2 v 340 307 a Fg(4)67 b(Data)22 b(transfer)g(pro)r(cedures)h
- X(from)d(the)i(serv)n(er)403 450 y Fe(ST)l(A)l(TUS)10 b(FtpRetrTimeou)o(t)p
- X598 465 349 2 v -3 w(\(FTP)g(*,)i(c)o(har)d(*command,)i(c)o(har)f(*inp,)g(c)o
- X(har)g(*out)340 489 y Fd(4)359 504 y Fe(,)16 b(long)f(time\))403
- X554 y Ff(Sends)e(a)e(command)f(to)i(the)g(serv)o(er,)i(if)d(command)e(con)o
- X(tains)j(substring)h(\045s)f(it)f(will)g(b)q(e)340 604 y(replaced)17
- Xb(b)o(y)e(string)h Fe(inp)p 685 619 67 2 v -2 w Ff(.)24 b(Creates)17
- Xb(data)e(transfer)i(c)o(hannel,)e(and)h(cop)o(ying)f(data)g(from)340
- X654 y(this)j(c)o(hannel)g(to)f(a)g(lo)q(cal)g(\014le)h Fe(out)p
- X845 661 69 2 v -1 w Ff(.)29 b(If)17 b(during)g(time)f(p)q(erio)q(d)i
- XFe(\\time")p 1366 661 144 2 v 16 w Ff(no)g(c)o(haracters)340
- X704 y(are)c(obtained)g(from)e(the)i(serv)o(er,)h(this)f(connection)g(will)e
- X(b)q(e)i(closed,)g(and)g(Input/Output)340 754 y(error)j(status)g(will)e(b)q
- X(e)i(returned.)26 b(When)16 b Fe(timeout)p 1023 761 163 2 v
- X-3 w Ff(=0,)h(timeout)d(in)i(library)f(lev)o(el)h(will)340
- X803 y(b)q(e)g(turned)h(o\013,)e(but)g(pro)q(cedures)j(ma)o(y)13
- Xb(b)q(e)j(ab)q(orted)g(b)o(y)f(the)h(k)o(ernel)g(of)e(TCP/IP)m(,)h(when)340
- X853 y(the)g(k)o(ernel's)f Fe(timeout)p 562 860 V 11 w Ff(expires.)894
- X838 y Fd(5)403 955 y Fe(FtpRetr)p 403 969 172 2 v -2 w(\(FTP)h(*,)h(c)o(har)f
- X(*command,)g(c)o(har)g(*inp,)g(c)o(har)g(*out\))403 1005 y
- XFf(Calls)e Fe(FtpRetrTimeou)o(t)p 507 1019 349 2 v -3 w Ff(,)g(with)h(turned)
- Xh(o\013)e Fe(timeout)p 1167 1012 163 2 v -2 w Ff(.)403 1106
- Xy Fe(FtpGetTimeou)o(t)p 403 1121 331 2 v -3 w(\(FTP)i(*,)h(c)o(har)f(*inp,)g
- X(c)o(har)g(*out,)g(long)f(time\))403 1156 y Ff(T)m(ransfers)e(\014le)f
- XFe(inp)p 645 1171 67 2 v 10 w Ff(from)f(the)i(serv)o(er)h(to)e(the)h(lo)q
- X(cal)f(\014le)g Fe(out)p 1283 1163 69 2 v -1 w Ff(,)h(with)f
- XFe(timeout=ti)o(me)p 1468 1163 294 2 v -3 w Ff(.)403 1258 y
- XFe(FtpGet)p 403 1272 154 2 v -2 w(\(FTP)k(*,)h(c)o(har)f(*in,)g(c)o(har)g
- X(*out\))403 1308 y Ff(Calls)e Fe(FtpGetTimeou)o(t)p 507 1322
- X331 2 v -3 w Ff(,)g(with)h(turned)h(o\013)e Fe(timeout)p 1149
- X1315 163 2 v -2 w Ff(.)403 1413 y Fe(FtpDirector)o(y)p 403
- X1428 276 2 v -2 w(\(FTP)i(*,)h(c)o(har)f(*pat)1059 1398 y Fd(6)1077
- X1413 y Fe(,)h(c)o(har)f(*out\))403 1464 y Ff(T)m(ransfers)d(\014les)h
- X(listing)e(from)f(the)j(serv)o(er,)g(describ)q(ed)h(b)o(y)e
- XFe(pat)p 1320 1478 69 2 v -1 w Ff(,)g(to)g(the)h(lo)q(cal)e(\014le)h
- XFe(out)p 1692 1471 V -1 w Ff(.)403 1615 y Fe(FtpDir)p 403 1629
- X145 2 v -3 w(\(FTP)k(*,)g(c)o(har)f(*out\))403 1665 y Ff(T)m(ransfers)e
- X(\014les)f(listing)f(of)h(the)h(curren)o(t)g(directory)g(from)e(the)i(serv)o
- X(er)g(to)f(the)h(lo)q(cal)e(\014le)340 1715 y Fe(out)p 340
- X1722 69 2 v -1 w Ff(.)340 1854 y Fg(5)67 b(Data)22 b(transfer)g(pro)r
- X(cedures)h(to)f(the)h(serv)n(er)403 1997 y Fe(FtpStorTimeo)o(ut)p
- X403 2011 341 2 v -4 w(\(FTP)f(*,)j(c)o(har)c(*command,)i(c)o(har)f(*inp,)h(c)
- Xo(har)e(*out,)340 2046 y(long)15 b(time\))403 2096 y Ff(Sends)h(b)q(o)q(dy)f
- X(of)g(the)g(lo)q(cal)g(\014le)g Fe(inp)p 917 2111 67 2 v 13
- Xw Ff(to)h(the)f(serv)o(er,)i(and)e(stores)h(it)f(in)g(the)h(\014le)f
- XFe(out)p 1692 2103 69 2 v -1 w Ff(.)340 2146 y(The)g(\\time",)c(is)j(maxim)n
- X(um)c(time)i(needed)k(to)d(transfer)i(one)f(c)o(haracter)i(to)d(the)i(serv)o
- X(er.)403 2248 y Fe(FtpStor)p 403 2262 164 2 v -3 w(\(FTP)h(*,)g(c)o(har)f
- X(*command,)g(c)o(har)g(*inp,)f(c)o(har*)i(out\))p 340 2292
- X573 2 v 387 2319 a Fc(4)404 2330 y Fb(When)f(the)f(name)g(of)h(the)f(lo)q
- X(cal)g(\014le)h(is)g Fa(*STDIN*)p 968 2337 170 2 v 1 w Fb(,)h
- XFa(*STDOUT*)p 1164 2337 213 2 v 1 w Fb(,)g Fa(*STDERR*)p 1403
- X2337 211 2 v 1 w Fb(,)g(then)f(the)340 2370 y(curren)o(t)10
- Xb(stream)g(is)h(redirected)e(to)i(these)g(c)o(hannels)387 2398
- Xy Fc(5)404 2410 y Fb(In)g(di\013eren)o(t)e(k)o(ernels)h(timeout)f(is)j
- X(di\013eren)o(t)387 2437 y Fc(6)404 2449 y Fb(This)f(is)h(the)f(\014rst)f
- X(argumen)o(t)f(for)i Fa(\\ls")p 865 2456 70 2 v 13 w Fb(command)340
- X2574 y Ff(4)p eop
- X%%Page: 5 5
- Xbop 183 147 a Ff(Serv)o(er's)15 b(\014les)f(read/write)g(pro)q(cedures)p
- X183 164 1433 2 v 245 307 a(Calls)f Fe(FtpStorTimeou)o(t)p 349
- X322 341 2 v -3 w Ff(,)g(without)h Fe(timeout)p 870 314 163
- X2 v -3 w Ff(.)245 410 y Fe(FtpPutTimeou)o(t)p 245 425 330 2
- Xv -3 w(\(FTP)h(*,)h(c)o(har)f(*in,)g(c)o(har)g(*out,)g(long)g(time\))245
- X460 y Ff(T)m(ransfers)h(data)f(from)f(the)i(lo)q(cal)f(\014le)g
- XFe(inp)p 864 475 67 2 v 14 w Ff(to)g(the)h(serv)o(er)h(and)f(stores)g(it)g
- X(in)f(the)h(\014le)183 510 y Fe(out)p 183 517 69 2 v -1 w Ff(.)245
- X613 y Fe(FtpPut)p 245 628 153 2 v -2 w(\(FTP)f(*,)h(c)o(har)f(*in,)g(c)o(har)
- Xg(*out\))245 663 y Ff(Calls)e(FtpPutTimeout)g(with)h(turned)g(o\013)g
- X(timeout.)183 804 y Fg(6)67 b(Serv)n(er's)22 b(\014les)h(read/write)g(pro)r
- X(cedures)245 896 y Ff(This)15 b(library)f(con)o(tains)g(sp)q(ecial)h
- X(functions)g(for)f(remote)h(\014les)g(reading)f(and)h(writing,)183
- X946 y(without)20 b(precop)o(ying)g(them)g(to)g(lo)q(cal)f(\014les.)38
- Xb(The)21 b(functions,)h(whic)o(h)e(are)h(describ)q(ed)183 995
- Xy(b)q(elo)o(w,)e(do)f(it.)33 b(After)19 b(the)g(data)g(c)o(hannel)g(to)f(a)h
- X(remote)f(\014le)h(is)f(created,)j(it)d(b)q(ecomes)183 1045
- Xy(p)q(ossible)e(to)g(read)h(and)f(write)h(c)o(haracters)g(using)f(standard)h
- X(Input/Output)g(functions,)183 1095 y(or)g(using)h(sp)q(ecial)g(functions)g
- XFe(FtpRead)p 672 1110 183 2 v -1 w Ff(/)p Fe(FtpW)l(rite)p
- X876 1110 194 2 v -3 w Ff(,)g(whic)o(h)g(reorganize)h(stream)e(for)183
- X1149 y(standard)d(text)g(\014le,)g(under)h(condition)e(that)h(the)g
- XFe(ASCI)q(I)p 982 1156 135 2 v 15 w Ff(mo)q(de)f(is)g(set.)1365
- X1134 y Fd(7)245 1252 y Fe(FtpData)p 245 1267 177 2 v -1 w(\(FTP)i(*,)h(c)o
- X(har)f(*command,)g(c)o(har)g(*param,)h(c)o(har)f(*mo)q(de\))245
- X1303 y Ff(Mak)o(es)22 b(data)f(transfer)i(c)o(hannel,)g(with)f(presending)g
- X(command)d(comp)q(osed)i(from)183 1352 y Fe(command)p 183 1359
- X201 2 v 12 w Ff(and)14 b Fe(param)p 478 1367 133 2 v -1 w Ff(.)k(The)d(mo)q
- X(de)e(m)o(ust)f(b)q(e)j Fe(\\r")p 997 1359 70 2 v 14 w Ff(or)e
- XFe(\\w")p 1131 1359 85 2 v 245 1455 a(FtpOp)q(enRead)p 245
- X1470 295 2 v -2 w(\(FTP)i(*,c)o(har)g(*\014lename\))245 1506
- Xy Ff(Op)q(ens)g(\014le)f(named)f Fe(\014lename)p 574 1513 174
- X2 v 12 w Ff(for)g(reading)h(on)g(serv)o(er)245 1608 y Fe(FtpOp)q(enW)l(rite)p
- X245 1623 306 2 v -3 w(\(FTP)h(*,c)o(har)h(*\014lename\))245
- X1659 y Ff(Creats)f(and)e(op)q(ens)i(\014le)f(named)f Fe(\014lename)p
- X775 1666 174 2 v 12 w Ff(for)g(writing)g(on)h(serv)o(er)245
- X1761 y Fe(FtpOp)q(enApp)q(end)p 245 1776 353 2 v -3 w(\(FTP)h(*,c)o(har)g
- X(*\014lename\))245 1812 y Ff(Creats)g(and)e(op)q(ens)i(\014le)f(named)f
- XFe(\014lename)p 775 1819 174 2 v 12 w Ff(for)g(app)q(ending)h(on)g(serv)o(er)
- X245 1915 y Fe(FtpOp)q(enDir)p 245 1929 257 2 v -3 w(\(FTP)h(*,)h(c)o(har)f
- X(*\014les\))245 1965 y Ff(Creats)g(c)o(hannel)f(for)f(directory)i(list)e
- X(reading,)h(describ)q(ed)h(b)o(y)f(argumen)o(t)f Fe(\014les)p
- X1424 1972 81 2 v -2 w Ff(.)245 2068 y Fe(in)o(t)h(FtpRead)p
- X318 2082 183 2 v -2 w(\(FTP)i(*\))245 2123 y Ff(Reads)c(c)o(haracter)i(from)c
- X(data)i(stream.)17 b(If)12 b Fe(ASCI)q(I)p 927 2130 135 2 v
- X13 w Ff(mo)q(de)f(is)h(set)1274 2108 y Fd(8)1305 2123 y Ff(con)o(v)o(erts)i
- X(new)e(line)183 2172 y(mark)o(ers.)17 b(When)d(the)h(end)f(of)f(\014le)h(is)g
- X(detected)i(or)e(c)o(hannel)g(is)g(brok)o(en,)f(returns)j Fe(EOF)p
- X1484 2179 98 2 v 245 2275 a(FtpGetStri)o(ng)p 245 2290 282
- X2 v -4 w(\(FTP)g(*,)g(c)o(har)f(*str\))245 2326 y Ff(Reads)f(one)g(string)g
- X(from)e(data)i(stream)f(using)h Fe(FtpRead)p 1000 2340 183
- X2 v 183 2371 573 2 v 229 2398 a Fc(7)246 2410 y Fb(Of)e(course,)e(suc)o(h)h
- X(functions)e(as)i Fa(seek)p 689 2417 75 2 v Fb(,)g Fa(io)q(ctl)p
- X785 2417 78 2 v 1 w Fb(,)h(....)j(can)10 b(not)h(b)q(e)g(used.)229
- X2437 y Fc(8)246 2449 y Fb(By)h(default)1594 2574 y Ff(5)p eop
- X%%Page: 6 6
- Xbop 1277 147 a Ff(Other)15 b(commands)c(for)j(serv)o(er)p 340
- X164 1433 2 v 403 307 a Fe(FtpW)l(rite)p 403 322 194 2 v -2
- Xw(\(FTP)h(*,)h(c)o(har)f(c\))403 357 y Ff(W)m(rites)g(single)h(c)o(haracter)h
- X(to)f(stream,)g(if)f Fe(ASCI)q(I)p 1081 364 135 2 v 16 w Ff(mo)q(de)g(is)h
- X(set)h(con)o(v)o(erts)g(new)f(line)340 407 y(mark)o(ers.)i(When)c(c)o(hannel)
- Xg(is)g(brok)o(en,)f(returns)j Fe(EOF)p 1119 414 98 2 v 403
- X504 a(FtpClose)p 403 519 188 2 v -2 w(\(FTP)f(*\))403 554 y
- XFf(Closes)f(op)q(ened)h(c)o(hannel)f(to)g(serv)o(er)340 691
- Xy Fg(7)67 b(Other)23 b(comm)n(ands)d(for)i(serv)n(er)403 829
- Xy Fe(FtpCommand)p 403 844 290 2 v -2 w(\(FTP)13 b(*,)i(c)o(har)e(*command,)h
- X(c)o(har)f(*param,)h(in)o(t)e(ok1,)i(ok2,)340 879 y(ok3,)i(...,)h(okN,)g
- X(EOF\))403 929 y Ff(Sends)i(a)f(command,)e(comp)q(osed)i(from)f
- XFe(command)p 1068 936 201 2 v 17 w Ff(and)h Fe(param)p 1372
- X943 133 2 v 18 w Ff(using)g Fe(sprin)o(tf)p 1636 943 137 2
- Xv 340 978 a Ff(function.)i(Reads)14 b(an)h(answ)o(er)g(from)d(the)j(serv)o
- X(er.)22 b(When)14 b(return)i(co)q(de)f(from)e(the)i(serv)o(er)340
- X1028 y(is)f(not)g(included)g(to)g Fe(ok-list)p 673 1035 129
- X2 v -2 w Ff(\()p Fe(ok1)p 818 1035 73 2 v Ff(,)p Fe(ok2)p 903
- X1035 V -1 w Ff(...\))j(the)e(sign)e(of)h(co)q(de)g(will)f(b)q(e)h(in)o(v)o
- X(erted.)403 1126 y Fe(FtpT)o(yp)q(e)p 403 1140 182 2 v -1 w(\(FTP)h(*,c)o
- X(har)g(*mo)q(de\))403 1175 y Ff(Sets)g(transfer)f(mo)q(de,)f(suc)o(h)h(as)g
- XFe(\\A")p 912 1182 87 2 v Ff(,)p Fe("I")p 1010 1182 69 2 v
- XFf(,)p Fe("S")p 1090 1182 77 2 v 403 1273 a(FtpBinary)p 403
- X1287 217 2 v -2 w(\(FTP)h(*\))403 1322 y Ff(Sets)g(binary)e(mo)q(de)403
- X1420 y Fe(FtpAscii)p 403 1434 178 2 v -3 w(\(FTP)j(*\))403
- X1469 y Ff(Sets)f Fe(ASCI)q(I)p 491 1476 135 2 v 14 w Ff(mo)q(de)403
- X1567 y Fe(FtpMkdir)p 403 1581 206 2 v -2 w(\(FTP)g(*,c)o(har)g(*dirname\))403
- X1617 y Ff(Mak)o(es)f(directory)h(on)e(serv)o(er)403 1714 y
- XFe(FtpChdir)p 403 1729 196 2 v -3 w(\(FTP)j(*,c)o(har)f(*dirname\))403
- X1764 y Ff(Changes)f(w)o(orking)f(directory)i(on)e(serv)o(er)403
- X1861 y Fe(FtpRm)p 403 1876 151 2 v -2 w(\(FTP)j(*,c)o(har)f(*\014lename\))403
- X1911 y Ff(Remo)o(v)o(es)d(\014le)i(on)g(serv)o(er)403 2008
- Xy Fe(c)o(har)h(*FtpPwd)p 532 2023 169 2 v -2 w(\(FTP)h(*\))403
- X2058 y Ff(Returns)e(the)h(name)e(of)g(w)o(orking)g(directory)h(on)g(serv)o
- X(er)403 2155 y Fe(FtpMo)o(v)o(e)p 403 2170 189 2 v -2 w(\(FTP)i(*,c)o(har)f
- X(*old\014lename,)e(c)o(har)i(*new\014lename\))403 2205 y Ff(Renames)e(\014le)
- Xh(from)e Fe(old\014lename)p 744 2212 237 2 v 10 w Ff(to)i Fe(new\014lename)p
- X1045 2212 256 2 v 403 2302 a(FtpGetFil)o(e)p 403 2317 232 2
- Xv -3 w(\(FTP)i(*,c)o(har)f(*\014lename\))403 2352 y Ff(Sends)g(start)f
- X(transfer)h(\014le)f(command)d(to)j(serv)o(er.)19 b(Do)q(es)14
- Xb(not)g(mak)o(e)f(data)g(c)o(hannel)403 2449 y Fe(FtpPutFil)o(e)p
- X403 2464 V -3 w(\(FTP)i(*,c)o(har)h(*\014lename\))340 2574
- Xy Ff(6)p eop
- X%%Page: 7 7
- Xbop 183 147 a Ff(High-lev)o(el)13 b(functions)p 183 164 1433
- X2 v 245 307 a(Sends)f(start)g(transfer)g(\014le)f(command)d(to)j(the)g(serv)o
- X(er.)19 b(Do)q(es)11 b(not)g(mak)o(e)f(data)h(c)o(hannel)245
- X407 y Fe(FtpP)o(ort)p 245 422 169 2 v -3 w(\(FTP)16 b(*,)g(in)o(t)e(a,)i(in)o
- X(t)e(b,)i(in)o(t)e(c,)i(in)o(t)e(d,)i(in)o(t)e(e,)i(in)o(t)e(f)5
- Xb(\))245 457 y Ff(A)14 b(command)c(for)j(the)i(serv)o(er)g(for)e(making)e(a)i
- X(new)h(data)f(c)o(hannel.)18 b Fe(a.b.c.d)p 1322 464 138 2
- Xv 14 w Ff(is)13 b(an)h(IP)183 506 y(address)h(of)e(a)h(clien)o(t\(i.e.)j(y)o
- X(our)d(IP)g(address\),)h Fe(e*256+f)p 926 519 170 2 v 13 w
- XFf(is)f(a)f(p)q(ort)h(n)o(um)o(b)q(er)183 644 y Fg(8)67 b(Subprograms)13
- Xb(for)i(sending/receiving)i(con)n(trol)f(mes-)284 718 y(sages)k(to/from)f
- X(serv)n(er)245 859 y Fe(FtpSendMessage)p 245 874 351 2 v -3
- Xw(\(FTP)d(*,)g(c)o(har)f(*message\))245 909 y Ff(Sends)g(a)e(message)h(to)g
- X(the)g(serv)o(er)245 1009 y Fe(in)o(t)g(FtpGetMessage)p 318
- X1023 327 2 v -2 w(\(FTP)h(*\))245 1058 y Ff(Receiv)o(es)g(a)e(message)h(from)
- Xe(the)j(serv)o(er.)245 1158 y Fe(FtpMessage)p 245 1173 249
- X2 v -1 w(\(in)o(t)e(Num)o(b)q(er\))245 1208 y Ff(Gets)h(a)g(message)f(b)o(y)h
- X(co)q(de.)183 1345 y Fg(9)67 b(High-lev)n(el)24 b(functions)245
- X1486 y Fe(FILE)16 b(*FtpF)l(ullOp)q(en)p 393 1501 267 2 v -4
- Xw(\(c)o(har)f(*\014lename,c)o(har)e(*mo)q(de\))245 1536 y Ff(P)o(arses)i
- X(string)f Fe(\014lename)p 492 1543 174 2 v -2 w Ff(,)f(whic)o(h)h(m)o(ust)f
- X(con)o(tain)h(a)f(string)h(in)f(format)g(or)183 1585 y Fe(host/user/pass)o(w)
- Xo(ord:\014)o(len)o(ame)p 183 1603 600 2 v 12 w Ff(or)j Fe(\014lename)p
- X850 1592 174 2 v -2 w Ff(,)f(what)h(corresp)q(onds)h(to)f(remote)f(or)183
- X1635 y(lo)q(cal)c(\014le.)18 b(The)13 b(second)h(argumen)o(t)e(is)g(the)h(t)o
- X(yp)q(e)h(of)e(op)q(ening,)g(divided)g(in)o(to)g(t)o(w)o(o)g(c)o(harac-)183
- X1685 y(ters:)18 b(\014rst)c(|)e(the)h(mo)q(de)f(of)g(op)q(ening)h
- XFe(\\r")p 800 1692 70 2 v Ff(,)f Fe(\\w")p 894 1692 85 2 v
- X13 w Ff(or)h Fe(\\a")p 1041 1692 74 2 v Ff(,)g(second)h(is)e(the)i(transfer)f
- X(t)o(yp)q(e)183 1735 y(,)g(if)g(con)o(tains)h(c)o(haracter)h
- XFe(\\b")p 590 1742 77 2 v Ff(,)e(then)i(the)f(mo)q(de)f(is)h(binary)m(.)245
- X1835 y Fe(ST)l(A)l(TUS)h(FtpF)l(ullClose\()o(FILE)e(*stream\))245
- X1884 y Ff(Closes)h(an)g(op)q(ened)h(\014le)1594 2574 y(7)p
- Xeop
- X%%Page: 8 8
- Xbop 340 370 a Fg(Index)340 452 y Ff(data,)13 b(2)340 549 y(EOF,)h(6)340
- X599 y(errno,)h(2)340 695 y(FtpAccoun)o(t,)g(3)340 746 y(FtpAscii,)f(7)340
- X796 y(FtpBinary)m(,)g(7)340 846 y(FtpBy)o(e,)h(3)340 896 y(FtpChdir,)f(7)340
- X946 y(FtpClose,)g(6)340 996 y(FtpCommand,)d(7)340 1046 y(FtpConnect,)k(2)340
- X1096 y(FTPD,)f(1)340 1146 y(FtpData,)f(6)340 1197 y(FtpDebug,)h(4)340
- X1247 y(FtpDebugDebug,)g(2,)f(4)340 1297 y(FtpDebugError,)i(2,)e(4)340
- X1347 y(FtpDebugIO,)h(2,)f(4)340 1397 y(FtpDir,)h(5)340 1447
- Xy(FtpDirectory)m(,)g(5)340 1497 y(FtpF)m(ullClose,)f(8)340
- X1547 y(FtpF)m(ullOp)q(en,)h(8)340 1597 y(FtpGet,)g(5)340 1647
- Xy(FtpGetFile,)g(7)340 1698 y(FtpGetMessage,)h(8)340 1748 y(FtpGetString,)f(6)
- X340 1798 y(FtpGetTimeout,)f(5)340 1848 y(FtplibDebug,)g(2,)g(4)340
- X1898 y(FtpLibrary)m(.h,)g(1)340 1948 y(FtpLogin,)g(3)340 1998
- Xy(FtpMessage,)i(8)340 2048 y(FtpMkdir,)f(7)340 2098 y(FtpMo)o(v)o(e,)g(7)340
- X2149 y(FtpOp)q(enApp)q(end,)i(6)340 2199 y(FtpOp)q(enDir,)f(6)340
- X2249 y(FtpOp)q(enRead,)g(6)340 2299 y(FtpOp)q(enW)m(rite,)g(6)340
- X2349 y(FtpP)o(assw)o(ord,)g(2)340 2399 y(FtpP)o(ort,)f(7)340
- X2449 y(FtpPut,)h(5)1129 452 y(FtpPutFile,)f(7)1129 502 y(FtpPutTimeout,)f(5)
- X1129 552 y(FtpPwd,)h(7)1129 602 y(FtpRead,)g(6)1129 652 y(FtpRetr,)g(5)1129
- X701 y(FtpRetrTimeout,)f(4)1129 751 y(FtpRm,)f(7)1129 801 y(FtpSendMessage,)k
- X(8)1129 851 y(FtpSetDebugHandler,)f(3)1129 901 y(FtpSetErrorHandler,)g(3)1129
- X950 y(FtpSetIOHandler,)g(3)1129 1000 y(FtpStor,)f(5)1129 1050
- Xy(FtpStorTimeout,)f(5)1129 1100 y(FtpT)o(yp)q(e,)h(7)1129 1150
- Xy(FtpUser,)h(2)1129 1200 y(FtpW)m(rite,)e(6)1129 1291 y(mo)q(de,)f(2)1129
- X1382 y(so)q(c)o(k,)i(2)1129 1432 y(ST)m(A)m(TUS,)f(3)1129 1523
- Xy(timeout,)f(4)p eop
- X%%Page: 9 9
- Xbop 183 147 a Ff(CONTENTS)961 b(CONTENTS)p 183 164 1433 2 v
- X183 307 a Fg(Con)n(ten)n(ts)183 399 y Fe(1)38 b(The)15 b(FTP)h(data)g
- X(structure)835 b(1)183 490 y(2)54 b(Connection/Di)o(sconn)o(ecti)o(on)12
- Xb(with)j(serv)o(er)526 b(2)183 581 y(3)38 b(The)15 b(debugging)1033
- Xb(3)183 672 y(4)38 b(Data)15 b(transfer)f(pro)q(cedures)g(from)h(the)g(serv)o
- X(er)482 b(4)183 764 y(5)38 b(Data)15 b(transfer)f(pro)q(cedures)g(to)h(the)g
- X(serv)o(er)538 b(4)183 855 y(6)38 b(Serv)o(er's)14 b(\014les)h(read/write)f
- X(pro)q(cedures)599 b(5)183 946 y(7)38 b(Other)14 b(commands)h(for)g(serv)o
- X(er)771 b(6)183 1038 y(8)38 b(Subprograms)18 b(for)j(sending/recei)o(vin)o(g)
- Xd(con)o(trol)i(messages)g(to/from)245 1088 y(serv)o(er)1219
- Xb(7)183 1179 y(9)38 b(High-lev)o(el)13 b(functions)926 b(7)1594
- X2574 y Ff(9)p eop
- X%%Trailer
- Xend
- Xuserdict /end-hook known{end-hook}if
- X%%EOF
- END_OF_FILE
- if test 43748 -ne `wc -c <'libftp/etc/eng.ps.B'`; then
- echo shar: \"'libftp/etc/eng.ps.B'\" unpacked with wrong size!
- elif test -f 'libftp/etc/eng.ps.A'; then
- echo shar: Combining \"'libftp/etc/eng.ps'\" \(87332 characters\)
- cat 'libftp/etc/eng.ps.A' 'libftp/etc/eng.ps.B' > 'libftp/etc/eng.ps'
- if test 87332 -ne `wc -c <'libftp/etc/eng.ps'`; then
- echo shar: \"'libftp/etc/eng.ps'\" combined with wrong size!
- else
- rm libftp/etc/eng.ps.A libftp/etc/eng.ps.B
- fi
- fi
- # end of 'libftp/etc/eng.ps.B'
- fi
- if test -f 'libftp/etc/rus.tex.UU' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'libftp/etc/rus.tex.UU'\"
- else
- echo shar: Extracting \"'libftp/etc/rus.tex.UU'\" \(22541 characters\)
- sed "s/^X//" >'libftp/etc/rus.tex.UU' <<'END_OF_FILE'
- Xbegin 644 libftp/etc/rus.tex
- XM7&1O8W5M96YT<W1Y;&5;<G5S<VEA;BQF86YC>6AE861I;F=S+'1W;W-I9&4L
- XM97!S9BQI;F1E;G1F:7)S=%U[87)T:6-L97T*)2!697)T:6-A;"!S:7IE<PHE
- XM7'9S:7IE/3(P8VT*)5QV;V9F<V5T/2TR+C-C;0HE7'1O<&UA<F=I;CTP8VT*
- XM)5QH96%D:&5I9VAT/3 N.6-M"B5<9F]O='-K:7 ],6-M"B5<9F]O=&AE:6=H
- XM=#TP+CEC;0HE7'1E>'1H96EG:'0],39C;0HE7&AE861R=6QE=VED=&@@,"XP
- XM,6-M"B5<9F]O=')U;&5W:61T:" P+C!C;0HE(&AO<FES;VYT86P@<VEZ97,*
- XM)5QH<VEZ93TS,&-M"B5<:&]F9G-E=#TM-"XS8VT*)5QH;V9F<V5T/2TR+C-C
- XM;0D*)5QT97AT=VED=&@],3-C;0HE($UO9&5S"B4@7'-P96-I86Q[;&%N9'-C
- XM87!E?0I<<&%G97-T>6QE>V5M<'1Y?0I<<&%G97-T>6QE>V9A;F-Y<&QA:6Y]
- XM"EQN97=C;VUM86YD>UQT:71]6S%=>R,Q?0I<<FAE861;7&9A;F-Y<&QA:6Y[
- XM?7M<=&ET>UQL969T;6%R:WU]77M<9F%N8WEP;&%I;GM]>UQT:71[7')I9VAT
- XM;6%R:WU]?0I<;&AE861;7&9A;F-Y<&QA:6Y[?7M<=&ET>UQR:6=H=&UA<FM]
- XM?5U[7&9A;F-Y<&QA:6Y[?7M<=&ET>UQL969T;6%R:WU]?0I<8VAE861[7&AF
- XM:6QL?0I<;&9O;W1;7&9A;F-Y<&QA:6Y[?7M<=&ET>UQT:&5P86=E?7U=>UQF
- XM86YC>7!L86EN>WU[7&AF:6QL?7T*7')F;V]T6UQF86YC>7!L86EN>WU[7&AF
- XM:6QL?5U[7&9A;F-Y<&QA:6Y[?7M<=&ET>UQT:&5P86=E?7U]"EQC9F]O='M<
- XM:&9I;&Q]"EQR96YE=V-O;6UA;F1[7'-E8W1I;VYM87)K?5LQ77M<;6%R:V)O
- XM=&A[(S%]>UP@?7T*7')E;F5W8V]M;6%N9'M<<W5B<V5C=&EO;FUA<FM]6S%=
- XM>UQM87)K<FEG:'1[7"!]?0I<;F5W8V]M;6%N9'M<;&]O:WU;,5U[*.?,P=?!
- XM?EQR969[(S%]+"#3U-(N?EQP86=E<F5F>R,Q?2E]"EQN97=C;VUM86YD>UQT
- XM;VEN9&5X?5LQ77M<=6YD97)L:6YE>UQB9B,Q?5QI;F1E>'LC,7U]"EQN97=C
- XM;VUM86YD>UQA9&1]6S%=>UQS>6UB;VQ[-C1]?0I<;F5W8V]M;6%N9'M<<'-]
- XM6S%=>UQS>6UB;VQ[,S=]<WT*7&YE=V-O;6UA;F1[7'1W8V]L?5LT77L*7&YO
- XM:6YD96YT7'!A<F)O>%MT77LC,5QT97AT=VED=&A]>R,S?2!<:&9I;&P@7'!A
- XM<F)O>%MT77LC,EQT97AT=VED=&A]>R,T7&AF:6QL?5Q<"GT*7&YE=V-O;6UA
- XM;F1[7'1C?5LR77M<='=C;VQ[,"XT.7U[,"XT.7U[(S%]>R,R?7T*7&YE=V-O
- XM;6UA;F1[7'1C8WU;,EU[7'1W8V]L>S N-#E]>S N-#E]>UQT;VEN9&5X>R,Q
- XM?7U[(S)]?0I<;F5W8V]M;6%N9'M<='1T?5LR77M<8FEG<VMI< H*>UQB9B,Q
- XM?0H*(S)]"EQN97=C;VUM86YD>UQT<WU;,5U[>UQU;F1E<FQI;F5[7&)F(S%]
- XM?7T*7&YE=V-O;6UA;F1[7&1L?5LR77M<<&%R8F]X6W1=>S N-%QT97AT=VED
- XM=&A]>R,Q7&AF:6QL?5QH9FEL; H@(" @(" @(" @(" @(" @(" @(%QP87)B
- XM;WA;=%U[,"XT7'1E>'1W:61T:'U[(S)<:&9I;&Q]?0I<;6%K96EN9&5X"EQB
- XM96=I;GMD;V-U;65N='T@"EQT:71L97M<8F9<:70@\O7K[_?OY//T]^\@\._L
- XM^/KO]^'TY>SQ(.+IXNSI[_3EZ^_J("),24)&5% B?0I<875T:&]R>^_,Q<<@
- XM[]+%S'T*7&1A=&5[7'1O9&%Y?0I<;F5W<&%G92 *7&UA:V5T:71L90H*7'-E
- XM8W1I;VXJ>^SIX^7N^NGQ?0H*\-+/Q-7+U"#0TL7$SL':P<[!WL7.(,3,T2#.
- XMP=#)T\'.R=$@T]?/PL_$SL_'SR#.Q<O/S<W%TM[%T\O/Q\\@T-+/Q]+!S<W.
- XMS\?/"L_"Q=/0Q=[%SLG1+B#OSB#-S];%U"#)T]#2P=?,T=38T]$@R2#$S]#)
- XMT]G7P=38T]$N( KAU]3/TB#"U<3%U"#"S,''S\3!TL7.(-K!(-#/S-7>Q<[)
- XMQ2#3S]?%U,_7+"#.S]?9R"#+S\W0S\[%SM0@R2#0TL'7S\L@"M/5W<73U-?5
- XMP-W)R"#0S\30TL_'TL'-S2X*"O?/VLW/UL[/(-3!RR#6Q2#)(,O/S<W%TM[%
- XMT\O/Q2#)T]#/S-C:S]?!SLG%(-S4S\H@PLG"S,G/U,7+R2#3(-#2R=?,Q=[%
- XMSLG%S0K%7"+%(,'7U,_2P2X*"EQS96-T:6]N*GOW]^7DY>[IY7T*"N+)PLS)
- XMS]3%R\$@8&!L:6)F=' G)R#0TL7$SL':SL'>Q<[!(,3,T2#.P=#)T\'.R=$@
- XMT-+)R\S!Q,[9R"#0TL_'TL'-S2#7(,O/U,_2V<@*T]7=Q=/4U]7%U"#.Q<_"
- XMR,_$R<W/T]38(-#%TL7$P=?!U-@@QL'*S-D@T,\@T\74R2!40U O25 N($_.
- XMP0K1U\S1Q=33T2#.P<+/TL_-(,;5SLO#R<H@SL'>R<[!T2#/U"#0TLG-R=3)
- XMU\_7+"#4P<O)R"#+P<L@S]3+TMG4R<4@T\_%Q,G.Q<[)T2#0SR#0TL_4S\O/
- XMS-4@1E10(,[!(-7$P<S%SL[5P"#-P=O)SM4L(,3/(,;5SLO#R<H@U]G3S\O/
- XMQ\\@U=+/U\[1+"#+S]3/TMG%(-#%TL7$P<#4( K&P<K,V2#3P<W)(-#2S\G:
- XMU\_$T2#3S\7$R<[%SLG%+]+!VM_%Q,G.Q<[)Q2#3(-/%TM?%TL_-+B *]]/%
- XM(,;5SLO#R<D@R<W%P-0@T-+/U,_4R=#9(-<@QL'*S,4@7'1O:6YD97A[1G1P
- XM3&EB<F%R>2YH?2P@"LO/U,_2V<H@Q,_,UL7.(,+9U-@@T,_-Q=W%S@K7(,O!
- XMU,',S\<@T]3!SL3!TM3.V<@@VL''S\S/U\O/URX@_-3)(-#2S]3/U,G0V2#0
- XMTL'+U,G>Q=/+R2#0S\S.S]/4V, @S]#)T]G7P<#4"L[!VL[!WL7.R<4@QM7.
- XMR\/)RB @R2#)R"#!TL?5S<7.U-DL(,[/(-3%S2#.Q2#-Q<[%Q2#.Q<_"R,_$
- XMR<W/(-/+P=K!U-@@S\(@S\+=Q<H@R<3%S\S/Q\G)"M#/T]32S\7.R=$@PLG"
- XMS,G/U,7+R2#)(,7%(,O/S=#/SL7.U"X@"@KWT]$@PLG"S,G/U,7+P2P@T=?,
- XMT='3V"#+S,G%SM3/S2P@R=/0S\S8VM7%U K3(-#2S]3)U\_0S\S/UL[/RB#3
- XMU,_2S\[9(-//Q<3)SL7.R=$@T]3!SL3!TM3.V<H@7'1O:6YD97A[1E101'TN
- XM"@KW(._S(%5.25@@T]7=Q=/4U]7%U"#0TL_"S,7-P2#/PM+!PL_4R\D@TL':
- XMSL_'SR#2S\3!(,_;R<+/RR#7(-3/S2#>R=/,Q2#/V\G"S\L@"M?7S\3!+]?9
- XMU\_$P2P@UR#$P<[.S\T@R<[3U-+5S<7.U,'2R<D@R=/0S\S8VL_7P<X@Q<3)
- XMSMG*(,W%R,'.R=K-(-?/VM?2P=3!( K2Q=K5S-C4P=3!(-+!PL_4V2#,P,+/
- XMRB#&U<[+P\G)(" HS<'+TL_+S\W!SL3!(%QT<WM%6$E4?2P@S]#2Q<3%S,7.
- XMSL'1(-<@7'1S>T9T<$QI8G)A<GDN:'TI( K+S]3/TMG*(-#/VM?/S-'%U" *
- XMT-+%Q-?!TLG4Q<S8SL\@U=/4P<[/U\G7(-/7S\D@R<S)(-/4P<[$P=+4SMG%
- XM(,;5SLO#R<D@S\+2P<+/U,O)(,_;R<+/RR#)(,9YSLO#R<D*S]3,P<3+R2P@
- XMT,G3P=38(-/-V=/,S]?5P"#>P=/4V"#0TL_'TL'-S=DL(,35S<'1(-3/S-C+
- XMSR#/(,7%(,W%U,_$Q2#2P<+/U-D@"M<@R<3%P<S8SMG((-73S,_7R='(+B#T
- XMP<L@UL4@UR#&U<[+P\G1R"#0Q=+%Q,'>R2#$P<[.V<@@UR#/PL4@T]3/TL_.
- XMV2#3U=W%T]37U<74"M?/VLW/UL[/T]38(-73U,'.S]?)U-@@S<'+T\G-P<S8
- XMSL_%(-?2Q<W1(,_6R<3!SLG1(-#/U,_+P2#$P<[.V<@L(,D@UR#3S-7>P<4@
- XMR\_'Q,$*S\[/("C7TL7-T2D@R=/4Q=[%U"P@U]G:U\'4V"#/T-+%Q,7,Q<[.
- XMU< @T-+/P\7$U=+5+B *"@KPTLD@TL'"S]3%(-,@PLG"S,G/U,7+S\HL(-#%
- XMTM?/RB#7T\7'Q,$@U]G:V=?!Q=33T2#0TL_#Q<35TL$@T\_%Q,G.Q<[)T2#3
- XM(-/%TM?%TL_-( K+S]3/TL'1(-?/VM?2P=W!Q=0@U<O!VL'4Q<S8(,[!(-?.
- XMS]?8(-//VL3!SL[5P"#3U-+5R]35TM4@Q,'.SMG(("C4R=#!(%QT<WM&5%!]
- XM*2 @"L\@T\_%Q,G.Q<[)R2#3(-/%TM?%TL_-+B *"@H*"EQS96-T:6]N>_/4
- XMTM7+U-72P2#$P<[.V<@@1E10?0H*"EQT8WMI;G0@7'1O:6YD97A[<V]C:WU]
- XM>RTM+2#$Q=/+TLG0U,_2(,O!SL',P2#0Q=+%Q,'>R2#+S\W!SL0@SL$@T\72
- XMU\72.WT*7'1C>T9)3$4@*EQT;VEN9&5X>V1A=&%]?7LM+2T@S]#)T\'.R<4@
- XMR\'.P<S!(,3,T2#0Q=+%Q,'>R2#$P<[.V<@@SL$@T\72U\72.WT*7'1C>VEN
- XM="!<=&]I;F1E>'ME<G)N;WU]>R M+2T@VL[!WL7.R<4@T,_3S,7$SL7'SR#7
- XMS]K7TL'=Q<[.S\?/(,+)PLS)S]3%R\_*(-K.P=[%SLG1+@H@(" @(" @(" @
- XM(" @(" @(" @(" @("#W(-/,U=[!Q2#%T\S)(,_.SR#/U-+)P\'4Q<S8SL\@
- XMR<S)(-+!U\[/(,[5S, L( H@(" @(" @(" @(" @(" @(" @(" @("#4SR#0
- XMTL_)VL_;S,$@S]O)PLO!.WT*7'1C>V-H87(@7'1O:6YD97A[;6]D97U]>RTM
- XM+2#4R= @T,72Q<3!WLD@Q,'.SMG(.WT*7'1C>VEN="!C:'U[+2TM(-?3T,_-
- XMS\?!U,7,V,[!T2#0Q=+%S<7.SL'1(,G3T,_,V-K5Q<W!T2#$S-$@T-+%S\+2
- XMP=K/U\'.R=$*(" @(" @(" @(" @(" @(" @(" @(" @T,_4S\O!(-<@TL76
- XMR<W%(-#%TL7$P=[)(-3%R]/4S]?9R"#&P<K,S]<[?0I<=&-[4U1!5%53("@J
- XM9G5N8RDH*7U[+2TM(,'$TL73(,;5SLO#R<DL(,O/U,_2P=$@U]G:V=?!Q=33
- XMT2#7(-/,U=[!Q2#+S\?$P2#/U"#3Q=+7Q=+!"B @(" @(" @(" @(" @(" @
- XM(" @(" @(-#/S-7>Q<X@S]37Q=0@S\(@S]O)PLO%.WT*7'1C>U-405154R H
- XM*F1E8G5G*2@I?7LM+2T@P<32Q=,@QM7.R\/)R2P@R\_4S]+!T2#7V=K9U\'%
- XMU-/1(,3,T2#/U,S!Q,O)(-#2S]3/R\_,P3M]"EQT8WM35$%455,@*"I)3RDH
- XM*7U[+2TM(,;5SLO#R=$@U]G:V=?!Q<W!T2#7(-/,U=[!Q2#0S]3%TLD@T]?1
- XMVLD@TR#3Q=+7Q=+/S2P@R<S)"B @(" @(" @(" @(" @(" @(" @(" @(-#/
- XM(,G3U,7>Q<[)P"#-P<O3R<W!S-C.S\?/(-?2Q<W%SLD@SL$@T-+)Q<TOT,72
- XMQ<3!WM4@S\3.S\?/"B @(" @(" @(" @(" @(" @(" @(" @(-/)S=?/S,$N
- XM?0H@"@I<<V5C=&EO;GL@\-+/P\7$U=+9(-//Q<3)SL7.R=$OTL':W\7$R<[%
- XMSLG1(-,@T\72U\72S\U]"@I<='1T>U-405154R!<=&]I;F1E>'M&='!#;VYN
- XM96-T?2A&5%!^*BHL(&-H87)^*FAO<W1N86UE"EQF;V]T;F]T97OIS=$@S<';
- XMR<[9(,W/UL74(,+9U-@@R\'+(-/)S=?/S-C.S\4@U,'+(,D@P\G&TL_7S\4L
- XM(,[!T-+)S<72( I<='-[9'AC97)N+F-E<FXN8VA](,G,R2!<='-[,3(X+C$T
- XM,2XR,#$N.39]?0HI?0I["B @\\_:Q,'%U"#+P<[!S"#3S\7$R<[%SLG1(-,@
- XMT\72U\72S\TL(,[!R,_$T=W)S=/1(,[!(,W!V\G.Q2 @:&]S=&YA;64L"B @
- XMR2#3S]K$P<74(-/4TM7+U-72U2!&5% L(-?/VM?2P=W!T2#.P2#.Q<4@U<O!
- XMVL'4Q<S8+B#ET\S)(-#2Q<37P=+)U,7,V,[/"B @PMG,P2#7V=#/S,[%SL$@
- XMT-+/P\7$U=+!(%QT;VEN9&5X>T9T<&QI8D1E8G5G?2@Q*2P@"B @U,\@Q,\@
- XMT\_%Q,G.Q<[)T2#3(-/%TM?%TL_-(-?+S,#>P<74(-/4P<[$P=+4SMG%"B @
- XMT,_$T-+/Q]+!S<W9(,_"TL'"S]3+R2#/V\G"S\L@7'1O:6YD97A[1G1P1&5B
- XM=6=$96)U9WTL(%QT;VEN9&5X>T9T<$1E8G5G17)R;W)]+" *("!<=&]I;F1E
- XM>'M&='!$96)U9TE/?2!<;&]O:WMD96)U9WTN"GT*7'1T='M35$%455,@7'1O
- XM:6YD97A[1G1P57-E<GTH1E10?BHL(&-H87)^*G5S97(I?0I["B#PS]/9S,'%
- XMU"#3Q=+7Q=+5(,G-T2#0S\S8VL_7P=3%S-$N(/+!SL7%(,3/S-;.SR#"V<S/
- XM(,+9U-@@T-+/R=K7Q<3%SL\@T\_%Q,G.Q<[)Q0I]"@I<='1T>U-405154R!<
- XM=&]I;F1E>'M&='!087-S=V]R9'TH1E10?BHL(&-H87)^*G!A<W-W;W)D*7T*
- XM>PH@\,_3V<S!Q=0@T\72U\72U2#0P=+/S-@N(/+!SL7%(,3/S-;.P2#"V<S!
- XM(,+9U-@@U]G0S\S.Q<[!(-#2S\/%Q-72P2!<='-[1G1P57-E<GT@"GU<='1T
- XM>U-405154R!<=&]I;F1E>'M&='!!8V-O=6YT?2A&5%!^*BP@8VAA<GXJ86-C
- XM="E]"GL*(/#/T]G,P<74(-/%TM?%TM4@R<W1(,'+P=7.U,$N(/S4P2#&U<[+
- XMP\G1(-/$Q<S!SL$@Q,S1(-#/S,[/Q\\@T\_/U-?%U-/4U\G1"B#"R<+,R<_4
- XMQ<O)(-#2S]3/R\_,U2!<='-[1E10?2P@SL\@U"[++B#-P<S/(-3!R\G((,_0
- XMQ=+!P\G/SL[9R"#3R=/4Q<T@UR#+S]3/TMG((,[%S\+(S\3)S2#<U,_4( H@
- XMP=32R<+5U"#0S\S8VL_7P=3%S-$@U,\@QM7.R\/)T2!<='-[1G1P06-C;W5N
- XM='T@UR#/PMW%S2#4SR#.Q2#.U=;.P2X*(/#2Q<37P=+)U,7,V,[/(,3/S-;.
- XMP2#"V<S!(,+9U-@@U]G0S\S.Q<[!(-#2S\/%Q-72P0H@7'1S>T9T<%5S97)]
- XM+@I]"@I<='1T>PI35$%455,@7'1O:6YD97A[1G1P3&]G:6Y]*$944'XJ*BP@
- XM8VAA<GXJ:&]S=&YA;64L(&-H87)^*G5S97(L(&-H87)^*G!A<W-W;W)D+"!C
- XM:&%R?BIA8V-O=6YT*7T*>PH@(/#/T\S%Q,_7P=3%S-C.SR#7V=#/S,[1Q=0@
- XMT-+/P\7$U=+9(%QT<WM&='!#;VYN96-T?2P@7'1S>T9T<%5S97)]+"!<='-[
- XM1G1P4&%S<W=O<F1]+"!<='-[1G1P06-C;W5N='T@"BC%T\S)(-S4SR#.Q<_"
- XMR,_$R<W/*2X@1=/,R2#!R\'5SM0@S]33U=33U-?5Q=0L(,O!RR#/PMG>SL\@
- XMR2#"V=?!Q=0L(-?-Q=/4SR#.Q<?/"L[!Q,\@T,72Q<3!U\'4V"#:SL'>Q<[)
- XMQ2!<='-[3E5,3'U]"@I<='1T>U-405154R!<=&]I;F1E>'M&='!">65]*$94
- XM4'XJ*7T*>R#ZP=?%TMO!Q=0@T\7!SM,@TL'"S]39(-,@T\72U\72S\T@7&9O
- XM;W1N;W1E>^O!RR#7R<3.SR#)VB#/T,G3P<[)T2#0TL_#Q<35TB#3S\7$R<[%
- XMSLG1+]+!VM_%Q,G.Q<[)T2#)VB#/Q,[/RB#0TL_'TL'-S=D@S<_6SL\@S\3.
- XMS]?2Q<W%SL[/(-//Q<3)SM'4T]$@TR#.Q=/+S\S8R\G-R2#3Q=+7Q=+!S<E]
- XM('T*"@H*"EQS96-T:6]N>_#2S\/%Q-72V2#/U,S!Q,O)(-#2S\?2P<W-V7T@
- XM7&QA8F5L>V1E8G5G?2 *"O/5W<73U-?5Q=0@U\_:S<_6SL_3U-@@T-+%Q-?!
- XMTLG4Q<S8SL\@S]#2Q<3%S,G4V"#4TLD@T-+/P\7$U=+9.@I<9F]O=&YO=&5[
- XMY=/,R2#7(,S PM7 (,G:(,;5SLO#R<HL(,_0R=/!SL[9R"#.R=;%+"#7S<73
- XMU,\@T,'2P<W%U-+!(&9U;F-T:6]N(-#%TL7$P=38(-K.P=[%SLG%(%QT<WM.
- XM54Q,?2P@U,\@W-3/(,+5Q,74(,_:SL'>P=38"L_4R\S WL7.R<4@S]3,P<3+
- XMR2X@\-+)(,_4R\S WL7.SL_*(,_4S,'$R\4@TL7:U<S8U,'4(-+!PL_4V2#-
- XMS];.SR *S]#2Q<3%S,G4V"#)S,D@UL4@T,\@U\_:U]+!W<'%S<_-U2#&U<[+
- XMP\G%RB#:SL'>Q<[)P" HY=/,R2#/SL$@U,G0P2!<=&]I;F1E>'M35$%455-]
- XM*2#)S,D@"M#/(-#%TL7-Q<[.S\H@97)R;F\@UR#3U-+5R]35TL4@7'1S>T94
- XM4'U]"@I<='1T>UQT;VEN9&5X>T9T<%-E=$1E8G5G2&%N9&QE<GTH1E10("HL
- XM9G5N8W1I;VXI?0I[("#UT]3!SL'7S,G7P<74(-#2S\/%Q-72U2#/U,S!Q,O)
- XM(-#2S]3/R\_,P2#3(-7$P<S%SL[9S2#3Q=+7Q=+/S2X@"B @(.73S,D@Q<4@
- XMS]#2Q<3%S,G4V"P@U,\@S\[!(-?3Q<?$P2#"U<3%U"#7V=K9U\'%U-/1(,G:
- XM(-/4P<[$P=+4SL_*(,;5SLO#R<D@"B @(-#2R<7-P2_0Q=+%Q,'>R2#3S\_"
- XMW<7.R=$@TR_.P2#3Q=+7Q=+!+B#DS\S6SL$@Q,7,P=38(-?/VM?2P=0L(,[/
- XM(-<@T-+)SL/)T,4*(" @R<W%Q=0@T,_,SL_%(-#2P=?/(-#2Q=+9U\'4V"#7
- XMV=#/S,[%SLG%(-#2S\?2P<W-V2#7(-/,U=[!Q2#.Q<_"R,_$R<W/T]3)+@I]
- XM"@I<='1T>UQT;VEN9&5X>T9T<%-E=$5R<F]R2&%N9&QE<GTH1E10("HL9G5N
- XM8W1I;VXI?0I["B @(._0TL7$Q<S1U"#&U<[+P\G (,_"TL'"S]3+R2#/V\G"
- XMS\LN"B @(/#/T\S%(,7%(,_0TL7$Q<S%SLG1(-<@T\S5WL'%(-?/VM?2P=W%
- XMSLG1(-/%TM?%TL_-"B @(,[%U<3/U\S%U-?/TLG4Q<S8SL_'SR#/U-?%U,$@
- XMPM7$Q=0@U]G:V=?!U-C3T2#5R\':P<[.P=$@QM7.R\/)T2X@"B @(/#2R2#<
- XMU,_-(-K.P<L@U2#+S\3!(,_;R<++R2#-Q<[1Q=33T2#.P2 G+2<L(,D@U"[/
- XM+B#2Q=K5S-C4P=0@"B @(-/4P<[/U\G4T]$@S<7.V-O%(,[5S-$N"GT*7'1T
- XM='M<=&]I;F1E>'M&='!3971)3TAA;F1L97)]*$944" J+&9U;F-T:6]N*7T*
- XM>PH@("#OT-+%Q,7,Q<[)Q2#&U<[+P\G)(,_"TL'"S]3+R2#/V\G"S\L@U]?/
- XMQ,$OU]G7S\3!+@H@("#PTLD@T,72Q<3!WL4@Q,'.SMG((,G,R2#+S\W!SL0@
- XMSL$@T\72U\72+"#-S];%U"#7S]K.R<O.U=38(-/)U-7!P\G1(,O/Q\3!( H@
- XM("#3U]':V"#3(-/%TM?%TL_-(,+5Q,74(-#/U,72T<[!("C3P,3!(-?(S\31
- XMU"#0TL'+U,G>Q=/+R2#7T\4@T\+/R2#3Q=3)( H@("#)(-/"S\D@T-+)(-+!
- XMPL_4Q2#3Q=+7Q=+!(,[!(-7$P<S%SL[/RB#-P=O)SL4I(-#2R2#<U,_-(,+5
- XMQ,74(-?9VM?!SL$*(" @U<O!VL'.SL'1(,;5SLO#R=$N(._.P2 @U]G:V=?!
- XMQ=33T2#4P<L@UL4@T,\@R=/4Q=[%SLG "B @(,W!R]/)S<',V,[/Q\\@U]+%
- XMS<7.R2#0TLD@S];)Q,'.R<D@S][%TL7$SL_'SR#3R<W7S\S!(-,@T\72U\72
- XMP2#7SR#7TL7-T0H@("#0Q=+%Q,'>R2#$P<[.V<@N("A<=&]I;F1E>'MT:6UE
- XM;W5T?2D*?0H*7'1T='M<=&]I;F1E>'M&='!$96)U9WTH1E10("HI?0I["O#/
- XMQ,O,P-[%SLG%(-/4P<[$P=+4SMG((,;5SLO#R<H@S]3,P<3+R2#0TL_4S\O/
- XMS,$@U,'+R<@@R\'+( I<=&-[7'1O:6YD97A[1G1P1&5B=6=%<G)O<GU]>RTM
- XM+2#0Q=[!U,'%U"#3U-+/R]4@U\_:U]+!W<7.SM7 (-/%TM?%TL_-(,D@T-+%
- XMTMG7P<74(-#2S\?2P<W-U3M]"EQT8WM<=&]I;F1E>'M&='!$96)U9T1E8G5G
- XM?7U[+2TM(-#%WL'4P<74(-/4TL_+U2#7S]K7TL'=Q<[.U< @T\72U\72S\T[
- XM?0I<=&-[7'1O:6YD97A[1G1P1&5B=6=)3WU]>RTM+2#0Q=[!U,'%U"#3U-+/
- XMR]4@7'1S>W-T<F5R<F]R*&5R<FYO*7T@R2#0TL72V=?!Q=0@T-+/Q]+!S<W5
- XM+GT*?0H*]\\@U]/%(-#2S\/%Q-72V2#0Q=+%Q,' U-/1(-32R2#!TL?5S<7.
- XMU,$Z7%P*,2X@\]32U<O4U=+!(%QT<WM&5%!].UQ<"C(N(/K.P=[%SLG%(-?/
- XMVM?2P=W%SL[/Q2#&U<[+P\G%RBP@Q=/,R2#/SL\@S<7.V-O%(,7$R<[)P]D@
- XMU,\@T-+/R=K/V\S!(,_;R<++P3M<7 HS+B#SR<W7S\S8SL_%(-//S\+=Q<[)
- XMQ2#/T,G3V=?!Q<W/Q2#/V\G"R]4@*&-H87(@*BDN"@I<='1T>UQT;VEN9&5X
- XM>T9T<&QI8D1E8G5G?2@Q(&]R(# I?0I["??+S,#>P<74+]?9R\S WL'%U"#!
- XMU]3/S<'4R=[%T\O/Q2#7R\S WL7.R<4@U]/%R"#7R<3/UR#/U,S!Q,O)(-#2
- XMR2 *(" @(" @("#7V=#/S,[%SLG)(,;5SLO#R<D@7'1S>T9T<$-O;FYE8W0H
- XM1G1P3&]G:6XI?7T*7'-E8W1I;VY[\-+/P\7$U=+9(-#%TL7$P=[)(,3!SL[9
- XMR"#3(-/%TM?%TL%]"@I<='1T>U-405154R @7'1O:6YD97A[1G1P4F5T<E1I
- XM;65O=71]*$944'XJ+"!C:&%R?BIC;VUM86YD+"!C:&%R?BII;G L(&-H87)^
- XM*F]U= I<9F]O=&YO=&5[Y=/,R2#)S=$@S,_+P<S8SL_'SR#&P<K,P2!<='-[
- XM;W5T?2#3S]?0P<3%U"#3SR#3U-+/R\'-R2!<='-[*E-41$E.*GTL(%QT<WLJ
- XM4U1$3U54*GTL(%QT<WLJ4U1$15)2*'T@U,\@"M?-Q=/4SR#/U,O2V=3)T2#.
- XMS]?/Q\\@QL'*S,$@T-+/R=K/RL3%U"#$U<+,R=+/U\'.R<4@T,_4S\O!(-//
- XMS]37Q=33U-?%SL[/(-,@R\'.P<S!S<D@"EQT<WMS=&1I;GTL(%QT<WMS=&1O
- XM=71]+"!<='-[<W1D97)R?7TL"B!L;VYG?G1I;64I?0I["@GPS]/9S,'%U"#+
- XMS\W!SL35(%QT<WMC;VUM86YD?2#.P2#3Q=+7Q=(L(-#2R=[%S2#%T\S)(-<@
- XMR\_-P<[$Q2 *(" @(" @("#7T]32Q=3)U-/1(-#/Q-/4TL_+P2!<<',L(-3/
- XM(,[!(,7%(,W%T]3/(,+5Q,74(-#/Q-/4P=?,Q<[!(-/4TL_+P2!<='-[:6YP
- XM?2X*(" @(" @("#SS]K$P<74(,O!SL',(,3,T2#0Q=+%Q,'>R2#$P<[.V<@L
- XM(,D@U,\@WM3/(,+5Q,74(-#%TL7$P<[/"@G3Q=+7Q=+/S2#7(-S4S]0@R\'.
- XMP<P@PM7$Q=0@T\O/T,G2U<74(-<@S,_+P<S8SMG*(,;!RLP@7'1S>V]U='TN
- XM( H@(" @(" @(.73S,D@UR#4Q=[%SLG)(-?2Q<W%SLD@7'1S>W1I;65]+" *
- XM"<O/U,_2V<H@R=K-Q=+1Q=33T2#7(-/%R]7.Q,'(+"#3(-/%TM?%TL$@SL4@
- XMT-+)Q,74(,[%(,_$SL_'SR#3R<W7S\S!+"#4SR *(" @(" @("#&U<[+P\G1
- XM(-?/VM?2P=3)U"#3U,'4U=,@R\_4S]+9RB#"U<3%U"#/VL[!WL'4V"#/V\G"
- XMR]4@U]?/Q,$OU]G7S\3!+@H)]R#3S-7>P<4@R\_'Q,$@7'1O:6YD97A[=&EM
- XM96]U='T],"P@"B @(" @(" @S<'+T\G-P<S8SL_%(-?2Q<W1(,[!(-72S]?.
- XMQ2#"R<+,R<_4Q<O)(-+!U\[/"B @(" @(" @PL73R\_.Q=[.S]/4R2P@SL\@
- XMUR#<U,_-(-/,U=[!Q2#3U,'4U=,@S\(@S]O)PLO%(-?7S\3!+]?9U\_$P2#0
- XMTL_)T\C/Q,G4"B @(" @(" @T,\@R=/4Q=[%SLG ('1I;65O=70G82#7(-'$
- XMTL4@5$-0+TE0+B#TP<O)S2#/PM+!VL_-+"#%T\S)(%QT<WMT:6UE;W5T?2#7
- XM( H)T,'2P<W%U-+%('1I;64@PL_,V-O%(-[%S2!T:6UE;W5T(-<@T<32Q2!4
- XM0U O25 L(,_.(,[)R\_'Q,$@"B @(" @(" @SL4@T-+%TM?%U"#0Q=+%Q,'>
- XMU2#$P<[.V<@N(%QF;V]T;F]T97M<='-[5&EM96]U='T@UR#1Q-+!R"#2P=K.
- XMV<@@5$-0+TE0(-+!VL[9RGT@"GT*"EQT='1[7'1O:6YD97A[1G1P4F5T<GTH
- XM1E10?BHL(&-H87)^*F-O;6UA;F0L(&-H87)^*FEN<"P@8VAA<GXJ;W5T*7T*
- XM>PH@]]G:V=?!Q=0@U,_6Q2#$Q<K3U-?)Q2#>U,\@R2!&='!2971R5&EM96]U
- XM="P@SL\@TR#7V<O,P-[%SL[9S2!T:6UE;W5T)\_-+@I]"@I<='1T>UQT;VEN
- XM9&5X>T9T<$=E=%1I;65O=71]*$944'XJ+"!C:&%R?BII;G L(&-H87)^*F]U
- XM="P@;&]N9WYT:6UE*7T*>PH@\,72Q<3!Q=0@TR#3Q=+7Q=+!(,;!RLP@7'1S
- XM>VEN<'T@UR#,S\O!S-C.V<H@QL'*S"!<='-[;W5T?2P@T-+)(-S4S\T@U=/4
- XMP<[!U\S)U\'%U-/1"B!<='-[=&EM96]U=#UT:6UE?2X*?0H*7'1T='M<=&]I
- XM;F1E>'M&='!'971]*$944'XJ+"!C:&%R?BII;BP@8VAA<GXJ;W5T*7T*>PH@
- XM]]G:V=?!Q=0@QM7.R\/)P"!<='-[1G1P1V5T5&EM96]U='T@TR#7V<O,P-[%
- XMSL[9S2#-P<O3R<W!S-C.V<T@U]+%S<7.Q<T@"L_6R<3!SLG1(,3!SL[9R'T*
- XM"EQT='1[7'1O:6YD97A[1G1P1&ER96-T;W)Y?2A&5%!^*BP@8VAA<GXJ<&%T
- XM7&9O;W1N;W1E>_S4SR#0Q=+7V<H@P=+'U<W%SM0@Q,S1(,O/S<'.Q-D@;',H
- XM9&ER*7TL(&-H87)^*F]U="E]"GL*(/#%TL7$P<74(-//Q,72ULG-S\4@Q,G2
- XMQ<O4S]+)R2P@S]#)T\'.SL_'SR#0P=+!S<74TL_-(%QT<WMP871]+"#3(-/%
- XMTM?%TL$@UR#&P<K,(%QT<WMO=71]+@I]"EQT='1[7'1O:6YD97A[1G1P1&ER
- XM?2A&5%!^*BP@8VAA<GXJ;W5T*7T*>PH@\,72Q<3!Q=0@T\_$Q=+6R<W/Q2#4
- XMQ<O5W<7*(,3)TL7+U,_2R<D@TR#3Q=+7Q=+!(-<@QL'*S"!<='-[;W5T?2X*
- XM?0H*7'-E8W1I;VY[\-+/P\7$U=+9(-#%TL7$P=[)(,3!SL[9R"#.P2#3Q=+7
- XMQ=)]"@I<='1T>UQT;VEN9&5X>T9T<%-T;W)4:6UE;W5T?2A&5%!^*BP@8VAA
- XM<GXJ8V]M;6%N9"P@8VAA<GXJ:6YP+"!C:&%R?BIO=70L(&QO;F=^=&EM92E]
- XM"GL*("#PQ=+%Q,'%U"#3S\3%TM;)S<_%(,S/R\',V,[/Q\\@QL'*S,$@7'1S
- XM>VEN<'T@SL$@T\72U\72+"#0TL7$U\'2R=3%S-C.SR#0S]/,P=<@"L7-U2#+
- XMS\W!SL35+"#3S]/4P=?,Q<[.U< @R=H@7'1S>V-O;6UA;F1](,D@7'1S>V]U
- XM='TN(/#!TL'-Q=32(%QT<WMT:6UE?2P@VL'$P<74(,W!R]/)S<',V,[/Q0K7
- XMTL7-T2#.P2#/U-#2P=?+U2#/Q,[/Q\\@T\G-U\_,P2X@"GT*"EQT='1[7'1O
- XM:6YD97A[1G1P4W1O<GTH1E10?BHL(&-H87)^*F-O;6UA;F0L(&-H87)^*FEN
- XM<"P@8VAA<BI^;W5T*7T*>PH@(/?9VMG7P<74(-K!T-73RR#0TL7$V<35W<7*
- XM(-#2S\/%Q-72V2#3(-#!TL'-Q=32S\T@7'1S>W1I;64],'TN"GT*"EQT='1[
- XM7'1O:6YD97A[1G1P4'5T5&EM96]U='TH1E10?BHL(&-H87)^*FEN+"!C:&%R
- XM?BIO=70L(&QO;F=^=&EM92E]"GL@\,72Q<3!Q=0@S,_+P<S8SMG*(,;!RLP@
- XM7'1S>VEN?2#.P2#3Q=+7Q=(@UR#&P<K,(-,@R<W%SL7-(%QT<WMO=71]+"#0
- XMTLD@W-3/S2!<='-[=&EM96]U=#UT:6UE?7T*"EQT='1[7'1O:6YD97A[1G1P
- XM4'5T?2A&5%!^*BP@8VAA<GXJ:6XL(&-H87)^*F]U="E]"GL*("#WV=K9U\'%
- XMU"#0TL_#Q<35TM4@7'1S>T9T<%!U=%1I;65O=71](-,@T,'2P<W%U-+/S2!<
- XM='-[=&EM93TP?7T*"@I<<V5C=&EO;GOPTL_#Q<35TMD@WM3%SLG1+]K!T,G3
- XMR2#7(,;!RLP@SL$@T\72U\72Q7T*"N3,T2#4S\?/+"#>U,_"V2#0TL_)VM?/
- XMQ,G4V"#7U\_$+]?9U\_$(,G:+]<@QL'*S-D@R\_4S]+9Q2#.P<C/Q-'4T]$@
- XMSL$@T\72U\72Q2P@"M#2R=[%S2#.Q2#+S]#)TM71(,G((-#2Q<37P=+)U,7,
- XMV,[/(-<@S,_+P<S8SMG*(,;!RLPL(,$@TL'"S]3!T2#.Q=#/T]+%Q-/4U\7.
- XMSL\@TR#/TLG'R<[!S,_-+" *T]7=Q=/4U]7%U"#7S]K-S];.S]/4V"#/U,O2
- XMV=38(,;!RLP@SL$@T\72U\72Q2#.P2#>U,7.R<4OVL'0R=/8+\3/VL'0R=/8
- XM(,D*VL'4Q<T@TR#0S\W/W=C (,G,R2#6Q2#/PMG>SMG((-#2S\/%Q-72(-?7
- XMS\3!+]?9U\_$P2#)S,D@UL4@T-+)(-#/S<_=R2#0TL_#Q<35T@I<='-[1G1P
- XM4F5A9'T@R2!<='-[1G1P5W)I=&5]+"#+S]3/TMG%(-<@S]3,R=[)R2#/U"#0
- XMQ=+7V<@@T-+%S\+2P=K5P-0@U,7+T]3/U]G%(,;!RLS9+" *T-+/R=K7S\3)
- XMU-@@SL7/PLC/Q,G-V<4@S]#%TL'#R<DN"EQF;V]T;F]T97OET]3%T]37Q<[.
- XMSRP@U,'+R<4@QM7.R\/)R2#+P<L@7'1S>W-E96M]+"!<='-[:6]C=&Q]+" N
- XM+BX@"B @(" @(" @("#$S-$@W-3)R"#&P<K,S]<@SL7$S]#5T]3)S=DN?0H*
- XM"EQT='1[7'1O:6YD97A[1G1P1&%T87TH1E10?BHL(&-H87)^*F-O;6UA;F0L
- XM(&-H87)^*G!A<F%M+"!C:&%R?BIM;V1E*7T*>R#SS]K$P<74(,O!SL',(,3,
- XMT2#0Q=+%Q,'>R2#$P<[.V<@@T-+%Q-?!TLG4Q<S8SL\@T,_3S,'7(-/%TM?%
- XMTM4@R\_-P<[$U2#+S]3/TL'1"M//T]3!U\S1Q=33T2#)VB#0P=+!S<74TL_7
- XM(%QT<WMC;VUM86YD?2#)(%QT<WMP87)A;7TN(/#!TL'-Q=32(%QT<WMM;V1E
- XM?2#5R\':V=?!Q=0@S<_6Q=0@PMG4V" *R<S)(&!@<B<G(,G,R2!@8'<G)WT*
- XM"EQT='1[7'1O:6YD97A[1G1P3W!E;E)E861]*$944'XJ+&-H87)^*F9I;&5N
- XM86UE*7T*>R#OU,O2V=?!Q=0@Q,S1(-[4Q<[)T2#&P<K,(-,@R<W%SL7-(%QT
- XM<WMF:6QE;F%M97T@SL$@T\72U\72Q2!]"@I<='1T>UQT;VEN9&5X>T9T<$]P
- XM96Y7<FET97TH1E10?BHL8VAA<GXJ9FEL96YA;64I?0I[(._4R]+9U\'%U"#$
- XMS-$@VL'0R=/)(,;!RLP@TR#)S<7.Q<T@7'1S>V9I;&5N86UE?2#.P2#3Q=+7
- XMQ=+%('T*"EQT='1[7'1O:6YD97A[1G1P3W!E;D%P<&5N9'TH1E10?BHL8VAA
- XM<GXJ9FEL96YA;64I?0I[(._4R]+9U\'%U"#$S-$@Q,_:P=#)T\D@QL'*S"#3
- XM(,G-Q<[%S2!<='-[9FEL96YA;65](,[!(-/%TM?%TL4@?0H*7'1T='M<=&]I
- XM;F1E>'M&='!/<&5N1&ER?2A&5%!^*BP@8VAA<GXJ9FEL97,I?0I["B @\\_:
- XMQ,'%U"#+P<[!S"#$S-$@WM3%SLG1(-7$P<S%SL[/Q\\@S,G3U,G.Q\$@Q,G2
- XMQ<O4S]+)R2P@T,'2P<W%U-(@9FEL97,@T,72Q<3!Q=33T0K+S\W!SL3%(%QT
- XM<WML<WT@SL$@T\72U\72Q2#7(,O!WL73U-?%(#$MQ\\@T,'2P<W%U-+!"GT*
- XM"EQT='1[:6YT(%QT;VEN9&5X>T9T<%)E861]*$944'XJ*7U[_LG4P<74(-/)
- XMS=?/S"#)VB#0S]3/R\$@Q,'.SMG(+"#%T\S)(,+9S,$@U=/4P<[/U\S%SL$*
- XM(-3%R]/4S]?!T2#-S\3!(-#%TL7$P=[)(%QF;V]T;F]T97OUT]3!SL_7S,7.
- XMP2#0SR#5S<_,WL'.R< N?2P@T-+%S\+2P=K5Q=0@T,72Q<C/Q-D@SL$@SL_7
- XMU< @T]32S\O5+B#PTLD@S\+.P=+5UL7.R<D*R\_.P\$@T,_4S\O!(-?/VM?2
- XMP=W!Q=0@7'1O:6YD97A[14]&?7T@"@I<='1T>UQT;VEN9&5X>T9T<$=E=%-T
- XM<FEN9WTH1E10?BHL(&-H87)^*G-T<BE]"GL@_M3%SLG%(,_$SL_*(-/4TL_+
- XMR2#)VB#0S]3/R\$@Q,'.SMG((-#2R2#0S\W/W<D@QM7.R\/)R2!<='-[1G1P
- XM4F5A9'TN?0H*7'1T='M<=&]I;F1E>'M&='!7<FET97TH1E10?BHL(&-H87)^
- XM8RE]>_#)V\74(-/)S=?/S"#7(-#/U,_+(,3!SL[9R"P@Q=/,R2#"V<S!(-73
- XMU,'.S]?,Q<[!"B#4Q<O3U,_7P=$@S<_$P2#0Q=+%Q,'>R2P@T-+%S\+2P=K5
- XMQ=0@T,72Q<C/Q-D@SL$@SL_7U< @T]32S\O5+B#PTLD@S\+.P=+5UL7.R<D*
- XMS]O)PLO)(-?7S\3!+]?9U\_$P2#7S]K7TL'=P<74(%QT;VEN9&5X>T5/1GU]
- XM( H*7'1T='M<=&]I;F1E>'M&='!#;&]S97TH1E10?BHI?0I[^L'+TMG7P<74
- XM(-+!SL7%(,_4R]+9U-G*(-#/U,_+(,3!SL[9R"Y]"@I<<V5C=&EO;GOKS\W!
- XMSL39(,3,T2#3Q=+79=+!?0H*7'1T='M<=&]I;F1E>'M&='!#;VUM86YD?2A&
- XM5%!^*BP@8VAA<GXJ8V]M;6%N9"P@8VAA<GXJ<&%R86TL(&EN='YO:S$L(&]K
- XM,BP@;VLS+" N+BXL(&]K3BP@14]&*7T*>R#PS]/9S,'%U"#+S\W!SL35+"#3
- XMS]/4P=?,Q<[.U< @R=H@T,'2P<W%U-+/UR!<='-[8V]M;6%N9'T@R2!<='-[
- XM<&%R86U]+"#)(-/>R=39U\'%U" *S]37Q=0@T\72U\72P2P@Q=/,R2#+S\0@
- XMS]37Q=3!(,[%(-//U]#!Q,'%U"#.Q2#3(,_$SLG-(-K.P=[%SLG%S2!<='-[
- XM;VM]+"#4SPK:SL'+(,O/Q,$@S]37Q=3!(,W%SM'%U-/1(,[!("<M)RX@]R#3
- XMS-7>P<4@Q=/,R2#5T]3!SL_7S,7.(&AA;F1L97(@S\+2P<+/U,O)( K/V\G"
- XMS\L@U]G:V=?!Q=0@Q<?/+B *?0H*7'1T='M<=&]I;F1E>'M&='!4>7!E?2A&
- XM5%!^*BQC:&%R?BIM;V1E*7T*>_73U,'.P=?,R=?!Q=0@S<_$U2#0Q=+%Q,'>
- XMR2#&P<K,S]<L(&UO9&4@S<_6Q=0@PMG4V"!@8$$G)RP@8&!))R<L(&!@4R<G
- XM+"XN+BY]"@I<='1T>UQT;VEN9&5X>T9T<$)I;F%R>7TH1E10?BHI?0I[]=/4
- XMP<[!U\S)U\'%U"#$U\_)WL[5P"#-S\35(-#%TL7$P=[)(,;!RLS/UWT*"EQT
- XM='1[7'1O:6YD97A[1G1P07-C:6E]*$944'XJ*7T*>_73U,'.P=?,R=?!Q=0@
- XMU,7+T]3/U]7 (,W/Q-4@T,72Q<3!WLD@QL'*S,_7?0H*"EQT='1[7'1O:6YD
- XM97A[1G1P36MD:7)]*$944'XJ+&-H87(@*F1I<FYA;64I?0I[\\_:Q,'%U"#$
- XMR=+%R]3/TLG (,[!(-/%TM?%TL5]"@I<='1T>UQT;VEN9&5X>T9T<$-H9&ER
- XM?2A&5%!^*BQC:&%R("ID:7)N86UE*7T*>^W%SM'%U"#!R]3)U\[5P"#$R=+%
- XMR]3/TLG (,[!(-/%TM?%TL5]"@I<='1T>UQT;VEN9&5X>T9T<%)M?2A&5%!^
- XM*BQC:&%R("IF:6QE;F%M92E]"GOUQ,',T<74(,;!RLP@SL$@T\72U\72Q7T*
- XM"EQT='1[8VAA<GXJ7'1O:6YD97A[1G1P4'=D?2A&5%!^*BE]"GOWS]K7TL'=
- XMP<74(,'+U,G7SM7 (,3)TL7+U,_2R< @SL$@T\72U\72Q7T*"EQT='1[7'1O
- XM:6YD97A[1G1P36]V97TH1E10?BHL8VAA<B J;VQD9FEL96YA;64L(&-H87(@
- XM*FYE=V9I;&5N86UE*7T*>_#%TL7)S<7.S]?9U\'%U"#.P2#3Q=+7Q=+%(,;!
- XMRLP@7'1S>V]L9&9I;&5N86UE?2#7(,;!RLP@7'1S>VYE=V9I;&5N86UE?7T*
- XM"EQT='1[7'1O:6YD97A[1G1P1V5T1FEL97TH1E10?BHL8VAA<B J9FEL96YA
- XM;64I?0I[Y,'%U"#+S\W!SL35(-/%TM?%TM4@SL'>P<S!(-#%TL7$P=[)(,;!
- XMRLS!(,_4(-/%TM?%TL$@RR#+S,G%SM35+"#/U,S)WLG%"L_4(%QT<WM&='!/
- XM<&5N4F5A9'T@UR#4S\T@WM3/+"!<='-[1G1P1V5T1FEL97T@SL4@T\_:Q,'%
- XMU"#+P<[!S"#$S-$@T,72Q<3!WLD@Q,'.SMG(?0H*7'1T='M<=&]I;F1E>'M&
- XM='!0=71&:6QE?2A&5%!^*BQC:&%R("IF:6QE;F%M92E]"GODP<74(,O/S<'.
- XMQ-4@T\72U\72U2#.P=[!S,$@T,72Q<3!WLD@QL',P2#/U"#+S,G%SM3!(,L@
- XMT\72U\72U2P@S]3,R=[)Q0K/U"!<='-[1G1P3W!E;E=R:71E?2#7(-3/S2#>
- XMU,\@7'1S>T9T<%!U=$9I;&5](,[%(-//VL3!Q=0@R\'.P<P@Q,S1(-#%TL7$
- XMP=[)(,3!SL[9R'T*"EQT='1[7'1O:6YD97A[1G1P4&]R='TH1E10?BHL(&EN
- XM='YA+"!I;G1^8BP@:6YT?F,L(&EN='YD+"!I;G1^92P@:6YT?F8I?0I[Z\_-
- XMP<[$P2#3Q=+7Q=+5(-//VL3!U-@@R\'.P<P@Q,S1(-#%TL7$P=[)(,3!SL[9
- XMR"X@\-+)WL7-(%QT<WMA+F(N8RYD?2#<U,\@25 @P<32Q=,@"LO,R<7.U,$@
- XMP2!<='-[92HR-38K9GT@SL_-Q=(@T,_2U,$N?0H*7'-E8W1I;VY[\,_$T-+/
- XMQ]+!S<W9(-#%TL7$P=[)(-//S\+=Q<[)RB#7+\G:(-/%TM?%TL%]"@I<='1T
- XM>UQT;VEN9&5X>T9T<%-E;F1-97-S86=E?2A&5%!^*BP@8VAA<GXJ;65S<V%G
- XM92E]"GOPS]/9S,'%U"#3S\_"W<7.R<4@T\72U\72U7T*"EQT='1[:6YT(%QT
- XM;VEN9&5X>T9T<$=E=$UE<W-A9V5]*$944'XJ*7T*>_#2R<[)S<'%U"#3S\_"
- XMW<7.R<4@S]0@T\72U\72P2#)(-?/VM?2P=W!Q=0@Q<?/(,O/Q'T*"EQT='1[
- XM7'1O:6YD97A[1G1P365S<V%G97TH:6YT($YU;6)E<BE]"GOWS]K7TL'=P<74
- XM(-#/(,O/Q-4@T\_/PMW%SLG1(,7'SR#3S\3%TM;)S<_%?0H*7'-E8W1I;VY[
- XMYM7.R\/)R2#0S\S.S\?/(-/%P<[3P2#2P<+/U-E]"@I<='1T>T9)3$4@*EQT
- XM;VEN9&5X>T9T<$9U;&Q/<&5N?2AC:&%R("IF:6QE;F%M92QC:&%R("IM;V1E
- XM*7T*>R#RP=K"R=+!Q=0@T]32S\O5(&9I;&5N86UE(,O/U,_2P=$@Q,_,UL[!
- XM(,+9U-@@R<S)(-;%(-3)T,$@"EQT<WMH;W-T+W5S97(O<&%S<W=O<F0Z9FEL
- XM96YA;65](,G,R2#6Q2#4R=#!(%QT<WMF:6QE;F%M97TL(,D@UR#:P=?)T\G-
- XMS]/4R2#/U"#<U,_'SR *S]3+TMG7P<74T]$@(,;!RLP@R<S)(-;%(,[!(-/%
- XMTM?%TL4@7'1S>VAO<W1](,G,R2#6Q2#,S\O!S-C.V<H@QL'*S"X@\,'2P<W%
- XMU-(@;6]D92#$S\S6Q<X*T\_$Q=+6P=38(,_$R<X@R<S)(,37P2#3R<W7S\S!
- XM+B#PQ=+7V<H@VL'$P<74(-3)T"#/U,O2V=3)T2#&P<K,P2!@8'(G)RQ@8'<G
- XM)R#)S,D*8&!A)R<N(/?4S]+/RB#3R<W7S\P@S<_6Q=0@T\_$Q=+6P=38(-/)
- XMS=?/S"!@8&(G)R#>U,\@PM7$Q=0@VL'$P=?!U-@@Q-?/R=[.U< @S<_$U2#0
- XMQ=+%Q,'>R7T*7'1T='M<=&]I;F1E>'M&='!&=6QL0VQO<V5]*$9)3$4@*F8I
- XM?0I[^L'+TMG4R<4@QL'*S,%]"@H*7&YE=W!A9V4*7&EN<'5T(')U<RYI;F0*
- XK7&YE=W!A9V4*7'1A8FQE;V9C;VYT96YT<PI<96YD>V1O8W5M96YT?0H*"F0*
- X
- Xend
- END_OF_FILE
- if test 22541 -ne `wc -c <'libftp/etc/rus.tex.UU'`; then
- echo shar: \"'libftp/etc/rus.tex.UU'\" unpacked with wrong size!
- else
- echo shar: Uudecoding \"'libftp/etc/rus.tex'\" \(16333 characters\)
- cat libftp/etc/rus.tex.UU | uudecode
- if test 16333 -ne `wc -c <'libftp/etc/rus.tex'`; then
- echo shar: \"'libftp/etc/rus.tex'\" uudecoded with wrong size!
- else
- rm libftp/etc/rus.tex.UU
- fi
- fi
- # end of 'libftp/etc/rus.tex.UU'
- fi
- echo shar: End of archive 3 \(of 5\).
- cp /dev/null ark3isdone
- MISSING=""
- for I in 1 2 3 4 5 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 5 archives.
- rm -f ark[1-9]isdone
- else
- echo You still must unpack the following archives:
- echo " " ${MISSING}
- fi
- exit 0
- exit 0 # Just in case...
-