Provided by: ftplib-dev_3.1-1-9build1_amd64 bug


       FtpOptions - Set connection options.


       #include <ftplib.h>

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


       opt    Specifies the option to change. Valid options are FTPLIB_CONNMODE, FTPLIB_CALLBACK,

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

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


       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.


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