IT_TPG_CREATE(3ISCSIT) iSCSI Management Library Functions
it_tpg_create, it_tpg_delete, it_tpg_free - create and delete
iSCSI target portal groups
cc [ flag... ] file... -liscsit [ library... ]
#include <libiscsit.h>
int it_tpg_create(it_config_t *cfg, it_tpg_t **tpg,
char *tpg_name, char *portal_ip_port);
int it_tpg_delete(it_config_t *cfg, it_tpg_t *tpg,
boolean_t force););
void it_tpg_free(it_tpg_t *tpg);
cfg
a pointer t the iSCSI configuration structure
tpg
a pointer to the it_tpg_t structure representing
the target portal group
tpg_name
an identifier for the target portal group
portal_ip_port
a string containing an appropriately formatted IP
address:port. Both IPv4 and IPv6 addresses are
permitted. This value becomes the first portal in
the target portal group. Applications can add
additional values using it_portal_create(3ISCSIT)
before committing the target portal group. IPv6
addresses should be enclosed in square brackets
('[', ']').
force
boolean value indicating if the target portal group
should be removed even if it is associated with one
or more targets. If not B_TRUE, the operation will
fail if the target product group is associated with
a target.
The it_tpg_create() function allocates and creates an it_tpg_t
structure representing a new iSCSI target portal group. The new
it_tpg_t structure is added to the global tpg list (cfg_tgt_list) in
the it_config_t structure.
The it_tpg_delete() function deletes the target portal group
represented by tpg, where tpg is an existing it_tpg_t structure
within the global configuration cfg.
The it_tpg_free() function deallocates resources associated with an
it_tpg_t structure. If tpg->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).
The it_tpg_create() and it_tpg_delete() functions return 0 on success
and an error value on failure.
The it_tpg_create() and it_tpg_delete() functions will fail if:
EBUSY
The portal group is associated with one or more targets.
EEXIST
The portal was already configured for another portal group
associated with this target.
EINVAL
A parameter 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_tgt_create(3ISCSIT), libiscsit(3LIB),
libnvpair(3LIB), libstmf(3LIB), attributes(7)
October 1, 2008 IT_TPG_CREATE(3ISCSIT)
NAME
it_tpg_create, it_tpg_delete, it_tpg_free - create and delete
iSCSI target portal groups
SYNOPSIS
cc [ flag... ] file... -liscsit [ library... ]
#include <libiscsit.h>
int it_tpg_create(it_config_t *cfg, it_tpg_t **tpg,
char *tpg_name, char *portal_ip_port);
int it_tpg_delete(it_config_t *cfg, it_tpg_t *tpg,
boolean_t force););
void it_tpg_free(it_tpg_t *tpg);
PARAMETERS
cfg
a pointer t the iSCSI configuration structure
tpg
a pointer to the it_tpg_t structure representing
the target portal group
tpg_name
an identifier for the target portal group
portal_ip_port
a string containing an appropriately formatted IP
address:port. Both IPv4 and IPv6 addresses are
permitted. This value becomes the first portal in
the target portal group. Applications can add
additional values using it_portal_create(3ISCSIT)
before committing the target portal group. IPv6
addresses should be enclosed in square brackets
('[', ']').
force
boolean value indicating if the target portal group
should be removed even if it is associated with one
or more targets. If not B_TRUE, the operation will
fail if the target product group is associated with
a target.
DESCRIPTION
The it_tpg_create() function allocates and creates an it_tpg_t
structure representing a new iSCSI target portal group. The new
it_tpg_t structure is added to the global tpg list (cfg_tgt_list) in
the it_config_t structure.
The it_tpg_delete() function deletes the target portal group
represented by tpg, where tpg is an existing it_tpg_t structure
within the global configuration cfg.
The it_tpg_free() function deallocates resources associated with an
it_tpg_t structure. If tpg->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).
RETURN VALUES
The it_tpg_create() and it_tpg_delete() functions return 0 on success
and an error value on failure.
ERRORS
The it_tpg_create() and it_tpg_delete() functions will fail if:
EBUSY
The portal group is associated with one or more targets.
EEXIST
The portal was already configured for another portal group
associated with this target.
EINVAL
A parameter 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_tgt_create(3ISCSIT), libiscsit(3LIB),
libnvpair(3LIB), libstmf(3LIB), attributes(7)
October 1, 2008 IT_TPG_CREATE(3ISCSIT)