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 Page</span></a></li> 16 <li><a href="pages.html"><span>Related 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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 * </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 </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 * </td> 93 <td class="paramname"> <em>oid_set</em></td><td> </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> </td><td>minor status code. </td></tr> 110 <tr><td valign="top"></td><td valign="top"><em>member_oid</em> </td><td>member to add to the oid set </td></tr> 111 <tr><td valign="top"></td><td valign="top"><em>oid_set</em> </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 * </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 </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 </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 * </td> 144 <td class="paramname"> <em>output_name</em></td><td> </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> </td><td>minor status code. </td></tr> 163 <tr><td valign="top"></td><td valign="top"><em>input_name</em> </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> </td><td>the type to convert Name too. </td></tr> 165 <tr><td valign="top"></td><td valign="top"><em>output_name</em> </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 * </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 </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 </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 * </td> 198 <td class="paramname"> <em>output_name</em></td><td> </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> </td><td>minor status code </td></tr> 218 <tr><td valign="top"></td><td valign="top"><em>input_name_buffer</em> </td><td>import name buffer </td></tr> 219 <tr><td valign="top"></td><td valign="top"><em>input_name_type</em> </td><td>type of the import name buffer </td></tr> 220 <tr><td valign="top"></td><td valign="top"><em>output_name</em> </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 * </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 </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 * </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 </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 </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 </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 </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 </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 </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 * </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 </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 * </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 * </td> 307 <td class="paramname"> <em>time_rec</em></td><td> </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> </td><td>minor status code.</td></tr> 326 <tr><td valign="top"></td><td valign="top"><em>initiator_cred_handle</em> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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 * </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 </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 * </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 * </td> 370 <td class="paramname"> <em>known_mech_attrs</em></td><td> </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> </td><td>minor status code </td></tr> 386 <tr><td valign="top"></td><td valign="top"><em>mech</em> </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> </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> </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 * </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 </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 </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 </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 </td> 426 <td class="paramname"> <em>mech_description</em></td><td> </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> </td><td>minor status code </td></tr> 442 <tr><td valign="top"></td><td valign="top"><em>desired_mech</em> </td><td>mech list query </td></tr> 443 <tr><td valign="top"></td><td valign="top"><em>sasl_mech_name</em> </td><td>SASL GS2 protocol name </td></tr> 444 <tr><td valign="top"></td><td valign="top"><em>mech_name</em> </td><td>gssapi protocol name </td></tr> 445 <tr><td valign="top"></td><td valign="top"><em>mech_description</em> </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 </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 </td> 466 <td class="paramname"> <em>b</em></td><td> </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> </td><td>first oid to compare </td></tr> 483 <tr><td valign="top"></td><td valign="top"><em>b</em> </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 * </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 * </td> 504 <td class="paramname"> <em>cred_handle</em></td><td> </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>(&minor, &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> </td><td>minor status return code, mech specific </td></tr> 525 <tr><td valign="top"></td><td valign="top"><em>cred_handle</em> </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 * </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 * </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 </td> 552 <td class="paramname"> <em>iov_count</em></td><td> </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 * </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 * </td> 581 <td class="paramname"> <em>input_name</em></td><td> </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> </td><td>minor status code </td></tr> 598 <tr><td valign="top"></td><td valign="top"><em>input_name</em> </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 * </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 </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 * </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 * </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 * </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 </td> 643 <td class="paramname"> <em>iov_count</em></td><td> </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 * </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 </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 </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 </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 </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 * </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 </td> 702 <td class="paramname"> <em>output_message_buffer</em></td><td> </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> </td><td>minor status code. </td></tr> 718 <tr><td valign="top"></td><td valign="top"><em>context_handle</em> </td><td>context handle. </td></tr> 719 <tr><td valign="top"></td><td valign="top"><em>conf_req_flag</em> </td><td>if non zero, confidentiality is requestd. </td></tr> 720 <tr><td valign="top"></td><td valign="top"><em>qop_req</em> </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> </td><td>messages to wrap </td></tr> 722 <tr><td valign="top"></td><td valign="top"><em>conf_state</em> </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> </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 * </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 </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 </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 </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 * </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 * </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 </td> 773 <td class="paramname"> <em>iov_count</em></td><td> </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 * </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 </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 </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 </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 * </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 * </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 </td> 848 <td class="paramname"> <em>iov_count</em></td><td> </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 <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