Provided by: libdpm-dev_1.13.0-1_amd64 bug


       rfiosetopt - set RFIO options


       #include <sys/types.h>
       #include "rfio_api.h"

       int rfiosetopt (int opt, int *pval, int len)

       int rfio_setbufsize (int s, int bufsize)


       rfiosetopt sets the RFIO option opt to the content of the memory cell pointed by pval.

       rfio_setbufsize  sets  the  size of the readahead buffer to be used on a particular socket

       opt can have on of the following values:

                     The value  pointed  by  pval  can  be  0,  RFIO_READBUF,  RFIO_READAHEAD  or
                     RFIO_STREAM (V3).

                     If  set  to  zero, a normal read will be used (one request to the server per

                     If set to RFIO_READBUF, an internal buffer is allocated in the  client  API,
                     each call to the server fills this buffer and the user buffer is filled from
                     the internal buffer. There is one server call per buffer fill.

                     If set to RFIO_READAHEAD, an initial call is sent to the server which pushes
                     data to the client buffer until end of file is reached or an error occurs or
                     a new request comes from the client.  There is no intermediate buffer unless
                     RFIO_READBUF|RFIO_READAHEAD is specified.

                     If  RFIO_STREAM  is  set,  the  V3  protocol is enabled.  This uses 2 socket
                     connections between the client and the  server  and  the  server  itself  is
                     multi-threaded allowing overlap of disk and network operations.  The data is
                     pushed on the data socket until end of file is reached or an  error  occurs.
                     The transfer can be interrupted by sending a packet on the control socket.
                     Default is RFIO_READBUF.

                     The  default  internal  buffer size is 128kB, but the buffer size can be set
                     with an entry RFIO IOBUFSIZE in shift.conf or thru the environment  variable

                     The  value  pointed  by  pval  can  be  RFIO_NONET  or  RFIO_NET.  If set to
                     RFIO_NONET, the NET entries in shift.conf are ignored.  Default is RFIO_NET.

                     The value pointed by pval can be RFIO_RETRYIT or RFIO_NOTIME2RETRY.

                     If set to RFIO_RETRYIT, there will  be  retries  on  failing  connect.   The
                     number  of retries is given by the environment variable RFIO_CONRETRY or the
                     RFIO CONRETRY entry in shift.conf.  The retry interval (in seconds) is given
                     by the environment variable RFIO_CONRETRYINT or the RFIO CONRETRYINT entry.

                     If set to RFIO_NOTIME2RETRY, there will be no retry on failing connect.
                     Default is RFIO_RETRYIT.

                     The value pointed by pval can be RFIO_NOLOCAL or RFIO_FORCELOCAL.  If set to
                     RFIO_FORCELOCAL, no parsing is done on pathname. The file is assumed  to  be
                     local.  Default is RFIO_NOLOCAL.

       The len argument is ignored.

       s is the file descriptor of the receiving socket.

       bufsize is the size of the readahead buffer to be used.


       rfiosetopt  returns  0  if the operation was successful or -1 if the operation failed.  In
       the latter case, serrno is set appropriately.


       ENOMEM       buffer could not be allocated.

       EINVAL       opt is not a valid option, bufsize is negative or the user  tries  to  change
                    the buffer size after the actual I/O has started.


       rfio_open(3), rfioreadopt(3)


       LCG Grid Deployment Team