# 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.

New programs should call FtpSetCallback() and FtpClearCallback() to change callback options.

The following options and values are recognized.

FTPLIB_CONNMODE
  Specifies the connection mode. Either FTPLIB_PASSIVE or FTPLIB_PORT.
FTPLIB_CALLBACK (deprecated)
  Specifies the address of a user callback routine.
FTPLIB_IDLETIME (deprecated)
  Specifies the socket idle time in milliseconds that triggers calling the user's callback routine.
FTPLIB_CALLBACKARG (deprecated)
  Specifies an argument to pass to the user's callback routine.
FTPLIB_CALLBACKBYTES (deprecated)
  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.

See FtpSetCallback() for a description of using callbacks.

## RETURN VALUE

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