xref: /illumos-gate/usr/src/cmd/iscsiadm/sun_ima.h (revision 904e51f6)
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*904e51f6SJack Meng  * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
23fcf3ce44SJohn Forte  */
24fcf3ce44SJohn Forte 
25fcf3ce44SJohn Forte #ifndef	_SUN_IMA_H
26fcf3ce44SJohn Forte #define	_SUN_IMA_H
27fcf3ce44SJohn Forte 
28fcf3ce44SJohn Forte #include <iscsiadm.h>
29fcf3ce44SJohn Forte 
30fcf3ce44SJohn Forte #ifdef	__cplusplus
31fcf3ce44SJohn Forte extern "C" {
32fcf3ce44SJohn Forte #endif
33fcf3ce44SJohn Forte 
34fcf3ce44SJohn Forte IMA_API	IMA_STATUS SUN_IMA_GetDiscoveryAddressPropertiesList(
35fcf3ce44SJohn Forte     SUN_IMA_DISC_ADDR_PROP_LIST	**ppList);
36fcf3ce44SJohn Forte IMA_API IMA_STATUS SUN_IMA_GetStaticTargetProperties(
37fcf3ce44SJohn Forte 	IMA_OID	staticTargetOid,
38fcf3ce44SJohn Forte 	SUN_IMA_STATIC_TARGET_PROPERTIES *pProps);
39fcf3ce44SJohn Forte IMA_API IMA_STATUS SUN_IMA_AddStaticTarget(
40fcf3ce44SJohn Forte 	IMA_OID lhbaOid,
41fcf3ce44SJohn Forte 	const SUN_IMA_STATIC_DISCOVERY_TARGET staticConfig,
42fcf3ce44SJohn Forte 	IMA_OID *pTargetOid);
43fcf3ce44SJohn Forte IMA_API	IMA_STATUS SUN_IMA_GetTargetProperties(
44fcf3ce44SJohn Forte 	IMA_OID targetId,
45fcf3ce44SJohn Forte 	SUN_IMA_TARGET_PROPERTIES *pProps);
46fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_SetTargetAuthParams(
47fcf3ce44SJohn Forte 	IMA_OID targetOid,
48fcf3ce44SJohn Forte 	IMA_AUTHMETHOD method,
49fcf3ce44SJohn Forte 	const IMA_INITIATOR_AUTHPARMS *pParms);
50fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_GetTargetAuthMethods(
51fcf3ce44SJohn Forte 	IMA_OID		lhbaOid,
52fcf3ce44SJohn Forte 	IMA_OID		targetOid,
53fcf3ce44SJohn Forte 	IMA_UINT	*pMethodCount,
54fcf3ce44SJohn Forte 	IMA_AUTHMETHOD *pMethodList);
55fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_SetInitiatorRadiusConfig(
56fcf3ce44SJohn Forte 	IMA_OID	lhbaOid,
57fcf3ce44SJohn Forte 	SUN_IMA_RADIUS_CONFIG *config);
58fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_GetInitiatorRadiusConfig(
59fcf3ce44SJohn Forte 	IMA_OID	lhbaOid,
60fcf3ce44SJohn Forte 	SUN_IMA_RADIUS_CONFIG *config);
61fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_SetInitiatorRadiusAccess(
62fcf3ce44SJohn Forte 	IMA_OID lhbaOid,
63fcf3ce44SJohn Forte 	IMA_BOOL radiusAccess);
64fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_GetInitiatorRadiusAccess(
65fcf3ce44SJohn Forte 	IMA_OID lhbaOid,
66fcf3ce44SJohn Forte 	IMA_BOOL *radiusAccess);
67fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_SendTargets(
68fcf3ce44SJohn Forte 	IMA_NODE_NAME nodeName,
69fcf3ce44SJohn Forte 	IMA_TARGET_ADDRESS address,
70fcf3ce44SJohn Forte 	SUN_IMA_DISC_ADDRESS_KEY_PROPERTIES **ppList);
71fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_SetTargetBidirAuthFlag(
72fcf3ce44SJohn Forte 	IMA_OID targetOid,
73fcf3ce44SJohn Forte 	IMA_BOOL *bidirAuthFlag);
74fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_GetTargetBidirAuthFlag(
75fcf3ce44SJohn Forte 	IMA_OID targetOid,
76fcf3ce44SJohn Forte 	IMA_BOOL *bidirAuthFlag);
77fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_CreateTargetOid(
78fcf3ce44SJohn Forte 	IMA_NODE_NAME targetName,
79fcf3ce44SJohn Forte 	IMA_OID *targetOid);
80fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_RemoveTargetParam(
81fcf3ce44SJohn Forte 	IMA_OID targetOid);
82fcf3ce44SJohn Forte IMA_API IMA_STATUS SUN_IMA_SetHeaderDigest(
83fcf3ce44SJohn Forte 	IMA_OID oid,
84fcf3ce44SJohn Forte 	IMA_UINT algorithmCount,
85fcf3ce44SJohn Forte 	const SUN_IMA_DIGEST_ALGORITHM *algorithmList);
86fcf3ce44SJohn Forte IMA_API IMA_STATUS SUN_IMA_SetDataDigest(
87fcf3ce44SJohn Forte 	IMA_OID oid,
88fcf3ce44SJohn Forte 	IMA_UINT algorithmCount,
89fcf3ce44SJohn Forte 	const SUN_IMA_DIGEST_ALGORITHM *algorithmList);
90fcf3ce44SJohn Forte IMA_API IMA_STATUS SUN_IMA_GetHeaderDigest(
91fcf3ce44SJohn Forte 	IMA_OID oid,
92fcf3ce44SJohn Forte 	SUN_IMA_DIGEST_ALGORITHM_VALUE *algorithm);
93fcf3ce44SJohn Forte IMA_API IMA_STATUS SUN_IMA_GetDataDigest(
94fcf3ce44SJohn Forte 	IMA_OID oid,
95fcf3ce44SJohn Forte 	SUN_IMA_DIGEST_ALGORITHM_VALUE *algorithm);
96fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_GetLuProperties(
97fcf3ce44SJohn Forte 	IMA_OID luId,
98fcf3ce44SJohn Forte 	SUN_IMA_LU_PROPERTIES *pProps);
99fcf3ce44SJohn Forte IMA_API	IMA_STATUS SUN_IMA_GetConnOidList(
100fcf3ce44SJohn Forte 	IMA_OID	*oid,
101fcf3ce44SJohn Forte 	IMA_OID_LIST **ppList);
102fcf3ce44SJohn Forte IMA_API	IMA_STATUS SUN_IMA_GetConnProperties(
103fcf3ce44SJohn Forte 	IMA_OID	*connOid,
104fcf3ce44SJohn Forte 	SUN_IMA_CONN_PROPERTIES	**pProps);
105fcf3ce44SJohn Forte IMA_API IMA_STATUS SUN_IMA_GetConfigSessions(
106fcf3ce44SJohn Forte 	IMA_OID targetOid,
107fcf3ce44SJohn Forte 	SUN_IMA_CONFIG_SESSIONS **pConfigSessions);
108fcf3ce44SJohn Forte IMA_API IMA_STATUS SUN_IMA_SetConfigSessions(
109fcf3ce44SJohn Forte 	IMA_OID targetOid,
110fcf3ce44SJohn Forte 	SUN_IMA_CONFIG_SESSIONS *pConfigSessions);
111fcf3ce44SJohn Forte IMA_API	IMA_STATUS SUN_IMA_RemoveDiscoveryAddress(
112fcf3ce44SJohn Forte 	SUN_IMA_TARGET_ADDRESS discoveryAddress);
113fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_SetTargetAuthMethods(
114fcf3ce44SJohn Forte 	IMA_OID targetOid,
115fcf3ce44SJohn Forte 	IMA_UINT *methodCount,
116fcf3ce44SJohn Forte 	const IMA_AUTHMETHOD *pMethodList);
117fcf3ce44SJohn Forte IMA_STATUS getNegotiatedDigest(
118fcf3ce44SJohn Forte 	int digestType,
119fcf3ce44SJohn Forte 	SUN_IMA_DIGEST_ALGORITHM_VALUE *algorithm,
120fcf3ce44SJohn Forte 	SUN_IMA_CONN_PROPERTIES *connProps);
121fcf3ce44SJohn Forte IMA_API	IMA_STATUS SUN_IMA_GetISNSServerAddressPropertiesList(
122fcf3ce44SJohn Forte 	SUN_IMA_DISC_ADDR_PROP_LIST **ppList);
123fcf3ce44SJohn Forte IMA_API	IMA_STATUS SUN_IMA_RemoveISNSServerAddress(
124fcf3ce44SJohn Forte 	SUN_IMA_TARGET_ADDRESS isnsServerAddress);
125fcf3ce44SJohn Forte IMA_API IMA_STATUS SUN_IMA_AddISNSServerAddress(
126fcf3ce44SJohn Forte 	const SUN_IMA_TARGET_ADDRESS isnsServerAddress);
127fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_RetrieveISNSServerTargets(
128fcf3ce44SJohn Forte     IMA_TARGET_ADDRESS serverAddress,
129fcf3ce44SJohn Forte     SUN_IMA_DISC_ADDRESS_KEY_PROPERTIES **ppList);
130fcf3ce44SJohn Forte IMA_STATUS SUN_IMA_GetSessionOidList(
131fcf3ce44SJohn Forte 	IMA_OID initiatorOid,
132fcf3ce44SJohn Forte 	IMA_OID_LIST **ppList);
133fcf3ce44SJohn Forte IMA_API	IMA_STATUS SUN_IMA_GetTargetAuthParms(
134fcf3ce44SJohn Forte 	IMA_OID oid,
135fcf3ce44SJohn Forte 	IMA_AUTHMETHOD method,
136fcf3ce44SJohn Forte 	IMA_INITIATOR_AUTHPARMS *pParms);
1376cefaae1SJack Meng IMA_STATUS SUN_IMA_GetBootTargetName(
1386cefaae1SJack Meng 	IMA_NODE_NAME tgtName);
1396cefaae1SJack Meng IMA_STATUS SUN_IMA_GetBootTargetAuthParams(
1406cefaae1SJack Meng 	IMA_INITIATOR_AUTHPARMS *pTgtCHAP);
1416cefaae1SJack Meng IMA_STATUS SUN_IMA_GetBootMpxio(
1426cefaae1SJack Meng 	IMA_BOOL *pMpxioEnabled);
1436cefaae1SJack Meng IMA_STATUS SUN_IMA_GetBootIscsi(
1446cefaae1SJack Meng 	IMA_BOOL *pIscsiBoot);
1454246c8e9SJack Meng IMA_STATUS SUN_IMA_GetSvcStatus(
1464246c8e9SJack Meng 	IMA_BOOL *pSvcEnabled);
147*904e51f6SJack Meng IMA_STATUS SUN_IMA_ReEnumeration(
148*904e51f6SJack Meng 	IMA_OID targetId);
149fcf3ce44SJohn Forte #ifdef	__cplusplus
150fcf3ce44SJohn Forte }
151fcf3ce44SJohn Forte #endif
152fcf3ce44SJohn Forte 
153fcf3ce44SJohn Forte #endif	/* _SUN_IMA_H */
154