| LIBISCSI(3) | Library Functions Manual | LIBISCSI(3) | 
libiscsi —
#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);
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.
libiscsi library first appeared in
  NetBSD 4.0. This programmatic interface to the iSCSI
  subsystem first appeared in NetBSD 6.0.
| February 19, 2011 | NetBSD 9.4 |