xref: /titanic_52/usr/src/cmd/iscsiadm/sun_ima.h (revision 4246c8e92ef9ad6ada2b992b7af02832ff071bf7)
1fcf3ce44SJohn Forte /*
2fcf3ce44SJohn Forte  * CDDL HEADER START
3fcf3ce44SJohn Forte  *
4fcf3ce44SJohn Forte  * The contents of this file are subject to the terms of the
5fcf3ce44SJohn Forte  * Common Development and Distribution License (the "License").
6fcf3ce44SJohn Forte  * You may not use this file except in compliance with the License.
7fcf3ce44SJohn Forte  *
8fcf3ce44SJohn Forte  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9fcf3ce44SJohn Forte  * or http://www.opensolaris.org/os/licensing.
10fcf3ce44SJohn Forte  * See the License for the specific language governing permissions
11fcf3ce44SJohn Forte  * and limitations under the License.
12fcf3ce44SJohn Forte  *
13fcf3ce44SJohn Forte  * When distributing Covered Code, include this CDDL HEADER in each
14fcf3ce44SJohn Forte  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15fcf3ce44SJohn Forte  * If applicable, add the following below this CDDL HEADER, with the
16fcf3ce44SJohn Forte  * fields enclosed by brackets "[]" replaced with your own identifying
17fcf3ce44SJohn Forte  * information: Portions Copyright [yyyy] [name of copyright owner]
18fcf3ce44SJohn Forte  *
19fcf3ce44SJohn Forte  * CDDL HEADER END
20fcf3ce44SJohn Forte  */
21fcf3ce44SJohn Forte /*
22*4246c8e9SJack Meng  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
23fcf3ce44SJohn Forte  * Use is subject to license terms.
24fcf3ce44SJohn Forte  */
25fcf3ce44SJohn Forte 
26fcf3ce44SJohn Forte #ifndef	_SUN_IMA_H
27fcf3ce44SJohn Forte #define	_SUN_IMA_H
28fcf3ce44SJohn Forte 
29fcf3ce44SJohn Forte #include <iscsiadm.h>
30fcf3ce44SJohn Forte 
31fcf3ce44SJohn Forte #ifdef	__cplusplus
32fcf3ce44SJohn Forte extern "C" {
33fcf3ce44SJohn Forte #endif
34fcf3ce44SJohn Forte 
35fcf3ce44SJohn Forte IMA_API	IMA_STATUS SUN_IMA_GetDiscoveryAddressPropertiesList(
36fcf3ce44SJohn Forte     SUN_IMA_DISC_ADDR_PROP_LIST	**ppList);
37fcf3ce44SJohn Forte IMA_API IMA_STATUS SUN_IMA_GetStaticTargetProperties(
38fcf3ce44SJohn Forte 	IMA_OID	staticTargetOid,
39fcf3ce44SJohn Forte 	SUN_IMA_STATIC_TARGET_PROPERTIES *pProps);
40fcf3ce44SJohn Forte IMA_API IMA_STATUS SUN_IMA_AddStaticTarget(
41fcf3ce44SJohn Forte 	IMA_OID lhbaOid,
42fcf3ce44SJohn Forte 	const SUN_IMA_STATIC_DISCOVERY_TARGET staticConfig,
43fcf3ce44SJohn Forte 	IMA_OID *pTargetOid);
44fcf3ce44SJohn Forte IMA_API	IMA_STATUS SUN_IMA_GetTargetProperties(
45fcf3ce44SJohn Forte 	IMA_OID targetId,
46fcf3ce44SJohn Forte 	SUN_IMA_TARGET_PROPERTIES *pProps);
47fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_SetTargetAuthParams(
48fcf3ce44SJohn Forte 	IMA_OID targetOid,
49fcf3ce44SJohn Forte 	IMA_AUTHMETHOD method,
50fcf3ce44SJohn Forte 	const IMA_INITIATOR_AUTHPARMS *pParms);
51fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_GetTargetAuthMethods(
52fcf3ce44SJohn Forte 	IMA_OID		lhbaOid,
53fcf3ce44SJohn Forte 	IMA_OID		targetOid,
54fcf3ce44SJohn Forte 	IMA_UINT	*pMethodCount,
55fcf3ce44SJohn Forte 	IMA_AUTHMETHOD *pMethodList);
56fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_SetInitiatorRadiusConfig(
57fcf3ce44SJohn Forte 	IMA_OID	lhbaOid,
58fcf3ce44SJohn Forte 	SUN_IMA_RADIUS_CONFIG *config);
59fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_GetInitiatorRadiusConfig(
60fcf3ce44SJohn Forte 	IMA_OID	lhbaOid,
61fcf3ce44SJohn Forte 	SUN_IMA_RADIUS_CONFIG *config);
62fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_SetInitiatorRadiusAccess(
63fcf3ce44SJohn Forte 	IMA_OID lhbaOid,
64fcf3ce44SJohn Forte 	IMA_BOOL radiusAccess);
65fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_GetInitiatorRadiusAccess(
66fcf3ce44SJohn Forte 	IMA_OID lhbaOid,
67fcf3ce44SJohn Forte 	IMA_BOOL *radiusAccess);
68fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_SendTargets(
69fcf3ce44SJohn Forte 	IMA_NODE_NAME nodeName,
70fcf3ce44SJohn Forte 	IMA_TARGET_ADDRESS address,
71fcf3ce44SJohn Forte 	SUN_IMA_DISC_ADDRESS_KEY_PROPERTIES **ppList);
72fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_SetTargetBidirAuthFlag(
73fcf3ce44SJohn Forte 	IMA_OID targetOid,
74fcf3ce44SJohn Forte 	IMA_BOOL *bidirAuthFlag);
75fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_GetTargetBidirAuthFlag(
76fcf3ce44SJohn Forte 	IMA_OID targetOid,
77fcf3ce44SJohn Forte 	IMA_BOOL *bidirAuthFlag);
78fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_CreateTargetOid(
79fcf3ce44SJohn Forte 	IMA_NODE_NAME targetName,
80fcf3ce44SJohn Forte 	IMA_OID *targetOid);
81fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_RemoveTargetParam(
82fcf3ce44SJohn Forte 	IMA_OID targetOid);
83fcf3ce44SJohn Forte IMA_API IMA_STATUS SUN_IMA_SetHeaderDigest(
84fcf3ce44SJohn Forte 	IMA_OID oid,
85fcf3ce44SJohn Forte 	IMA_UINT algorithmCount,
86fcf3ce44SJohn Forte 	const SUN_IMA_DIGEST_ALGORITHM *algorithmList);
87fcf3ce44SJohn Forte IMA_API IMA_STATUS SUN_IMA_SetDataDigest(
88fcf3ce44SJohn Forte 	IMA_OID oid,
89fcf3ce44SJohn Forte 	IMA_UINT algorithmCount,
90fcf3ce44SJohn Forte 	const SUN_IMA_DIGEST_ALGORITHM *algorithmList);
91fcf3ce44SJohn Forte IMA_API IMA_STATUS SUN_IMA_GetHeaderDigest(
92fcf3ce44SJohn Forte 	IMA_OID oid,
93fcf3ce44SJohn Forte 	SUN_IMA_DIGEST_ALGORITHM_VALUE *algorithm);
94fcf3ce44SJohn Forte IMA_API IMA_STATUS SUN_IMA_GetDataDigest(
95fcf3ce44SJohn Forte 	IMA_OID oid,
96fcf3ce44SJohn Forte 	SUN_IMA_DIGEST_ALGORITHM_VALUE *algorithm);
97fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_GetLuProperties(
98fcf3ce44SJohn Forte 	IMA_OID luId,
99fcf3ce44SJohn Forte 	SUN_IMA_LU_PROPERTIES *pProps);
100fcf3ce44SJohn Forte IMA_API	IMA_STATUS SUN_IMA_GetConnOidList(
101fcf3ce44SJohn Forte 	IMA_OID	*oid,
102fcf3ce44SJohn Forte 	IMA_OID_LIST **ppList);
103fcf3ce44SJohn Forte IMA_API	IMA_STATUS SUN_IMA_GetConnProperties(
104fcf3ce44SJohn Forte 	IMA_OID	*connOid,
105fcf3ce44SJohn Forte 	SUN_IMA_CONN_PROPERTIES	**pProps);
106fcf3ce44SJohn Forte IMA_API IMA_STATUS SUN_IMA_GetConfigSessions(
107fcf3ce44SJohn Forte 	IMA_OID targetOid,
108fcf3ce44SJohn Forte 	SUN_IMA_CONFIG_SESSIONS **pConfigSessions);
109fcf3ce44SJohn Forte IMA_API IMA_STATUS SUN_IMA_SetConfigSessions(
110fcf3ce44SJohn Forte 	IMA_OID targetOid,
111fcf3ce44SJohn Forte 	SUN_IMA_CONFIG_SESSIONS *pConfigSessions);
112fcf3ce44SJohn Forte IMA_API	IMA_STATUS SUN_IMA_RemoveDiscoveryAddress(
113fcf3ce44SJohn Forte 	SUN_IMA_TARGET_ADDRESS discoveryAddress);
114fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_SetTargetAuthMethods(
115fcf3ce44SJohn Forte 	IMA_OID targetOid,
116fcf3ce44SJohn Forte 	IMA_UINT *methodCount,
117fcf3ce44SJohn Forte 	const IMA_AUTHMETHOD *pMethodList);
118fcf3ce44SJohn Forte IMA_STATUS getNegotiatedDigest(
119fcf3ce44SJohn Forte 	int digestType,
120fcf3ce44SJohn Forte 	SUN_IMA_DIGEST_ALGORITHM_VALUE *algorithm,
121fcf3ce44SJohn Forte 	SUN_IMA_CONN_PROPERTIES *connProps);
122fcf3ce44SJohn Forte IMA_API	IMA_STATUS SUN_IMA_GetISNSServerAddressPropertiesList(
123fcf3ce44SJohn Forte 	SUN_IMA_DISC_ADDR_PROP_LIST **ppList);
124fcf3ce44SJohn Forte IMA_API	IMA_STATUS SUN_IMA_RemoveISNSServerAddress(
125fcf3ce44SJohn Forte 	SUN_IMA_TARGET_ADDRESS isnsServerAddress);
126fcf3ce44SJohn Forte IMA_API IMA_STATUS SUN_IMA_AddISNSServerAddress(
127fcf3ce44SJohn Forte 	const SUN_IMA_TARGET_ADDRESS isnsServerAddress);
128fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_RetrieveISNSServerTargets(
129fcf3ce44SJohn Forte     IMA_TARGET_ADDRESS serverAddress,
130fcf3ce44SJohn Forte     SUN_IMA_DISC_ADDRESS_KEY_PROPERTIES **ppList);
131fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_GetSessionOidList(
132fcf3ce44SJohn Forte 	IMA_OID initiatorOid,
133fcf3ce44SJohn Forte 	IMA_OID_LIST **ppList);
134fcf3ce44SJohn Forte IMA_API	IMA_STATUS SUN_IMA_GetTargetAuthParms(
135fcf3ce44SJohn Forte 	IMA_OID oid,
136fcf3ce44SJohn Forte 	IMA_AUTHMETHOD method,
137fcf3ce44SJohn Forte 	IMA_INITIATOR_AUTHPARMS *pParms);
1386cefaae1SJack Meng IMA_STATUS SUN_IMA_GetBootTargetName(
1396cefaae1SJack Meng 	IMA_NODE_NAME tgtName);
1406cefaae1SJack Meng IMA_STATUS SUN_IMA_GetBootTargetAuthParams(
1416cefaae1SJack Meng 	IMA_INITIATOR_AUTHPARMS *pTgtCHAP);
1426cefaae1SJack Meng IMA_STATUS SUN_IMA_GetBootMpxio(
1436cefaae1SJack Meng 	IMA_BOOL *pMpxioEnabled);
1446cefaae1SJack Meng IMA_STATUS SUN_IMA_GetBootIscsi(
1456cefaae1SJack Meng 	IMA_BOOL *pIscsiBoot);
146*4246c8e9SJack Meng IMA_STATUS SUN_IMA_GetSvcStatus(
147*4246c8e9SJack Meng 	IMA_BOOL *pSvcEnabled);
148fcf3ce44SJohn Forte 
149fcf3ce44SJohn Forte #ifdef	__cplusplus
150fcf3ce44SJohn Forte }
151fcf3ce44SJohn Forte #endif
152fcf3ce44SJohn Forte 
153fcf3ce44SJohn Forte #endif	/* _SUN_IMA_H */
154