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 Page</span></a></li> 16226031Sstas <li><a href="pages.html"><span>Related 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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 * </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 </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 * </td> 93226031Sstas <td class="paramname"> <em>oid_set</em></td><td> </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> </td><td>minor status code. </td></tr> 110226031Sstas <tr><td valign="top"></td><td valign="top"><em>member_oid</em> </td><td>member to add to the oid set </td></tr> 111226031Sstas <tr><td valign="top"></td><td valign="top"><em>oid_set</em> </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 * </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 </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 </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 * </td> 144226031Sstas <td class="paramname"> <em>output_name</em></td><td> </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> </td><td>minor status code. </td></tr> 163226031Sstas <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> 164226031Sstas <tr><td valign="top"></td><td valign="top"><em>mech_type</em> </td><td>the type to convert Name too. </td></tr> 165226031Sstas <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> 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 * </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 </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 </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 * </td> 198226031Sstas <td class="paramname"> <em>output_name</em></td><td> </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> </td><td>minor status code </td></tr> 218226031Sstas <tr><td valign="top"></td><td valign="top"><em>input_name_buffer</em> </td><td>import name buffer </td></tr> 219226031Sstas <tr><td valign="top"></td><td valign="top"><em>input_name_type</em> </td><td>type of the import name buffer </td></tr> 220226031Sstas <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> 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 * </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 </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 * </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 </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 </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 </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 </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 </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 </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 * </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 </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 * </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 * </td> 307226031Sstas <td class="paramname"> <em>time_rec</em></td><td> </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> </td><td>minor status code.</td></tr> 326226031Sstas <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> 327226031Sstas <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> 328226031Sstas <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> 329226031Sstas <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> 330226031Sstas <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> 331226031Sstas <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> 332226031Sstas <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> 333226031Sstas <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> 334226031Sstas <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> 335226031Sstas <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> 336226031Sstas <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> 337226031Sstas <tr><td valign="top"></td><td valign="top"><em>time_rec</em> </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 * </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 </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 * </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 * </td> 370226031Sstas <td class="paramname"> <em>known_mech_attrs</em></td><td> </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> </td><td>minor status code </td></tr> 386226031Sstas <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> 387226031Sstas <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> 388226031Sstas <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> 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 * </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 </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 </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 </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 </td> 426226031Sstas <td class="paramname"> <em>mech_description</em></td><td> </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> </td><td>minor status code </td></tr> 442226031Sstas <tr><td valign="top"></td><td valign="top"><em>desired_mech</em> </td><td>mech list query </td></tr> 443226031Sstas <tr><td valign="top"></td><td valign="top"><em>sasl_mech_name</em> </td><td>SASL GS2 protocol name </td></tr> 444226031Sstas <tr><td valign="top"></td><td valign="top"><em>mech_name</em> </td><td>gssapi protocol name </td></tr> 445226031Sstas <tr><td valign="top"></td><td valign="top"><em>mech_description</em> </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 </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 </td> 466226031Sstas <td class="paramname"> <em>b</em></td><td> </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> </td><td>first oid to compare </td></tr> 483226031Sstas <tr><td valign="top"></td><td valign="top"><em>b</em> </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 * </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 * </td> 504226031Sstas <td class="paramname"> <em>cred_handle</em></td><td> </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>(&minor, &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> </td><td>minor status return code, mech specific </td></tr> 525226031Sstas <tr><td valign="top"></td><td valign="top"><em>cred_handle</em> </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 * </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 * </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 </td> 552226031Sstas <td class="paramname"> <em>iov_count</em></td><td> </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 * </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 * </td> 581226031Sstas <td class="paramname"> <em>input_name</em></td><td> </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> </td><td>minor status code </td></tr> 598226031Sstas <tr><td valign="top"></td><td valign="top"><em>input_name</em> </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 * </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 </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 * </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 * </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 * </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 </td> 643226031Sstas <td class="paramname"> <em>iov_count</em></td><td> </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 * </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 </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 </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 </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 </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 * </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 </td> 702226031Sstas <td class="paramname"> <em>output_message_buffer</em></td><td> </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> </td><td>minor status code. </td></tr> 718226031Sstas <tr><td valign="top"></td><td valign="top"><em>context_handle</em> </td><td>context handle. </td></tr> 719226031Sstas <tr><td valign="top"></td><td valign="top"><em>conf_req_flag</em> </td><td>if non zero, confidentiality is requestd. </td></tr> 720226031Sstas <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> 721226031Sstas <tr><td valign="top"></td><td valign="top"><em>input_message_buffer</em> </td><td>messages to wrap </td></tr> 722226031Sstas <tr><td valign="top"></td><td valign="top"><em>conf_state</em> </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> </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 * </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 </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 </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 </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 * </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 * </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 </td> 773226031Sstas <td class="paramname"> <em>iov_count</em></td><td> </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 * </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 </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 </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 </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 * </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 * </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 </td> 848226031Sstas <td class="paramname"> <em>iov_count</em></td><td> </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 <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