Remove ftplib from Magicka Repo as it's in mnet now
This commit is contained in:
parent
416bdc66df
commit
35b0d32193
191
deps/ftplib-4.0-1/CHANGES
vendored
191
deps/ftplib-4.0-1/CHANGES
vendored
@ -1,191 +0,0 @@
|
||||
The obligatory revision history...
|
||||
|
||||
Changes from V4.0 to V4.0-1
|
||||
|
||||
1) Fix erroneous removal of local file on PUT when transfer fails. It
|
||||
was an attempt to remove the local file on retrieve failure but the
|
||||
the code was checking for the wrong value.
|
||||
|
||||
2) Link data netbuf to control netbuf in FtpOpenPort instead of
|
||||
routine that calls it.
|
||||
|
||||
3) Fix check of response type in FtpClose.
|
||||
|
||||
4) Add NULL check from nodename lookup.
|
||||
|
||||
Changes from V3.1-1 to V4.0
|
||||
|
||||
1) License changed from GPL/LGPL to Artistic License 2.0.
|
||||
|
||||
2) Many bugs reported over the years have been addressed.
|
||||
|
||||
3) The reentrant versions of gethostbyname and getservbyname are used
|
||||
if available.
|
||||
|
||||
4) Internal buffers are larger which should allow for longer
|
||||
filenames.
|
||||
|
||||
5) The library will not output anything to stdout or stderr unless
|
||||
ftplib_debug is defined.
|
||||
|
||||
6) Some additional arguments are declared const.
|
||||
|
||||
7) The second argument to FtpSize is the address of an integer to
|
||||
receive the size of the remote file. The type of this argument has
|
||||
been changed from int to unsigned int. A new function, FtpSizeLong,
|
||||
returns the remote file's size as an unsigned long long.
|
||||
|
||||
8) The second argument to the callback function has been changed from
|
||||
an int to an unsigned long long. This value contains the number of
|
||||
bytes transferred so far.
|
||||
|
||||
9) The library version 1 interface compatability macros have been
|
||||
removed from the header file. If your application needs them, extract
|
||||
them from the old header file.
|
||||
|
||||
10) The usage information in qftp.c has been corrected.
|
||||
|
||||
11) qftp now accepts a '-s <cmd>' option to send <cmd> as a SITE
|
||||
command.
|
||||
|
||||
12) qftp progress reports now use floating point calculation so that
|
||||
large numbers don't cause overflows. If the remote server does not
|
||||
support the SIZE command, qftp will update every 32KB.
|
||||
|
||||
13) A new type-safe method is provided to establish a callback
|
||||
function. Put the details of when the function should be called into
|
||||
a FtpCallbackOptions structure and pass it to FtpSetCallback(). To
|
||||
remove a callback, call FtpClearCallback().
|
||||
|
||||
14) Updated html documentation.
|
||||
|
||||
Changes from V3.1 to V3.1-1
|
||||
|
||||
1) Delay setting the control handle pointer in the data handle until
|
||||
after the transfer request has received a positive acknowledgement.
|
||||
This should resolve problems calling FtpClose() on the data handle
|
||||
when the transfer is rejected.
|
||||
|
||||
2) Fix error handling in FtpRead() and FtpWrite().
|
||||
|
||||
3) Return status of transfer from FtpXfer() instead of status of
|
||||
FtpClose().
|
||||
|
||||
4) Allow FtpClose() to be called on a control handle. This should be
|
||||
used instead of FtpQuit() in cases where a transfer was interrupted.
|
||||
FtpQuit() would attempt to send a 'QUIT' command and wait for a
|
||||
response but this would be out of sync after an interrupt.
|
||||
|
||||
5) The idle callback routine was not being set in the data handle if
|
||||
the user didn't set FTPLIB_IDLETIME. Fixed this so it would get set
|
||||
up if either this or FTPLIB_CALLBACKBYTES was set.
|
||||
|
||||
6) Open local files in binary mode when appropriate. This is
|
||||
necessary on some systems like NT and VMS.
|
||||
|
||||
7) Added a wildcard mode to qftp for wildcard retrieves. Argument
|
||||
after '-w' is treated as a remote wildcard file specification.
|
||||
|
||||
Changes from 12/2/97 (V3) to .... (V3.1)
|
||||
|
||||
1) Added FtpPwd(), FtpSysType(), FtpCDUp(), FtpSize() and FtpModDate().
|
||||
|
||||
2) Fixed bug in FtpClose() - It wasn't waiting for the '226 Transfer
|
||||
Complete' since it didn't have access to the control connection. A
|
||||
pointer to it is now kept in the data connection.
|
||||
|
||||
3) Fixed bug in FtpClose() - The data connection wasn't being freed. This
|
||||
could have resulted in memory leaks.
|
||||
|
||||
4) Allow runtime selection of connection mode (PORT/PASV) with default set
|
||||
at compile time.
|
||||
|
||||
5) Added support for a user callback routine which can get called after a
|
||||
user specified number of bytes are transferred or after waiting for data
|
||||
on a socket for a user specified time period.
|
||||
|
||||
6) Add FtpOptions() which allows changing connection options. Options
|
||||
include connection mode, callback routine, and parameters regarding when
|
||||
the user's callback routine gets called.
|
||||
|
||||
7) Added checks to make sure strcpy()/sprintf()/etc. wouldn't write past
|
||||
end of buffers.
|
||||
|
||||
8) Modified build procedure to create a shared library.
|
||||
|
||||
9) Added install option to makefile which installs under /usr/local.
|
||||
|
||||
10) Modified qftp to use new interface.
|
||||
|
||||
11) Modified qftp to log progress every 10% of file or every time data
|
||||
is delayd by 1 second if -v setting is not zero.
|
||||
|
||||
12) Modified qftp to use fgets() instead of gets().
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Changes from 3/15/97 to 12/2/97
|
||||
|
||||
1) FtpLastResponse() returns NULL if passed a NULL pointer.
|
||||
|
||||
2) Added 'const' keyword on appropriate function arguments.
|
||||
|
||||
3) First attempt to translate passed host string as an IP address in dot
|
||||
notation by passing it to inet_addr(). If this fails, pass the string
|
||||
to gethostbyname(). Apparently, some versions of gethostbyname() will
|
||||
parse the translation of a dot notation address for you. One user
|
||||
reports he knows of at least one that does not. In any case, it's the
|
||||
right thing to do.
|
||||
|
||||
4) Added protection from double inclusion to header file. Also added
|
||||
'extern "C"' for C++.
|
||||
|
||||
5) Made sure qftp was passed two arguments before examining the second
|
||||
one.
|
||||
|
||||
6) Made sure all commands to the server were in upper case. I've been
|
||||
told that some servers require this.
|
||||
|
||||
7) Attempt to handle login to accounts with no passwords.
|
||||
|
||||
8) Added common data transfer routines so that ascii mode transfers would
|
||||
be handled properly in all cases. Also, exposed these routines for
|
||||
user programs to call. There's now FtpAccess() to open a remote file
|
||||
or directory, FtpRead() and FtpWrite() to pass data, and FtpClose() to
|
||||
terminate the data connection.
|
||||
|
||||
9) Added 'list' command to qftp to perform a terse directory (names
|
||||
only). This could be piped into another copy of qftp to retrieve the
|
||||
files.
|
||||
|
||||
10) ftplib.c and ftplib.h are now covered by the LGPL instead of the GPL.
|
||||
Feel free to send me a complementary copy of anything you develop
|
||||
commercially with my libraries. All other programs are still covered
|
||||
by the GPL.
|
||||
|
||||
11) Added ability to specify a different port number than the default by
|
||||
appending a colon and the desired port number to the remote host name
|
||||
(e.g., remote.host.name:500 would connect to port remote.host.name on
|
||||
port 500).
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Changes from 8/31/96 version to 3/15/97 version
|
||||
|
||||
1) Added copyright information to sources.
|
||||
|
||||
2) Changed from 'port' to 'pasv' which I'm told will allow the routines
|
||||
to work from behind a firewall. It's also a lot simpler and cleaner
|
||||
than all that code to setup and accept a connect from the server.
|
||||
|
||||
3) Added delete (ftprm) support to qftp.c.
|
||||
|
||||
4) Modified qftp to allow use without a softlink by passing the ftp
|
||||
command as the first argument.
|
||||
|
||||
5) Added netbuf argument to all calls to eliminate static storage and
|
||||
allow multiple simultaneous connections.
|
||||
|
||||
6) Renamed routines from ftp*() to Ftp*() to avoid problems with existing
|
||||
programs. Added macros in libftp.h to support old interface. Renamed
|
||||
ftpOpen() to FtpConnect().
|
171
deps/ftplib-4.0-1/LICENSE
vendored
171
deps/ftplib-4.0-1/LICENSE
vendored
@ -1,171 +0,0 @@
|
||||
Artistic License 2.0
|
||||
|
||||
Copyright (c) 2000-2006, The Perl Foundation.
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies of this
|
||||
license document, but changing it is not allowed. Preamble
|
||||
|
||||
This license establishes the terms under which a given free software
|
||||
Package may be copied, modified, distributed, and/or
|
||||
redistributed. The intent is that the Copyright Holder maintains some
|
||||
artistic control over the development of that Package while still
|
||||
keeping the Package available as open source and free software.
|
||||
|
||||
You are always permitted to make arrangements wholly outside of this
|
||||
license directly with the Copyright Holder of a given Package. If the
|
||||
terms of this license do not permit the full use that you propose to
|
||||
make of the Package, you should contact the Copyright Holder and seek
|
||||
a different licensing arrangement. Definitions
|
||||
|
||||
"Copyright Holder" means the individual(s) or organization(s) named in
|
||||
the copyright notice for the entire Package.
|
||||
|
||||
"Contributor" means any party that has contributed code or other
|
||||
material to the Package, in accordance with the Copyright Holder's
|
||||
procedures.
|
||||
|
||||
"You" and "your" means any person who would like to copy, distribute,
|
||||
or modify the Package.
|
||||
|
||||
"Package" means the collection of files distributed by the Copyright
|
||||
Holder, and derivatives of that collection and/or of those files. A
|
||||
given Package may consist of either the Standard Version, or a
|
||||
Modified Version.
|
||||
|
||||
"Distribute" means providing a copy of the Package or making it
|
||||
accessible to anyone else, or in the case of a company or
|
||||
organization, to others outside of your company or organization.
|
||||
|
||||
"Distributor Fee" means any fee that you charge for Distributing this
|
||||
Package or providing support for this Package to another party. It
|
||||
does not mean licensing fees.
|
||||
|
||||
"Standard Version" refers to the Package if it has not been modified,
|
||||
or has been modified only in ways explicitly requested by the
|
||||
Copyright Holder.
|
||||
|
||||
"Modified Version" means the Package, if it has been changed, and such
|
||||
changes were not explicitly requested by the Copyright Holder.
|
||||
|
||||
"Original License" means this Artistic License as Distributed with the
|
||||
Standard Version of the Package, in its current version or as it may
|
||||
be modified by The Perl Foundation in the future.
|
||||
|
||||
"Source" form means the source code, documentation source, and
|
||||
configuration files for the Package.
|
||||
|
||||
"Compiled" form means the compiled bytecode, object code, binary, or
|
||||
any other form resulting from mechanical transformation or translation
|
||||
of the Source form. Permission for Use and Modification Without
|
||||
Distribution
|
||||
|
||||
(1) You are permitted to use the Standard Version and create and use
|
||||
Modified Versions for any purpose without restriction, provided that
|
||||
you do not Distribute the Modified Version. Permissions for
|
||||
Redistribution of the Standard Version
|
||||
|
||||
(2) You may Distribute verbatim copies of the Source form of the
|
||||
Standard Version of this Package in any medium without restriction,
|
||||
either gratis or for a Distributor Fee, provided that you duplicate
|
||||
all of the original copyright notices and associated disclaimers. At
|
||||
your discretion, such verbatim copies may or may not include a
|
||||
Compiled form of the Package.
|
||||
|
||||
(3) You may apply any bug fixes, portability changes, and other
|
||||
modifications made available from the Copyright Holder. The resulting
|
||||
Package will still be considered the Standard Version, and as such
|
||||
will be subject to the Original License. Distribution of Modified
|
||||
Versions of the Package as Source
|
||||
|
||||
(4) You may Distribute your Modified Version as Source (either gratis
|
||||
or for a Distributor Fee, and with or without a Compiled form of the
|
||||
Modified Version) provided that you clearly document how it differs
|
||||
from the Standard Version, including, but not limited to, documenting
|
||||
any non-standard features, executables, or modules, and provided that
|
||||
you do at least ONE of the following:
|
||||
|
||||
(a) make the Modified Version available to the Copyright Holder of the
|
||||
Standard Version, under the Original License, so that the Copyright
|
||||
Holder may include your modifications in the Standard Version. (b)
|
||||
ensure that installation of your Modified Version does not prevent the
|
||||
user installing or running the Standard Version. In addition, the
|
||||
Modified Version must bear a name that is different from the name of
|
||||
the Standard Version. (c) allow anyone who receives a copy of the
|
||||
Modified Version to make the Source form of the Modified Version
|
||||
available to others under (i) the Original License or (ii) a license
|
||||
that permits the licensee to freely copy, modify and redistribute the
|
||||
Modified Version using the same licensing terms that apply to the copy
|
||||
that the licensee received, and requires that the Source form of the
|
||||
Modified Version, and of any works derived from it, be made freely
|
||||
available in that license fees are prohibited but Distributor Fees are
|
||||
allowed. Distribution of Compiled Forms of the Standard Version or
|
||||
Modified Versions without the Source
|
||||
|
||||
(5) You may Distribute Compiled forms of the Standard Version without
|
||||
the Source, provided that you include complete instructions on how to
|
||||
get the Source of the Standard Version. Such instructions must be
|
||||
valid at the time of your distribution. If these instructions, at any
|
||||
time while you are carrying out such distribution, become invalid, you
|
||||
must provide new instructions on demand or cease further
|
||||
distribution. If you provide valid instructions or cease distribution
|
||||
within thirty days after you become aware that the instructions are
|
||||
invalid, then you do not forfeit any of your rights under this
|
||||
license.
|
||||
|
||||
(6) You may Distribute a Modified Version in Compiled form without the
|
||||
Source, provided that you comply with Section 4 with respect to the
|
||||
Source of the Modified Version. Aggregating or Linking the Package
|
||||
|
||||
(7) You may aggregate the Package (either the Standard Version or
|
||||
Modified Version) with other packages and Distribute the resulting
|
||||
aggregation provided that you do not charge a licensing fee for the
|
||||
Package. Distributor Fees are permitted, and licensing fees for other
|
||||
components in the aggregation are permitted. The terms of this license
|
||||
apply to the use and Distribution of the Standard or Modified Versions
|
||||
as included in the aggregation.
|
||||
|
||||
(8) You are permitted to link Modified and Standard Versions with
|
||||
other works, to embed the Package in a larger work of your own, or to
|
||||
build stand-alone binary or bytecode versions of applications that
|
||||
include the Package, and Distribute the result without restriction,
|
||||
provided the result does not expose a direct interface to the Package.
|
||||
Items That are Not Considered Part of a Modified Version
|
||||
|
||||
(9) Works (including, but not limited to, modules and scripts) that
|
||||
merely extend or make use of the Package, do not, by themselves, cause
|
||||
the Package to be a Modified Version. In addition, such works are not
|
||||
considered parts of the Package itself, and are not subject to the
|
||||
terms of this license. General Provisions
|
||||
|
||||
(10) Any use, modification, and distribution of the Standard or
|
||||
Modified Versions is governed by this Artistic License. By using,
|
||||
modifying or distributing the Package, you accept this license. Do not
|
||||
use, modify, or distribute the Package, if you do not accept this
|
||||
license.
|
||||
|
||||
(11) If your Modified Version has been derived from a Modified Version
|
||||
made by someone other than you, you are nevertheless required to
|
||||
ensure that your Modified Version complies with the requirements of
|
||||
this license.
|
||||
|
||||
(12) This license does not grant you the right to use any trademark,
|
||||
service mark, tradename, or logo of the Copyright Holder.
|
||||
|
||||
(13) This license includes the non-exclusive, worldwide,
|
||||
free-of-charge patent license to make, have made, use, offer to sell,
|
||||
sell, import and otherwise transfer the Package with respect to any
|
||||
patent claims licensable by the Copyright Holder that are necessarily
|
||||
infringed by the Package. If you institute patent litigation
|
||||
(including a cross-claim or counterclaim) against any party alleging
|
||||
that the Package constitutes direct or contributory patent
|
||||
infringement, then this Artistic License to you shall terminate on the
|
||||
date that such litigation is filed.
|
||||
|
||||
(14) Disclaimer of Warranty: THE PACKAGE IS PROVIDED BY THE COPYRIGHT
|
||||
HOLDER AND CONTRIBUTORS "AS IS' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
WARRANTIES. THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
||||
PARTICULAR PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT
|
||||
PERMITTED BY YOUR LOCAL LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT
|
||||
HOLDER OR CONTRIBUTOR WILL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THE PACKAGE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
18
deps/ftplib-4.0-1/README.ftplib-4.0-1
vendored
18
deps/ftplib-4.0-1/README.ftplib-4.0-1
vendored
@ -1,18 +0,0 @@
|
||||
FTP Library Routines Release 4.0
|
||||
Thomas Pfau (tfpfau@gmail.com)
|
||||
March 9, 2016
|
||||
|
||||
This package implements a callable interface to FTP. The FTP protocol is
|
||||
specified in RFC 959. The library has been tested on linux, OpenVMS and
|
||||
Windows NT. It should also work without major modification on other
|
||||
POSIX systems.
|
||||
|
||||
All programs using the library should include ftplib.h.
|
||||
|
||||
The routines look at the global variable ftplib_debug to determine how
|
||||
much information they should display. Level 1 has been left for user
|
||||
programs. Level 2 displays all responses received from the server.
|
||||
Level 3 displays all commands sent to the server.
|
||||
|
||||
Function documentation is provided in HTML format in the html
|
||||
subdirectory.
|
41
deps/ftplib-4.0-1/README.qftp
vendored
41
deps/ftplib-4.0-1/README.qftp
vendored
@ -1,41 +0,0 @@
|
||||
qftp is a simple program which demonstrates the use of ftplib.
|
||||
|
||||
qftp performs directories or file transfers using the ftp protocol based
|
||||
on the command it was invoked with and command line arguments. qftp
|
||||
can be invoked through a softlink which indicates which operation it
|
||||
should perform.
|
||||
|
||||
To install, copy qftp to a directory in your path. Execute the following
|
||||
commands in that directory:
|
||||
|
||||
ln -s qftp ftpdir
|
||||
ln -s qftp ftpget
|
||||
ln -s qftp ftpsend
|
||||
ln -s qftp ftprm
|
||||
ln -s qftp ftplist
|
||||
|
||||
Then, invoke qftp by using the commands ftpdir, ftpget, ftpsend, ftprm or
|
||||
ftplist.
|
||||
|
||||
qftp processes the command line in order. The first argument should be
|
||||
the name of the system you wish to converse with. If you need to specify
|
||||
login information, that should be specified next with '-l' and '-p'. On
|
||||
UNIX systems, if you specify a username with '-l' and don't specify a
|
||||
password with '-p', qftp will prompt for a password. It is a good idea
|
||||
to do it this way as it keeps the password off the command line and out
|
||||
of 'ps' and other displays.
|
||||
|
||||
When working through a proxy firewall, specify the firewall machine's
|
||||
name as the host. Specify the real host's name with the -l and -p
|
||||
parameters. For example:
|
||||
|
||||
ftpget firewall -l anonymous@real.host.com -p user@myhost.org
|
||||
|
||||
The exit status from qftp can be used to determine whether the transfer
|
||||
worked or not. Exit status 2 means a command line syntax error. 3
|
||||
indicates a failure while attempting to translate the system name into an
|
||||
IP address. 4 indicates a failure attempting to connect to the remote
|
||||
machine. 5 indicates a login failure. 6 indicates a remote command
|
||||
error. 7 indicates a system call error.
|
||||
|
||||
See the HTML documentation in the html subdirectory for more details.
|
3933
deps/ftplib-4.0-1/RFC959.txt
vendored
3933
deps/ftplib-4.0-1/RFC959.txt
vendored
File diff suppressed because it is too large
Load Diff
2
deps/ftplib-4.0-1/additional_rfcs
vendored
2
deps/ftplib-4.0-1/additional_rfcs
vendored
@ -1,2 +0,0 @@
|
||||
RFC2228 FTP Security Extensions. M. Horowitz, S. Lunt. October 1997.
|
||||
RFC1579 Firewall-Friendly FTP. S. Bellovin. February 1994.
|
42
deps/ftplib-4.0-1/html/FtpAccess.html
vendored
42
deps/ftplib-4.0-1/html/FtpAccess.html
vendored
@ -1,42 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpAccess</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpAccess</h1>
|
||||
<p>Open a file or directory on the remote system.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpAccess(const char *path, int typ, int mode, netbuf *nControl,
|
||||
netbuf **nData);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>path</b></dt>
|
||||
<dd>Specifies the name of the remote file or directory to
|
||||
open.</dd>
|
||||
<dt><b>typ</b></dt>
|
||||
<dd>Specifies the type of transfer to be performed. FTPLIB_DIR
|
||||
performs a terse directory. FTPLIB_DIR_VERBOSE performs a verbose
|
||||
directory. FTPLIB_FILE_READ opens a remote file for reading.
|
||||
FTPLIB_FILE_WRITE creates a remote file and readies it for
|
||||
writing.</dd>
|
||||
<dt><b>mode</b></dt>
|
||||
<dd>Specifies the transfer mode as FTPLIB_ASCII or
|
||||
FTPLIB_IMAGE.</dd>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A handle returned by <a href="FtpConnect.html">FtpConnect()</a>.</dd>
|
||||
<dt><b>nData</b></dt>
|
||||
<dd>Specifies the address to store a pointer to the created data
|
||||
handle.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>FtpAccess() opens a remote file or directory and returns a
|
||||
handle for the calling program to use to transfer data.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>Returns 1 if successful or 0 on error.</p>
|
||||
</body>
|
||||
</html>
|
26
deps/ftplib-4.0-1/html/FtpCDUp.html
vendored
26
deps/ftplib-4.0-1/html/FtpCDUp.html
vendored
@ -1,26 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpCDUp</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpCDUp</h1>
|
||||
<p>Change to parent directory.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpCDUp(netbuf *nControl);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A handle returned by <a href=
|
||||
"FtpConnect.html">FtpConnect()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>FtpCDUp() sends a CDUP command to the remote server.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>Returns 1 if successful or 0 on error.</p>
|
||||
</body>
|
||||
</html>
|
28
deps/ftplib-4.0-1/html/FtpChdir.html
vendored
28
deps/ftplib-4.0-1/html/FtpChdir.html
vendored
@ -1,28 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpChdir</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpChdir</h1>
|
||||
<p>Change working directory on server.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpChdir(const char *path, netbuf *nControl);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>path</b></dt>
|
||||
<dd>Specifies the desired working directory on the server.</dd>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A handle returned by <a href="FtpConnect.html">FtpConnect()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>Sends a change working directory request to the server using the
|
||||
specified path.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>Returns 1 if successful or 0 on error.</p>
|
||||
</body>
|
||||
</html>
|
27
deps/ftplib-4.0-1/html/FtpClearCallback.html
vendored
27
deps/ftplib-4.0-1/html/FtpClearCallback.html
vendored
@ -1,27 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpClearCallback</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpClearCallback</h1>
|
||||
<p>Clears callback settings.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpClearCallback(netbuf *nControl);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A handle returned by <a href="FtpConnect.html">FtpConnect()</a>
|
||||
or <a href="FtpAccess.html">FtpAccess()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>FtpClearCallback() clears all callback options on a connection.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>Returns 1 if a valid option was specified and the value is
|
||||
legal. Otherwise, returns 0.</p>
|
||||
</body>
|
||||
</html>
|
32
deps/ftplib-4.0-1/html/FtpClose.html
vendored
32
deps/ftplib-4.0-1/html/FtpClose.html
vendored
@ -1,32 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpClose</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpClose</h1>
|
||||
<p>Close a connection.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpClose(netbuf *nData);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>nData</b></dt>
|
||||
<dd>A handle returned by <a href="FtpAccess.html">FtpAccess()</a>
|
||||
or <a href="FtpConnect.html">FtpConnect()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>Closes the connection specified by 'nData' and frees associated
|
||||
resources. If the connection is a command connection, any
|
||||
associated data connection is also closed and the command
|
||||
connection is closed without sending any commands.</p>
|
||||
<p>FtpClose() destroys the connection object and any associated
|
||||
data connection object. Do not use either connection after calling
|
||||
FtpClose().</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>Returns 1 if successful or 0 on error.</p>
|
||||
</body>
|
||||
</html>
|
35
deps/ftplib-4.0-1/html/FtpConnect.html
vendored
35
deps/ftplib-4.0-1/html/FtpConnect.html
vendored
@ -1,35 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpConnect</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpConnect</h1>
|
||||
<p>Connect to an FTP server.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpConnect(const char *host, netbuf **nControl);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>host</b></dt>
|
||||
<dd>The name of the host machine to connect to and optionally an
|
||||
alternate port number to use.</dd>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>The address where the pointer to the newly created control
|
||||
handle should be stored.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>FtpConnect() establishes a connection to the FTP server on the
|
||||
specified machine and returns a handle which can be used to
|
||||
initiate data transfers. The host name should be specified as
|
||||
<host> or <host>:<port>. <host> may be
|
||||
either a host name or ip address. <port> may be either a
|
||||
service name or a port number.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>If the connection to the remote server if successful,
|
||||
FtpConnect() returns 1. Otherwise, 0 is returned.</p>
|
||||
</body>
|
||||
</html>
|
28
deps/ftplib-4.0-1/html/FtpDelete.html
vendored
28
deps/ftplib-4.0-1/html/FtpDelete.html
vendored
@ -1,28 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpDelete</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpDelete</h1>
|
||||
<p>Removes a file from the remote system.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpDelete(const char *fnm, netbuf *nControl);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>fnm</b></dt>
|
||||
<dd>The name of the file which is to be removed.</dd>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A handle returned by <a href="FtpConnect.html">FtpConnect()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>Requests that the server remove the specified file from the
|
||||
remote file system.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>Returns 1 if successful or 0 on error.</p>
|
||||
</body>
|
||||
</html>
|
37
deps/ftplib-4.0-1/html/FtpDir.html
vendored
37
deps/ftplib-4.0-1/html/FtpDir.html
vendored
@ -1,37 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpDir</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpDir</h1>
|
||||
<p>Retrieves a verbose directory listing.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpDir(const char *outputfile, const char *path, netbuf *nControl);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>outputfile</b></dt>
|
||||
<dd>Name of a local file to receive the directory listing. If
|
||||
specified as NULL, the directory listing is written to stdout.</dd>
|
||||
<dt><b>path</b></dt>
|
||||
<dd>File specification to pass to remote 'ls'.</dd>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A handle returned by <a href=
|
||||
"FtpConnect.html">FtpConnect()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>Sends a LIST command to the server with the specified path. The
|
||||
response to this is usually a long format directory listing which
|
||||
will be written to the file named in outputfile. If outputfile is
|
||||
specified as NULL, the list will be written to stdout.</p>
|
||||
<p>The format of the listing is dependent on the type of the remote
|
||||
system. The system type can be determined from
|
||||
<a href="FtpSysType.html">FtpSysType()</a>.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>Returns 1 if successful or 0 on error.</p>
|
||||
</body>
|
||||
</html>
|
34
deps/ftplib-4.0-1/html/FtpGet.html
vendored
34
deps/ftplib-4.0-1/html/FtpGet.html
vendored
@ -1,34 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpGet</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpGet</h1>
|
||||
<p>Retreive a file from the remote system.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpGet(const char *output, const char *path, char mode, netbuf *nControl);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>output</b></dt>
|
||||
<dd>Name of a local file to receive the contents of the remote
|
||||
file. If specified as NULL file data will be written to stdout.</dd>
|
||||
<dt><b>path</b></dt>
|
||||
<dd>Name of remote file to be retrieved.</dd>
|
||||
<dt><b>mode</b></dt>
|
||||
<dd>Specifies the transfer mode as FTPLIB_ASCII or
|
||||
FTPLIB_IMAGE.</dd>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A handle returned by <a href="FtpConnect.html">FtpConnect()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>FtpGet() copies the contents of a remote file to a local
|
||||
file.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>Returns 1 if successful or 0 on error.</p>
|
||||
</body>
|
||||
</html>
|
22
deps/ftplib-4.0-1/html/FtpInit.html
vendored
22
deps/ftplib-4.0-1/html/FtpInit.html
vendored
@ -1,22 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpInit</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpInit</h1>
|
||||
<p>Initialize the library.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
void FtpInit(void);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<p>None.</p>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>Performs any required initialization for the library.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>None.</p>
|
||||
</body>
|
||||
</html>
|
31
deps/ftplib-4.0-1/html/FtpLastResponse.html
vendored
31
deps/ftplib-4.0-1/html/FtpLastResponse.html
vendored
@ -1,31 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpLastResponse</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpLastResponse</h1>
|
||||
<p>Retrieve the last response sent by the server.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
char *FtpLastResponse(netbuf *nControl);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A pointer to a control handle returned by
|
||||
<a href="FtpConnect.html">FtpConnect()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>FtpLastResponse() returns a pointer to the last response string
|
||||
sent by the server. This can be parsed by the user program to
|
||||
determine more information about the last request or can be
|
||||
displayed along with an error message.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>If nControl is a valid control handle, FtpLastResponse() returns
|
||||
a pointer to the last server response string. Otherwise, NULL is
|
||||
returned.</p>
|
||||
</body>
|
||||
</html>
|
30
deps/ftplib-4.0-1/html/FtpLogin.html
vendored
30
deps/ftplib-4.0-1/html/FtpLogin.html
vendored
@ -1,30 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpLogin</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpLogin</h1>
|
||||
<p>Login to remote system.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpLogin(const char *user, const char *pass, netbuf *nControl);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>user</b></dt>
|
||||
<dd>Specifies the username.</dd>
|
||||
<dt><b>pass</b></dt>
|
||||
<dd>Specifies the password.</dd>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A handle returned by <a href="FtpConnect.html">FtpConnect()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>FtpLogin() attempts to login to the remote system with the
|
||||
supplied username and password.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>Returns 1 if successful or 0 on error.</p>
|
||||
</body>
|
||||
</html>
|
28
deps/ftplib-4.0-1/html/FtpMkdir.html
vendored
28
deps/ftplib-4.0-1/html/FtpMkdir.html
vendored
@ -1,28 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpMkdir</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpMkdir</h1>
|
||||
<p>Create a directory on the remote system.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpMkdir(const char *path, netbuf *nControl);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>path</b></dt>
|
||||
<dd>Specifies the argument to mkdir on the remote system.</dd>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A handle returned by <a href="FtpConnect.html">FtpConnect()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>FtpMkdir() sends a make directory request to the remote
|
||||
system.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>Returns 1 if successful or 0 on error.</p>
|
||||
</body>
|
||||
</html>
|
36
deps/ftplib-4.0-1/html/FtpModDate.html
vendored
36
deps/ftplib-4.0-1/html/FtpModDate.html
vendored
@ -1,36 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpModDate</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpModDate</h1>
|
||||
<p>Determine last modification time of a remote file.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpModDate(char *path, char *buf, int max, netbuf *nControl);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>path</b></dt>
|
||||
<dd>Name of remote file to be checked.</dd>
|
||||
<dt><b>buf</b></dt>
|
||||
<dd>A pointer to a buffer where the result should be returned.</dd>
|
||||
<dt><b>max</b></dt>
|
||||
<dd>Specifies the size of the user's buffer.</dd>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A handle returned by <a href="FtpConnect">FtpConnect()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>FtpModDate() attempts to determine the last access time of a
|
||||
remote file and return it to the user's buffer. The date and time
|
||||
are returned as a string in the format 'YYYYMMDDHHMMSS'.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>If a good response is received and the date and time are
|
||||
successfully parsed out of the result, 1 is returned. Otherwise, 0
|
||||
is returned.</p>
|
||||
<p>Some servers may not support the MDTM command.</p>
|
||||
</body>
|
||||
</html>
|
33
deps/ftplib-4.0-1/html/FtpNlst.html
vendored
33
deps/ftplib-4.0-1/html/FtpNlst.html
vendored
@ -1,33 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpNlst</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpNlst</h1>
|
||||
<p>Retrieves a terse directory listing.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpNlst(const char *output, const char *path, netbuf *nControl);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>output</b></dt>
|
||||
<dd>Specifies the name of a file to receive the directory listing. If
|
||||
specified as NULL the directory listing will be written to
|
||||
stdout.</dd>
|
||||
<dt><b>path</b></dt>
|
||||
<dd>Specifies an argument to 'ls' on the remote system.</dd>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A handle returned by <a href="FtpConnect.html">FtpConnect()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>Performs a short form directory listing of the specified path on
|
||||
the remote system. The results are written to the specified
|
||||
file.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>Returns 1 if successful or 0 on error.</p>
|
||||
</body>
|
||||
</html>
|
63
deps/ftplib-4.0-1/html/FtpOptions.html
vendored
63
deps/ftplib-4.0-1/html/FtpOptions.html
vendored
@ -1,63 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpOptions</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpOptions</h1>
|
||||
<p>Set connection options.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpOptions(int opt, long val, netbuf *nControl);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>opt</b></dt>
|
||||
<dd>Specifies the option to change. Valid options are
|
||||
FTPLIB_CONNMODE, FTPLIB_CALLBACK, FTPLIB_IDLETIME,
|
||||
FTPLIB_CALLBACKARG, and FTPLIB_CALLBACKBYTES.</dd>
|
||||
<dt><b>val</b></dt>
|
||||
<dd>Specifies the new value for the option. The value may need to
|
||||
by cast to a long.</dd>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A handle returned by <a href="FtpConnect.html">FtpConnect()</a>
|
||||
or <a href="FtpAccess.html">FtpAccess()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>FtpOptions() changes the options for a connection handle. A data
|
||||
connection inherits the options assigned to the control connection
|
||||
it is created from. Callbacks are only called on file data
|
||||
connections.</p>
|
||||
<p>New programs should
|
||||
call <a href="FtpSetCallback.html">FtpSetCallback()</a>
|
||||
and <a href="FtpClearCallback.html">FtpClearCallback()</a> to change
|
||||
callback options.</p>
|
||||
<p>The following options and values are recognized.</p>
|
||||
<dl>
|
||||
<dt>FTPLIB_CONNMODE</dt>
|
||||
<dd>Specifies the connection mode. Either FTPLIB_PASSIVE or
|
||||
FTPLIB_PORT.</dd>
|
||||
<dt>FTPLIB_CALLBACK (deprecated)</dt>
|
||||
<dd>Specifies the address of a user callback routine.</dd>
|
||||
<dt>FTPLIB_IDLETIME (deprecated)</dt>
|
||||
<dd>Specifies the socket idle time in milliseconds that triggers
|
||||
calling the user's callback routine.</dd>
|
||||
<dt>FTPLIB_CALLBACKARG (deprecated)</dt>
|
||||
<dd>Specifies an argument to pass to the user's callback
|
||||
routine.</dd>
|
||||
<dt>FTPLIB_CALLBACKBYTES (deprecated)</dt>
|
||||
<dd>Specifies the number of bytes to transfer between calls to the
|
||||
user's callback routine.</dd>
|
||||
</dl>
|
||||
<p>The connection mode tells ftplib if it should use PASV or PORT
|
||||
to establish data connections. The default is specified as a build
|
||||
option.</p>
|
||||
<p>See <a href="FtpSetCallback.html">FtpSetCallback()</a> for a
|
||||
description of using callbacks.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>Returns 1 if a valid option was specified and the value is
|
||||
legal. Otherwise, returns 0.</p>
|
||||
</body>
|
||||
</html>
|
34
deps/ftplib-4.0-1/html/FtpPut.html
vendored
34
deps/ftplib-4.0-1/html/FtpPut.html
vendored
@ -1,34 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpPut</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpPut</h1>
|
||||
<p>Send a file to the remote system.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpPut(const char *input, const char *path, char mode, netbuf *nControl);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>input</b></dt>
|
||||
<dd>Specifies the name of a local file to be transfered to the
|
||||
server. If specified as NULL file data will be read from stdin.</dd>
|
||||
<dt><b>path</b></dt>
|
||||
<dd>Specifies the name to be given to the file on the remote
|
||||
system.</dd>
|
||||
<dt><b>mode</b></dt>
|
||||
<dd>Specifies the transfer mode as FTPLIB_ASCII or
|
||||
FTPLIB_IMAGE.</dd>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A handle returned by <a href="FtpConnect.html">FtpConnect()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>FtpPut() transfers a local file to the remote system.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>Returns 1 if successful or 0 on error.</p>
|
||||
</body>
|
||||
</html>
|
30
deps/ftplib-4.0-1/html/FtpPwd.html
vendored
30
deps/ftplib-4.0-1/html/FtpPwd.html
vendored
@ -1,30 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpPwd</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpPwd</h1>
|
||||
<p>Determine current working directory on server.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpPwd(char *path, int max, netbuf *nControl);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>path</b></dt>
|
||||
<dd>A pointer to a buffer where the result should be returned.</dd>
|
||||
<dt><b>max</b></dt>
|
||||
<dd>Specifies the size of the user's buffer.</dd>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A handle returned by <a href="FtpConnect">FtpConnect()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>FtpPwd() attempts to determine the current default directory at
|
||||
the server and return it to the user's buffer.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>Returns 1 if successful or 0 on error.</p>
|
||||
</body>
|
||||
</html>
|
28
deps/ftplib-4.0-1/html/FtpQuit.html
vendored
28
deps/ftplib-4.0-1/html/FtpQuit.html
vendored
@ -1,28 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpQuit</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpQuit</h1>
|
||||
<p>Sends a QUIT command and closes the connection to the server.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
void FtpQuit(netbuf *nControl);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A handle returned by <a href="FtpConnect.html">FtpConnect()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>FtpQuit() sends a QUIT command to the server and waits for a
|
||||
response. It closes the connection to the remote server and frees any
|
||||
resources associated with the connection. The connection should not
|
||||
be used after calling FtpQuit().</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>None.</p>
|
||||
</body>
|
||||
</html>
|
34
deps/ftplib-4.0-1/html/FtpRead.html
vendored
34
deps/ftplib-4.0-1/html/FtpRead.html
vendored
@ -1,34 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpRead</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpRead</h1>
|
||||
<p>Read data from a remote file or directory.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpRead(void *buf, int max, netbuf *nData);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>buf</b></dt>
|
||||
<dd>Specifies the address of a buffer where received data will be
|
||||
written.</dd>
|
||||
<dt><b>max</b></dt>
|
||||
<dd>Specifies the size of the user's buffer.</dd>
|
||||
<dt><b>nData</b></dt>
|
||||
<dd>A handle returned by <a href="FtpAccess.html">FtpAccess()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>FtpRead copies up to max bytes of data from the specified data
|
||||
connection and returns it to the user's buffer. If the data
|
||||
connection was opened in ascii mode, no more than one line of data
|
||||
will be returned.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>Returns the number of bytes written to the user's buffer or -1
|
||||
on error or end of file.</p>
|
||||
</body>
|
||||
</html>
|
30
deps/ftplib-4.0-1/html/FtpRename.html
vendored
30
deps/ftplib-4.0-1/html/FtpRename.html
vendored
@ -1,30 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpRename</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpRename</h1>
|
||||
<p>Rename a remote file.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpRename(const char *src, const char *dst, netbuf *nControl);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>src</b></dt>
|
||||
<dd>A string containing the current name of the remote file.</dd>
|
||||
<dt><b>dst</b></dt>
|
||||
<dd>A string containing the desired new name for the remote
|
||||
file.</dd>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A handle returned by <a href="FtpConnect.html">FtpConnect()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>FtpRename() sends a rename request to the remote server.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>Returns 1 if successful or 0 on error.</p>
|
||||
</body>
|
||||
</html>
|
28
deps/ftplib-4.0-1/html/FtpRmdir.html
vendored
28
deps/ftplib-4.0-1/html/FtpRmdir.html
vendored
@ -1,28 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpRmdir</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpRmdir</h1>
|
||||
<p>Remove a directory from the remote file system.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpRmdir(const char *path, netbuf *nControl);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>path</b></dt>
|
||||
<dd>A string containing the name of a remote directory.</dd>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A handle returned by <a href="FtpConnect.html">FtpConnect()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>FtpRmdir() sends a remove directory request to the remote
|
||||
server.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>Returns 1 if successful or 0 on error.</p>
|
||||
</body>
|
||||
</html>
|
78
deps/ftplib-4.0-1/html/FtpSetCallback.html
vendored
78
deps/ftplib-4.0-1/html/FtpSetCallback.html
vendored
@ -1,78 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpSetCallback</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpSetCallback</h1>
|
||||
<p>Establishes a callback function.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpCallback(FtpCallbackOptions *opt, netbuf *nControl);
|
||||
</pre>
|
||||
<p>FtpCallbackOptions is declared as follows.</p>
|
||||
<pre>
|
||||
typedef struct FtpCallbackOptions {
|
||||
FtpCallback cbFunc; /* function to call */
|
||||
void *cbArg; /* argument to pass to function */
|
||||
unsigned int bytesXferred; /* callback if this number of bytes transferred */
|
||||
unsigned int idleTime; /* callback if this many milliseconds have elapsed */
|
||||
} FtpCallbackOptions;
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>opt</b></dt>
|
||||
<dd>The address of a structure that contains a pointer to the callback
|
||||
function and the criteria for calling it.</dd>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A handle returned by <a href="FtpConnect.html">FtpConnect()</a>
|
||||
or <a href="FtpAccess.html">FtpAccess()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>FtpSetCallback() establishes a callback functions and tells FTPlib
|
||||
when to call it. A data connection inherits the options assigned to
|
||||
the control connection it is created from. Callbacks are only called
|
||||
on file data connections.</p>
|
||||
<p>The fields in FtpCallbackStruct are described below.</p>
|
||||
<dl>
|
||||
<dt>cbFunc</dt>
|
||||
<dd>Specifies the address of a user callback routine.</dd>
|
||||
<dt>cbArg</dt>
|
||||
<dd>Specifies an argument to pass to the user's callback
|
||||
routine.</dd>
|
||||
<dt>idleTime</dt>
|
||||
<dd>Specifies the socket idle time in milliseconds that triggers
|
||||
calling the user's callback routine.</dd>
|
||||
<dt>bytesXferred</dt>
|
||||
<dd>Specifies the number of bytes to transfer between calls to the
|
||||
user's callback routine.</dd>
|
||||
</dl>
|
||||
<p>The user's callback routine is specified as:</p>
|
||||
<pre>
|
||||
typedef int (*FtpCallback)(netbuf *nControl, int xfered, void *arg);
|
||||
</pre>
|
||||
<b>nControl</b> is the data connection in use. <b>xfered</b> specifies
|
||||
how many bytes of data have been transferred on the
|
||||
connection. <b>arg</b> is the value passed in the FtpCallbackOptions
|
||||
field cbArg.
|
||||
<p>The user can request to be called back on either of two
|
||||
events.</p>
|
||||
<p>If the routine should be called when the data socket is idle for
|
||||
some period of time, pass the number of milliseconds of inactivity
|
||||
that should trigger a callback in the idleTime field.</p>
|
||||
<p>If the routine should be called when a certain amount of data has
|
||||
been transferred, specify a non-zero value in bytesXferred. This
|
||||
value represents the minimum number of bytes to transfer between
|
||||
callbacks. When using this option, ftplib keeps track of the number of
|
||||
bytes transferred and calls the user once the specified number of
|
||||
bytes or more has been transferred. It then resets the count to 0 and
|
||||
starts again.</p>
|
||||
<p>If the user wishes to continue the transfer, the callback
|
||||
routine should return true (non-zero). It can abort the transfer by
|
||||
return zero.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>Returns 1 for success or 0 for failure.</p>
|
||||
</body>
|
||||
</html>
|
28
deps/ftplib-4.0-1/html/FtpSite.html
vendored
28
deps/ftplib-4.0-1/html/FtpSite.html
vendored
@ -1,28 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpSite</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpSite</h1>
|
||||
<p>Send a SITE command to the remote server.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpSite(const char *cmd, netbuf *nControl);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>cmd</b></dt>
|
||||
<dd>A string containing a 'SITE' subcommand.</dd>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A handle returned by <a href="FtpConnect.html">FtpConnect()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>FtpSite() sends the specified command as an argument to a 'SITE'
|
||||
command.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>Returns 1 if successful or 0 on error.</p>
|
||||
</body>
|
||||
</html>
|
38
deps/ftplib-4.0-1/html/FtpSize.html
vendored
38
deps/ftplib-4.0-1/html/FtpSize.html
vendored
@ -1,38 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpSize</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpSize</h1>
|
||||
<p>Determine size of remote file.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpSize(char *path, unsigned int *size, char mode, netbuf *nControl);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>path</b></dt>
|
||||
<dd>Name of a file on the remote server.</dd>
|
||||
<dt><b>size</b></dt>
|
||||
<dd>A pointer to an unsigned integer where the size will be returned.</dd>
|
||||
<dt><b>mode</b></dt>
|
||||
<dd>Specifies the transfer mode as FTPLIB_ASCII or
|
||||
FTPLIB_IMAGE.</dd>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A handle returned by <a href="FtpConnect">FtpConnect()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>FtpSize() attempts to determine the size of a remote file.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>If a good response is received and the size is successfully
|
||||
parsed out of the result, 1 is returned. Otherwise, 0 is
|
||||
returned.</p>
|
||||
<p>Some servers may not support the SIZE command. If this request
|
||||
fails, the size may be available in the response to a RETR
|
||||
(<a href="FtpOpen.html">FtpOpen()</a> with
|
||||
typ=FTPLIB_FILE_READ).</p>
|
||||
</body>
|
||||
</html>
|
40
deps/ftplib-4.0-1/html/FtpSizeLong.html
vendored
40
deps/ftplib-4.0-1/html/FtpSizeLong.html
vendored
@ -1,40 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpSizeLong</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpSizeLong</h1>
|
||||
<p>Determine size of remote file.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpSize(char *path, unsigned long long *size, char mode, netbuf *nControl);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>path</b></dt>
|
||||
<dd>Name of a file on the remote server.</dd>
|
||||
<dt><b>size</b></dt>
|
||||
<dd>A pointer to an unsigned 64 bit integer where the size will be returned.</dd>
|
||||
<dt><b>mode</b></dt>
|
||||
<dd>Specifies the transfer mode as FTPLIB_ASCII or
|
||||
FTPLIB_IMAGE.</dd>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A handle returned by <a href="FtpConnect">FtpConnect()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>FtpSize() attempts to determine the size of a remote file.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>If a good response is received and the size is successfully
|
||||
parsed out of the result, 1 is returned. Otherwise, 0 is
|
||||
returned.</p>
|
||||
<p>Some servers may not support the SIZE command. If this request
|
||||
fails, the size may be available in the response to a RETR
|
||||
(<a href="FtpOpen.html">FtpOpen()</a> with
|
||||
typ=FTPLIB_FILE_READ).</p>
|
||||
<p>This function is identical to <a href="FtpSize.html">FtpSize()</a>
|
||||
except for the type of the returned value.</p>
|
||||
</body>
|
||||
</html>
|
31
deps/ftplib-4.0-1/html/FtpSysType.html
vendored
31
deps/ftplib-4.0-1/html/FtpSysType.html
vendored
@ -1,31 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpSysType</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpSysType</h1>
|
||||
<p>Determine system type of remote server.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpSysType(char *buf, int max, netbuf *nControl);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>buf</b></dt>
|
||||
<dd>A pointer to a buffer where the result will be returned.</dd>
|
||||
<dt><b>max</b></dt>
|
||||
<dd>Specifies the size of the user buffer.</dd>
|
||||
<dt><b>nControl</b></dt>
|
||||
<dd>A handle returned by <a href="FtpConnect.html">FtpConnect()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>FtpSysType() issues a SYST command to the remote system and
|
||||
attempts to parse the system type out of the response and return it
|
||||
to the user's buffer.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>Returns 1 if successful or 0 on error.</p>
|
||||
</body>
|
||||
</html>
|
33
deps/ftplib-4.0-1/html/FtpWrite.html
vendored
33
deps/ftplib-4.0-1/html/FtpWrite.html
vendored
@ -1,33 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FtpWrite</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FtpWrite</h1>
|
||||
<p>Write data to a remote file.</p>
|
||||
<h2>SYNOPSIS</h2>
|
||||
<pre>
|
||||
#include <ftplib.h>
|
||||
int FtpWrite(void *buf, int len, netbuf *nData);
|
||||
</pre>
|
||||
<h2>PARAMETERS</h2>
|
||||
<dl>
|
||||
<dt><b>buf</b></dt>
|
||||
<dd>A buffer containing the data to be sent to the remote
|
||||
file.</dd>
|
||||
<dt><b>len</b></dt>
|
||||
<dd>The number of bytes to be sent from 'buf'.</dd>
|
||||
<dt><b>nData</b></dt>
|
||||
<dd>A handle returned by <a href="FtpAccess.html">FtpAccess()</a>.</dd>
|
||||
</dl>
|
||||
<h2>DESCRIPTION</h2>
|
||||
<p>FtpWrite() sends data to a remote file. If the file was
|
||||
accessed in record mode, the necessary conversions are
|
||||
performed.</p>
|
||||
<h2>RETURN VALUE</h2>
|
||||
<p>Returns the number of bytes sent from the user's buffer or -1 on
|
||||
error.</p>
|
||||
</body>
|
||||
</html>
|
29
deps/ftplib-4.0-1/html/doc.css
vendored
29
deps/ftplib-4.0-1/html/doc.css
vendored
@ -1,29 +0,0 @@
|
||||
body {
|
||||
font-family: Georgia, "Times New Roman", serif;
|
||||
font-size: 0.9em;
|
||||
background-color: #F8F8F8;
|
||||
color: #000000;
|
||||
}
|
||||
h1, h2, h3 {
|
||||
font-family: Verdana, Tahoma, "Lucida Grande", Arial, sans-serif;
|
||||
margin-bottom: .5em;
|
||||
}
|
||||
pre, code {
|
||||
font-family: "Lucida Console", monospace;
|
||||
font-size: smaller;
|
||||
}
|
||||
table, pre, p, li, dt {
|
||||
margin-left: 2em;
|
||||
margin-right: 2em;
|
||||
}
|
||||
dt {
|
||||
font-weight: bolder;
|
||||
}
|
||||
dd {
|
||||
margin-left: 4em;
|
||||
margin-right: 2em;
|
||||
}
|
||||
td {
|
||||
padding-left: 1em;
|
||||
padding-right: 1em;
|
||||
}
|
92
deps/ftplib-4.0-1/html/ftplib.html
vendored
92
deps/ftplib-4.0-1/html/ftplib.html
vendored
@ -1,92 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FTPlib Client FTP Library</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FTPlib Client FTP Library</h1>
|
||||
<p>These descriptions apply to FTPlib V4.0.</p>
|
||||
<h2>Miscellaneous Functions</h2>
|
||||
<ul>
|
||||
<li><a href="FtpInit.html">FtpInit()</a> - Initialize the
|
||||
library</li>
|
||||
<li><a href="FtpSite.html">FtpSite()</a> - Send a 'SITE'
|
||||
command</li>
|
||||
<li><a href="FtpLastResponse.html">FtpLastResponse()</a> - Retrieve
|
||||
last server response</li>
|
||||
<li><a href="FtpSysType.html">FtpSysType()</a> - Determine remote
|
||||
system type</li>
|
||||
<li><a href="FtpSize.html">FtpSize()</a> - Determine size of remote
|
||||
file</li>
|
||||
<li><a href="FtpSizeLong.html">FtpSizeLong()</a> - Determine size of
|
||||
remote file</li>
|
||||
<li><a href="FtpModDate.html">FtpModDate()</a> - Determine
|
||||
modification time of file</li>
|
||||
<li><a href="FtpSetCallback.html">FtpSetCallback()</a> - Establish a
|
||||
callback function</li>
|
||||
<li><a href="FtpClearCallback.html">FtpClearCallback()</a> - Remove a
|
||||
callback function</li>
|
||||
</ul>
|
||||
<h2>Server Connection</h2>
|
||||
<ul>
|
||||
<li><a href="FtpConnect.html">FtpConnect()</a> - Connect to a
|
||||
remote server</li>
|
||||
<li><a href="FtpLogin.html">FtpLogin()</a> - Login to remote
|
||||
machine</li>
|
||||
<li><a href="FtpQuit.html">FtpQuit()</a> - Disconnect from remote
|
||||
server</li>
|
||||
<li><a href="FtpOptions.html">FtpOptions()</a> - Set Connection
|
||||
Options</li>
|
||||
</ul>
|
||||
<h2>Directory Functions</h2>
|
||||
<ul>
|
||||
<li><a href="FtpChdir.html">FtpChdir()</a> - Change working
|
||||
directory</li>
|
||||
<li><a href="FtpMkdir.html">FtpMkdir()</a> - Create a
|
||||
directory</li>
|
||||
<li><a href="FtpRmdir.html">FtpRmdir()</a> - Remove a
|
||||
directory</li>
|
||||
<li><a href="FtpDir.html">FtpDir()</a> - List a remote
|
||||
directory</li>
|
||||
<li><a href="FtpNlst.html">FtpNlst()</a> - List a remote
|
||||
directory</li>
|
||||
<li><a href="FtpCDUp.html">FtpCDUp()</a> - Change to parent
|
||||
directory</li>
|
||||
<li><a href="FtpPwd.html">FtpPwd()</a> - Determine current working
|
||||
directory</li>
|
||||
</ul>
|
||||
<h2>File to File Transfer</h2>
|
||||
<ul>
|
||||
<li><a href="FtpGet.html">FtpGet()</a> - Retreive a remote
|
||||
file</li>
|
||||
<li><a href="FtpPut.html">FtpPut()</a> - Send a local file to
|
||||
remote</li>
|
||||
<li><a href="FtpDelete.html">FtpDelete()</a> - Delete a remote
|
||||
file</li>
|
||||
<li><a href="FtpRename.html">FtpRename()</a> - Rename a remote
|
||||
file</li>
|
||||
</ul>
|
||||
<h2>File to Program Transfer</h2>
|
||||
<p>These routines allow programs access to the data streams connected
|
||||
to remote files and directories.</p>
|
||||
<ul>
|
||||
<li><a href="FtpAccess.html">FtpAccess()</a> - Open a remote file
|
||||
or directory</li>
|
||||
<li><a href="FtpRead.html">FtpRead()</a> - Read from remote file or
|
||||
directory</li>
|
||||
<li><a href="FtpWrite.html">FtpWrite()</a> - Write to remote
|
||||
file</li>
|
||||
<li><a href="FtpClose.html">FtpClose()</a> - Close data
|
||||
connection</li>
|
||||
</ul>
|
||||
<h2>Utilities</h2>
|
||||
<ul>
|
||||
<li><a href="qftp.html">qftp</a> - Command line ftp utility</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<p>Last Updated - June 7, 2013</p>
|
||||
<address><a href="http://www.nbpfaus.net/~pfau/">Thomas Pfau</a> /
|
||||
<a href="mailto:tfpfau@gmail.com">tfpfau@gmail.com</a></address>
|
||||
</body>
|
||||
</html>
|
39
deps/ftplib-4.0-1/html/index.html
vendored
39
deps/ftplib-4.0-1/html/index.html
vendored
@ -1,39 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>ftplib</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>ftplib</h1>
|
||||
|
||||
<p>ftplib is a set of routines that implement the FTP protocol. They
|
||||
allow applications to create and access remote files through function
|
||||
calls instead of needing to fork and exec an interactive ftp client
|
||||
program.</p>
|
||||
|
||||
<p>ftplib has been built and tested on Linux (X86) and OpenVMS (AXP).</p>
|
||||
|
||||
<h2>Kits</h2>
|
||||
<ul>
|
||||
<li>ftplib V4.0 June 7, 2013
|
||||
<ul>
|
||||
<li><a href="http://nbpfaus.net/~pfau/ftplib/ftplib-4.0.tar.gz">Source</a> - gzipped tar file</li>
|
||||
<li><a href="http://nbpfaus.net/~pfau/ftplib/ftplib-4.0.zip">Source</a> - ZIP archive</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
<h2>Documentation</h2>
|
||||
<p>The documentation is included in the kit in html format. Also, the
|
||||
<a href=ftplib.html>current working documentation</a> for the release in
|
||||
progress is available on line.</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p class="note">Last Updated - June 7, 2013</p>
|
||||
|
||||
<address><a href="http://www.nbpfaus.net/~pfau/">Thomas Pfau</a> /
|
||||
<a href="mailto:pfau@nbpfaus.net">tfpfau@gmail.com</a></address>
|
||||
</body>
|
||||
</html>
|
114
deps/ftplib-4.0-1/html/qftp.html
vendored
114
deps/ftplib-4.0-1/html/qftp.html
vendored
@ -1,114 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>qftp</title>
|
||||
<link rel="stylesheet" type="text/css" href="doc.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>qftp</h1>
|
||||
<p><i>qftp</i> is a utility that performs file transfers using
|
||||
<i>ftplib</i> based on instructions presented on the command
|
||||
line.</p>
|
||||
<h2>Format</h2>
|
||||
<pre>
|
||||
qftp <action> <host> [ -l user [ -p pass ] ] { options/files }...
|
||||
|
||||
Actions: send, get, dir, list, rm
|
||||
|
||||
Options:
|
||||
-v level Set verbosity
|
||||
-r rootpath Change remote working directory
|
||||
-m umask Set umask for created files
|
||||
-a | -i Set ascii/image transfer mode
|
||||
-w Toggle wildcard mode
|
||||
-s cmd Send cmd as a SITE command
|
||||
-b Toggle stripping of path from filename
|
||||
on send
|
||||
</pre>
|
||||
<dl>
|
||||
<dt>action</dt>
|
||||
<dd>Specifies what <i>qftp</i> is to do. <i>qftp</i> can
|
||||
<b>send</b> files to a remote system, <b>get</b> files from a
|
||||
remote system, remove (<b>rm</b>) files from a remote system, or
|
||||
retreive a <b>dir</b>ectory of files or a <b>list</b> of files on a
|
||||
remote system.</dd>
|
||||
<dt>host</dt>
|
||||
<dd>Specifies the name of the remote system. An alternate port may
|
||||
be specified by appending a colon and the port name or number to
|
||||
the host name.</dd>
|
||||
<dt>-l user</dt>
|
||||
<dd>Specifies the username to log in with on <b>host</b>.</dd>
|
||||
<dt>-p pass</dt>
|
||||
<dd>Specifies the password to log in with on <b>host</b>.
|
||||
<p>If <b>user</b> is not specified, <i>qftp</i> will use
|
||||
<b>anonymous</b>. If <b>pass</b> is also not specified, <i>qftp</i>
|
||||
attempts to build a password from the translation of the
|
||||
environment variable "USER" and the string returned by
|
||||
gethostname() separated by an "@".</p>
|
||||
</dd>
|
||||
<dt>-v level</dt>
|
||||
<dd>Specifies the verbosity level. A level of 1 will cause
|
||||
<i>qftp</i> to display messages indicating successful transfers. A
|
||||
level of 2 will cause FTP protocol responses to be displayed. A
|
||||
level of 3 will cause FTP protocol commands to be displayed.</dd>
|
||||
<dt>-r rootpath</dt>
|
||||
<dd>Sends a 'change directory' request to the remote server. All
|
||||
subsequent file names on the command line will be parsed relative
|
||||
to this new directory.</dd>
|
||||
<dt>-m umask</dt>
|
||||
<dd>Sends a request to change the umask to the remote server. This
|
||||
may not be supported by all servers. It is implemented using the
|
||||
'SITE' command in the FTP protocol.</dd>
|
||||
<dt>-a</dt>
|
||||
<dd>Requests that subsequent files be sent in ascii mode.</dd>
|
||||
<dt>-i</dt>
|
||||
<dd>Requests that subsequent files be sent in image mode.</dd>
|
||||
<dt>-w</dt>
|
||||
<dd>Toggles handling of filenames to get as wildcards. When a
|
||||
wildcard filename is encountered it is passed to the server in a
|
||||
NLST (brief directory) command. qftp will save the list of files
|
||||
returned and then retrieve each file individually.</dd>
|
||||
<dt>-s cmd</dt>
|
||||
<dd>Sends cmd in a SITE command. This can be useful to alter the way
|
||||
filenames are presented. For example, an OpenVMS FTP server will
|
||||
strip version numbers from file names after receiving a 'SITE UNIX'
|
||||
command.</dd>
|
||||
<dt>-b</dt>
|
||||
<dd>Toggles stripping of paths from filenames on send. By default,
|
||||
qftp passes the full path of the input file as specified on the
|
||||
command line to the remote FTP server as the target filename. This
|
||||
option will cause qftp to send only the basename of the file.</dd>
|
||||
</dl>
|
||||
<p><i>qftp</i> reads the command line argument by argument and acts on
|
||||
each as it comes to it. Most options only change the value of a
|
||||
variable. The '-m' (umask), '-s' (site), and '-r' (change
|
||||
directory) options are executed immediately by sending the command
|
||||
to the server. The '-a' (ascii) and '-i' (image) options save the
|
||||
type for subsequent transfers. When a filename is encountered it
|
||||
is sent to the server with the command for the selected action.</p>
|
||||
<p>It is possible to send multiple files with different modes on the
|
||||
same command line. For example, the following command will send all
|
||||
text files in ascii mode and all zip files in image mode:</p>
|
||||
<pre>
|
||||
qftp send srvr -a *.txt -i *.zip
|
||||
</pre>
|
||||
<p><i>qftp</i> may optionally be invoked through a softlink.
|
||||
<i>qftp</i> searches the command which invoked it for 'send', 'get'
|
||||
or 'dir' and, if found, performs the requested function. In this
|
||||
case, leave off the <b>action</b> argument on the command line.</p>
|
||||
<p>For example; create the following softlinks:</p>
|
||||
<pre>
|
||||
ln -s qftp ftpsend
|
||||
ln -s qftp ftpget
|
||||
ln -s qftp ftpdir
|
||||
ln -s qftp ftplist
|
||||
ln -s qftp ftprm
|
||||
</pre>
|
||||
<p>and then invoke transfers with 'ftpsend' instead of 'qftp send',
|
||||
etc.</p>
|
||||
<p>If no file names are specified on the command line, <i>qftp</i>
|
||||
will read file names from stdin. Use your favorite utility to
|
||||
generate a list of files to send/retreive or type them
|
||||
interactively.</p>
|
||||
</body>
|
||||
</html>
|
73
deps/ftplib-4.0-1/src/Makefile
vendored
73
deps/ftplib-4.0-1/src/Makefile
vendored
@ -1,73 +0,0 @@
|
||||
#
|
||||
# This makefile contains modifications submitted by Richard Braakman
|
||||
# (dark@xs4all.nl) for the shared library generation.
|
||||
#
|
||||
|
||||
# By default, ftplib uses PASV. If you need it to use PORT
|
||||
# instead, uncomment the next line
|
||||
#DEFINES = -DFTPLIB_DEFMODE=FTPLIB_PORT
|
||||
|
||||
SONAME = 4
|
||||
SOVERSION = $(SONAME).0
|
||||
|
||||
TARGETS = qftp libftp.so libftp.a qftp.static
|
||||
OBJECTS = qftp.o ftplib.o
|
||||
SOURCES = qftp.c ftplib.c
|
||||
|
||||
CFLAGS = -Wall $(DEBUG) -I. $(INCLUDES) $(DEFINES) -Wno-unused-variable -D_FILE_OFFSET_BITS=64 -D__unix__
|
||||
LDFLAGS = -L.
|
||||
DEPFLAGS =
|
||||
|
||||
all : $(TARGETS)
|
||||
|
||||
clean :
|
||||
rm -f $(OBJECTS) core *.bak
|
||||
rm -rf unshared
|
||||
|
||||
clobber : clean
|
||||
rm -f $(TARGETS) .depend
|
||||
rm -f libftp.so.*
|
||||
|
||||
install : all
|
||||
install qftp /usr/local/bin
|
||||
install -m 644 libftp.so.$(SOVERSION) /usr/local/lib
|
||||
install -m 644 ftplib.h /usr/local/include
|
||||
(cd /usr/local/lib && \
|
||||
ln -sf libftp.so.$(SOVERSION) libftp.so.$(SONAME) && \
|
||||
ln -sf libftp.so.$(SONAME) libftp.so)
|
||||
-(cd /usr/local/bin && \
|
||||
for f in ftpdir ftpget ftplist ftprm ftpsend; \
|
||||
do ln -s qftp $$f; done)
|
||||
|
||||
depend :
|
||||
$(CC) $(CFLAGS) -M $(SOURCES) > .depend
|
||||
|
||||
# build without -fPIC
|
||||
unshared/ftplib.o: ftplib.c ftplib.h
|
||||
test -d unshared || mkdir unshared
|
||||
$(CC) -c $(CFLAGS) -D_REENTRANT $< -o $@
|
||||
|
||||
static : libftp.a qftp.static
|
||||
|
||||
qftp.static : qftp.o libftp.a
|
||||
$(CC) -o $@ $< libftp.a
|
||||
|
||||
ftplib.o: ftplib.c ftplib.h
|
||||
$(CC) -c $(CFLAGS) -fPIC -D_REENTRANT $< -o $@
|
||||
|
||||
libftp.a: unshared/ftplib.o
|
||||
ar -rcs $@ $<
|
||||
|
||||
libftp.so.$(SOVERSION): ftplib.o
|
||||
$(CC) -shared -Wl,-soname,libftp.so.$(SONAME) -lc -o $@ $<
|
||||
|
||||
libftp.so: libftp.so.$(SOVERSION)
|
||||
ln -sf $< libftp.so.$(SONAME)
|
||||
ln -sf $< $@
|
||||
|
||||
qftp : qftp.o libftp.so ftplib.h
|
||||
$(CC) $(LDFLAGS) -o $@ $< -lftp
|
||||
|
||||
ifeq (.depend,$(wildcard .depend))
|
||||
include .depend
|
||||
endif
|
24
deps/ftplib-4.0-1/src/README
vendored
24
deps/ftplib-4.0-1/src/README
vendored
@ -1,24 +0,0 @@
|
||||
To build FTPlib on linux, type 'make'. This should produce a shared
|
||||
library and a static library. It should also create the qftp
|
||||
executable. 'make install' should install into /usr/local. To
|
||||
install elsewhere, modify the Makefile.
|
||||
|
||||
To build on MAC, type 'make static'. This should build a static link
|
||||
library and qftp.static.
|
||||
|
||||
The provided Makefile may work on other unix-like systems although it
|
||||
will most likely require some modifications.
|
||||
|
||||
To build on OpenVMS, some extra files are provided. DESCRIP.MMS can
|
||||
be used with MMS or MMK. Options files are provied for VAX, Alpha and
|
||||
Itanium systems.
|
||||
|
||||
This release was not tested on Microsoft Windows. Previous releases
|
||||
have built without any problems and I don't believe any significant
|
||||
changes have ocurred that should cause this release to fail. To build
|
||||
on Windows using Visual Studio, create a library project for FTPlib
|
||||
and a command line executable project qftp. Add a dependency from
|
||||
qftp to FTPlib. 'Build All' should create working files.
|
||||
|
||||
Also not tested but the provided Makefile will probably work with
|
||||
Cygwin.
|
40
deps/ftplib-4.0-1/src/descrip.mms
vendored
40
deps/ftplib-4.0-1/src/descrip.mms
vendored
@ -1,40 +0,0 @@
|
||||
.ifdef MMSIA64
|
||||
SUFFIX = _IA64
|
||||
CFLAGS = $(CFLAGS)/define=(_LARGEFILE)
|
||||
.endif
|
||||
.ifdef MMSALPHA
|
||||
SUFFIX = _ALPHA
|
||||
CFLAGS = $(CFLAGS)/define=(_LARGEFILE)
|
||||
.endif
|
||||
.ifdef MMSVAX
|
||||
XFER_VECTOR = ftplib_vector.obj
|
||||
.endif
|
||||
|
||||
TARGETS = ftplib$(SUFFIX).exe qftp$(SUFFIX).exe
|
||||
SHLINKFLAGS = /SHARE=$(MMS$TARGET)/NOMAP
|
||||
|
||||
* : $(TARGETS)
|
||||
continue
|
||||
|
||||
clean :
|
||||
if f$search("ftplib.obj") .nes. "" then delete ftplib.obj;*
|
||||
if f$search("ftplib_alpha.obj") .nes. "" then delete ftplib_alpha.obj;*
|
||||
if f$search("ftplib.exe") .nes. "" then delete ftplib.exe;*
|
||||
if f$search("ftplib_alpha.exe") .nes. "" then delete ftplib_alpha.exe;*
|
||||
if f$search("qftp.obj") .nes. "" then delete qftp.obj;*
|
||||
if f$search("qftp_alpha.obj") .nes. "" then delete qftp_alpha.obj;*
|
||||
if f$search("qftp.exe") .nes. "" then delete qftp.exe;*
|
||||
if f$search("qftp_alpha.exe") .nes. "" then delete qftp_alpha.exe;*
|
||||
if f$search("ftplib_vector.obj") .nes. "" then delete ftplib_vector.obj;*
|
||||
|
||||
ftplib$(SUFFIX).obj : ftplib.c ftplib.h
|
||||
$(CC) $(CFLAGS) $<
|
||||
|
||||
ftplib$(SUFFIX).exe : ftplib$(SUFFIX).obj $(XFER_VECTOR)
|
||||
$(LINK) $(SHLINKFLAGS) ftplib$(SUFFIX).opt/options
|
||||
|
||||
qftp$(SUFFIX).exe : qftp$(SUFFIX).obj
|
||||
$(LINK) $(LINKFLAGS) qftp$(SUFFIX).opt/options
|
||||
|
||||
qftp$(SUFFIX).obj : qftp.c ftplib.h
|
||||
$(CC) $(CFLAGS) $<
|
1455
deps/ftplib-4.0-1/src/ftplib.c
vendored
1455
deps/ftplib-4.0-1/src/ftplib.c
vendored
File diff suppressed because it is too large
Load Diff
120
deps/ftplib-4.0-1/src/ftplib.h
vendored
120
deps/ftplib-4.0-1/src/ftplib.h
vendored
@ -1,120 +0,0 @@
|
||||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftplib.h - header file for callable ftp access routines */
|
||||
/* Copyright (C) 1996-2001, 2013, 2016 Thomas Pfau, tfpfau@gmail.com */
|
||||
/* 1407 Thomas Ave, North Brunswick, NJ, 08902 */
|
||||
/* */
|
||||
/* This library is free software. You can redistribute it and/or */
|
||||
/* modify it under the terms of the Artistic License 2.0. */
|
||||
/* */
|
||||
/* This library is distributed in the hope that it will be useful, */
|
||||
/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
|
||||
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
|
||||
/* Artistic License 2.0 for more details. */
|
||||
/* */
|
||||
/* See the file LICENSE or */
|
||||
/* http://www.perlfoundation.org/artistic_license_2_0 */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
#if !defined(__FTPLIB_H)
|
||||
#define __FTPLIB_H
|
||||
|
||||
#if defined(__unix__) || defined(VMS)
|
||||
#define GLOBALDEF
|
||||
#define GLOBALREF extern
|
||||
#elif defined(_WIN32)
|
||||
#if defined BUILDING_LIBRARY
|
||||
#define GLOBALDEF __declspec(dllexport)
|
||||
#define GLOBALREF __declspec(dllexport)
|
||||
#else
|
||||
#define GLOBALREF __declspec(dllimport)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <limits.h>
|
||||
#include <inttypes.h>
|
||||
|
||||
/* FtpAccess() type codes */
|
||||
#define FTPLIB_DIR 1
|
||||
#define FTPLIB_DIR_VERBOSE 2
|
||||
#define FTPLIB_FILE_READ 3
|
||||
#define FTPLIB_FILE_WRITE 4
|
||||
|
||||
/* FtpAccess() mode codes */
|
||||
#define FTPLIB_ASCII 'A'
|
||||
#define FTPLIB_IMAGE 'I'
|
||||
#define FTPLIB_TEXT FTPLIB_ASCII
|
||||
#define FTPLIB_BINARY FTPLIB_IMAGE
|
||||
|
||||
/* connection modes */
|
||||
#define FTPLIB_PASSIVE 1
|
||||
#define FTPLIB_PORT 2
|
||||
|
||||
/* connection option names */
|
||||
#define FTPLIB_CONNMODE 1
|
||||
#define FTPLIB_CALLBACK 2
|
||||
#define FTPLIB_IDLETIME 3
|
||||
#define FTPLIB_CALLBACKARG 4
|
||||
#define FTPLIB_CALLBACKBYTES 5
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if defined(__UINT64_MAX)
|
||||
typedef uint64_t fsz_t;
|
||||
#else
|
||||
typedef uint32_t fsz_t;
|
||||
#endif
|
||||
|
||||
typedef struct NetBuf netbuf;
|
||||
typedef int (*FtpCallback)(netbuf *nControl, fsz_t xfered, void *arg);
|
||||
|
||||
typedef struct FtpCallbackOptions {
|
||||
FtpCallback cbFunc; /* function to call */
|
||||
void *cbArg; /* argument to pass to function */
|
||||
unsigned int bytesXferred; /* callback if this number of bytes transferred */
|
||||
unsigned int idleTime; /* callback if this many milliseconds have elapsed */
|
||||
} FtpCallbackOptions;
|
||||
|
||||
GLOBALREF int ftplib_debug;
|
||||
GLOBALREF void FtpInit(void);
|
||||
GLOBALREF char *FtpLastResponse(netbuf *nControl);
|
||||
GLOBALREF int FtpConnect(const char *host, netbuf **nControl);
|
||||
GLOBALREF int FtpOptions(int opt, long val, netbuf *nControl);
|
||||
GLOBALREF int FtpSetCallback(const FtpCallbackOptions *opt, netbuf *nControl);
|
||||
GLOBALREF int FtpClearCallback(netbuf *nControl);
|
||||
GLOBALREF int FtpLogin(const char *user, const char *pass, netbuf *nControl);
|
||||
GLOBALREF int FtpAccess(const char *path, int typ, int mode, netbuf *nControl,
|
||||
netbuf **nData);
|
||||
GLOBALREF int FtpRead(void *buf, int max, netbuf *nData);
|
||||
GLOBALREF int FtpWrite(const void *buf, int len, netbuf *nData);
|
||||
GLOBALREF int FtpClose(netbuf *nData);
|
||||
GLOBALREF int FtpSite(const char *cmd, netbuf *nControl);
|
||||
GLOBALREF int FtpSysType(char *buf, int max, netbuf *nControl);
|
||||
GLOBALREF int FtpMkdir(const char *path, netbuf *nControl);
|
||||
GLOBALREF int FtpChdir(const char *path, netbuf *nControl);
|
||||
GLOBALREF int FtpCDUp(netbuf *nControl);
|
||||
GLOBALREF int FtpRmdir(const char *path, netbuf *nControl);
|
||||
GLOBALREF int FtpPwd(char *path, int max, netbuf *nControl);
|
||||
GLOBALREF int FtpNlst(const char *output, const char *path, netbuf *nControl);
|
||||
GLOBALREF int FtpDir(const char *output, const char *path, netbuf *nControl);
|
||||
GLOBALREF int FtpSize(const char *path, unsigned int *size, char mode, netbuf *nControl);
|
||||
#if defined(__UINT64_MAX)
|
||||
GLOBALREF int FtpSizeLong(const char *path, fsz_t *size, char mode, netbuf *nControl);
|
||||
#endif
|
||||
GLOBALREF int FtpModDate(const char *path, char *dt, int max, netbuf *nControl);
|
||||
GLOBALREF int FtpGet(const char *output, const char *path, char mode,
|
||||
netbuf *nControl);
|
||||
GLOBALREF int FtpPut(const char *input, const char *path, char mode,
|
||||
netbuf *nControl);
|
||||
GLOBALREF int FtpRename(const char *src, const char *dst, netbuf *nControl);
|
||||
GLOBALREF int FtpDelete(const char *fnm, netbuf *nControl);
|
||||
GLOBALREF void FtpQuit(netbuf *nControl);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif /* __FTPLIB_H */
|
8
deps/ftplib-4.0-1/src/ftplib.opt
vendored
8
deps/ftplib-4.0-1/src/ftplib.opt
vendored
@ -1,8 +0,0 @@
|
||||
ident=V4.0
|
||||
gsmatch=lequal,4,0
|
||||
|
||||
ftplib.obj
|
||||
ftplib_vector.obj
|
||||
|
||||
collect=transfer_vectors,ftplib_vector
|
||||
universal=ftplib_debug
|
35
deps/ftplib-4.0-1/src/ftplib_alpha.opt
vendored
35
deps/ftplib-4.0-1/src/ftplib_alpha.opt
vendored
@ -1,35 +0,0 @@
|
||||
ident=V4.0
|
||||
gsmatch=lequal,4,0
|
||||
|
||||
ftplib_alpha.obj
|
||||
|
||||
symbol_vector=(-
|
||||
FTPACCESS=procedure,-
|
||||
FTPCHDIR=procedure,-
|
||||
FTPCLOSE=procedure,-
|
||||
FTPCONNECT=procedure,-
|
||||
FTPDELETE=procedure,-
|
||||
FTPDIR=procedure,-
|
||||
FTPGET=procedure,-
|
||||
FTPINIT=procedure,-
|
||||
FTPLASTRESPONSE=procedure,-
|
||||
FTPLIB_DEBUG=data,-
|
||||
FTPLOGIN=procedure,-
|
||||
FTPMKDIR=procedure,-
|
||||
FTPNLST=procedure,-
|
||||
FTPPUT=procedure,-
|
||||
FTPQUIT=procedure,-
|
||||
FTPREAD=procedure,-
|
||||
FTPRENAME=procedure,-
|
||||
FTPRMDIR=procedure,-
|
||||
FTPSITE=procedure,-
|
||||
FTPWRITE=procedure,-
|
||||
FTPPWD=procedure,-
|
||||
FTPSYSTYPE=procedure,-
|
||||
FTPCDUP=procedure,-
|
||||
FTPSIZE=procedure,-
|
||||
FTPMODDATE=procedure,-
|
||||
FTPOPTIONS=procedure,-
|
||||
FTPSIZELONG=procedure,-
|
||||
FTPSETCALLBACK=procedure,-
|
||||
FTPCLEARCALLBACK=procedure)
|
35
deps/ftplib-4.0-1/src/ftplib_ia64.opt
vendored
35
deps/ftplib-4.0-1/src/ftplib_ia64.opt
vendored
@ -1,35 +0,0 @@
|
||||
ident=V4.0
|
||||
gsmatch=lequal,4,0
|
||||
|
||||
ftplib_ia64.obj
|
||||
|
||||
symbol_vector=(-
|
||||
FTPACCESS=procedure,-
|
||||
FTPCHDIR=procedure,-
|
||||
FTPCLOSE=procedure,-
|
||||
FTPCONNECT=procedure,-
|
||||
FTPDELETE=procedure,-
|
||||
FTPDIR=procedure,-
|
||||
FTPGET=procedure,-
|
||||
FTPINIT=procedure,-
|
||||
FTPLASTRESPONSE=procedure,-
|
||||
FTPLIB_DEBUG=data,-
|
||||
FTPLOGIN=procedure,-
|
||||
FTPMKDIR=procedure,-
|
||||
FTPNLST=procedure,-
|
||||
FTPPUT=procedure,-
|
||||
FTPQUIT=procedure,-
|
||||
FTPREAD=procedure,-
|
||||
FTPRENAME=procedure,-
|
||||
FTPRMDIR=procedure,-
|
||||
FTPSITE=procedure,-
|
||||
FTPWRITE=procedure,-
|
||||
FTPPWD=procedure,-
|
||||
FTPSYSTYPE=procedure,-
|
||||
FTPCDUP=procedure,-
|
||||
FTPSIZE=procedure,-
|
||||
FTPMODDATE=procedure,-
|
||||
FTPOPTIONS=procedure,-
|
||||
FTPSIZELONG=procedure,-
|
||||
FTPSETCALLBACK=procedure,-
|
||||
FTPCLEARCALLBACK=procedure)
|
36
deps/ftplib-4.0-1/src/ftplib_vector.mar
vendored
36
deps/ftplib-4.0-1/src/ftplib_vector.mar
vendored
@ -1,36 +0,0 @@
|
||||
.title ftplib_vector
|
||||
.macro xfer rtn
|
||||
.align quad
|
||||
.transfer rtn
|
||||
.mask rtn
|
||||
jmp rtn+2
|
||||
.endm
|
||||
.psect ftplib_vector,quad
|
||||
xfer FTPACCESS
|
||||
xfer FTPCHDIR
|
||||
xfer FTPCLOSE
|
||||
xfer FTPCONNECT
|
||||
xfer FTPDELETE
|
||||
xfer FTPDIR
|
||||
xfer FTPGET
|
||||
xfer FTPINIT
|
||||
xfer FTPLASTRESPONSE
|
||||
xfer FTPLOGIN
|
||||
xfer FTPMKDIR
|
||||
xfer FTPNLST
|
||||
xfer FTPPUT
|
||||
xfer FTPQUIT
|
||||
xfer FTPREAD
|
||||
xfer FTPRENAME
|
||||
xfer FTPRMDIR
|
||||
xfer FTPSITE
|
||||
xfer FTPWRITE
|
||||
xfer FTPPWD
|
||||
xfer FTPSYSTYPE
|
||||
xfer FTPCDUP
|
||||
xfer FTPSIZE
|
||||
xfer FTPMODDATE
|
||||
xfer FTPOPTIONS
|
||||
xfer FTPSETCALLBACK
|
||||
xfer FTPCLEARCALLBACK
|
||||
.end
|
470
deps/ftplib-4.0-1/src/qftp.c
vendored
470
deps/ftplib-4.0-1/src/qftp.c
vendored
@ -1,470 +0,0 @@
|
||||
/***************************************************************************/
|
||||
/* */
|
||||
/* qftp.c - command line driven ftp file transfer program */
|
||||
/* Copyright (C) 1996-2001, 2013, 2016 Thomas Pfau, tfpfau@gmail.com */
|
||||
/* 1407 Thomas Ave, North Brunswick, NJ, 08902 */
|
||||
/* */
|
||||
/* This library is free software. You can redistribute it and/or */
|
||||
/* modify it under the terms of the Artistic License 2.0. */
|
||||
/* */
|
||||
/* This library is distributed in the hope that it will be useful, */
|
||||
/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
|
||||
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
|
||||
/* Artistic License 2.0 for more details. */
|
||||
/* */
|
||||
/* See the file LICENSE or */
|
||||
/* http://www.perlfoundation.org/artistic_license_2_0 */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
#if defined(__unix__) || defined(__VMS)
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <libgen.h>
|
||||
#include <sys/stat.h>
|
||||
#if defined(_WIN32)
|
||||
#include <winsock.h>
|
||||
#include <io.h>
|
||||
#include "getopt.h"
|
||||
#endif
|
||||
|
||||
#include "ftplib.h"
|
||||
|
||||
#if !defined(S_ISDIR)
|
||||
#define S_ISDIR(m) ((m&S_IFMT) == S_IFDIR)
|
||||
#endif
|
||||
|
||||
/* exit values */
|
||||
#define EX_SYNTAX 2 /* command syntax errors */
|
||||
#define EX_NETDB 3 /* network database errors */
|
||||
#define EX_CONNECT 4 /* network connect errors */
|
||||
#define EX_LOGIN 5 /* remote login errors */
|
||||
#define EX_REMCMD 6 /* remote command errors */
|
||||
#define EX_SYSERR 7 /* system call errors */
|
||||
|
||||
#define FTP_SEND 1 /* send files */
|
||||
#define FTP_GET 2 /* retreive files */
|
||||
#define FTP_DIR 3 /* verbose directory */
|
||||
#define FTP_RM 4 /* delete files */
|
||||
#define FTP_LIST 5 /* terse directory */
|
||||
|
||||
#define DIRBUF_SIZE 1024 /* for wildcard processing */
|
||||
|
||||
#if defined(__UINT64_MAX)
|
||||
#if defined(PRIu64)
|
||||
#define PRIFSZ PRIu64
|
||||
#else
|
||||
#if ULONG_MAX == __UINT32_MAX
|
||||
#define PRIFSZ "llu"
|
||||
#else
|
||||
#define PRIFSZ "lu"
|
||||
#endif
|
||||
#endif
|
||||
#else
|
||||
#ifdef PRIu32
|
||||
#define PRIFSZ PRIu32
|
||||
#else
|
||||
#define PRIFSZ "u"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
static int logged_in = 0;
|
||||
static char *host = NULL;
|
||||
static char *user = NULL;
|
||||
static char *pass = NULL;
|
||||
static char mode = 'I';
|
||||
static int action = 0;
|
||||
static char *invocation;
|
||||
static netbuf *conn = NULL;
|
||||
static int wildcard = 0;
|
||||
static int strippath = 0;
|
||||
|
||||
void usage(void)
|
||||
{
|
||||
printf(
|
||||
"usage: %s <cmd> <host>\n"
|
||||
"\t cmd = send | get | dir | list | rm\n"
|
||||
"\t[ -l user [ -p pass ] ] defaults to anonymous/user@hostname\n"
|
||||
"\t[\n"
|
||||
"\t [ -v level ] debug level\n"
|
||||
"\t [ -r rootpath ] chdir path\n"
|
||||
"\t [ -m umask ] umask for created files\n"
|
||||
"\t [ -a | -i ] ] ascii/image transfer file\n"
|
||||
"\t [ -w ] toggle wildcard mode\n"
|
||||
"\t [ -s cmd ] issue a SITE command\n"
|
||||
"\t [ -b ] toggles stripping of path from filename on send\n"
|
||||
"\t [ file ] file spec for directory or file to transfer\n"
|
||||
"\t]...\n\n"
|
||||
"If no files are specified on command line, the program\n"
|
||||
"will read file names from stdin.\n", invocation);
|
||||
}
|
||||
|
||||
void ftp_connect(void)
|
||||
{
|
||||
if (conn)
|
||||
return;
|
||||
if (host == NULL)
|
||||
{
|
||||
fprintf(stderr,"Host name not specified\n");
|
||||
usage();
|
||||
exit(EX_SYNTAX);
|
||||
}
|
||||
if (!logged_in)
|
||||
{
|
||||
if (user == NULL)
|
||||
{
|
||||
user = "anonymous";
|
||||
if (pass == NULL)
|
||||
{
|
||||
char *u,h[64];
|
||||
u = getenv("USER");
|
||||
if (gethostname(h,64) < 0)
|
||||
{
|
||||
perror("gethostname");
|
||||
exit(EX_NETDB);
|
||||
}
|
||||
if ((u != NULL) && (h != NULL))
|
||||
{
|
||||
static char xxx[256];
|
||||
sprintf(xxx,"%s@%s",u,h);
|
||||
pass = xxx;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (pass == NULL)
|
||||
#if defined(_WIN32) || defined(VMS)
|
||||
exit(EX_LOGIN);
|
||||
#else
|
||||
if ((pass = getpass("Password: ")) == NULL)
|
||||
exit(EX_SYSERR);
|
||||
#endif
|
||||
if (!FtpConnect(host,&conn))
|
||||
{
|
||||
fprintf(stderr,"Unable to connect to node %s\n",host);
|
||||
exit(EX_CONNECT);
|
||||
}
|
||||
if (!FtpLogin(user,pass,conn))
|
||||
{
|
||||
fprintf(stderr,"Login failure\n%s",FtpLastResponse(conn));
|
||||
exit(EX_LOGIN);
|
||||
}
|
||||
logged_in++;
|
||||
}
|
||||
}
|
||||
|
||||
void change_directory(char *root)
|
||||
{
|
||||
ftp_connect();
|
||||
if (!FtpChdir(root, conn))
|
||||
{
|
||||
fprintf(stderr,"Change directory failed\n%s",FtpLastResponse(conn));
|
||||
exit(EX_REMCMD);
|
||||
}
|
||||
}
|
||||
|
||||
void site_cmd(char *cmd)
|
||||
{
|
||||
ftp_connect();
|
||||
if (!FtpSite( cmd, conn ))
|
||||
{
|
||||
fprintf(stderr,"SITE command failed\n%s", FtpLastResponse(conn));
|
||||
exit(EX_REMCMD);
|
||||
}
|
||||
}
|
||||
|
||||
struct REMFILE {
|
||||
struct REMFILE *next;
|
||||
fsz_t fsz;
|
||||
char *fnm;
|
||||
};
|
||||
|
||||
static int log_progress(netbuf *ctl, fsz_t xfered, void *arg)
|
||||
{
|
||||
struct REMFILE *f = (struct REMFILE *) arg;
|
||||
if ( f->fsz )
|
||||
{
|
||||
double pct = (xfered * 100.0) / f->fsz;
|
||||
printf("%s %5.2f%% %" PRIFSZ "\r", f->fnm, pct, xfered);
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("%s %" PRIFSZ "\r", f->fnm, xfered);
|
||||
}
|
||||
fflush(stdout);
|
||||
return 1;
|
||||
}
|
||||
|
||||
void process_file(char *fnm)
|
||||
{
|
||||
int sts=0;
|
||||
fsz_t fsz;
|
||||
struct REMFILE *filelist = NULL;
|
||||
struct REMFILE rem;
|
||||
|
||||
ftp_connect();
|
||||
FtpClearCallback(conn);
|
||||
if ((action == FTP_SEND) || (action == FTP_GET) || (action == FTP_RM))
|
||||
{
|
||||
if (action == FTP_SEND)
|
||||
{
|
||||
struct stat info;
|
||||
if (stat(fnm,&info) == -1)
|
||||
{
|
||||
perror(fnm);
|
||||
return;
|
||||
}
|
||||
if (S_ISDIR(info.st_mode))
|
||||
{
|
||||
if (!FtpMkdir(fnm, conn))
|
||||
fprintf(stderr,"mkdir %s failed\n%s",fnm,FtpLastResponse(conn));
|
||||
else
|
||||
if (ftplib_debug)
|
||||
fprintf(stderr,"Directory %s created\n",fnm);
|
||||
return;
|
||||
}
|
||||
fsz = info.st_size;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!wildcard)
|
||||
{
|
||||
struct REMFILE *f;
|
||||
f = (struct REMFILE *) malloc(sizeof(struct REMFILE));
|
||||
memset(f,0,sizeof(struct REMFILE));
|
||||
f->next = filelist;
|
||||
filelist = f;
|
||||
f->fnm = strdup(fnm);
|
||||
} else {
|
||||
netbuf *dir;
|
||||
char *buf;
|
||||
if (!FtpAccess(fnm, FTPLIB_DIR, FTPLIB_ASCII, conn, &dir))
|
||||
{
|
||||
fprintf(stderr,"error requesting directory of %s\n%s\n",
|
||||
fnm, FtpLastResponse(conn));
|
||||
return;
|
||||
}
|
||||
buf = malloc(DIRBUF_SIZE);
|
||||
while (FtpRead(buf, DIRBUF_SIZE, dir) > 0)
|
||||
{
|
||||
struct REMFILE *f;
|
||||
char *p;
|
||||
f = (struct REMFILE *) malloc(sizeof(struct REMFILE));
|
||||
memset(f,0,sizeof(struct REMFILE));
|
||||
f->next = filelist;
|
||||
p = strchr(buf,'\n');
|
||||
if (p)
|
||||
*p = '\0';
|
||||
f->fnm = strdup(buf);
|
||||
filelist = f;
|
||||
}
|
||||
free(buf);
|
||||
FtpClose(dir);
|
||||
}
|
||||
}
|
||||
}
|
||||
switch (action)
|
||||
{
|
||||
case FTP_DIR :
|
||||
sts = FtpDir(NULL, fnm, conn);
|
||||
break;
|
||||
case FTP_LIST :
|
||||
sts = FtpNlst(NULL, fnm, conn);
|
||||
break;
|
||||
case FTP_SEND :
|
||||
rem.next = NULL;
|
||||
rem.fnm = fnm;
|
||||
rem.fsz = fsz;
|
||||
fsz /= 100;
|
||||
if (fsz > 100000)
|
||||
fsz = 100000;
|
||||
if (ftplib_debug && fsz)
|
||||
{
|
||||
FtpCallbackOptions opt;
|
||||
opt.cbFunc = log_progress;
|
||||
opt.cbArg = &rem;
|
||||
opt.idleTime = 1000;
|
||||
opt.bytesXferred = fsz;
|
||||
FtpSetCallback(&opt,conn);
|
||||
}
|
||||
sts = FtpPut(fnm,strippath ? basename(fnm) : fnm,mode,conn);
|
||||
if (ftplib_debug && sts)
|
||||
printf("%s sent\n",fnm);
|
||||
break;
|
||||
case FTP_GET :
|
||||
while (filelist)
|
||||
{
|
||||
struct REMFILE *f = filelist;
|
||||
filelist = f->next;
|
||||
#if defined(__UINT64_MAX)
|
||||
if (!FtpSizeLong(f->fnm, &fsz, mode, conn))
|
||||
#else
|
||||
if (!FtpSize(f->fnm, &fsz, mode, conn))
|
||||
#endif
|
||||
fsz = 0;
|
||||
f->fsz = fsz;
|
||||
fsz /= 100;
|
||||
if (fsz > 100000)
|
||||
fsz = 100000;
|
||||
if ( fsz == 0 )
|
||||
fsz = 32768;
|
||||
if (ftplib_debug)
|
||||
{
|
||||
FtpCallbackOptions opt;
|
||||
opt.cbFunc = log_progress;
|
||||
opt.cbArg = f;
|
||||
opt.idleTime = 1000;
|
||||
opt.bytesXferred = fsz;
|
||||
FtpSetCallback(&opt,conn);
|
||||
}
|
||||
sts = FtpGet(f->fnm,f->fnm,mode,conn);
|
||||
if (ftplib_debug && sts)
|
||||
printf("%s retrieved\n",f->fnm);
|
||||
free(f->fnm);
|
||||
free(f);
|
||||
}
|
||||
break;
|
||||
case FTP_RM :
|
||||
while (filelist)
|
||||
{
|
||||
struct REMFILE *f = filelist;
|
||||
filelist = f->next;
|
||||
sts = FtpDelete(f->fnm,conn);
|
||||
if (ftplib_debug && sts)
|
||||
printf("%s deleted\n", f->fnm);
|
||||
free(f->fnm);
|
||||
free(f);
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (!sts)
|
||||
printf("ftp error\n%s\n",FtpLastResponse(conn));
|
||||
return;
|
||||
}
|
||||
|
||||
void set_umask(char *m)
|
||||
{
|
||||
char buf[80];
|
||||
sprintf(buf,"umask %s", m);
|
||||
ftp_connect();
|
||||
FtpSite(buf, conn);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int files_processed = 0;
|
||||
int opt;
|
||||
|
||||
invocation = argv[0];
|
||||
optind = 1;
|
||||
if (strstr(argv[0],"send") != NULL)
|
||||
action = FTP_SEND;
|
||||
else if (strstr(argv[0],"get") != NULL)
|
||||
action = FTP_GET;
|
||||
else if (strstr(argv[0],"dir") != NULL)
|
||||
action = FTP_DIR;
|
||||
else if (strstr(argv[0],"list") != NULL)
|
||||
action = FTP_LIST;
|
||||
else if (strstr(argv[0],"rm") != NULL)
|
||||
action = FTP_RM;
|
||||
if ((action == 0) && (argc > 2))
|
||||
{
|
||||
if ( argc < 3 ) /* command + site */
|
||||
{
|
||||
usage();
|
||||
exit( EX_SYNTAX );
|
||||
}
|
||||
if (strcmp(argv[1],"send") == 0)
|
||||
action = FTP_SEND;
|
||||
else if (strcmp(argv[1],"get") == 0)
|
||||
action = FTP_GET;
|
||||
else if (strcmp(argv[1],"dir") == 0)
|
||||
action = FTP_DIR;
|
||||
else if (strcmp(argv[1],"list") == 0)
|
||||
action = FTP_LIST;
|
||||
else if (strcmp(argv[1],"rm") == 0)
|
||||
action = FTP_RM;
|
||||
if (action)
|
||||
optind++;
|
||||
}
|
||||
if (action == 0)
|
||||
{
|
||||
usage();
|
||||
exit(EX_SYNTAX);
|
||||
}
|
||||
|
||||
FtpInit();
|
||||
|
||||
// while (argv[optind] != NULL)
|
||||
while ( optind < argc )
|
||||
{
|
||||
if (argv[optind][0] != '-')
|
||||
{
|
||||
if (host == NULL)
|
||||
host = argv[optind++];
|
||||
else
|
||||
{
|
||||
process_file(argv[optind++]);
|
||||
files_processed++;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
opt = getopt(argc,argv,"abil:m:p:r:s:v:w");
|
||||
switch (opt)
|
||||
{
|
||||
case '?' :
|
||||
fprintf(stderr,"Invalid option: %c\n", opt);
|
||||
usage();
|
||||
exit(EX_SYNTAX);
|
||||
case ':' :
|
||||
usage();
|
||||
exit(EX_SYNTAX);
|
||||
case 'a' : mode = 'A'; break;
|
||||
case 'b' : strippath = !strippath; break;
|
||||
case 'i' : mode = 'I'; break;
|
||||
case 'l' : user = optarg; break;
|
||||
case 'm' : set_umask(optarg); break;
|
||||
case 'p' : pass = optarg; break;
|
||||
case 'r' : change_directory(optarg); break;
|
||||
case 's' : site_cmd(optarg); break;
|
||||
case 'v' :
|
||||
if (opt == ':')
|
||||
ftplib_debug++;
|
||||
else
|
||||
ftplib_debug = atoi(optarg);
|
||||
break;
|
||||
case 'w' : wildcard = !wildcard; break;
|
||||
default :
|
||||
usage();
|
||||
exit(EX_SYNTAX);
|
||||
}
|
||||
}
|
||||
|
||||
if (files_processed == 0)
|
||||
{
|
||||
ftp_connect();
|
||||
if ((action == FTP_DIR) || (action == FTP_LIST))
|
||||
process_file(NULL);
|
||||
else
|
||||
{
|
||||
char fnm[256];
|
||||
do
|
||||
{
|
||||
char *nl;
|
||||
if (isatty(fileno(stdin)))
|
||||
printf("file> ");
|
||||
if (fgets(fnm, sizeof(fnm), stdin) == NULL)
|
||||
break;
|
||||
if ((nl = strchr(fnm,'\n')) != NULL)
|
||||
*nl = '\0';
|
||||
process_file(fnm);
|
||||
}
|
||||
while (1);
|
||||
}
|
||||
}
|
||||
if (conn)
|
||||
FtpClose(conn);
|
||||
return 0;
|
||||
}
|
2
deps/ftplib-4.0-1/src/qftp.opt
vendored
2
deps/ftplib-4.0-1/src/qftp.opt
vendored
@ -1,2 +0,0 @@
|
||||
qftp.obj
|
||||
ftplib.exe/share
|
2
deps/ftplib-4.0-1/src/qftp_alpha.opt
vendored
2
deps/ftplib-4.0-1/src/qftp_alpha.opt
vendored
@ -1,2 +0,0 @@
|
||||
qftp_alpha.obj
|
||||
ftplib_alpha.exe/share
|
2
deps/ftplib-4.0-1/src/qftp_ia64.opt
vendored
2
deps/ftplib-4.0-1/src/qftp_ia64.opt
vendored
@ -1,2 +0,0 @@
|
||||
qftp_ia64.obj
|
||||
ftplib_ia64.exe/share
|
Reference in New Issue
Block a user