IT_TPG_CREATE(3ISCSIT) iSCSI Management Library Functions IT_TPG_CREATE(3ISCSIT)

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 OmniOS