IT_TGT_CREATE(3ISCSIT) iSCSI Management Library Functions
it_tgt_create, it_tgt_setprop, it_tgt_delete, it_tpgt_create,
it_tpgt_delete, it_tgt_free, it_tpgt_free - create, modify and delete
iSCSI Targets
cc [ flag... ] file... -liscsit [ library... ]
#include <libiscsit.h>
int it_tgt_create(it_config_t **cfg, it_tgt_t **tgt,
char *tgt_name);
int it_tgt_setprop(it_config_t *cfg it_tgt_t *tgt,
nvlist_t *proplist, nvlist_t **errlist);
int it_tgt_delete(it_config_t *cfg, it_tgt_t *tgt,
boolean_t force);
int it_tpgt_create(it_config_t *cfg, it_tgt_t *tgt,
it_tpgt_t **tpgt, char *tpg_name, uint16_t tpgt_tag);
void it_tpgt_delete(it_config_t *cfg, it_tgt_t *tgt,
it_tpgt_t *tpgt);
void it_tgt_free(it_tgt_t *tgt);
void it_tpgt_free(it_tpgt_t *tpgt);
cfg
a pointer to the iSCSI configuration structure
tgt
a pointer to an iSCSI target structure
tgt_name
the target node name for the target to be created. The
name must be in either IQN or EUI format. If this value
is NULL, a node name will be generated automatically in
IQN format.
proplist
a pointer to an nvlist_t containing the target
properties to be set
errlist
an optional pointer to an nvlist_t that will be used to
store specific errors (if any) when validating target
properties
force
a boolean value indicating if the target should be set
to offline before removing it from the configuration. If
not specified, the operation will fail if the target is
determined to be online
tpgt
a pointer to a target portal group tag structure
tpgt_name
the name of the target portal group to be associated
with this target portal group tag
tpgt_tag
a 16-bit numerical identifier for this target portal
group tag. Valid values are 2 through 65535. If tpgt_tag
is '0', it_tpgt_create() will assign an appropriate tag
number. If tpgt_tag is != 0, and the requested tag
number is unavailable, another value will be chosen.
The it_tgt_create() function allocates and creates an it_tgt_t
structure representing a new iSCSI target node. If tgt_name is NULL,
then a unique target node name will be generated automatically.
Otherwise, the value of tgt_name will be used as the target node
name. The new it_tgt_t structure is added to the target list
(cfg_tgt_list) in the configuration structure.
The it_tgt_setprop() function validates the provided property list
and sets the properties for the specified target. If errlist is not
NULL, this function returns detailed errors for each property that
failed. The format for errlist is key = property, value = error
string.
The it_tgt_delete() function removes the target represented by tgt
from the configuration. The tgt argument is an existing it_tgt_t
structure within the configuration cfg.
The it_tpgt_create() function allocates and creates an it_tpgt_t
structure representing a new iSCSI target portal group tag. The new
it_tpgt_t structure is added to the target tpgt list (tgt_tpgt_list)
in the it_tgt_t structure.
The it_tpgt_delete() function removes the target portal group tag
represented by tpgt, from the configuration. The tpgt argument is an
existing is_tpgt_t structure within the target tgt.
The it_tgt_free() function frees an it_tgt_t structure. If tgt->next
is not NULL, this function frees all structures in the list.
The it_tpgt_free() function deallocates resources of an it_tpgt_t
structure. If tpgt->next is not NULL, this function frees all
members of the list.
Configuration changes as a result of these functions are not
instantiated until the modified configuration is committed by calling
it_config_commit(3ISCSIT).
Target nvlist properties are as follows:
nvlist Key Type Valid Values
----------------------------------------------------------
targetchapuser string any string, or none to remove
targetchapsecret string string of at least 12
characters but not more than
255 characters. secret will
be base64 encoded when
stored.
alias string any string or none to remove
auth string radius, chap, or none
The it_tgt_create(), it_tgt_setprop(), it_tgt_delete(),
it_tpgt_create(), and it_tpgt_delete() functions return 0 on success
and an error value on failure.
The it_tgt_create(), it_tgt_setprop(), it_tgt_delete(),
it_tpgt_create(), and it_tpgt_delete() functions will fail if:
E2BIG
All tag numbers are already in use.
EBUSY
The target is online.
EEXIST
The requested target node name is already configured.
EINVAL
A parameter or property is invalid.
ENOMEM
Resources could not be allocated.
See attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+
it_config_commit(3ISCSIT), it_ini_create(3ISCSIT),
it_portal_create(3ISCSIT), it_tpg_create(3ISCSIT), libiscsit(3LIB),
libnvpair(3LIB), libstmf(3LIB), attributes(7)
October 1, 2008 IT_TGT_CREATE(3ISCSIT)
NAME
it_tgt_create, it_tgt_setprop, it_tgt_delete, it_tpgt_create,
it_tpgt_delete, it_tgt_free, it_tpgt_free - create, modify and delete
iSCSI Targets
SYNOPSIS
cc [ flag... ] file... -liscsit [ library... ]
#include <libiscsit.h>
int it_tgt_create(it_config_t **cfg, it_tgt_t **tgt,
char *tgt_name);
int it_tgt_setprop(it_config_t *cfg it_tgt_t *tgt,
nvlist_t *proplist, nvlist_t **errlist);
int it_tgt_delete(it_config_t *cfg, it_tgt_t *tgt,
boolean_t force);
int it_tpgt_create(it_config_t *cfg, it_tgt_t *tgt,
it_tpgt_t **tpgt, char *tpg_name, uint16_t tpgt_tag);
void it_tpgt_delete(it_config_t *cfg, it_tgt_t *tgt,
it_tpgt_t *tpgt);
void it_tgt_free(it_tgt_t *tgt);
void it_tpgt_free(it_tpgt_t *tpgt);
PARAMETERS
cfg
a pointer to the iSCSI configuration structure
tgt
a pointer to an iSCSI target structure
tgt_name
the target node name for the target to be created. The
name must be in either IQN or EUI format. If this value
is NULL, a node name will be generated automatically in
IQN format.
proplist
a pointer to an nvlist_t containing the target
properties to be set
errlist
an optional pointer to an nvlist_t that will be used to
store specific errors (if any) when validating target
properties
force
a boolean value indicating if the target should be set
to offline before removing it from the configuration. If
not specified, the operation will fail if the target is
determined to be online
tpgt
a pointer to a target portal group tag structure
tpgt_name
the name of the target portal group to be associated
with this target portal group tag
tpgt_tag
a 16-bit numerical identifier for this target portal
group tag. Valid values are 2 through 65535. If tpgt_tag
is '0', it_tpgt_create() will assign an appropriate tag
number. If tpgt_tag is != 0, and the requested tag
number is unavailable, another value will be chosen.
DESCRIPTION
The it_tgt_create() function allocates and creates an it_tgt_t
structure representing a new iSCSI target node. If tgt_name is NULL,
then a unique target node name will be generated automatically.
Otherwise, the value of tgt_name will be used as the target node
name. The new it_tgt_t structure is added to the target list
(cfg_tgt_list) in the configuration structure.
The it_tgt_setprop() function validates the provided property list
and sets the properties for the specified target. If errlist is not
NULL, this function returns detailed errors for each property that
failed. The format for errlist is key = property, value = error
string.
The it_tgt_delete() function removes the target represented by tgt
from the configuration. The tgt argument is an existing it_tgt_t
structure within the configuration cfg.
The it_tpgt_create() function allocates and creates an it_tpgt_t
structure representing a new iSCSI target portal group tag. The new
it_tpgt_t structure is added to the target tpgt list (tgt_tpgt_list)
in the it_tgt_t structure.
The it_tpgt_delete() function removes the target portal group tag
represented by tpgt, from the configuration. The tpgt argument is an
existing is_tpgt_t structure within the target tgt.
The it_tgt_free() function frees an it_tgt_t structure. If tgt->next
is not NULL, this function frees all structures in the list.
The it_tpgt_free() function deallocates resources of an it_tpgt_t
structure. If tpgt->next is not NULL, this function frees all
members of the list.
Configuration changes as a result of these functions are not
instantiated until the modified configuration is committed by calling
it_config_commit(3ISCSIT).
Target nvlist properties are as follows:
nvlist Key Type Valid Values
----------------------------------------------------------
targetchapuser string any string, or none to remove
targetchapsecret string string of at least 12
characters but not more than
255 characters. secret will
be base64 encoded when
stored.
alias string any string or none to remove
auth string radius, chap, or none
RETURN VALUES
The it_tgt_create(), it_tgt_setprop(), it_tgt_delete(),
it_tpgt_create(), and it_tpgt_delete() functions return 0 on success
and an error value on failure.
ERRORS
The it_tgt_create(), it_tgt_setprop(), it_tgt_delete(),
it_tpgt_create(), and it_tpgt_delete() functions will fail if:
E2BIG
All tag numbers are already in use.
EBUSY
The target is online.
EEXIST
The requested target node name is already configured.
EINVAL
A parameter or property is invalid.
ENOMEM
Resources could not be allocated.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+
SEE ALSO
it_config_commit(3ISCSIT), it_ini_create(3ISCSIT),
it_portal_create(3ISCSIT), it_tpg_create(3ISCSIT), libiscsit(3LIB),
libnvpair(3LIB), libstmf(3LIB), attributes(7)
October 1, 2008 IT_TGT_CREATE(3ISCSIT)