IT_CONFIG_LOAD(3ISCSIT) iSCSI Management Library Functions


NAME


it_config_load, it_config_commit, it_config_setprop, it_config_free - set
and retrieve configuration data for the iSCSI Target Port Provider

SYNOPSIS


cc [ flag... ] file... -liscsit [ library... ]
#include <libiscsit.h>

int it_config_load(it_config_t **cfg);


int it_config_commit(it_config_t *cfg);


int it_config_setprop(it_config_t *cfg, nvlist_t *proplist,
nvlist_t **errlist);


void it_config_free(it_config_t *cfg);


PARAMETERS


cfg
a pointer to the iSCSI configuration structure


proplist
a pointer to an nvlist_t containing the global properties to
be set


errlist
an optional pointer to an nvlist_t that will be used to store
specific errors (if any) when validating global properties


DESCRIPTION


The it_config_load() function allocates and creates an it_config_t
structure representing the current iSCSI configuration. This structure is
compiled using the "provider" data returned by
stmfGetProviderData(3STMF). If there is no provider data associated with
iscsit, the it_config_t structure is set to a default configuration.


The it_config_commit() function informs the iscsit service that the
configuration has changed and commits the new configuration to the
persistent store by calling stmfSetProviderData(3STMF). This function can
be called multiple times during a configuration sequence, if necessary.


The it_config_setprop() function validates the provided property list and
sets the global properties for iSCSI Target. If errlist is not NULL, this
function returns detailed errors for each property that failed. The
format for errorlist is key = property, value = error string.


The it_config_free() function frees resources associated with the
it_config_t structure.


Global nvlist properties are as follows:


nvlist Key Type Valid Values
----------------------------------------------------
alias string any string
auth string radius, chap, or none
isns boolean B_TRUE, B_FALSE
isnsserver string array Array of portal
specifications of the
form IPaddress:port.
Port is optional; if
not specified, the
default iSNS port
number of 3205 will
be used. IPv6
addresses should be
enclosed in square
brackets '[' ']'. If
"none" is specified,
all defined iSNS
servers will be
removed from the
configuration.
radiusserver string IPaddress:port
specification as
described for
'isnsserver'
radiussecret string string of at least 12
characters but not
more than 255
characters. secret
will be base64
encoded when stored.


RETURN VALUES


The it_config_load(), it_config_commit(), and it_config_setprop()
functions return 0 on success and an error value on failure.

ERRORS


The it_config_load(), it_config_commit(), and it_config_setprop()
functions will fail if:

EINVAL
A parameter or property is invalid.


ENOMEM
Resources could not be allocated.


The it_config_commit() function will also fail if:

STMF_ERROR_SERVICE_DATA_VERSION

The configuration was updated by another client. See
stmfSetProviderData(3STMF).


ATTRIBUTES


See attributes(5) for descriptions of the following attributes:


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+

SEE ALSO


it_ini_create(3ISCSIT), it_portal_create(3ISCSIT),
it_tgt_create(3ISCSIT), it_tpg_create(3ISCSIT), libiscsit(3LIB),
libnvpair(3LIB), libstmf(3LIB), stmfGetProviderData(3STMF),
stmfSetProviderData(3STMF), attributes(5)


October 1, 2008 IT_CONFIG_LOAD(3ISCSIT)