Globus FTP Client API.
The Globus FTP Client library provides a convenient way of accessing files on remote FTP servers. In
addition to supporting the basic FTP protocol, the FTP Client library supports several security and
performance extensions to make FTP more suitable for Grid applications. These extensions are described in
the Grid FTP Protocol document.
In addition to protocol support for grid applications, the FTP Client library provides a pluginarchitecture for installing application or grid-specific fault recovery and performance tuning
algorithms within the library. Application writers may then target their code toward the FTP Client
library, and by simply enabling the appropriate plugins, easily tune their application to run it on a
different grid.
All applications which use the Globus FTP Client API must include the header file globus_ftp_client.h and
activate the GLOBUS_FTP_CLIENT_MODULE
To use the Globus FTP Client API, one must create an FTPClienthandle . This structure contains context
information about FTP operations which are being executed, a cache of FTP control and data connections,
and information about plugins which are being used. The specifics of the connection caching and plugins
are found in the HandleAttributes section of this manual.
Once the handle is created, one may begin transferring files or doing other FTP operations by calling the
functions in the FTPOperations section of this manual. In addition to whole-file transfers, the API
supports partial file transfers, restarting transfers from a known point, and various FTP directory
management commands. All FTP operations may have a set of attributes, defined in the FTPOperationAttributes section, associated with them to tune various FTP parameters. The data structures and
functions needed to restart a file transfer are described in the RestartMarkers section of this manual.
For operations which require the user to send to or receive data from an FTP server the must call the
functions in the ReadingandWritingData section of the manual.