1226031Sstas<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2226031Sstas<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3226031Sstas<title>HeimdalGSS-APIlibrary: Heimdal GSS-API functions</title>
4226031Sstas<link href="doxygen.css" rel="stylesheet" type="text/css">
5226031Sstas<link href="tabs.css" rel="stylesheet" type="text/css">
6226031Sstas</head><body>
7226031Sstas<p>
8226031Sstas<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
9226031Sstas</p>
10226031Sstas<!-- end of header marker -->
11226031Sstas<!-- Generated by Doxygen 1.5.6 -->
12226031Sstas<div class="navigation" id="top">
13226031Sstas  <div class="tabs">
14226031Sstas    <ul>
15226031Sstas      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
16226031Sstas      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
17226031Sstas      <li><a href="modules.html"><span>Modules</span></a></li>
18226031Sstas    </ul>
19226031Sstas  </div>
20226031Sstas</div>
21226031Sstas<div class="contents">
22226031Sstas<h1>Heimdal GSS-API functions</h1><table border="0" cellpadding="0" cellspacing="0">
23226031Sstas<tr><td></td></tr>
24226031Sstas<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
25226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
26226031SstasGSSAPI_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#g233373d4e0baa31615eb4d4f0ccb9683">gss_add_oid_set_member</a> (OM_uint32 *minor_status, const gss_OID member_oid, gss_OID_set *oid_set)</td></tr>
27226031Sstas
28226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
29226031SstasGSSAPI_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#gb02ec963066cc8e5e6682799457208e9">gss_wrap_iov</a> (OM_uint32 *minor_status, gss_ctx_id_t context_handle, int conf_req_flag, gss_qop_t qop_req, int *conf_state, gss_iov_buffer_desc *iov, int iov_count)</td></tr>
30226031Sstas
31226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
32226031SstasGSSAPI_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#g399bb326e47574aca7b28d6886d29fd0">gss_unwrap_iov</a> (OM_uint32 *minor_status, gss_ctx_id_t context_handle, int *conf_state, gss_qop_t *qop_state, gss_iov_buffer_desc *iov, int iov_count)</td></tr>
33226031Sstas
34226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
35226031SstasGSSAPI_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#g6216cfcb1ba8dc2d1a1d680d21752f26">gss_wrap_iov_length</a> (OM_uint32 *minor_status, gss_ctx_id_t context_handle, int conf_req_flag, gss_qop_t qop_req, int *conf_state, gss_iov_buffer_desc *iov, int iov_count)</td></tr>
36226031Sstas
37226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
38226031SstasGSSAPI_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#g2dbb20a4c9a3cf5072ef081cd37e54b4">gss_release_iov_buffer</a> (OM_uint32 *minor_status, gss_iov_buffer_desc *iov, int iov_count)</td></tr>
39226031Sstas
40226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
41226031SstasGSSAPI_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#g06e9814b830ed2fc4a756775a5bfd943">gss_canonicalize_name</a> (OM_uint32 *minor_status, const gss_name_t input_name, const gss_OID mech_type, gss_name_t *output_name)</td></tr>
42226031Sstas
43226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
44226031SstasGSSAPI_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#g0afe06fd5264ebfb93ecca4bcc70895b">gss_import_name</a> (OM_uint32 *minor_status, const gss_buffer_t input_name_buffer, const gss_OID input_name_type, gss_name_t *output_name)</td></tr>
45226031Sstas
46226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
47226031SstasGSSAPI_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#g8eb94eab14874226b748710f833474eb">gss_init_sec_context</a> (OM_uint32 *minor_status, const gss_cred_id_t initiator_cred_handle, gss_ctx_id_t *context_handle, const gss_name_t target_name, const gss_OID input_mech_type, OM_uint32 req_flags, OM_uint32 time_req, const gss_channel_bindings_t input_chan_bindings, const gss_buffer_t input_token, gss_OID *actual_mech_type, gss_buffer_t output_token, OM_uint32 *ret_flags, OM_uint32 *time_rec)</td></tr>
48226031Sstas
49226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
50226031SstasGSSAPI_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#gdc725eaf82322d8cf50812fc26442893">gss_inquire_saslname_for_mech</a> (OM_uint32 *minor_status, const gss_OID desired_mech, gss_buffer_t sasl_mech_name, gss_buffer_t mech_name, gss_buffer_t mech_description)</td></tr>
51226031Sstas
52226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
53226031SstasGSSAPI_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#gf472671a43512495de04ca0c69079e5d">gss_inquire_attrs_for_mech</a> (OM_uint32 *minor_status, gss_const_OID mech, gss_OID_set *mech_attr, gss_OID_set *known_mech_attrs)</td></tr>
54226031Sstas
55226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION int <br>
56226031SstasGSSAPI_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#gc98677df7ae9bbc387cd68002a97ad15">gss_oid_equal</a> (gss_const_OID a, gss_const_OID b)</td></tr>
57226031Sstas
58226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
59226031SstasGSSAPI_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#gd2990721c56fe83e06d45648874680d7">gss_release_cred</a> (OM_uint32 *minor_status, gss_cred_id_t *cred_handle)</td></tr>
60226031Sstas
61226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
62226031SstasGSSAPI_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#g0691190338f1f24170bd5f695ff1e721">gss_release_name</a> (OM_uint32 *minor_status, gss_name_t *input_name)</td></tr>
63226031Sstas
64226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
65226031SstasGSSAPI_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#g89a6d98056b75a8a25152de268833f51">gss_wrap</a> (OM_uint32 *minor_status, const gss_ctx_id_t context_handle, int conf_req_flag, gss_qop_t qop_req, const gss_buffer_t input_message_buffer, int *conf_state, gss_buffer_t output_message_buffer)</td></tr>
66226031Sstas
67226031Sstas<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
68226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">gss_OID_desc GSSAPI_LIB_FUNCTION&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#g961f7a7f9f92e06b91c6d503e524a672">__gss_c_attr_stream_sizes_oid_desc</a></td></tr>
69226031Sstas
70226031Sstas</table>
71226031Sstas<hr><a name="_details"></a><h2>Detailed Description</h2>
72226031Sstas<hr><h2>Function Documentation</h2>
73226031Sstas<a class="anchor" name="g233373d4e0baa31615eb4d4f0ccb9683"></a><!-- doxytag: member="gss_add_oid_set_member.c::gss_add_oid_set_member" ref="g233373d4e0baa31615eb4d4f0ccb9683" args="(OM_uint32 *minor_status, const gss_OID member_oid, gss_OID_set *oid_set)" -->
74226031Sstas<div class="memitem">
75226031Sstas<div class="memproto">
76226031Sstas      <table class="memname">
77226031Sstas        <tr>
78226031Sstas          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_add_oid_set_member           </td>
79226031Sstas          <td>(</td>
80226031Sstas          <td class="paramtype">OM_uint32 *&nbsp;</td>
81226031Sstas          <td class="paramname"> <em>minor_status</em>, </td>
82226031Sstas        </tr>
83226031Sstas        <tr>
84226031Sstas          <td class="paramkey"></td>
85226031Sstas          <td></td>
86226031Sstas          <td class="paramtype">const gss_OID&nbsp;</td>
87226031Sstas          <td class="paramname"> <em>member_oid</em>, </td>
88226031Sstas        </tr>
89226031Sstas        <tr>
90226031Sstas          <td class="paramkey"></td>
91226031Sstas          <td></td>
92226031Sstas          <td class="paramtype">gss_OID_set *&nbsp;</td>
93226031Sstas          <td class="paramname"> <em>oid_set</em></td><td>&nbsp;</td>
94226031Sstas        </tr>
95226031Sstas        <tr>
96226031Sstas          <td></td>
97226031Sstas          <td>)</td>
98226031Sstas          <td></td><td></td><td></td>
99226031Sstas        </tr>
100226031Sstas      </table>
101226031Sstas</div>
102226031Sstas<div class="memdoc">
103226031Sstas
104226031Sstas<p>
105226031SstasAdd a oid to the oid set, function does not make a copy of the oid, so the pointer to member_oid needs to be stable for the whole time oid_set is used.<p>
106226031SstasIf there is a duplicate member of the oid, the new member is not added to to the set.<p>
107226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd>
108226031Sstas  <table border="0" cellspacing="2" cellpadding="0">
109226031Sstas    <tr><td valign="top"></td><td valign="top"><em>minor_status</em>&nbsp;</td><td>minor status code. </td></tr>
110226031Sstas    <tr><td valign="top"></td><td valign="top"><em>member_oid</em>&nbsp;</td><td>member to add to the oid set </td></tr>
111226031Sstas    <tr><td valign="top"></td><td valign="top"><em>oid_set</em>&nbsp;</td><td>oid set to add the member too</td></tr>
112226031Sstas  </table>
113226031Sstas</dl>
114226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>a gss_error code, see gss_display_status() about printing the error code. </dd></dl>
115226031Sstas
116226031Sstas</div>
117226031Sstas</div><p>
118226031Sstas<a class="anchor" name="g06e9814b830ed2fc4a756775a5bfd943"></a><!-- doxytag: member="gss_canonicalize_name.c::gss_canonicalize_name" ref="g06e9814b830ed2fc4a756775a5bfd943" args="(OM_uint32 *minor_status, const gss_name_t input_name, const gss_OID mech_type, gss_name_t *output_name)" -->
119226031Sstas<div class="memitem">
120226031Sstas<div class="memproto">
121226031Sstas      <table class="memname">
122226031Sstas        <tr>
123226031Sstas          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_canonicalize_name           </td>
124226031Sstas          <td>(</td>
125226031Sstas          <td class="paramtype">OM_uint32 *&nbsp;</td>
126226031Sstas          <td class="paramname"> <em>minor_status</em>, </td>
127226031Sstas        </tr>
128226031Sstas        <tr>
129226031Sstas          <td class="paramkey"></td>
130226031Sstas          <td></td>
131226031Sstas          <td class="paramtype">const gss_name_t&nbsp;</td>
132226031Sstas          <td class="paramname"> <em>input_name</em>, </td>
133226031Sstas        </tr>
134226031Sstas        <tr>
135226031Sstas          <td class="paramkey"></td>
136226031Sstas          <td></td>
137226031Sstas          <td class="paramtype">const gss_OID&nbsp;</td>
138226031Sstas          <td class="paramname"> <em>mech_type</em>, </td>
139226031Sstas        </tr>
140226031Sstas        <tr>
141226031Sstas          <td class="paramkey"></td>
142226031Sstas          <td></td>
143226031Sstas          <td class="paramtype">gss_name_t *&nbsp;</td>
144226031Sstas          <td class="paramname"> <em>output_name</em></td><td>&nbsp;</td>
145226031Sstas        </tr>
146226031Sstas        <tr>
147226031Sstas          <td></td>
148226031Sstas          <td>)</td>
149226031Sstas          <td></td><td></td><td></td>
150226031Sstas        </tr>
151226031Sstas      </table>
152226031Sstas</div>
153226031Sstas<div class="memdoc">
154226031Sstas
155226031Sstas<p>
156226031Sstasgss_canonicalize_name takes a Internal Name (IN) and converts in into a mechanism specific Mechanism Name (MN).<p>
157226031SstasThe input name may multiple name, or generic name types.<p>
158226031SstasIf the input_name if of the GSS_C_NT_USER_NAME, and the Kerberos mechanism is specified, the resulting MN type is a GSS_KRB5_NT_PRINCIPAL_NAME.<p>
159226031SstasFor more information about <a class="el" href="internalvsmechname.html">internalVSmechname</a>.<p>
160226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd>
161226031Sstas  <table border="0" cellspacing="2" cellpadding="0">
162226031Sstas    <tr><td valign="top"></td><td valign="top"><em>minor_status</em>&nbsp;</td><td>minor status code. </td></tr>
163226031Sstas    <tr><td valign="top"></td><td valign="top"><em>input_name</em>&nbsp;</td><td>name to covert, unchanged by <a class="el" href="group__gssapi.html#g06e9814b830ed2fc4a756775a5bfd943">gss_canonicalize_name()</a>. </td></tr>
164226031Sstas    <tr><td valign="top"></td><td valign="top"><em>mech_type</em>&nbsp;</td><td>the type to convert Name too. </td></tr>
165226031Sstas    <tr><td valign="top"></td><td valign="top"><em>output_name</em>&nbsp;</td><td>the resulting type, release with <a class="el" href="group__gssapi.html#g0691190338f1f24170bd5f695ff1e721">gss_release_name()</a>, independent of input_name.</td></tr>
166226031Sstas  </table>
167226031Sstas</dl>
168226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>a gss_error code, see gss_display_status() about printing the error code. </dd></dl>
169226031Sstas
170226031Sstas</div>
171226031Sstas</div><p>
172226031Sstas<a class="anchor" name="g0afe06fd5264ebfb93ecca4bcc70895b"></a><!-- doxytag: member="gss_import_name.c::gss_import_name" ref="g0afe06fd5264ebfb93ecca4bcc70895b" args="(OM_uint32 *minor_status, const gss_buffer_t input_name_buffer, const gss_OID input_name_type, gss_name_t *output_name)" -->
173226031Sstas<div class="memitem">
174226031Sstas<div class="memproto">
175226031Sstas      <table class="memname">
176226031Sstas        <tr>
177226031Sstas          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_import_name           </td>
178226031Sstas          <td>(</td>
179226031Sstas          <td class="paramtype">OM_uint32 *&nbsp;</td>
180226031Sstas          <td class="paramname"> <em>minor_status</em>, </td>
181226031Sstas        </tr>
182226031Sstas        <tr>
183226031Sstas          <td class="paramkey"></td>
184226031Sstas          <td></td>
185226031Sstas          <td class="paramtype">const gss_buffer_t&nbsp;</td>
186226031Sstas          <td class="paramname"> <em>input_name_buffer</em>, </td>
187226031Sstas        </tr>
188226031Sstas        <tr>
189226031Sstas          <td class="paramkey"></td>
190226031Sstas          <td></td>
191226031Sstas          <td class="paramtype">const gss_OID&nbsp;</td>
192226031Sstas          <td class="paramname"> <em>input_name_type</em>, </td>
193226031Sstas        </tr>
194226031Sstas        <tr>
195226031Sstas          <td class="paramkey"></td>
196226031Sstas          <td></td>
197226031Sstas          <td class="paramtype">gss_name_t *&nbsp;</td>
198226031Sstas          <td class="paramname"> <em>output_name</em></td><td>&nbsp;</td>
199226031Sstas        </tr>
200226031Sstas        <tr>
201226031Sstas          <td></td>
202226031Sstas          <td>)</td>
203226031Sstas          <td></td><td></td><td></td>
204226031Sstas        </tr>
205226031Sstas      </table>
206226031Sstas</div>
207226031Sstas<div class="memdoc">
208226031Sstas
209226031Sstas<p>
210226031SstasImport a name internal or mechanism name<p>
211226031SstasType of name and their format:<ul>
212226031Sstas<li>GSS_C_NO_OID</li><li>GSS_C_NT_USER_NAME</li><li>GSS_C_NT_HOSTBASED_SERVICE</li><li>GSS_C_NT_EXPORT_NAME</li><li>GSS_C_NT_ANONYMOUS</li><li>GSS_KRB5_NT_PRINCIPAL_NAME</li></ul>
213226031Sstas<p>
214226031SstasFor more information about <a class="el" href="internalvsmechname.html">internalVSmechname</a>.<p>
215226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd>
216226031Sstas  <table border="0" cellspacing="2" cellpadding="0">
217226031Sstas    <tr><td valign="top"></td><td valign="top"><em>minor_status</em>&nbsp;</td><td>minor status code </td></tr>
218226031Sstas    <tr><td valign="top"></td><td valign="top"><em>input_name_buffer</em>&nbsp;</td><td>import name buffer </td></tr>
219226031Sstas    <tr><td valign="top"></td><td valign="top"><em>input_name_type</em>&nbsp;</td><td>type of the import name buffer </td></tr>
220226031Sstas    <tr><td valign="top"></td><td valign="top"><em>output_name</em>&nbsp;</td><td>the resulting type, release with <a class="el" href="group__gssapi.html#g0691190338f1f24170bd5f695ff1e721">gss_release_name()</a>, independent of input_name</td></tr>
221226031Sstas  </table>
222226031Sstas</dl>
223226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>a gss_error code, see gss_display_status() about printing the error code. </dd></dl>
224226031Sstas
225226031Sstas</div>
226226031Sstas</div><p>
227226031Sstas<a class="anchor" name="g8eb94eab14874226b748710f833474eb"></a><!-- doxytag: member="gss_init_sec_context.c::gss_init_sec_context" ref="g8eb94eab14874226b748710f833474eb" args="(OM_uint32 *minor_status, const gss_cred_id_t initiator_cred_handle, gss_ctx_id_t *context_handle, const gss_name_t target_name, const gss_OID input_mech_type, OM_uint32 req_flags, OM_uint32 time_req, const gss_channel_bindings_t input_chan_bindings, const gss_buffer_t input_token, gss_OID *actual_mech_type, gss_buffer_t output_token, OM_uint32 *ret_flags, OM_uint32 *time_rec)" -->
228226031Sstas<div class="memitem">
229226031Sstas<div class="memproto">
230226031Sstas      <table class="memname">
231226031Sstas        <tr>
232226031Sstas          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_init_sec_context           </td>
233226031Sstas          <td>(</td>
234226031Sstas          <td class="paramtype">OM_uint32 *&nbsp;</td>
235226031Sstas          <td class="paramname"> <em>minor_status</em>, </td>
236226031Sstas        </tr>
237226031Sstas        <tr>
238226031Sstas          <td class="paramkey"></td>
239226031Sstas          <td></td>
240226031Sstas          <td class="paramtype">const gss_cred_id_t&nbsp;</td>
241226031Sstas          <td class="paramname"> <em>initiator_cred_handle</em>, </td>
242226031Sstas        </tr>
243226031Sstas        <tr>
244226031Sstas          <td class="paramkey"></td>
245226031Sstas          <td></td>
246226031Sstas          <td class="paramtype">gss_ctx_id_t *&nbsp;</td>
247226031Sstas          <td class="paramname"> <em>context_handle</em>, </td>
248226031Sstas        </tr>
249226031Sstas        <tr>
250226031Sstas          <td class="paramkey"></td>
251226031Sstas          <td></td>
252226031Sstas          <td class="paramtype">const gss_name_t&nbsp;</td>
253226031Sstas          <td class="paramname"> <em>target_name</em>, </td>
254226031Sstas        </tr>
255226031Sstas        <tr>
256226031Sstas          <td class="paramkey"></td>
257226031Sstas          <td></td>
258226031Sstas          <td class="paramtype">const gss_OID&nbsp;</td>
259226031Sstas          <td class="paramname"> <em>input_mech_type</em>, </td>
260226031Sstas        </tr>
261226031Sstas        <tr>
262226031Sstas          <td class="paramkey"></td>
263226031Sstas          <td></td>
264226031Sstas          <td class="paramtype">OM_uint32&nbsp;</td>
265226031Sstas          <td class="paramname"> <em>req_flags</em>, </td>
266226031Sstas        </tr>
267226031Sstas        <tr>
268226031Sstas          <td class="paramkey"></td>
269226031Sstas          <td></td>
270226031Sstas          <td class="paramtype">OM_uint32&nbsp;</td>
271226031Sstas          <td class="paramname"> <em>time_req</em>, </td>
272226031Sstas        </tr>
273226031Sstas        <tr>
274226031Sstas          <td class="paramkey"></td>
275226031Sstas          <td></td>
276226031Sstas          <td class="paramtype">const gss_channel_bindings_t&nbsp;</td>
277226031Sstas          <td class="paramname"> <em>input_chan_bindings</em>, </td>
278226031Sstas        </tr>
279226031Sstas        <tr>
280226031Sstas          <td class="paramkey"></td>
281226031Sstas          <td></td>
282226031Sstas          <td class="paramtype">const gss_buffer_t&nbsp;</td>
283226031Sstas          <td class="paramname"> <em>input_token</em>, </td>
284226031Sstas        </tr>
285226031Sstas        <tr>
286226031Sstas          <td class="paramkey"></td>
287226031Sstas          <td></td>
288226031Sstas          <td class="paramtype">gss_OID *&nbsp;</td>
289226031Sstas          <td class="paramname"> <em>actual_mech_type</em>, </td>
290226031Sstas        </tr>
291226031Sstas        <tr>
292226031Sstas          <td class="paramkey"></td>
293226031Sstas          <td></td>
294226031Sstas          <td class="paramtype">gss_buffer_t&nbsp;</td>
295226031Sstas          <td class="paramname"> <em>output_token</em>, </td>
296226031Sstas        </tr>
297226031Sstas        <tr>
298226031Sstas          <td class="paramkey"></td>
299226031Sstas          <td></td>
300226031Sstas          <td class="paramtype">OM_uint32 *&nbsp;</td>
301226031Sstas          <td class="paramname"> <em>ret_flags</em>, </td>
302226031Sstas        </tr>
303226031Sstas        <tr>
304226031Sstas          <td class="paramkey"></td>
305226031Sstas          <td></td>
306226031Sstas          <td class="paramtype">OM_uint32 *&nbsp;</td>
307226031Sstas          <td class="paramname"> <em>time_rec</em></td><td>&nbsp;</td>
308226031Sstas        </tr>
309226031Sstas        <tr>
310226031Sstas          <td></td>
311226031Sstas          <td>)</td>
312226031Sstas          <td></td><td></td><td></td>
313226031Sstas        </tr>
314226031Sstas      </table>
315226031Sstas</div>
316226031Sstas<div class="memdoc">
317226031Sstas
318226031Sstas<p>
319226031SstasAs the initiator build a context with an acceptor.<p>
320226031SstasReturns in the major<ul>
321226031Sstas<li>GSS_S_COMPLETE - if the context if build</li><li>GSS_S_CONTINUE_NEEDED - if the caller needs to continue another round of gss_i nit_sec_context</li><li>error code - any other error code</li></ul>
322226031Sstas<p>
323226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd>
324226031Sstas  <table border="0" cellspacing="2" cellpadding="0">
325226031Sstas    <tr><td valign="top"></td><td valign="top"><em>minor_status</em>&nbsp;</td><td>minor status code.</td></tr>
326226031Sstas    <tr><td valign="top"></td><td valign="top"><em>initiator_cred_handle</em>&nbsp;</td><td>the credential to use when building the context, if GSS_C_NO_CREDENTIAL is passed, the default credential for the mechanism will be used.</td></tr>
327226031Sstas    <tr><td valign="top"></td><td valign="top"><em>context_handle</em>&nbsp;</td><td>a pointer to a context handle, will be returned as long as there is not an error.</td></tr>
328226031Sstas    <tr><td valign="top"></td><td valign="top"><em>target_name</em>&nbsp;</td><td>the target name of acceptor, created using <a class="el" href="group__gssapi.html#g0afe06fd5264ebfb93ecca4bcc70895b">gss_import_name()</a>. The name is can be of any name types the mechanism supports, check supported name types with gss_inquire_names_for_mech().</td></tr>
329226031Sstas    <tr><td valign="top"></td><td valign="top"><em>input_mech_type</em>&nbsp;</td><td>mechanism type to use, if GSS_C_NO_OID is used, Kerberos (GSS_KRB5_MECHANISM) will be tried. Other available mechanism are listed in the <a class="el" href="gssapi_mechs_intro.html">GSS-API mechanisms</a> section.</td></tr>
330226031Sstas    <tr><td valign="top"></td><td valign="top"><em>req_flags</em>&nbsp;</td><td>flags using when building the context, see <a class="el" href="gssapi_services_intro.html#gssapi_context_flags">Context creation flags</a></td></tr>
331226031Sstas    <tr><td valign="top"></td><td valign="top"><em>time_req</em>&nbsp;</td><td>time requested this context should be valid in seconds, common used value is GSS_C_INDEFINITE</td></tr>
332226031Sstas    <tr><td valign="top"></td><td valign="top"><em>input_chan_bindings</em>&nbsp;</td><td>Channel bindings used, if not exepected otherwise, used GSS_C_NO_CHANNEL_BINDINGS</td></tr>
333226031Sstas    <tr><td valign="top"></td><td valign="top"><em>input_token</em>&nbsp;</td><td>input token sent from the acceptor, for the initial packet the buffer of { NULL, 0 } should be used.</td></tr>
334226031Sstas    <tr><td valign="top"></td><td valign="top"><em>actual_mech_type</em>&nbsp;</td><td>the actual mech used, MUST NOT be freed since it pointing to static memory.</td></tr>
335226031Sstas    <tr><td valign="top"></td><td valign="top"><em>output_token</em>&nbsp;</td><td>if there is an output token, regardless of complete, continue_needed, or error it should be sent to the acceptor</td></tr>
336226031Sstas    <tr><td valign="top"></td><td valign="top"><em>ret_flags</em>&nbsp;</td><td>return what flags was negotitated, caller should check if they are accetable. For example, if GSS_C_MUTUAL_FLAG was negotiated with the acceptor or not.</td></tr>
337226031Sstas    <tr><td valign="top"></td><td valign="top"><em>time_rec</em>&nbsp;</td><td>amount of time this context is valid for</td></tr>
338226031Sstas  </table>
339226031Sstas</dl>
340226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>a gss_error code, see gss_display_status() about printing the error code. </dd></dl>
341226031Sstas
342226031Sstas</div>
343226031Sstas</div><p>
344226031Sstas<a class="anchor" name="gf472671a43512495de04ca0c69079e5d"></a><!-- doxytag: member="gss_mo.c::gss_inquire_attrs_for_mech" ref="gf472671a43512495de04ca0c69079e5d" args="(OM_uint32 *minor_status, gss_const_OID mech, gss_OID_set *mech_attr, gss_OID_set *known_mech_attrs)" -->
345226031Sstas<div class="memitem">
346226031Sstas<div class="memproto">
347226031Sstas      <table class="memname">
348226031Sstas        <tr>
349226031Sstas          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_inquire_attrs_for_mech           </td>
350226031Sstas          <td>(</td>
351226031Sstas          <td class="paramtype">OM_uint32 *&nbsp;</td>
352226031Sstas          <td class="paramname"> <em>minor_status</em>, </td>
353226031Sstas        </tr>
354226031Sstas        <tr>
355226031Sstas          <td class="paramkey"></td>
356226031Sstas          <td></td>
357226031Sstas          <td class="paramtype">gss_const_OID&nbsp;</td>
358226031Sstas          <td class="paramname"> <em>mech</em>, </td>
359226031Sstas        </tr>
360226031Sstas        <tr>
361226031Sstas          <td class="paramkey"></td>
362226031Sstas          <td></td>
363226031Sstas          <td class="paramtype">gss_OID_set *&nbsp;</td>
364226031Sstas          <td class="paramname"> <em>mech_attr</em>, </td>
365226031Sstas        </tr>
366226031Sstas        <tr>
367226031Sstas          <td class="paramkey"></td>
368226031Sstas          <td></td>
369226031Sstas          <td class="paramtype">gss_OID_set *&nbsp;</td>
370226031Sstas          <td class="paramname"> <em>known_mech_attrs</em></td><td>&nbsp;</td>
371226031Sstas        </tr>
372226031Sstas        <tr>
373226031Sstas          <td></td>
374226031Sstas          <td>)</td>
375226031Sstas          <td></td><td></td><td></td>
376226031Sstas        </tr>
377226031Sstas      </table>
378226031Sstas</div>
379226031Sstas<div class="memdoc">
380226031Sstas
381226031Sstas<p>
382226031SstasList support attributes for a mech and/or all mechanisms.<p>
383226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd>
384226031Sstas  <table border="0" cellspacing="2" cellpadding="0">
385226031Sstas    <tr><td valign="top"></td><td valign="top"><em>minor_status</em>&nbsp;</td><td>minor status code </td></tr>
386226031Sstas    <tr><td valign="top"></td><td valign="top"><em>mech</em>&nbsp;</td><td>given together with mech_attr will return the list of attributes for mechanism, can optionally be GSS_C_NO_OID. </td></tr>
387226031Sstas    <tr><td valign="top"></td><td valign="top"><em>mech_attr</em>&nbsp;</td><td>see mech parameter, can optionally be NULL, release with gss_release_oid_set(). </td></tr>
388226031Sstas    <tr><td valign="top"></td><td valign="top"><em>known_mech_attrs</em>&nbsp;</td><td>all attributes for mechanisms supported, release with gss_release_oid_set(). </td></tr>
389226031Sstas  </table>
390226031Sstas</dl>
391226031Sstas
392226031Sstas</div>
393226031Sstas</div><p>
394226031Sstas<a class="anchor" name="gdc725eaf82322d8cf50812fc26442893"></a><!-- doxytag: member="gss_mo.c::gss_inquire_saslname_for_mech" ref="gdc725eaf82322d8cf50812fc26442893" args="(OM_uint32 *minor_status, const gss_OID desired_mech, gss_buffer_t sasl_mech_name, gss_buffer_t mech_name, gss_buffer_t mech_description)" -->
395226031Sstas<div class="memitem">
396226031Sstas<div class="memproto">
397226031Sstas      <table class="memname">
398226031Sstas        <tr>
399226031Sstas          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_inquire_saslname_for_mech           </td>
400226031Sstas          <td>(</td>
401226031Sstas          <td class="paramtype">OM_uint32 *&nbsp;</td>
402226031Sstas          <td class="paramname"> <em>minor_status</em>, </td>
403226031Sstas        </tr>
404226031Sstas        <tr>
405226031Sstas          <td class="paramkey"></td>
406226031Sstas          <td></td>
407226031Sstas          <td class="paramtype">const gss_OID&nbsp;</td>
408226031Sstas          <td class="paramname"> <em>desired_mech</em>, </td>
409226031Sstas        </tr>
410226031Sstas        <tr>
411226031Sstas          <td class="paramkey"></td>
412226031Sstas          <td></td>
413226031Sstas          <td class="paramtype">gss_buffer_t&nbsp;</td>
414226031Sstas          <td class="paramname"> <em>sasl_mech_name</em>, </td>
415226031Sstas        </tr>
416226031Sstas        <tr>
417226031Sstas          <td class="paramkey"></td>
418226031Sstas          <td></td>
419226031Sstas          <td class="paramtype">gss_buffer_t&nbsp;</td>
420226031Sstas          <td class="paramname"> <em>mech_name</em>, </td>
421226031Sstas        </tr>
422226031Sstas        <tr>
423226031Sstas          <td class="paramkey"></td>
424226031Sstas          <td></td>
425226031Sstas          <td class="paramtype">gss_buffer_t&nbsp;</td>
426226031Sstas          <td class="paramname"> <em>mech_description</em></td><td>&nbsp;</td>
427226031Sstas        </tr>
428226031Sstas        <tr>
429226031Sstas          <td></td>
430226031Sstas          <td>)</td>
431226031Sstas          <td></td><td></td><td></td>
432226031Sstas        </tr>
433226031Sstas      </table>
434226031Sstas</div>
435226031Sstas<div class="memdoc">
436226031Sstas
437226031Sstas<p>
438226031SstasReturns different protocol names and description of the mechanism.<p>
439226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd>
440226031Sstas  <table border="0" cellspacing="2" cellpadding="0">
441226031Sstas    <tr><td valign="top"></td><td valign="top"><em>minor_status</em>&nbsp;</td><td>minor status code </td></tr>
442226031Sstas    <tr><td valign="top"></td><td valign="top"><em>desired_mech</em>&nbsp;</td><td>mech list query </td></tr>
443226031Sstas    <tr><td valign="top"></td><td valign="top"><em>sasl_mech_name</em>&nbsp;</td><td>SASL GS2 protocol name </td></tr>
444226031Sstas    <tr><td valign="top"></td><td valign="top"><em>mech_name</em>&nbsp;</td><td>gssapi protocol name </td></tr>
445226031Sstas    <tr><td valign="top"></td><td valign="top"><em>mech_description</em>&nbsp;</td><td>description of gssapi mech</td></tr>
446226031Sstas  </table>
447226031Sstas</dl>
448226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>returns GSS_S_COMPLETE or a error code. </dd></dl>
449226031Sstas
450226031Sstas</div>
451226031Sstas</div><p>
452226031Sstas<a class="anchor" name="gc98677df7ae9bbc387cd68002a97ad15"></a><!-- doxytag: member="gss_oid_equal.c::gss_oid_equal" ref="gc98677df7ae9bbc387cd68002a97ad15" args="(gss_const_OID a, gss_const_OID b)" -->
453226031Sstas<div class="memitem">
454226031Sstas<div class="memproto">
455226031Sstas      <table class="memname">
456226031Sstas        <tr>
457226031Sstas          <td class="memname">GSSAPI_LIB_FUNCTION int GSSAPI_LIB_CALL gss_oid_equal           </td>
458226031Sstas          <td>(</td>
459226031Sstas          <td class="paramtype">gss_const_OID&nbsp;</td>
460226031Sstas          <td class="paramname"> <em>a</em>, </td>
461226031Sstas        </tr>
462226031Sstas        <tr>
463226031Sstas          <td class="paramkey"></td>
464226031Sstas          <td></td>
465226031Sstas          <td class="paramtype">gss_const_OID&nbsp;</td>
466226031Sstas          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
467226031Sstas        </tr>
468226031Sstas        <tr>
469226031Sstas          <td></td>
470226031Sstas          <td>)</td>
471226031Sstas          <td></td><td></td><td></td>
472226031Sstas        </tr>
473226031Sstas      </table>
474226031Sstas</div>
475226031Sstas<div class="memdoc">
476226031Sstas
477226031Sstas<p>
478226031SstasCompare two GSS-API OIDs with each other.<p>
479226031SstasGSS_C_NO_OID matches nothing, not even it-self.<p>
480226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd>
481226031Sstas  <table border="0" cellspacing="2" cellpadding="0">
482226031Sstas    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>first oid to compare </td></tr>
483226031Sstas    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>second oid to compare</td></tr>
484226031Sstas  </table>
485226031Sstas</dl>
486226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>non-zero when both oid are the same OID, zero when they are not the same. </dd></dl>
487226031Sstas
488226031Sstas</div>
489226031Sstas</div><p>
490226031Sstas<a class="anchor" name="gd2990721c56fe83e06d45648874680d7"></a><!-- doxytag: member="gss_release_cred.c::gss_release_cred" ref="gd2990721c56fe83e06d45648874680d7" args="(OM_uint32 *minor_status, gss_cred_id_t *cred_handle)" -->
491226031Sstas<div class="memitem">
492226031Sstas<div class="memproto">
493226031Sstas      <table class="memname">
494226031Sstas        <tr>
495226031Sstas          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_release_cred           </td>
496226031Sstas          <td>(</td>
497226031Sstas          <td class="paramtype">OM_uint32 *&nbsp;</td>
498226031Sstas          <td class="paramname"> <em>minor_status</em>, </td>
499226031Sstas        </tr>
500226031Sstas        <tr>
501226031Sstas          <td class="paramkey"></td>
502226031Sstas          <td></td>
503226031Sstas          <td class="paramtype">gss_cred_id_t *&nbsp;</td>
504226031Sstas          <td class="paramname"> <em>cred_handle</em></td><td>&nbsp;</td>
505226031Sstas        </tr>
506226031Sstas        <tr>
507226031Sstas          <td></td>
508226031Sstas          <td>)</td>
509226031Sstas          <td></td><td></td><td></td>
510226031Sstas        </tr>
511226031Sstas      </table>
512226031Sstas</div>
513226031Sstas<div class="memdoc">
514226031Sstas
515226031Sstas<p>
516226031SstasRelease a credentials<p>
517226031SstasIts ok to release the GSS_C_NO_CREDENTIAL/NULL credential, it will return a GSS_S_COMPLETE error code. On return cred_handle is set ot GSS_C_NO_CREDENTIAL.<p>
518226031SstasExample:<p>
519226031Sstas<div class="fragment"><pre class="fragment"> gss_cred_id_t cred = GSS_C_NO_CREDENTIAL;
520226031Sstas major = <a class="code" href="group__gssapi.html#gd2990721c56fe83e06d45648874680d7">gss_release_cred</a>(&amp;minor, &amp;cred);
521226031Sstas</pre></div><p>
522226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd>
523226031Sstas  <table border="0" cellspacing="2" cellpadding="0">
524226031Sstas    <tr><td valign="top"></td><td valign="top"><em>minor_status</em>&nbsp;</td><td>minor status return code, mech specific </td></tr>
525226031Sstas    <tr><td valign="top"></td><td valign="top"><em>cred_handle</em>&nbsp;</td><td>a pointer to the credential too release</td></tr>
526226031Sstas  </table>
527226031Sstas</dl>
528226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>an gssapi error code </dd></dl>
529226031Sstas
530226031Sstas</div>
531226031Sstas</div><p>
532226031Sstas<a class="anchor" name="g2dbb20a4c9a3cf5072ef081cd37e54b4"></a><!-- doxytag: member="gss_aeap.c::gss_release_iov_buffer" ref="g2dbb20a4c9a3cf5072ef081cd37e54b4" args="(OM_uint32 *minor_status, gss_iov_buffer_desc *iov, int iov_count)" -->
533226031Sstas<div class="memitem">
534226031Sstas<div class="memproto">
535226031Sstas      <table class="memname">
536226031Sstas        <tr>
537226031Sstas          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_release_iov_buffer           </td>
538226031Sstas          <td>(</td>
539226031Sstas          <td class="paramtype">OM_uint32 *&nbsp;</td>
540226031Sstas          <td class="paramname"> <em>minor_status</em>, </td>
541226031Sstas        </tr>
542226031Sstas        <tr>
543226031Sstas          <td class="paramkey"></td>
544226031Sstas          <td></td>
545226031Sstas          <td class="paramtype">gss_iov_buffer_desc *&nbsp;</td>
546226031Sstas          <td class="paramname"> <em>iov</em>, </td>
547226031Sstas        </tr>
548226031Sstas        <tr>
549226031Sstas          <td class="paramkey"></td>
550226031Sstas          <td></td>
551226031Sstas          <td class="paramtype">int&nbsp;</td>
552226031Sstas          <td class="paramname"> <em>iov_count</em></td><td>&nbsp;</td>
553226031Sstas        </tr>
554226031Sstas        <tr>
555226031Sstas          <td></td>
556226031Sstas          <td>)</td>
557226031Sstas          <td></td><td></td><td></td>
558226031Sstas        </tr>
559226031Sstas      </table>
560226031Sstas</div>
561226031Sstas<div class="memdoc">
562226031Sstas
563226031Sstas<p>
564226031SstasFree all buffer allocated by <a class="el" href="group__gssapi.html#gb02ec963066cc8e5e6682799457208e9">gss_wrap_iov()</a> or <a class="el" href="group__gssapi.html#g399bb326e47574aca7b28d6886d29fd0">gss_unwrap_iov()</a> by looking at the GSS_IOV_BUFFER_FLAG_ALLOCATED flag. 
565226031Sstas</div>
566226031Sstas</div><p>
567226031Sstas<a class="anchor" name="g0691190338f1f24170bd5f695ff1e721"></a><!-- doxytag: member="gss_release_name.c::gss_release_name" ref="g0691190338f1f24170bd5f695ff1e721" args="(OM_uint32 *minor_status, gss_name_t *input_name)" -->
568226031Sstas<div class="memitem">
569226031Sstas<div class="memproto">
570226031Sstas      <table class="memname">
571226031Sstas        <tr>
572226031Sstas          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_release_name           </td>
573226031Sstas          <td>(</td>
574226031Sstas          <td class="paramtype">OM_uint32 *&nbsp;</td>
575226031Sstas          <td class="paramname"> <em>minor_status</em>, </td>
576226031Sstas        </tr>
577226031Sstas        <tr>
578226031Sstas          <td class="paramkey"></td>
579226031Sstas          <td></td>
580226031Sstas          <td class="paramtype">gss_name_t *&nbsp;</td>
581226031Sstas          <td class="paramname"> <em>input_name</em></td><td>&nbsp;</td>
582226031Sstas        </tr>
583226031Sstas        <tr>
584226031Sstas          <td></td>
585226031Sstas          <td>)</td>
586226031Sstas          <td></td><td></td><td></td>
587226031Sstas        </tr>
588226031Sstas      </table>
589226031Sstas</div>
590226031Sstas<div class="memdoc">
591226031Sstas
592226031Sstas<p>
593226031SstasFree a name<p>
594226031Sstasimport_name can point to NULL or be NULL, or a pointer to a gss_name_t structure. If it was a pointer to gss_name_t, the pointer will be set to NULL on success and failure.<p>
595226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd>
596226031Sstas  <table border="0" cellspacing="2" cellpadding="0">
597226031Sstas    <tr><td valign="top"></td><td valign="top"><em>minor_status</em>&nbsp;</td><td>minor status code </td></tr>
598226031Sstas    <tr><td valign="top"></td><td valign="top"><em>input_name</em>&nbsp;</td><td>name to free</td></tr>
599226031Sstas  </table>
600226031Sstas</dl>
601226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>a gss_error code, see gss_display_status() about printing the error code. </dd></dl>
602226031Sstas
603226031Sstas</div>
604226031Sstas</div><p>
605226031Sstas<a class="anchor" name="g399bb326e47574aca7b28d6886d29fd0"></a><!-- doxytag: member="gss_aeap.c::gss_unwrap_iov" ref="g399bb326e47574aca7b28d6886d29fd0" args="(OM_uint32 *minor_status, gss_ctx_id_t context_handle, int *conf_state, gss_qop_t *qop_state, gss_iov_buffer_desc *iov, int iov_count)" -->
606226031Sstas<div class="memitem">
607226031Sstas<div class="memproto">
608226031Sstas      <table class="memname">
609226031Sstas        <tr>
610226031Sstas          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_unwrap_iov           </td>
611226031Sstas          <td>(</td>
612226031Sstas          <td class="paramtype">OM_uint32 *&nbsp;</td>
613226031Sstas          <td class="paramname"> <em>minor_status</em>, </td>
614226031Sstas        </tr>
615226031Sstas        <tr>
616226031Sstas          <td class="paramkey"></td>
617226031Sstas          <td></td>
618226031Sstas          <td class="paramtype">gss_ctx_id_t&nbsp;</td>
619226031Sstas          <td class="paramname"> <em>context_handle</em>, </td>
620226031Sstas        </tr>
621226031Sstas        <tr>
622226031Sstas          <td class="paramkey"></td>
623226031Sstas          <td></td>
624226031Sstas          <td class="paramtype">int *&nbsp;</td>
625226031Sstas          <td class="paramname"> <em>conf_state</em>, </td>
626226031Sstas        </tr>
627226031Sstas        <tr>
628226031Sstas          <td class="paramkey"></td>
629226031Sstas          <td></td>
630226031Sstas          <td class="paramtype">gss_qop_t *&nbsp;</td>
631226031Sstas          <td class="paramname"> <em>qop_state</em>, </td>
632226031Sstas        </tr>
633226031Sstas        <tr>
634226031Sstas          <td class="paramkey"></td>
635226031Sstas          <td></td>
636226031Sstas          <td class="paramtype">gss_iov_buffer_desc *&nbsp;</td>
637226031Sstas          <td class="paramname"> <em>iov</em>, </td>
638226031Sstas        </tr>
639226031Sstas        <tr>
640226031Sstas          <td class="paramkey"></td>
641226031Sstas          <td></td>
642226031Sstas          <td class="paramtype">int&nbsp;</td>
643226031Sstas          <td class="paramname"> <em>iov_count</em></td><td>&nbsp;</td>
644226031Sstas        </tr>
645226031Sstas        <tr>
646226031Sstas          <td></td>
647226031Sstas          <td>)</td>
648226031Sstas          <td></td><td></td><td></td>
649226031Sstas        </tr>
650226031Sstas      </table>
651226031Sstas</div>
652226031Sstas<div class="memdoc">
653226031Sstas
654226031Sstas<p>
655226031SstasDecrypt or verifies the signature on the data. 
656226031Sstas</div>
657226031Sstas</div><p>
658226031Sstas<a class="anchor" name="g89a6d98056b75a8a25152de268833f51"></a><!-- doxytag: member="gss_wrap.c::gss_wrap" ref="g89a6d98056b75a8a25152de268833f51" args="(OM_uint32 *minor_status, const gss_ctx_id_t context_handle, int conf_req_flag, gss_qop_t qop_req, const gss_buffer_t input_message_buffer, int *conf_state, gss_buffer_t output_message_buffer)" -->
659226031Sstas<div class="memitem">
660226031Sstas<div class="memproto">
661226031Sstas      <table class="memname">
662226031Sstas        <tr>
663226031Sstas          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_wrap           </td>
664226031Sstas          <td>(</td>
665226031Sstas          <td class="paramtype">OM_uint32 *&nbsp;</td>
666226031Sstas          <td class="paramname"> <em>minor_status</em>, </td>
667226031Sstas        </tr>
668226031Sstas        <tr>
669226031Sstas          <td class="paramkey"></td>
670226031Sstas          <td></td>
671226031Sstas          <td class="paramtype">const gss_ctx_id_t&nbsp;</td>
672226031Sstas          <td class="paramname"> <em>context_handle</em>, </td>
673226031Sstas        </tr>
674226031Sstas        <tr>
675226031Sstas          <td class="paramkey"></td>
676226031Sstas          <td></td>
677226031Sstas          <td class="paramtype">int&nbsp;</td>
678226031Sstas          <td class="paramname"> <em>conf_req_flag</em>, </td>
679226031Sstas        </tr>
680226031Sstas        <tr>
681226031Sstas          <td class="paramkey"></td>
682226031Sstas          <td></td>
683226031Sstas          <td class="paramtype">gss_qop_t&nbsp;</td>
684226031Sstas          <td class="paramname"> <em>qop_req</em>, </td>
685226031Sstas        </tr>
686226031Sstas        <tr>
687226031Sstas          <td class="paramkey"></td>
688226031Sstas          <td></td>
689226031Sstas          <td class="paramtype">const gss_buffer_t&nbsp;</td>
690226031Sstas          <td class="paramname"> <em>input_message_buffer</em>, </td>
691226031Sstas        </tr>
692226031Sstas        <tr>
693226031Sstas          <td class="paramkey"></td>
694226031Sstas          <td></td>
695226031Sstas          <td class="paramtype">int *&nbsp;</td>
696226031Sstas          <td class="paramname"> <em>conf_state</em>, </td>
697226031Sstas        </tr>
698226031Sstas        <tr>
699226031Sstas          <td class="paramkey"></td>
700226031Sstas          <td></td>
701226031Sstas          <td class="paramtype">gss_buffer_t&nbsp;</td>
702226031Sstas          <td class="paramname"> <em>output_message_buffer</em></td><td>&nbsp;</td>
703226031Sstas        </tr>
704226031Sstas        <tr>
705226031Sstas          <td></td>
706226031Sstas          <td>)</td>
707226031Sstas          <td></td><td></td><td></td>
708226031Sstas        </tr>
709226031Sstas      </table>
710226031Sstas</div>
711226031Sstas<div class="memdoc">
712226031Sstas
713226031Sstas<p>
714226031SstasWrap a message using either confidentiality (encryption + signature) or sealing (signature).<p>
715226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd>
716226031Sstas  <table border="0" cellspacing="2" cellpadding="0">
717226031Sstas    <tr><td valign="top"></td><td valign="top"><em>minor_status</em>&nbsp;</td><td>minor status code. </td></tr>
718226031Sstas    <tr><td valign="top"></td><td valign="top"><em>context_handle</em>&nbsp;</td><td>context handle. </td></tr>
719226031Sstas    <tr><td valign="top"></td><td valign="top"><em>conf_req_flag</em>&nbsp;</td><td>if non zero, confidentiality is requestd. </td></tr>
720226031Sstas    <tr><td valign="top"></td><td valign="top"><em>qop_req</em>&nbsp;</td><td>type of protection needed, in most cases it GSS_C_QOP_DEFAULT should be passed in. </td></tr>
721226031Sstas    <tr><td valign="top"></td><td valign="top"><em>input_message_buffer</em>&nbsp;</td><td>messages to wrap </td></tr>
722226031Sstas    <tr><td valign="top"></td><td valign="top"><em>conf_state</em>&nbsp;</td><td>returns non zero if confidentiality was honoured. </td></tr>
723226031Sstas    <tr><td valign="top"></td><td valign="top"><em>output_message_buffer</em>&nbsp;</td><td>the resulting buffer, release with gss_release_buffer(). </td></tr>
724226031Sstas  </table>
725226031Sstas</dl>
726226031Sstas
727226031Sstas</div>
728226031Sstas</div><p>
729226031Sstas<a class="anchor" name="gb02ec963066cc8e5e6682799457208e9"></a><!-- doxytag: member="gss_aeap.c::gss_wrap_iov" ref="gb02ec963066cc8e5e6682799457208e9" args="(OM_uint32 *minor_status, gss_ctx_id_t context_handle, int conf_req_flag, gss_qop_t qop_req, int *conf_state, gss_iov_buffer_desc *iov, int iov_count)" -->
730226031Sstas<div class="memitem">
731226031Sstas<div class="memproto">
732226031Sstas      <table class="memname">
733226031Sstas        <tr>
734226031Sstas          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_wrap_iov           </td>
735226031Sstas          <td>(</td>
736226031Sstas          <td class="paramtype">OM_uint32 *&nbsp;</td>
737226031Sstas          <td class="paramname"> <em>minor_status</em>, </td>
738226031Sstas        </tr>
739226031Sstas        <tr>
740226031Sstas          <td class="paramkey"></td>
741226031Sstas          <td></td>
742226031Sstas          <td class="paramtype">gss_ctx_id_t&nbsp;</td>
743226031Sstas          <td class="paramname"> <em>context_handle</em>, </td>
744226031Sstas        </tr>
745226031Sstas        <tr>
746226031Sstas          <td class="paramkey"></td>
747226031Sstas          <td></td>
748226031Sstas          <td class="paramtype">int&nbsp;</td>
749226031Sstas          <td class="paramname"> <em>conf_req_flag</em>, </td>
750226031Sstas        </tr>
751226031Sstas        <tr>
752226031Sstas          <td class="paramkey"></td>
753226031Sstas          <td></td>
754226031Sstas          <td class="paramtype">gss_qop_t&nbsp;</td>
755226031Sstas          <td class="paramname"> <em>qop_req</em>, </td>
756226031Sstas        </tr>
757226031Sstas        <tr>
758226031Sstas          <td class="paramkey"></td>
759226031Sstas          <td></td>
760226031Sstas          <td class="paramtype">int *&nbsp;</td>
761226031Sstas          <td class="paramname"> <em>conf_state</em>, </td>
762226031Sstas        </tr>
763226031Sstas        <tr>
764226031Sstas          <td class="paramkey"></td>
765226031Sstas          <td></td>
766226031Sstas          <td class="paramtype">gss_iov_buffer_desc *&nbsp;</td>
767226031Sstas          <td class="paramname"> <em>iov</em>, </td>
768226031Sstas        </tr>
769226031Sstas        <tr>
770226031Sstas          <td class="paramkey"></td>
771226031Sstas          <td></td>
772226031Sstas          <td class="paramtype">int&nbsp;</td>
773226031Sstas          <td class="paramname"> <em>iov_count</em></td><td>&nbsp;</td>
774226031Sstas        </tr>
775226031Sstas        <tr>
776226031Sstas          <td></td>
777226031Sstas          <td>)</td>
778226031Sstas          <td></td><td></td><td></td>
779226031Sstas        </tr>
780226031Sstas      </table>
781226031Sstas</div>
782226031Sstas<div class="memdoc">
783226031Sstas
784226031Sstas<p>
785226031SstasEncrypts or sign the data.<p>
786226031SstasThis is a more complicated version of <a class="el" href="group__gssapi.html#g89a6d98056b75a8a25152de268833f51">gss_wrap()</a>, it allows the caller to use AEAD data (signed header/trailer) and allow greater controll over where the encrypted data is placed.<p>
787226031SstasThe maximum packet size is gss_context_stream_sizes.max_msg_size.<p>
788226031SstasThe caller needs provide the folloing buffers when using in conf_req_flag=1 mode:<p>
789226031Sstas<ul>
790226031Sstas<li>HEADER (of size gss_context_stream_sizes.header) { DATA or SIGN_ONLY } (optional, zero or more) PADDING (of size gss_context_stream_sizes.blocksize, if zero padding is zero, can be omitted) TRAILER (of size gss_context_stream_sizes.trailer)</li></ul>
791226031Sstas<p>
792226031Sstas<ul>
793226031Sstas<li>on DCE-RPC mode, the caller can skip PADDING and TRAILER if the DATA elements is padded to a block bountry and header is of at least size gss_context_stream_sizes.header + gss_context_stream_sizes.trailer.</li></ul>
794226031Sstas<p>
795226031SstasHEADER, PADDING, TRAILER will be shrunken to the size required to transmit any of them too large.<p>
796226031SstasTo generate <a class="el" href="group__gssapi.html#g89a6d98056b75a8a25152de268833f51">gss_wrap()</a> compatible packets, use: HEADER | DATA | PADDING | TRAILER<p>
797226031SstasWhen used in conf_req_flag=0,<p>
798226031Sstas<ul>
799226031Sstas<li>HEADER (of size gss_context_stream_sizes.header) { DATA or SIGN_ONLY } (optional, zero or more) PADDING (of size gss_context_stream_sizes.blocksize, if zero padding is zero, can be omitted) TRAILER (of size gss_context_stream_sizes.trailer)</li></ul>
800226031Sstas<p>
801226031SstasThe input sizes of HEADER, PADDING and TRAILER can be fetched using <a class="el" href="group__gssapi.html#g6216cfcb1ba8dc2d1a1d680d21752f26">gss_wrap_iov_length()</a> or gss_context_query_attributes(). 
802226031Sstas</div>
803226031Sstas</div><p>
804226031Sstas<a class="anchor" name="g6216cfcb1ba8dc2d1a1d680d21752f26"></a><!-- doxytag: member="gss_aeap.c::gss_wrap_iov_length" ref="g6216cfcb1ba8dc2d1a1d680d21752f26" args="(OM_uint32 *minor_status, gss_ctx_id_t context_handle, int conf_req_flag, gss_qop_t qop_req, int *conf_state, gss_iov_buffer_desc *iov, int iov_count)" -->
805226031Sstas<div class="memitem">
806226031Sstas<div class="memproto">
807226031Sstas      <table class="memname">
808226031Sstas        <tr>
809226031Sstas          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_wrap_iov_length           </td>
810226031Sstas          <td>(</td>
811226031Sstas          <td class="paramtype">OM_uint32 *&nbsp;</td>
812226031Sstas          <td class="paramname"> <em>minor_status</em>, </td>
813226031Sstas        </tr>
814226031Sstas        <tr>
815226031Sstas          <td class="paramkey"></td>
816226031Sstas          <td></td>
817226031Sstas          <td class="paramtype">gss_ctx_id_t&nbsp;</td>
818226031Sstas          <td class="paramname"> <em>context_handle</em>, </td>
819226031Sstas        </tr>
820226031Sstas        <tr>
821226031Sstas          <td class="paramkey"></td>
822226031Sstas          <td></td>
823226031Sstas          <td class="paramtype">int&nbsp;</td>
824226031Sstas          <td class="paramname"> <em>conf_req_flag</em>, </td>
825226031Sstas        </tr>
826226031Sstas        <tr>
827226031Sstas          <td class="paramkey"></td>
828226031Sstas          <td></td>
829226031Sstas          <td class="paramtype">gss_qop_t&nbsp;</td>
830226031Sstas          <td class="paramname"> <em>qop_req</em>, </td>
831226031Sstas        </tr>
832226031Sstas        <tr>
833226031Sstas          <td class="paramkey"></td>
834226031Sstas          <td></td>
835226031Sstas          <td class="paramtype">int *&nbsp;</td>
836226031Sstas          <td class="paramname"> <em>conf_state</em>, </td>
837226031Sstas        </tr>
838226031Sstas        <tr>
839226031Sstas          <td class="paramkey"></td>
840226031Sstas          <td></td>
841226031Sstas          <td class="paramtype">gss_iov_buffer_desc *&nbsp;</td>
842226031Sstas          <td class="paramname"> <em>iov</em>, </td>
843226031Sstas        </tr>
844226031Sstas        <tr>
845226031Sstas          <td class="paramkey"></td>
846226031Sstas          <td></td>
847226031Sstas          <td class="paramtype">int&nbsp;</td>
848226031Sstas          <td class="paramname"> <em>iov_count</em></td><td>&nbsp;</td>
849226031Sstas        </tr>
850226031Sstas        <tr>
851226031Sstas          <td></td>
852226031Sstas          <td>)</td>
853226031Sstas          <td></td><td></td><td></td>
854226031Sstas        </tr>
855226031Sstas      </table>
856226031Sstas</div>
857226031Sstas<div class="memdoc">
858226031Sstas
859226031Sstas<p>
860226031SstasUpdate the length fields in iov buffer for the types:<ul>
861226031Sstas<li>GSS_IOV_BUFFER_TYPE_HEADER</li><li>GSS_IOV_BUFFER_TYPE_PADDING</li><li>GSS_IOV_BUFFER_TYPE_TRAILER</li></ul>
862226031Sstas<p>
863226031SstasConsider using gss_context_query_attributes() to fetch the data instead. 
864226031Sstas</div>
865226031Sstas</div><p>
866226031Sstas<hr><h2>Variable Documentation</h2>
867226031Sstas<a class="anchor" name="g961f7a7f9f92e06b91c6d503e524a672"></a><!-- doxytag: member="gss_aeap.c::__gss_c_attr_stream_sizes_oid_desc" ref="g961f7a7f9f92e06b91c6d503e524a672" args="" -->
868226031Sstas<div class="memitem">
869226031Sstas<div class="memproto">
870226031Sstas      <table class="memname">
871226031Sstas        <tr>
872226031Sstas          <td class="memname">gss_OID_desc GSSAPI_LIB_FUNCTION <a class="el" href="group__gssapi.html#g961f7a7f9f92e06b91c6d503e524a672">__gss_c_attr_stream_sizes_oid_desc</a>          </td>
873226031Sstas        </tr>
874226031Sstas      </table>
875226031Sstas</div>
876226031Sstas<div class="memdoc">
877226031Sstas
878226031Sstas<p>
879226031Sstas<b>Initial value:</b><div class="fragment"><pre class="fragment">
880226031Sstas    {10, rk_UNCONST(<span class="stringliteral">"\x2a\x86\x48\x86\xf7\x12\x01\x02\x01\x03"</span>)}
881226031Sstas</pre></div>Query the context for parameters.<p>
882226031SstasSSPI equivalent if this function is QueryContextAttributes.<p>
883226031Sstas<ul>
884226031Sstas<li>GSS_C_ATTR_STREAM_SIZES data is a gss_context_stream_sizes. </li></ul>
885226031Sstas
886226031Sstas</div>
887226031Sstas</div><p>
888226031Sstas</div>
889226031Sstas<hr size="1"><address style="text-align: right;"><small>
890234027SstasGenerated on Wed Jan 11 14:07:44 2012 for HeimdalGSS-APIlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address>
891226031Sstas</body>
892226031Sstas</html>
893