xref: /titanic_44/usr/src/man/man3iscsit/it_ini_create.3iscsit (revision f05d7fc81533be643136e12ce92516d1d4292921)
te
Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
IT_INI_CREATE 3ISCSIT "Oct 1, 2008"
NAME
it_ini_create, it_ini_setprop, it_ini_delete, it_ini_free - create, modify and delete iSCSI Initiator Contexts
SYNOPSIS

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

int it_ini_create(it_config_t *cfg, it_ini_t **ini,
 char *ini_node_name);

int it_ini_setprop(it_ini_t *ini, nvlist_t *proplist,
 nvlist_t **errlist););

void it_ini_delete(it_config_t *cfg, it_ini_t *ini);

void it_ini_free(it_ini_t *ini);
PARAMETERS
cfg

a pointer t the iSCSI configuration structure

ini

a pointer to the it_ini_t structure representing the initiator context

ini_node_name

the iSCSI node name of the remote initiator

proplist

a pointer to an nvlist_t containing the initiator properties to be set

errlist

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

DESCRIPTION

The it_ini_create() function adds an initiator context to the global configuration.

The it_ini_setprop() function validates the provided property list and sets the properties for the specified initiator. 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_ini_delete() function removes the specified initiator context from the global configuration.

The it_ini_free() function deallocates resources of an it_ini_t structure. If ini\(->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).

Initiator nvlist properties are as follows:

nvlist Key Type Valid Values
chapuser string any string, or none to remove
chapsecret string
string of at least 12 characters but not more than 255 characters. secret will be base64 encoded when stored.
RETURN VALUES

The it_ini_create(), it_ini_setprop(), and it_ini_delete() functions return 0 on success and an error value on failure.

ERRORS

The it_ini_create(), it_ini_setprop(), and it_ini_delete() functions will fail if: EEXIST

The requested initiator context is already configured.

EINVAL

A parameter or property is invalid.

ENOMEM

Resources could not be allocated.

ATTRIBUTES

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

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Committed
MT-Level MT-Safe
SEE ALSO

it_config_commit(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)