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