Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


LIBISCSI(3)                Library Functions Manual                LIBISCSI(3)

NAME
     libiscsi - iSCSI network storage protocol implementation

LIBRARY
     iSCSI protocol library (libiscsi, -liscsi)

SYNOPSIS
     #include <iscsi.h>

     int
     iscsi_target_set_defaults(iscsi_target_t *target);

     int
     iscsi_target_start(iscsi_target_t *target);

     int
     iscsi_target_listen(iscsi_target_t *target);

     int
     iscsi_target_shutdown(iscsi_target_t *target);

     void
     iscsi_target_write_pidfile(const char *filename);

     int
     iscsi_target_setvar(iscsi_target_t *target, const char *name,
         const char *value);

     char *
     iscsi_target_getvar(iscsi_target_t *target, const char *name);

     int
     iscsi_initiator_set_defaults(iscsi_initiator_t *initiator);

     int
     iscsi_initiator_start(iscsi_initiator_t *initiator);

     int
     iscsi_initiator_discover(iscsi_initiator_t *initiator, char *x,
         uint64_t a, int b);

     int
     iscsi_initiator_shutdown(iscsi_initiator_t *initiator);

     int
     iscsi_initiator_setvar(iscsi_initiator_t *initiator, const char *name,
         const char *value);

     char *
     iscsi_initiator_getvar(iscsi_initiator_t *initiator, const char *name);

DESCRIPTION
     libiscsi is a library interface to the iSCSI target and initiator.  This
     conforms to IETF RFC 3720.  The corresponding command line utilities for
     libiscsi are iscsi-initiator(8) and iscsi-target(8).

     In normal operation, a process acting as a target (i.e. presenting
     storage to the network) will call iscsi_target_set_defaults() and will
     then set various values using the iscsi_target_setvar() function.  The
     value of a variable can be retrieved at any time using the
     iscsi_target_getvar() function.  When all of the variables have been set,
     the iscsi_target_start() function is called, and the block storage will
     be served up by the process.

     A useful illustration of the use of these functions can be found in the
     source code to the iscsi-target(8) utility.

     The libiscsi library also provides an implementation of the client end of
     the iSCSI subsystem, which is known as the initiator.  The process acting
     as an initiator will first call the iscsi_initiator_set_defaults()
     function, to set default values for the initiator variables.  Once all
     the values have been set to the user preferences using the
     iscsi_initiator_setvar() function, then the iscsi_initiator_start()
     function is called.

     The libiscsi library can be used to perform iSCSI device discovery by
     calling the iscsi_initiator_discovery() function.  This will return a
     list of all the iSCSI targets which are serving up block storage
     according to the variables which have already been set.

SEE ALSO
     iscsi-initiator(8), iscsi-target(8)

HISTORY
     The libiscsi library first appeared in NetBSD 4.0.  This programmatic
     interface to the iSCSI subsystem first appeared in NetBSD 6.0.

AUTHORS
     Alistair Crooks <agc@NetBSD.org>.

NetBSD 10.99                   February 19, 2011                  NetBSD 10.99