*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->FreeBSD man pages -> ftpio (3)              
Title
Content
Arch
Section
 

FTPIO(3)

Contents


NAME    [Toc]    [Back]

     ftpLogin, ftpChdir, ftpErrno, ftpGetModtime, ftpGetSize, ftpGet, ftpPut,
     ftpBinary, ftpPassive, ftpVerbose, ftpGetURL, ftpPutURL, ftpLoginAf,
     ftpGetURLAf, ftpPutURLAf -- FTPIO user library

SYNOPSIS    [Toc]    [Back]

     #include <ftpio.h>

     FILE *
     ftpLogin(char *host, char *user, char *passwd, int ftp_port, int verbose,
	 int *retcode);

     int
     ftpChdir(FILE *stream, char *dirname);

     int
     ftpErrno(FILE *stream);

     const char *
     ftpErrString(int errno);

     time_t
     ftpGetModtime(FILE *stream, char *file);

     off_t
     ftpGetSize(FILE *stream, char *file);

     FILE *
     ftpGet(FILE *stream, char *file, off_t *seekto);

     FILE *
     ftpPut(FILE *stream, char *file);

     int
     ftpAscii(FILE *stream);

     int
     ftpBinary(FILE *stream);

     int
     ftpPassive(FILE *stream, int status);

     void
     ftpVerbose(FILE *stream, int status);

     FILE *
     ftpGetURL(char *url, char *user, char *passwd, int *retcode);

     FILE *
     ftpPutURL(char *url, char *user, char *passwd, int *retcode);

     FILE *
     ftpLoginAf(char *host, int af, char *user, char *passwd, int ftp_port,
	 int verbose, int *retcode);

     FILE *
     ftpGetURLAf(char *url, int af, char *user, char *passwd, int *retcode);

     FILE *
     ftpPutURLAf(char *url, int af, char *user, char *passwd, int *retcode);

DESCRIPTION    [Toc]    [Back]

     These functions implement a high-level library for managing FTP connections.


     The ftpLogin() function attempts to log in using the supplied user,
     passwd, ftp_port (if passed as 0, ftp_port defaults to the standard ftp
     port of 21) and verbose fields.  If it is successful, a standard stream
     descriptor is returned which should be passed to subsequent FTP operations.
  On failure, NULL is returned and retcode will have the error code
     returned by the foreign server.

     The ftpChdir() function attempts to issue a server CD command to the
     directory named in dir.  On success, zero is returned.  On failure, the
     error code from the server.

     The ftpErrno() function returns the server failure code for the last
     operation (useful for seeing more about what happened if you're familiar
     with FTP error codes).  The ftpErrString() function returns a human readable
 version of the supplied server failure code.

     The ftpGet() function attempts to retrieve the file named by the file
     argument (which is assumed to be relative to the FTP server's current
     directory, see ftpChdir()) and returns a new FILE* pointer for the file
     or NULL on failure.  If seekto is non-NULL, the contents of the integer
     it points to will be used as a restart point for the file, that is to say
     that the stream returned will point *seekto bytes into the file gotten
     (this is handy for restarting failed transfers efficiently).  If the seek
     operation fails, the value of *seekto will be zero'd.

     The ftpGetModtime() function returns the last modification time of the
     file named by the file argument.  If the file could not be opened or
     stat'd, 0 is returned.

     The ftpGetSize() function returns the size in bytes of the file named by
     the file argument.  If the file could not be opened or stat'd, -1 is
     returned.

     The ftpPut() function attempts to create a new file named by the file
     argument (which is assumed to be relative to the FTP server's current
     directory, see ftpChdir()) and returns a new stream pointer for the file
     or NULL on failure.

     The ftpAscii() function sets ASCII mode for the current server connection
     named by stream.

     The ftpBinary() function sets binary mode for the current server connection
 named by stream.

     The ftpPassive() function sets passive mode (for firewalls) for the current
 server connection named by stream to boolean value status.

     The ftpVerbose() function sets the verbosity mode for the current server
     connection named by stream to boolean value status.

     The ftpGetURL() function attempts to retrieve the file named by the supplied
 URL and can be considered equivalent to the combined ftpLogin(),
     ftpChdir() and ftpGet() operations except that no server stream is ever
     returned - the connection to the server closes when the file has been
     completely read.  Use the lower-level routines if multiple gets are
     required as it will be far more efficient.

     The ftpPutURL() function attempts to create the file named by the supplied
 URL and can be considered equivalent to the combined ftpLogin(),
     ftpChdir() and ftpPut() operations except that no server stream is ever
     returned - the connection to the server closes when the file has been
     completely written.  Use the lower-level routines if multiple puts are
     required as it will be far more efficient.

     The ftpLoginAf(), ftpGetURLAf(), ftpPutURLAf() functions are same as
     ftpLogin(), ftpGetURL(), ftpPutURL() except that they are able to specify
     address family af.

ENVIRONMENT    [Toc]    [Back]

	FTP_TIMEOUT	  Maximum time, in seconds, to wait for a response
			  from the peer before aborting an FTP connection.

	FTP_PASSIVE_MODE  If defined, forces the use of passive mode, unless
			  equal to ``NO'' or ``no'' in which case active mode
			  is forced.  If defined, the setting of this variable
			  always overrides any calls to ftpPassive().

BUGS    [Toc]    [Back]

     I'm sure you can get this thing's internal state machine confused if you
     really work at it, but so far it's proven itself pretty robust in all my
     tests.

HISTORY    [Toc]    [Back]

     Started life as Poul-Henning Kamp's ftp driver for the system installation
 utility, later significantly mutated into a more general form as an
     extension of stdio by Jordan Hubbard.  Also incorporates some ideas and
     extensions from Jean-Marc Zucconi.

AUTHORS    [Toc]    [Back]

     Jordan Hubbard,
     Poul-Henning Kamp and
     Jean-Marc Zucconi


FreeBSD 5.2.1			 June 17, 1996			 FreeBSD 5.2.1
[ Back ]
 Similar pages
Name OS Title
cam_open_pass FreeBSD CAM user library
cam_close_device FreeBSD CAM user library
cam_close_spec_device FreeBSD CAM user library
cam_getccb FreeBSD CAM user library
cam_send_ccb FreeBSD CAM user library
cam_freeccb FreeBSD CAM user library
cam_path_string FreeBSD CAM user library
cam_device_dup FreeBSD CAM user library
cam_device_copy FreeBSD CAM user library
cam_get_device FreeBSD CAM user library
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service