Man Linux: Main Page and Category List

NAME

       FtpOptions - Set connection options.

SYNOPSIS

       #include <ftplib.h>

       int FtpOptions(int opt, long val, netbuf *nControl);

PARAMETERS

       opt    Specifies    the   option   to   change.   Valid   options   are
              FTPLIB_CONNMODE,        FTPLIB_CALLBACK,        FTPLIB_IDLETIME,
              FTPLIB_CALLBACKARG, and FTPLIB_CALLBACKBYTES.

       val    Specifies the new value for the option. The value may need to by
              cast to a long.

       nControl
              A handle returned by FtpConnect()or FtpAccess().

DESCRIPTION

       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.

       The        following        options        and        values        are
       recognized.OptionValueFTPLIB_CONNMODE  Specifies  the  connection mode.
       Either  FTPLIB_PASSIVE  or  FTPLIB_PORT.FTPLIB_CALLBACK  Specifies  the
       address of a user callback routine.FTPLIB_IDLETIME Specifies the socket
       idle time in milliseconds that triggers  calling  the  user’s  callback
       routine.FTPLIB_CALLBACKARG  Specifies an argument to pass to the user’s
       callback routine.FTPLIB_CALLBACKBYTES Specifies the number of bytes  to
       transfer between calls to the user’s callback routine.

       The  connection  mode  tells  ftplib  if  it should use PASV or PORT to
       establish data connections. The default is specified as a build option.

       The   user’s   callback   routine   is  specified  as:.sp  typedef  int
       (*FtpCallback)(netbuf *nControl, int xfered,
              void   *arg);   nControlis   the   data   connection   in   use.
              xferedspecifies  how many bytes of data have been transferred on
              the   connection.argis   the   value   specified   with   option
              FTPLIB_CALLBACKARG.

              The  user can request to be called back on either of two events.

              If the user wishes to be called when the data socket is idle for
              some  period  of  time, use FTPLIB_IDLETIME and pass the time in
              milliseconds.

              If the user wishes to be called when a certain  amount  of  data
              has  been  transferred,  use  FTPLIB_CALLBACKBYTES  and pass 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.

              If the user  wishes  to  continue  the  transfer,  the  callback
              routine should return true (non-zero). It can abort the transfer
              by return zero.

RETURN VALUE

       Returns 1 if a valid option was  specified  and  the  value  is  legal.
       Otherwise, returns 0.