1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>HeimdalGSS-APIlibrary: Heimdal GSS-API functions</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<p>
8<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
9</p>
10<!-- end of header marker -->
11<!-- Generated by Doxygen 1.5.6 -->
12<div class="navigation" id="top">
13  <div class="tabs">
14    <ul>
15      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
16      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
17      <li><a href="modules.html"><span>Modules</span></a></li>
18    </ul>
19  </div>
20</div>
21<div class="contents">
22<h1>Heimdal GSS-API functions</h1><table border="0" cellpadding="0" cellspacing="0">
23<tr><td></td></tr>
24<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
25<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
26GSSAPI_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>
27
28<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
29GSSAPI_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>
30
31<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
32GSSAPI_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>
33
34<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
35GSSAPI_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>
36
37<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
38GSSAPI_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>
39
40<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
41GSSAPI_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>
42
43<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
44GSSAPI_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>
45
46<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
47GSSAPI_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>
48
49<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
50GSSAPI_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>
51
52<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
53GSSAPI_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>
54
55<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION int <br>
56GSSAPI_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>
57
58<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
59GSSAPI_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>
60
61<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
62GSSAPI_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>
63
64<tr><td class="memItemLeft" nowrap align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 <br>
65GSSAPI_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>
66
67<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
68<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>
69
70</table>
71<hr><a name="_details"></a><h2>Detailed Description</h2>
72<hr><h2>Function Documentation</h2>
73<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)" -->
74<div class="memitem">
75<div class="memproto">
76      <table class="memname">
77        <tr>
78          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_add_oid_set_member           </td>
79          <td>(</td>
80          <td class="paramtype">OM_uint32 *&nbsp;</td>
81          <td class="paramname"> <em>minor_status</em>, </td>
82        </tr>
83        <tr>
84          <td class="paramkey"></td>
85          <td></td>
86          <td class="paramtype">const gss_OID&nbsp;</td>
87          <td class="paramname"> <em>member_oid</em>, </td>
88        </tr>
89        <tr>
90          <td class="paramkey"></td>
91          <td></td>
92          <td class="paramtype">gss_OID_set *&nbsp;</td>
93          <td class="paramname"> <em>oid_set</em></td><td>&nbsp;</td>
94        </tr>
95        <tr>
96          <td></td>
97          <td>)</td>
98          <td></td><td></td><td></td>
99        </tr>
100      </table>
101</div>
102<div class="memdoc">
103
104<p>
105Add 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>
106If there is a duplicate member of the oid, the new member is not added to to the set.<p>
107<dl compact><dt><b>Parameters:</b></dt><dd>
108  <table border="0" cellspacing="2" cellpadding="0">
109    <tr><td valign="top"></td><td valign="top"><em>minor_status</em>&nbsp;</td><td>minor status code. </td></tr>
110    <tr><td valign="top"></td><td valign="top"><em>member_oid</em>&nbsp;</td><td>member to add to the oid set </td></tr>
111    <tr><td valign="top"></td><td valign="top"><em>oid_set</em>&nbsp;</td><td>oid set to add the member too</td></tr>
112  </table>
113</dl>
114<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>
115
116</div>
117</div><p>
118<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)" -->
119<div class="memitem">
120<div class="memproto">
121      <table class="memname">
122        <tr>
123          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_canonicalize_name           </td>
124          <td>(</td>
125          <td class="paramtype">OM_uint32 *&nbsp;</td>
126          <td class="paramname"> <em>minor_status</em>, </td>
127        </tr>
128        <tr>
129          <td class="paramkey"></td>
130          <td></td>
131          <td class="paramtype">const gss_name_t&nbsp;</td>
132          <td class="paramname"> <em>input_name</em>, </td>
133        </tr>
134        <tr>
135          <td class="paramkey"></td>
136          <td></td>
137          <td class="paramtype">const gss_OID&nbsp;</td>
138          <td class="paramname"> <em>mech_type</em>, </td>
139        </tr>
140        <tr>
141          <td class="paramkey"></td>
142          <td></td>
143          <td class="paramtype">gss_name_t *&nbsp;</td>
144          <td class="paramname"> <em>output_name</em></td><td>&nbsp;</td>
145        </tr>
146        <tr>
147          <td></td>
148          <td>)</td>
149          <td></td><td></td><td></td>
150        </tr>
151      </table>
152</div>
153<div class="memdoc">
154
155<p>
156gss_canonicalize_name takes a Internal Name (IN) and converts in into a mechanism specific Mechanism Name (MN).<p>
157The input name may multiple name, or generic name types.<p>
158If 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>
159For more information about <a class="el" href="internalvsmechname.html">internalVSmechname</a>.<p>
160<dl compact><dt><b>Parameters:</b></dt><dd>
161  <table border="0" cellspacing="2" cellpadding="0">
162    <tr><td valign="top"></td><td valign="top"><em>minor_status</em>&nbsp;</td><td>minor status code. </td></tr>
163    <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>
164    <tr><td valign="top"></td><td valign="top"><em>mech_type</em>&nbsp;</td><td>the type to convert Name too. </td></tr>
165    <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>
166  </table>
167</dl>
168<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>
169
170</div>
171</div><p>
172<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)" -->
173<div class="memitem">
174<div class="memproto">
175      <table class="memname">
176        <tr>
177          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_import_name           </td>
178          <td>(</td>
179          <td class="paramtype">OM_uint32 *&nbsp;</td>
180          <td class="paramname"> <em>minor_status</em>, </td>
181        </tr>
182        <tr>
183          <td class="paramkey"></td>
184          <td></td>
185          <td class="paramtype">const gss_buffer_t&nbsp;</td>
186          <td class="paramname"> <em>input_name_buffer</em>, </td>
187        </tr>
188        <tr>
189          <td class="paramkey"></td>
190          <td></td>
191          <td class="paramtype">const gss_OID&nbsp;</td>
192          <td class="paramname"> <em>input_name_type</em>, </td>
193        </tr>
194        <tr>
195          <td class="paramkey"></td>
196          <td></td>
197          <td class="paramtype">gss_name_t *&nbsp;</td>
198          <td class="paramname"> <em>output_name</em></td><td>&nbsp;</td>
199        </tr>
200        <tr>
201          <td></td>
202          <td>)</td>
203          <td></td><td></td><td></td>
204        </tr>
205      </table>
206</div>
207<div class="memdoc">
208
209<p>
210Import a name internal or mechanism name<p>
211Type of name and their format:<ul>
212<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>
213<p>
214For more information about <a class="el" href="internalvsmechname.html">internalVSmechname</a>.<p>
215<dl compact><dt><b>Parameters:</b></dt><dd>
216  <table border="0" cellspacing="2" cellpadding="0">
217    <tr><td valign="top"></td><td valign="top"><em>minor_status</em>&nbsp;</td><td>minor status code </td></tr>
218    <tr><td valign="top"></td><td valign="top"><em>input_name_buffer</em>&nbsp;</td><td>import name buffer </td></tr>
219    <tr><td valign="top"></td><td valign="top"><em>input_name_type</em>&nbsp;</td><td>type of the import name buffer </td></tr>
220    <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>
221  </table>
222</dl>
223<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>
224
225</div>
226</div><p>
227<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)" -->
228<div class="memitem">
229<div class="memproto">
230      <table class="memname">
231        <tr>
232          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_init_sec_context           </td>
233          <td>(</td>
234          <td class="paramtype">OM_uint32 *&nbsp;</td>
235          <td class="paramname"> <em>minor_status</em>, </td>
236        </tr>
237        <tr>
238          <td class="paramkey"></td>
239          <td></td>
240          <td class="paramtype">const gss_cred_id_t&nbsp;</td>
241          <td class="paramname"> <em>initiator_cred_handle</em>, </td>
242        </tr>
243        <tr>
244          <td class="paramkey"></td>
245          <td></td>
246          <td class="paramtype">gss_ctx_id_t *&nbsp;</td>
247          <td class="paramname"> <em>context_handle</em>, </td>
248        </tr>
249        <tr>
250          <td class="paramkey"></td>
251          <td></td>
252          <td class="paramtype">const gss_name_t&nbsp;</td>
253          <td class="paramname"> <em>target_name</em>, </td>
254        </tr>
255        <tr>
256          <td class="paramkey"></td>
257          <td></td>
258          <td class="paramtype">const gss_OID&nbsp;</td>
259          <td class="paramname"> <em>input_mech_type</em>, </td>
260        </tr>
261        <tr>
262          <td class="paramkey"></td>
263          <td></td>
264          <td class="paramtype">OM_uint32&nbsp;</td>
265          <td class="paramname"> <em>req_flags</em>, </td>
266        </tr>
267        <tr>
268          <td class="paramkey"></td>
269          <td></td>
270          <td class="paramtype">OM_uint32&nbsp;</td>
271          <td class="paramname"> <em>time_req</em>, </td>
272        </tr>
273        <tr>
274          <td class="paramkey"></td>
275          <td></td>
276          <td class="paramtype">const gss_channel_bindings_t&nbsp;</td>
277          <td class="paramname"> <em>input_chan_bindings</em>, </td>
278        </tr>
279        <tr>
280          <td class="paramkey"></td>
281          <td></td>
282          <td class="paramtype">const gss_buffer_t&nbsp;</td>
283          <td class="paramname"> <em>input_token</em>, </td>
284        </tr>
285        <tr>
286          <td class="paramkey"></td>
287          <td></td>
288          <td class="paramtype">gss_OID *&nbsp;</td>
289          <td class="paramname"> <em>actual_mech_type</em>, </td>
290        </tr>
291        <tr>
292          <td class="paramkey"></td>
293          <td></td>
294          <td class="paramtype">gss_buffer_t&nbsp;</td>
295          <td class="paramname"> <em>output_token</em>, </td>
296        </tr>
297        <tr>
298          <td class="paramkey"></td>
299          <td></td>
300          <td class="paramtype">OM_uint32 *&nbsp;</td>
301          <td class="paramname"> <em>ret_flags</em>, </td>
302        </tr>
303        <tr>
304          <td class="paramkey"></td>
305          <td></td>
306          <td class="paramtype">OM_uint32 *&nbsp;</td>
307          <td class="paramname"> <em>time_rec</em></td><td>&nbsp;</td>
308        </tr>
309        <tr>
310          <td></td>
311          <td>)</td>
312          <td></td><td></td><td></td>
313        </tr>
314      </table>
315</div>
316<div class="memdoc">
317
318<p>
319As the initiator build a context with an acceptor.<p>
320Returns in the major<ul>
321<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>
322<p>
323<dl compact><dt><b>Parameters:</b></dt><dd>
324  <table border="0" cellspacing="2" cellpadding="0">
325    <tr><td valign="top"></td><td valign="top"><em>minor_status</em>&nbsp;</td><td>minor status code.</td></tr>
326    <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>
327    <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>
328    <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>
329    <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>
330    <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>
331    <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>
332    <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>
333    <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>
334    <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>
335    <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>
336    <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>
337    <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>
338  </table>
339</dl>
340<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>
341
342</div>
343</div><p>
344<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)" -->
345<div class="memitem">
346<div class="memproto">
347      <table class="memname">
348        <tr>
349          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_inquire_attrs_for_mech           </td>
350          <td>(</td>
351          <td class="paramtype">OM_uint32 *&nbsp;</td>
352          <td class="paramname"> <em>minor_status</em>, </td>
353        </tr>
354        <tr>
355          <td class="paramkey"></td>
356          <td></td>
357          <td class="paramtype">gss_const_OID&nbsp;</td>
358          <td class="paramname"> <em>mech</em>, </td>
359        </tr>
360        <tr>
361          <td class="paramkey"></td>
362          <td></td>
363          <td class="paramtype">gss_OID_set *&nbsp;</td>
364          <td class="paramname"> <em>mech_attr</em>, </td>
365        </tr>
366        <tr>
367          <td class="paramkey"></td>
368          <td></td>
369          <td class="paramtype">gss_OID_set *&nbsp;</td>
370          <td class="paramname"> <em>known_mech_attrs</em></td><td>&nbsp;</td>
371        </tr>
372        <tr>
373          <td></td>
374          <td>)</td>
375          <td></td><td></td><td></td>
376        </tr>
377      </table>
378</div>
379<div class="memdoc">
380
381<p>
382List support attributes for a mech and/or all mechanisms.<p>
383<dl compact><dt><b>Parameters:</b></dt><dd>
384  <table border="0" cellspacing="2" cellpadding="0">
385    <tr><td valign="top"></td><td valign="top"><em>minor_status</em>&nbsp;</td><td>minor status code </td></tr>
386    <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>
387    <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>
388    <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>
389  </table>
390</dl>
391
392</div>
393</div><p>
394<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)" -->
395<div class="memitem">
396<div class="memproto">
397      <table class="memname">
398        <tr>
399          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_inquire_saslname_for_mech           </td>
400          <td>(</td>
401          <td class="paramtype">OM_uint32 *&nbsp;</td>
402          <td class="paramname"> <em>minor_status</em>, </td>
403        </tr>
404        <tr>
405          <td class="paramkey"></td>
406          <td></td>
407          <td class="paramtype">const gss_OID&nbsp;</td>
408          <td class="paramname"> <em>desired_mech</em>, </td>
409        </tr>
410        <tr>
411          <td class="paramkey"></td>
412          <td></td>
413          <td class="paramtype">gss_buffer_t&nbsp;</td>
414          <td class="paramname"> <em>sasl_mech_name</em>, </td>
415        </tr>
416        <tr>
417          <td class="paramkey"></td>
418          <td></td>
419          <td class="paramtype">gss_buffer_t&nbsp;</td>
420          <td class="paramname"> <em>mech_name</em>, </td>
421        </tr>
422        <tr>
423          <td class="paramkey"></td>
424          <td></td>
425          <td class="paramtype">gss_buffer_t&nbsp;</td>
426          <td class="paramname"> <em>mech_description</em></td><td>&nbsp;</td>
427        </tr>
428        <tr>
429          <td></td>
430          <td>)</td>
431          <td></td><td></td><td></td>
432        </tr>
433      </table>
434</div>
435<div class="memdoc">
436
437<p>
438Returns different protocol names and description of the mechanism.<p>
439<dl compact><dt><b>Parameters:</b></dt><dd>
440  <table border="0" cellspacing="2" cellpadding="0">
441    <tr><td valign="top"></td><td valign="top"><em>minor_status</em>&nbsp;</td><td>minor status code </td></tr>
442    <tr><td valign="top"></td><td valign="top"><em>desired_mech</em>&nbsp;</td><td>mech list query </td></tr>
443    <tr><td valign="top"></td><td valign="top"><em>sasl_mech_name</em>&nbsp;</td><td>SASL GS2 protocol name </td></tr>
444    <tr><td valign="top"></td><td valign="top"><em>mech_name</em>&nbsp;</td><td>gssapi protocol name </td></tr>
445    <tr><td valign="top"></td><td valign="top"><em>mech_description</em>&nbsp;</td><td>description of gssapi mech</td></tr>
446  </table>
447</dl>
448<dl class="return" compact><dt><b>Returns:</b></dt><dd>returns GSS_S_COMPLETE or a error code. </dd></dl>
449
450</div>
451</div><p>
452<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)" -->
453<div class="memitem">
454<div class="memproto">
455      <table class="memname">
456        <tr>
457          <td class="memname">GSSAPI_LIB_FUNCTION int GSSAPI_LIB_CALL gss_oid_equal           </td>
458          <td>(</td>
459          <td class="paramtype">gss_const_OID&nbsp;</td>
460          <td class="paramname"> <em>a</em>, </td>
461        </tr>
462        <tr>
463          <td class="paramkey"></td>
464          <td></td>
465          <td class="paramtype">gss_const_OID&nbsp;</td>
466          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
467        </tr>
468        <tr>
469          <td></td>
470          <td>)</td>
471          <td></td><td></td><td></td>
472        </tr>
473      </table>
474</div>
475<div class="memdoc">
476
477<p>
478Compare two GSS-API OIDs with each other.<p>
479GSS_C_NO_OID matches nothing, not even it-self.<p>
480<dl compact><dt><b>Parameters:</b></dt><dd>
481  <table border="0" cellspacing="2" cellpadding="0">
482    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>first oid to compare </td></tr>
483    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>second oid to compare</td></tr>
484  </table>
485</dl>
486<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>
487
488</div>
489</div><p>
490<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)" -->
491<div class="memitem">
492<div class="memproto">
493      <table class="memname">
494        <tr>
495          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_release_cred           </td>
496          <td>(</td>
497          <td class="paramtype">OM_uint32 *&nbsp;</td>
498          <td class="paramname"> <em>minor_status</em>, </td>
499        </tr>
500        <tr>
501          <td class="paramkey"></td>
502          <td></td>
503          <td class="paramtype">gss_cred_id_t *&nbsp;</td>
504          <td class="paramname"> <em>cred_handle</em></td><td>&nbsp;</td>
505        </tr>
506        <tr>
507          <td></td>
508          <td>)</td>
509          <td></td><td></td><td></td>
510        </tr>
511      </table>
512</div>
513<div class="memdoc">
514
515<p>
516Release a credentials<p>
517Its 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>
518Example:<p>
519<div class="fragment"><pre class="fragment"> gss_cred_id_t cred = GSS_C_NO_CREDENTIAL;
520 major = <a class="code" href="group__gssapi.html#gd2990721c56fe83e06d45648874680d7">gss_release_cred</a>(&amp;minor, &amp;cred);
521</pre></div><p>
522<dl compact><dt><b>Parameters:</b></dt><dd>
523  <table border="0" cellspacing="2" cellpadding="0">
524    <tr><td valign="top"></td><td valign="top"><em>minor_status</em>&nbsp;</td><td>minor status return code, mech specific </td></tr>
525    <tr><td valign="top"></td><td valign="top"><em>cred_handle</em>&nbsp;</td><td>a pointer to the credential too release</td></tr>
526  </table>
527</dl>
528<dl class="return" compact><dt><b>Returns:</b></dt><dd>an gssapi error code </dd></dl>
529
530</div>
531</div><p>
532<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)" -->
533<div class="memitem">
534<div class="memproto">
535      <table class="memname">
536        <tr>
537          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_release_iov_buffer           </td>
538          <td>(</td>
539          <td class="paramtype">OM_uint32 *&nbsp;</td>
540          <td class="paramname"> <em>minor_status</em>, </td>
541        </tr>
542        <tr>
543          <td class="paramkey"></td>
544          <td></td>
545          <td class="paramtype">gss_iov_buffer_desc *&nbsp;</td>
546          <td class="paramname"> <em>iov</em>, </td>
547        </tr>
548        <tr>
549          <td class="paramkey"></td>
550          <td></td>
551          <td class="paramtype">int&nbsp;</td>
552          <td class="paramname"> <em>iov_count</em></td><td>&nbsp;</td>
553        </tr>
554        <tr>
555          <td></td>
556          <td>)</td>
557          <td></td><td></td><td></td>
558        </tr>
559      </table>
560</div>
561<div class="memdoc">
562
563<p>
564Free 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. 
565</div>
566</div><p>
567<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)" -->
568<div class="memitem">
569<div class="memproto">
570      <table class="memname">
571        <tr>
572          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_release_name           </td>
573          <td>(</td>
574          <td class="paramtype">OM_uint32 *&nbsp;</td>
575          <td class="paramname"> <em>minor_status</em>, </td>
576        </tr>
577        <tr>
578          <td class="paramkey"></td>
579          <td></td>
580          <td class="paramtype">gss_name_t *&nbsp;</td>
581          <td class="paramname"> <em>input_name</em></td><td>&nbsp;</td>
582        </tr>
583        <tr>
584          <td></td>
585          <td>)</td>
586          <td></td><td></td><td></td>
587        </tr>
588      </table>
589</div>
590<div class="memdoc">
591
592<p>
593Free a name<p>
594import_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>
595<dl compact><dt><b>Parameters:</b></dt><dd>
596  <table border="0" cellspacing="2" cellpadding="0">
597    <tr><td valign="top"></td><td valign="top"><em>minor_status</em>&nbsp;</td><td>minor status code </td></tr>
598    <tr><td valign="top"></td><td valign="top"><em>input_name</em>&nbsp;</td><td>name to free</td></tr>
599  </table>
600</dl>
601<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>
602
603</div>
604</div><p>
605<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)" -->
606<div class="memitem">
607<div class="memproto">
608      <table class="memname">
609        <tr>
610          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_unwrap_iov           </td>
611          <td>(</td>
612          <td class="paramtype">OM_uint32 *&nbsp;</td>
613          <td class="paramname"> <em>minor_status</em>, </td>
614        </tr>
615        <tr>
616          <td class="paramkey"></td>
617          <td></td>
618          <td class="paramtype">gss_ctx_id_t&nbsp;</td>
619          <td class="paramname"> <em>context_handle</em>, </td>
620        </tr>
621        <tr>
622          <td class="paramkey"></td>
623          <td></td>
624          <td class="paramtype">int *&nbsp;</td>
625          <td class="paramname"> <em>conf_state</em>, </td>
626        </tr>
627        <tr>
628          <td class="paramkey"></td>
629          <td></td>
630          <td class="paramtype">gss_qop_t *&nbsp;</td>
631          <td class="paramname"> <em>qop_state</em>, </td>
632        </tr>
633        <tr>
634          <td class="paramkey"></td>
635          <td></td>
636          <td class="paramtype">gss_iov_buffer_desc *&nbsp;</td>
637          <td class="paramname"> <em>iov</em>, </td>
638        </tr>
639        <tr>
640          <td class="paramkey"></td>
641          <td></td>
642          <td class="paramtype">int&nbsp;</td>
643          <td class="paramname"> <em>iov_count</em></td><td>&nbsp;</td>
644        </tr>
645        <tr>
646          <td></td>
647          <td>)</td>
648          <td></td><td></td><td></td>
649        </tr>
650      </table>
651</div>
652<div class="memdoc">
653
654<p>
655Decrypt or verifies the signature on the data. 
656</div>
657</div><p>
658<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)" -->
659<div class="memitem">
660<div class="memproto">
661      <table class="memname">
662        <tr>
663          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_wrap           </td>
664          <td>(</td>
665          <td class="paramtype">OM_uint32 *&nbsp;</td>
666          <td class="paramname"> <em>minor_status</em>, </td>
667        </tr>
668        <tr>
669          <td class="paramkey"></td>
670          <td></td>
671          <td class="paramtype">const gss_ctx_id_t&nbsp;</td>
672          <td class="paramname"> <em>context_handle</em>, </td>
673        </tr>
674        <tr>
675          <td class="paramkey"></td>
676          <td></td>
677          <td class="paramtype">int&nbsp;</td>
678          <td class="paramname"> <em>conf_req_flag</em>, </td>
679        </tr>
680        <tr>
681          <td class="paramkey"></td>
682          <td></td>
683          <td class="paramtype">gss_qop_t&nbsp;</td>
684          <td class="paramname"> <em>qop_req</em>, </td>
685        </tr>
686        <tr>
687          <td class="paramkey"></td>
688          <td></td>
689          <td class="paramtype">const gss_buffer_t&nbsp;</td>
690          <td class="paramname"> <em>input_message_buffer</em>, </td>
691        </tr>
692        <tr>
693          <td class="paramkey"></td>
694          <td></td>
695          <td class="paramtype">int *&nbsp;</td>
696          <td class="paramname"> <em>conf_state</em>, </td>
697        </tr>
698        <tr>
699          <td class="paramkey"></td>
700          <td></td>
701          <td class="paramtype">gss_buffer_t&nbsp;</td>
702          <td class="paramname"> <em>output_message_buffer</em></td><td>&nbsp;</td>
703        </tr>
704        <tr>
705          <td></td>
706          <td>)</td>
707          <td></td><td></td><td></td>
708        </tr>
709      </table>
710</div>
711<div class="memdoc">
712
713<p>
714Wrap a message using either confidentiality (encryption + signature) or sealing (signature).<p>
715<dl compact><dt><b>Parameters:</b></dt><dd>
716  <table border="0" cellspacing="2" cellpadding="0">
717    <tr><td valign="top"></td><td valign="top"><em>minor_status</em>&nbsp;</td><td>minor status code. </td></tr>
718    <tr><td valign="top"></td><td valign="top"><em>context_handle</em>&nbsp;</td><td>context handle. </td></tr>
719    <tr><td valign="top"></td><td valign="top"><em>conf_req_flag</em>&nbsp;</td><td>if non zero, confidentiality is requestd. </td></tr>
720    <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>
721    <tr><td valign="top"></td><td valign="top"><em>input_message_buffer</em>&nbsp;</td><td>messages to wrap </td></tr>
722    <tr><td valign="top"></td><td valign="top"><em>conf_state</em>&nbsp;</td><td>returns non zero if confidentiality was honoured. </td></tr>
723    <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>
724  </table>
725</dl>
726
727</div>
728</div><p>
729<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)" -->
730<div class="memitem">
731<div class="memproto">
732      <table class="memname">
733        <tr>
734          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_wrap_iov           </td>
735          <td>(</td>
736          <td class="paramtype">OM_uint32 *&nbsp;</td>
737          <td class="paramname"> <em>minor_status</em>, </td>
738        </tr>
739        <tr>
740          <td class="paramkey"></td>
741          <td></td>
742          <td class="paramtype">gss_ctx_id_t&nbsp;</td>
743          <td class="paramname"> <em>context_handle</em>, </td>
744        </tr>
745        <tr>
746          <td class="paramkey"></td>
747          <td></td>
748          <td class="paramtype">int&nbsp;</td>
749          <td class="paramname"> <em>conf_req_flag</em>, </td>
750        </tr>
751        <tr>
752          <td class="paramkey"></td>
753          <td></td>
754          <td class="paramtype">gss_qop_t&nbsp;</td>
755          <td class="paramname"> <em>qop_req</em>, </td>
756        </tr>
757        <tr>
758          <td class="paramkey"></td>
759          <td></td>
760          <td class="paramtype">int *&nbsp;</td>
761          <td class="paramname"> <em>conf_state</em>, </td>
762        </tr>
763        <tr>
764          <td class="paramkey"></td>
765          <td></td>
766          <td class="paramtype">gss_iov_buffer_desc *&nbsp;</td>
767          <td class="paramname"> <em>iov</em>, </td>
768        </tr>
769        <tr>
770          <td class="paramkey"></td>
771          <td></td>
772          <td class="paramtype">int&nbsp;</td>
773          <td class="paramname"> <em>iov_count</em></td><td>&nbsp;</td>
774        </tr>
775        <tr>
776          <td></td>
777          <td>)</td>
778          <td></td><td></td><td></td>
779        </tr>
780      </table>
781</div>
782<div class="memdoc">
783
784<p>
785Encrypts or sign the data.<p>
786This 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>
787The maximum packet size is gss_context_stream_sizes.max_msg_size.<p>
788The caller needs provide the folloing buffers when using in conf_req_flag=1 mode:<p>
789<ul>
790<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>
791<p>
792<ul>
793<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>
794<p>
795HEADER, PADDING, TRAILER will be shrunken to the size required to transmit any of them too large.<p>
796To generate <a class="el" href="group__gssapi.html#g89a6d98056b75a8a25152de268833f51">gss_wrap()</a> compatible packets, use: HEADER | DATA | PADDING | TRAILER<p>
797When used in conf_req_flag=0,<p>
798<ul>
799<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>
800<p>
801The 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(). 
802</div>
803</div><p>
804<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)" -->
805<div class="memitem">
806<div class="memproto">
807      <table class="memname">
808        <tr>
809          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_wrap_iov_length           </td>
810          <td>(</td>
811          <td class="paramtype">OM_uint32 *&nbsp;</td>
812          <td class="paramname"> <em>minor_status</em>, </td>
813        </tr>
814        <tr>
815          <td class="paramkey"></td>
816          <td></td>
817          <td class="paramtype">gss_ctx_id_t&nbsp;</td>
818          <td class="paramname"> <em>context_handle</em>, </td>
819        </tr>
820        <tr>
821          <td class="paramkey"></td>
822          <td></td>
823          <td class="paramtype">int&nbsp;</td>
824          <td class="paramname"> <em>conf_req_flag</em>, </td>
825        </tr>
826        <tr>
827          <td class="paramkey"></td>
828          <td></td>
829          <td class="paramtype">gss_qop_t&nbsp;</td>
830          <td class="paramname"> <em>qop_req</em>, </td>
831        </tr>
832        <tr>
833          <td class="paramkey"></td>
834          <td></td>
835          <td class="paramtype">int *&nbsp;</td>
836          <td class="paramname"> <em>conf_state</em>, </td>
837        </tr>
838        <tr>
839          <td class="paramkey"></td>
840          <td></td>
841          <td class="paramtype">gss_iov_buffer_desc *&nbsp;</td>
842          <td class="paramname"> <em>iov</em>, </td>
843        </tr>
844        <tr>
845          <td class="paramkey"></td>
846          <td></td>
847          <td class="paramtype">int&nbsp;</td>
848          <td class="paramname"> <em>iov_count</em></td><td>&nbsp;</td>
849        </tr>
850        <tr>
851          <td></td>
852          <td>)</td>
853          <td></td><td></td><td></td>
854        </tr>
855      </table>
856</div>
857<div class="memdoc">
858
859<p>
860Update the length fields in iov buffer for the types:<ul>
861<li>GSS_IOV_BUFFER_TYPE_HEADER</li><li>GSS_IOV_BUFFER_TYPE_PADDING</li><li>GSS_IOV_BUFFER_TYPE_TRAILER</li></ul>
862<p>
863Consider using gss_context_query_attributes() to fetch the data instead. 
864</div>
865</div><p>
866<hr><h2>Variable Documentation</h2>
867<a class="anchor" name="g961f7a7f9f92e06b91c6d503e524a672"></a><!-- doxytag: member="gss_aeap.c::__gss_c_attr_stream_sizes_oid_desc" ref="g961f7a7f9f92e06b91c6d503e524a672" args="" -->
868<div class="memitem">
869<div class="memproto">
870      <table class="memname">
871        <tr>
872          <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>
873        </tr>
874      </table>
875</div>
876<div class="memdoc">
877
878<p>
879<b>Initial value:</b><div class="fragment"><pre class="fragment">
880    {10, rk_UNCONST(<span class="stringliteral">"\x2a\x86\x48\x86\xf7\x12\x01\x02\x01\x03"</span>)}
881</pre></div>Query the context for parameters.<p>
882SSPI equivalent if this function is QueryContextAttributes.<p>
883<ul>
884<li>GSS_C_ATTR_STREAM_SIZES data is a gss_context_stream_sizes. </li></ul>
885
886</div>
887</div><p>
888</div>
889<hr size="1"><address style="text-align: right;"><small>
890Generated 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>
891</body>
892</html>
893