xref: /netbsd-src/crypto/external/bsd/heimdal/dist/doc/doxyout/gssapi/html/group__gssapi.html (revision dd75ac5b443e967e26b4d18cc8cd5eb98512bfbf)
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>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.9.1 -->
12<script type="text/javascript" src="menudata.js"></script>
13<script type="text/javascript" src="menu.js"></script>
14<script type="text/javascript">
15/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
16$(function() {
17  initMenu('',false,false,'search.php','Search');
18});
19/* @license-end */</script>
20<div id="main-nav"></div>
21</div><!-- top -->
22<div class="header">
23  <div class="summary">
24<a href="#func-members">Functions</a> &#124;
25<a href="#var-members">Variables</a>  </div>
26  <div class="headertitle">
27<div class="title">Heimdal GSS-API functions</div>  </div>
28</div><!--header-->
29<div class="contents">
30<table class="memberdecls">
31<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
32Functions</h2></td></tr>
33<tr class="memitem:ga233373d4e0baa31615eb4d4f0ccb9683"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#ga233373d4e0baa31615eb4d4f0ccb9683">gss_add_oid_set_member</a> (OM_uint32 *minor_status, const gss_OID member_oid, gss_OID_set *oid_set)</td></tr>
34<tr class="separator:ga233373d4e0baa31615eb4d4f0ccb9683"><td class="memSeparator" colspan="2">&#160;</td></tr>
35<tr class="memitem:gab02ec963066cc8e5e6682799457208e9"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#gab02ec963066cc8e5e6682799457208e9">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>
36<tr class="separator:gab02ec963066cc8e5e6682799457208e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
37<tr class="memitem:ga399bb326e47574aca7b28d6886d29fd0"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#ga399bb326e47574aca7b28d6886d29fd0">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>
38<tr class="separator:ga399bb326e47574aca7b28d6886d29fd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
39<tr class="memitem:ga6216cfcb1ba8dc2d1a1d680d21752f26"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#ga6216cfcb1ba8dc2d1a1d680d21752f26">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>
40<tr class="separator:ga6216cfcb1ba8dc2d1a1d680d21752f26"><td class="memSeparator" colspan="2">&#160;</td></tr>
41<tr class="memitem:ga2dbb20a4c9a3cf5072ef081cd37e54b4"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#ga2dbb20a4c9a3cf5072ef081cd37e54b4">gss_release_iov_buffer</a> (OM_uint32 *minor_status, gss_iov_buffer_desc *iov, int iov_count)</td></tr>
42<tr class="separator:ga2dbb20a4c9a3cf5072ef081cd37e54b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
43<tr class="memitem:gae00fe4a91f13d61172361a30fb24a06e"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#gae00fe4a91f13d61172361a30fb24a06e">gss_canonicalize_name</a> (OM_uint32 *minor_status, gss_const_name_t input_name, const gss_OID mech_type, gss_name_t *output_name)</td></tr>
44<tr class="separator:gae00fe4a91f13d61172361a30fb24a06e"><td class="memSeparator" colspan="2">&#160;</td></tr>
45<tr class="memitem:ga770d87c1b80a58e91ec3a9ed70468122"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#ga770d87c1b80a58e91ec3a9ed70468122">gss_display_status</a> (OM_uint32 *minor_status, OM_uint32 status_value, int status_type, const gss_OID mech_type, OM_uint32 *message_context, gss_buffer_t status_string)</td></tr>
46<tr class="separator:ga770d87c1b80a58e91ec3a9ed70468122"><td class="memSeparator" colspan="2">&#160;</td></tr>
47<tr class="memitem:ga353814c7de38c9e2894ca66f0c15c8eb"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#ga353814c7de38c9e2894ca66f0c15c8eb">gss_export_name</a> (OM_uint32 *minor_status, gss_const_name_t input_name, gss_buffer_t exported_name)</td></tr>
48<tr class="separator:ga353814c7de38c9e2894ca66f0c15c8eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
49<tr class="memitem:ga0afe06fd5264ebfb93ecca4bcc70895b"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#ga0afe06fd5264ebfb93ecca4bcc70895b">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>
50<tr class="separator:ga0afe06fd5264ebfb93ecca4bcc70895b"><td class="memSeparator" colspan="2">&#160;</td></tr>
51<tr class="memitem:ga890d690b8598288f33e31370bcfd3127"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#ga890d690b8598288f33e31370bcfd3127">gss_init_sec_context</a> (OM_uint32 *minor_status, gss_const_cred_id_t initiator_cred_handle, gss_ctx_id_t *context_handle, gss_const_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>
52<tr class="separator:ga890d690b8598288f33e31370bcfd3127"><td class="memSeparator" colspan="2">&#160;</td></tr>
53<tr class="memitem:gadc725eaf82322d8cf50812fc26442893"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#gadc725eaf82322d8cf50812fc26442893">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>
54<tr class="separator:gadc725eaf82322d8cf50812fc26442893"><td class="memSeparator" colspan="2">&#160;</td></tr>
55<tr class="memitem:gaf472671a43512495de04ca0c69079e5d"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#gaf472671a43512495de04ca0c69079e5d">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>
56<tr class="separator:gaf472671a43512495de04ca0c69079e5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
57<tr class="memitem:gac98677df7ae9bbc387cd68002a97ad15"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION int GSSAPI_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#gac98677df7ae9bbc387cd68002a97ad15">gss_oid_equal</a> (gss_const_OID a, gss_const_OID b)</td></tr>
58<tr class="separator:gac98677df7ae9bbc387cd68002a97ad15"><td class="memSeparator" colspan="2">&#160;</td></tr>
59<tr class="memitem:gad2990721c56fe83e06d45648874680d7"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#gad2990721c56fe83e06d45648874680d7">gss_release_cred</a> (OM_uint32 *minor_status, gss_cred_id_t *cred_handle)</td></tr>
60<tr class="separator:gad2990721c56fe83e06d45648874680d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
61<tr class="memitem:ga0691190338f1f24170bd5f695ff1e721"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#ga0691190338f1f24170bd5f695ff1e721">gss_release_name</a> (OM_uint32 *minor_status, gss_name_t *input_name)</td></tr>
62<tr class="separator:ga0691190338f1f24170bd5f695ff1e721"><td class="memSeparator" colspan="2">&#160;</td></tr>
63<tr class="memitem:ga4058cf5c3b04fd25f8339c71dd5e964c"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#ga4058cf5c3b04fd25f8339c71dd5e964c">gss_wrap</a> (OM_uint32 *minor_status, gss_const_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>
64<tr class="separator:ga4058cf5c3b04fd25f8339c71dd5e964c"><td class="memSeparator" colspan="2">&#160;</td></tr>
65</table><table class="memberdecls">
66<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
67Variables</h2></td></tr>
68<tr class="memitem:ga961f7a7f9f92e06b91c6d503e524a672"><td class="memItemLeft" align="right" valign="top">gss_OID_desc GSSAPI_LIB_FUNCTION&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#ga961f7a7f9f92e06b91c6d503e524a672">__gss_c_attr_stream_sizes_oid_desc</a></td></tr>
69<tr class="separator:ga961f7a7f9f92e06b91c6d503e524a672"><td class="memSeparator" colspan="2">&#160;</td></tr>
70</table>
71<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
72<h2 class="groupheader">Function Documentation</h2>
73<a id="ga233373d4e0baa31615eb4d4f0ccb9683"></a>
74<h2 class="memtitle"><span class="permalink"><a href="#ga233373d4e0baa31615eb4d4f0ccb9683">&#9670;&nbsp;</a></span>gss_add_oid_set_member()</h2>
75
76<div class="memitem">
77<div class="memproto">
78      <table class="memname">
79        <tr>
80          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_add_oid_set_member </td>
81          <td>(</td>
82          <td class="paramtype">OM_uint32 *&#160;</td>
83          <td class="paramname"><em>minor_status</em>, </td>
84        </tr>
85        <tr>
86          <td class="paramkey"></td>
87          <td></td>
88          <td class="paramtype">const gss_OID&#160;</td>
89          <td class="paramname"><em>member_oid</em>, </td>
90        </tr>
91        <tr>
92          <td class="paramkey"></td>
93          <td></td>
94          <td class="paramtype">gss_OID_set *&#160;</td>
95          <td class="paramname"><em>oid_set</em>&#160;</td>
96        </tr>
97        <tr>
98          <td></td>
99          <td>)</td>
100          <td></td><td></td>
101        </tr>
102      </table>
103</div><div class="memdoc">
104<p>Add 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>
105<p>If there is a duplicate member of the oid, the new member is not added to to the set.</p>
106<dl class="params"><dt>Parameters</dt><dd>
107  <table class="params">
108    <tr><td class="paramname">minor_status</td><td>minor status code. </td></tr>
109    <tr><td class="paramname">member_oid</td><td>member to add to the oid set </td></tr>
110    <tr><td class="paramname">oid_set</td><td>oid set to add the member too</td></tr>
111  </table>
112  </dd>
113</dl>
114<dl class="section return"><dt>Returns</dt><dd>a gss_error code, see <a class="el" href="group__gssapi.html#ga770d87c1b80a58e91ec3a9ed70468122">gss_display_status()</a> about printing the error code. </dd></dl>
115
116</div>
117</div>
118<a id="gae00fe4a91f13d61172361a30fb24a06e"></a>
119<h2 class="memtitle"><span class="permalink"><a href="#gae00fe4a91f13d61172361a30fb24a06e">&#9670;&nbsp;</a></span>gss_canonicalize_name()</h2>
120
121<div class="memitem">
122<div class="memproto">
123      <table class="memname">
124        <tr>
125          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_canonicalize_name </td>
126          <td>(</td>
127          <td class="paramtype">OM_uint32 *&#160;</td>
128          <td class="paramname"><em>minor_status</em>, </td>
129        </tr>
130        <tr>
131          <td class="paramkey"></td>
132          <td></td>
133          <td class="paramtype">gss_const_name_t&#160;</td>
134          <td class="paramname"><em>input_name</em>, </td>
135        </tr>
136        <tr>
137          <td class="paramkey"></td>
138          <td></td>
139          <td class="paramtype">const gss_OID&#160;</td>
140          <td class="paramname"><em>mech_type</em>, </td>
141        </tr>
142        <tr>
143          <td class="paramkey"></td>
144          <td></td>
145          <td class="paramtype">gss_name_t *&#160;</td>
146          <td class="paramname"><em>output_name</em>&#160;</td>
147        </tr>
148        <tr>
149          <td></td>
150          <td>)</td>
151          <td></td><td></td>
152        </tr>
153      </table>
154</div><div class="memdoc">
155<p>gss_canonicalize_name takes a Internal Name (IN) and converts in into a mechanism specific Mechanism Name (MN).</p>
156<p>The input name may multiple name, or generic name types.</p>
157<p>If 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>
158<p>For more information about <a class="el" href="internal_v_smechname.html">Internal names and mechanism names</a>.</p>
159<dl class="params"><dt>Parameters</dt><dd>
160  <table class="params">
161    <tr><td class="paramname">minor_status</td><td>minor status code. </td></tr>
162    <tr><td class="paramname">input_name</td><td>name to covert, unchanged by <a class="el" href="group__gssapi.html#gae00fe4a91f13d61172361a30fb24a06e">gss_canonicalize_name()</a>. </td></tr>
163    <tr><td class="paramname">mech_type</td><td>the type to convert Name too. </td></tr>
164    <tr><td class="paramname">output_name</td><td>the resulting type, release with <a class="el" href="group__gssapi.html#ga0691190338f1f24170bd5f695ff1e721">gss_release_name()</a>, independent of input_name.</td></tr>
165  </table>
166  </dd>
167</dl>
168<dl class="section return"><dt>Returns</dt><dd>a gss_error code, see <a class="el" href="group__gssapi.html#ga770d87c1b80a58e91ec3a9ed70468122">gss_display_status()</a> about printing the error code. </dd></dl>
169
170</div>
171</div>
172<a id="ga770d87c1b80a58e91ec3a9ed70468122"></a>
173<h2 class="memtitle"><span class="permalink"><a href="#ga770d87c1b80a58e91ec3a9ed70468122">&#9670;&nbsp;</a></span>gss_display_status()</h2>
174
175<div class="memitem">
176<div class="memproto">
177      <table class="memname">
178        <tr>
179          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_display_status </td>
180          <td>(</td>
181          <td class="paramtype">OM_uint32 *&#160;</td>
182          <td class="paramname"><em>minor_status</em>, </td>
183        </tr>
184        <tr>
185          <td class="paramkey"></td>
186          <td></td>
187          <td class="paramtype">OM_uint32&#160;</td>
188          <td class="paramname"><em>status_value</em>, </td>
189        </tr>
190        <tr>
191          <td class="paramkey"></td>
192          <td></td>
193          <td class="paramtype">int&#160;</td>
194          <td class="paramname"><em>status_type</em>, </td>
195        </tr>
196        <tr>
197          <td class="paramkey"></td>
198          <td></td>
199          <td class="paramtype">const gss_OID&#160;</td>
200          <td class="paramname"><em>mech_type</em>, </td>
201        </tr>
202        <tr>
203          <td class="paramkey"></td>
204          <td></td>
205          <td class="paramtype">OM_uint32 *&#160;</td>
206          <td class="paramname"><em>message_context</em>, </td>
207        </tr>
208        <tr>
209          <td class="paramkey"></td>
210          <td></td>
211          <td class="paramtype">gss_buffer_t&#160;</td>
212          <td class="paramname"><em>status_string</em>&#160;</td>
213        </tr>
214        <tr>
215          <td></td>
216          <td>)</td>
217          <td></td><td></td>
218        </tr>
219      </table>
220</div><div class="memdoc">
221<p>Convert a GSS-API status code to text</p>
222<dl class="params"><dt>Parameters</dt><dd>
223  <table class="params">
224    <tr><td class="paramname">minor_status</td><td>minor status code </td></tr>
225    <tr><td class="paramname">status_value</td><td>status value to convert </td></tr>
226    <tr><td class="paramname">status_type</td><td>One of: GSS_C_GSS_CODE - status_value is a GSS status code, GSS_C_MECH_CODE - status_value is a mechanism status code </td></tr>
227    <tr><td class="paramname">mech_type</td><td>underlying mechanism. Use GSS_C_NO_OID to obtain the system default. </td></tr>
228    <tr><td class="paramname">message_context</td><td>state information to extract further messages from the status_value </td></tr>
229    <tr><td class="paramname">status_string</td><td>the allocated text representation. Release with gss_release_buffer()</td></tr>
230  </table>
231  </dd>
232</dl>
233<dl class="section return"><dt>Returns</dt><dd>a gss_error code. </dd></dl>
234
235</div>
236</div>
237<a id="ga353814c7de38c9e2894ca66f0c15c8eb"></a>
238<h2 class="memtitle"><span class="permalink"><a href="#ga353814c7de38c9e2894ca66f0c15c8eb">&#9670;&nbsp;</a></span>gss_export_name()</h2>
239
240<div class="memitem">
241<div class="memproto">
242      <table class="memname">
243        <tr>
244          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_export_name </td>
245          <td>(</td>
246          <td class="paramtype">OM_uint32 *&#160;</td>
247          <td class="paramname"><em>minor_status</em>, </td>
248        </tr>
249        <tr>
250          <td class="paramkey"></td>
251          <td></td>
252          <td class="paramtype">gss_const_name_t&#160;</td>
253          <td class="paramname"><em>input_name</em>, </td>
254        </tr>
255        <tr>
256          <td class="paramkey"></td>
257          <td></td>
258          <td class="paramtype">gss_buffer_t&#160;</td>
259          <td class="paramname"><em>exported_name</em>&#160;</td>
260        </tr>
261        <tr>
262          <td></td>
263          <td>)</td>
264          <td></td><td></td>
265        </tr>
266      </table>
267</div><div class="memdoc">
268<p>Convert a GGS-API name from internal form to contiguous string.</p>
269<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__gssapi.html#ga0afe06fd5264ebfb93ecca4bcc70895b">gss_import_name()</a>, <a class="el" href="internal_v_smechname.html">Internal names and mechanism names</a>.</dd></dl>
270<dl class="params"><dt>Parameters</dt><dd>
271  <table class="params">
272    <tr><td class="paramname">minor_status</td><td>minor status code </td></tr>
273    <tr><td class="paramname">input_name</td><td>input name in internal name form </td></tr>
274    <tr><td class="paramname">exported_name</td><td>output name in contiguos string form</td></tr>
275  </table>
276  </dd>
277</dl>
278<dl class="section return"><dt>Returns</dt><dd>a gss_error code, see <a class="el" href="group__gssapi.html#ga770d87c1b80a58e91ec3a9ed70468122">gss_display_status()</a> about printing the error code. </dd></dl>
279
280</div>
281</div>
282<a id="ga0afe06fd5264ebfb93ecca4bcc70895b"></a>
283<h2 class="memtitle"><span class="permalink"><a href="#ga0afe06fd5264ebfb93ecca4bcc70895b">&#9670;&nbsp;</a></span>gss_import_name()</h2>
284
285<div class="memitem">
286<div class="memproto">
287      <table class="memname">
288        <tr>
289          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_import_name </td>
290          <td>(</td>
291          <td class="paramtype">OM_uint32 *&#160;</td>
292          <td class="paramname"><em>minor_status</em>, </td>
293        </tr>
294        <tr>
295          <td class="paramkey"></td>
296          <td></td>
297          <td class="paramtype">const gss_buffer_t&#160;</td>
298          <td class="paramname"><em>input_name_buffer</em>, </td>
299        </tr>
300        <tr>
301          <td class="paramkey"></td>
302          <td></td>
303          <td class="paramtype">const gss_OID&#160;</td>
304          <td class="paramname"><em>input_name_type</em>, </td>
305        </tr>
306        <tr>
307          <td class="paramkey"></td>
308          <td></td>
309          <td class="paramtype">gss_name_t *&#160;</td>
310          <td class="paramname"><em>output_name</em>&#160;</td>
311        </tr>
312        <tr>
313          <td></td>
314          <td>)</td>
315          <td></td><td></td>
316        </tr>
317      </table>
318</div><div class="memdoc">
319<p>Convert a GGS-API name from contiguous string to internal form.</p>
320<p>Type of name and their format:</p><ul>
321<li>GSS_C_NO_OID</li>
322<li>GSS_C_NT_USER_NAME</li>
323<li>GSS_C_NT_HOSTBASED_SERVICE</li>
324<li>GSS_C_NT_EXPORT_NAME</li>
325<li>GSS_C_NT_ANONYMOUS</li>
326<li>GSS_KRB5_NT_PRINCIPAL_NAME</li>
327</ul>
328<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__gssapi.html#ga353814c7de38c9e2894ca66f0c15c8eb">gss_export_name()</a>, <a class="el" href="internal_v_smechname.html">Internal names and mechanism names</a>.</dd></dl>
329<dl class="params"><dt>Parameters</dt><dd>
330  <table class="params">
331    <tr><td class="paramname">minor_status</td><td>minor status code </td></tr>
332    <tr><td class="paramname">input_name_buffer</td><td>import name buffer </td></tr>
333    <tr><td class="paramname">input_name_type</td><td>type of the import name buffer </td></tr>
334    <tr><td class="paramname">output_name</td><td>the resulting type, release with <a class="el" href="group__gssapi.html#ga0691190338f1f24170bd5f695ff1e721">gss_release_name()</a>, independent of input_name</td></tr>
335  </table>
336  </dd>
337</dl>
338<dl class="section return"><dt>Returns</dt><dd>a gss_error code, see <a class="el" href="group__gssapi.html#ga770d87c1b80a58e91ec3a9ed70468122">gss_display_status()</a> about printing the error code. </dd></dl>
339
340</div>
341</div>
342<a id="ga890d690b8598288f33e31370bcfd3127"></a>
343<h2 class="memtitle"><span class="permalink"><a href="#ga890d690b8598288f33e31370bcfd3127">&#9670;&nbsp;</a></span>gss_init_sec_context()</h2>
344
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_init_sec_context </td>
350          <td>(</td>
351          <td class="paramtype">OM_uint32 *&#160;</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_cred_id_t&#160;</td>
358          <td class="paramname"><em>initiator_cred_handle</em>, </td>
359        </tr>
360        <tr>
361          <td class="paramkey"></td>
362          <td></td>
363          <td class="paramtype">gss_ctx_id_t *&#160;</td>
364          <td class="paramname"><em>context_handle</em>, </td>
365        </tr>
366        <tr>
367          <td class="paramkey"></td>
368          <td></td>
369          <td class="paramtype">gss_const_name_t&#160;</td>
370          <td class="paramname"><em>target_name</em>, </td>
371        </tr>
372        <tr>
373          <td class="paramkey"></td>
374          <td></td>
375          <td class="paramtype">const gss_OID&#160;</td>
376          <td class="paramname"><em>input_mech_type</em>, </td>
377        </tr>
378        <tr>
379          <td class="paramkey"></td>
380          <td></td>
381          <td class="paramtype">OM_uint32&#160;</td>
382          <td class="paramname"><em>req_flags</em>, </td>
383        </tr>
384        <tr>
385          <td class="paramkey"></td>
386          <td></td>
387          <td class="paramtype">OM_uint32&#160;</td>
388          <td class="paramname"><em>time_req</em>, </td>
389        </tr>
390        <tr>
391          <td class="paramkey"></td>
392          <td></td>
393          <td class="paramtype">const gss_channel_bindings_t&#160;</td>
394          <td class="paramname"><em>input_chan_bindings</em>, </td>
395        </tr>
396        <tr>
397          <td class="paramkey"></td>
398          <td></td>
399          <td class="paramtype">const gss_buffer_t&#160;</td>
400          <td class="paramname"><em>input_token</em>, </td>
401        </tr>
402        <tr>
403          <td class="paramkey"></td>
404          <td></td>
405          <td class="paramtype">gss_OID *&#160;</td>
406          <td class="paramname"><em>actual_mech_type</em>, </td>
407        </tr>
408        <tr>
409          <td class="paramkey"></td>
410          <td></td>
411          <td class="paramtype">gss_buffer_t&#160;</td>
412          <td class="paramname"><em>output_token</em>, </td>
413        </tr>
414        <tr>
415          <td class="paramkey"></td>
416          <td></td>
417          <td class="paramtype">OM_uint32 *&#160;</td>
418          <td class="paramname"><em>ret_flags</em>, </td>
419        </tr>
420        <tr>
421          <td class="paramkey"></td>
422          <td></td>
423          <td class="paramtype">OM_uint32 *&#160;</td>
424          <td class="paramname"><em>time_rec</em>&#160;</td>
425        </tr>
426        <tr>
427          <td></td>
428          <td>)</td>
429          <td></td><td></td>
430        </tr>
431      </table>
432</div><div class="memdoc">
433<p>As the initiator build a context with an acceptor.</p>
434<p>Returns in the major</p><ul>
435<li>GSS_S_COMPLETE - if the context if build</li>
436<li>GSS_S_CONTINUE_NEEDED - if the caller needs to continue another round of gss_i nit_sec_context</li>
437<li>error code - any other error code</li>
438</ul>
439<dl class="params"><dt>Parameters</dt><dd>
440  <table class="params">
441    <tr><td class="paramname">minor_status</td><td>minor status code.</td></tr>
442    <tr><td class="paramname">initiator_cred_handle</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>
443    <tr><td class="paramname">context_handle</td><td>a pointer to a context handle, will be returned as long as there is not an error.</td></tr>
444    <tr><td class="paramname">target_name</td><td>the target name of acceptor, created using <a class="el" href="group__gssapi.html#ga0afe06fd5264ebfb93ecca4bcc70895b">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>
445    <tr><td class="paramname">input_mech_type</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>
446    <tr><td class="paramname">req_flags</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>
447    <tr><td class="paramname">time_req</td><td>time requested this context should be valid in seconds, common used value is GSS_C_INDEFINITE</td></tr>
448    <tr><td class="paramname">input_chan_bindings</td><td>Channel bindings used, if not exepected otherwise, used GSS_C_NO_CHANNEL_BINDINGS</td></tr>
449    <tr><td class="paramname">input_token</td><td>input token sent from the acceptor, for the initial packet the buffer of { NULL, 0 } should be used.</td></tr>
450    <tr><td class="paramname">actual_mech_type</td><td>the actual mech used, MUST NOT be freed since it pointing to static memory.</td></tr>
451    <tr><td class="paramname">output_token</td><td>if there is an output token, regardless of complete, continue_needed, or error it should be sent to the acceptor</td></tr>
452    <tr><td class="paramname">ret_flags</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>
453    <tr><td class="paramname">time_rec</td><td>amount of time this context is valid for</td></tr>
454  </table>
455  </dd>
456</dl>
457<dl class="section return"><dt>Returns</dt><dd>a gss_error code, see <a class="el" href="group__gssapi.html#ga770d87c1b80a58e91ec3a9ed70468122">gss_display_status()</a> about printing the error code. </dd></dl>
458
459</div>
460</div>
461<a id="gaf472671a43512495de04ca0c69079e5d"></a>
462<h2 class="memtitle"><span class="permalink"><a href="#gaf472671a43512495de04ca0c69079e5d">&#9670;&nbsp;</a></span>gss_inquire_attrs_for_mech()</h2>
463
464<div class="memitem">
465<div class="memproto">
466      <table class="memname">
467        <tr>
468          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_inquire_attrs_for_mech </td>
469          <td>(</td>
470          <td class="paramtype">OM_uint32 *&#160;</td>
471          <td class="paramname"><em>minor_status</em>, </td>
472        </tr>
473        <tr>
474          <td class="paramkey"></td>
475          <td></td>
476          <td class="paramtype">gss_const_OID&#160;</td>
477          <td class="paramname"><em>mech</em>, </td>
478        </tr>
479        <tr>
480          <td class="paramkey"></td>
481          <td></td>
482          <td class="paramtype">gss_OID_set *&#160;</td>
483          <td class="paramname"><em>mech_attr</em>, </td>
484        </tr>
485        <tr>
486          <td class="paramkey"></td>
487          <td></td>
488          <td class="paramtype">gss_OID_set *&#160;</td>
489          <td class="paramname"><em>known_mech_attrs</em>&#160;</td>
490        </tr>
491        <tr>
492          <td></td>
493          <td>)</td>
494          <td></td><td></td>
495        </tr>
496      </table>
497</div><div class="memdoc">
498<p>List support attributes for a mech and/or all mechanisms.</p>
499<dl class="params"><dt>Parameters</dt><dd>
500  <table class="params">
501    <tr><td class="paramname">minor_status</td><td>minor status code </td></tr>
502    <tr><td class="paramname">mech</td><td>given together with mech_attr will return the list of attributes for mechanism, can optionally be GSS_C_NO_OID. </td></tr>
503    <tr><td class="paramname">mech_attr</td><td>see mech parameter, can optionally be NULL, release with gss_release_oid_set(). </td></tr>
504    <tr><td class="paramname">known_mech_attrs</td><td>all attributes for mechanisms supported, release with gss_release_oid_set(). </td></tr>
505  </table>
506  </dd>
507</dl>
508
509</div>
510</div>
511<a id="gadc725eaf82322d8cf50812fc26442893"></a>
512<h2 class="memtitle"><span class="permalink"><a href="#gadc725eaf82322d8cf50812fc26442893">&#9670;&nbsp;</a></span>gss_inquire_saslname_for_mech()</h2>
513
514<div class="memitem">
515<div class="memproto">
516      <table class="memname">
517        <tr>
518          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_inquire_saslname_for_mech </td>
519          <td>(</td>
520          <td class="paramtype">OM_uint32 *&#160;</td>
521          <td class="paramname"><em>minor_status</em>, </td>
522        </tr>
523        <tr>
524          <td class="paramkey"></td>
525          <td></td>
526          <td class="paramtype">const gss_OID&#160;</td>
527          <td class="paramname"><em>desired_mech</em>, </td>
528        </tr>
529        <tr>
530          <td class="paramkey"></td>
531          <td></td>
532          <td class="paramtype">gss_buffer_t&#160;</td>
533          <td class="paramname"><em>sasl_mech_name</em>, </td>
534        </tr>
535        <tr>
536          <td class="paramkey"></td>
537          <td></td>
538          <td class="paramtype">gss_buffer_t&#160;</td>
539          <td class="paramname"><em>mech_name</em>, </td>
540        </tr>
541        <tr>
542          <td class="paramkey"></td>
543          <td></td>
544          <td class="paramtype">gss_buffer_t&#160;</td>
545          <td class="paramname"><em>mech_description</em>&#160;</td>
546        </tr>
547        <tr>
548          <td></td>
549          <td>)</td>
550          <td></td><td></td>
551        </tr>
552      </table>
553</div><div class="memdoc">
554<p>Returns different protocol names and description of the mechanism.</p>
555<dl class="params"><dt>Parameters</dt><dd>
556  <table class="params">
557    <tr><td class="paramname">minor_status</td><td>minor status code </td></tr>
558    <tr><td class="paramname">desired_mech</td><td>mech list query </td></tr>
559    <tr><td class="paramname">sasl_mech_name</td><td>SASL GS2 protocol name </td></tr>
560    <tr><td class="paramname">mech_name</td><td>gssapi protocol name </td></tr>
561    <tr><td class="paramname">mech_description</td><td>description of gssapi mech</td></tr>
562  </table>
563  </dd>
564</dl>
565<dl class="section return"><dt>Returns</dt><dd>returns GSS_S_COMPLETE or a error code. </dd></dl>
566
567</div>
568</div>
569<a id="gac98677df7ae9bbc387cd68002a97ad15"></a>
570<h2 class="memtitle"><span class="permalink"><a href="#gac98677df7ae9bbc387cd68002a97ad15">&#9670;&nbsp;</a></span>gss_oid_equal()</h2>
571
572<div class="memitem">
573<div class="memproto">
574      <table class="memname">
575        <tr>
576          <td class="memname">GSSAPI_LIB_FUNCTION int GSSAPI_LIB_CALL gss_oid_equal </td>
577          <td>(</td>
578          <td class="paramtype">gss_const_OID&#160;</td>
579          <td class="paramname"><em>a</em>, </td>
580        </tr>
581        <tr>
582          <td class="paramkey"></td>
583          <td></td>
584          <td class="paramtype">gss_const_OID&#160;</td>
585          <td class="paramname"><em>b</em>&#160;</td>
586        </tr>
587        <tr>
588          <td></td>
589          <td>)</td>
590          <td></td><td></td>
591        </tr>
592      </table>
593</div><div class="memdoc">
594<p>Compare two GSS-API OIDs with each other.</p>
595<p>GSS_C_NO_OID matches nothing, not even it-self.</p>
596<dl class="params"><dt>Parameters</dt><dd>
597  <table class="params">
598    <tr><td class="paramname">a</td><td>first oid to compare </td></tr>
599    <tr><td class="paramname">b</td><td>second oid to compare</td></tr>
600  </table>
601  </dd>
602</dl>
603<dl class="section return"><dt>Returns</dt><dd>non-zero when both oid are the same OID, zero when they are not the same. </dd></dl>
604
605</div>
606</div>
607<a id="gad2990721c56fe83e06d45648874680d7"></a>
608<h2 class="memtitle"><span class="permalink"><a href="#gad2990721c56fe83e06d45648874680d7">&#9670;&nbsp;</a></span>gss_release_cred()</h2>
609
610<div class="memitem">
611<div class="memproto">
612      <table class="memname">
613        <tr>
614          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_release_cred </td>
615          <td>(</td>
616          <td class="paramtype">OM_uint32 *&#160;</td>
617          <td class="paramname"><em>minor_status</em>, </td>
618        </tr>
619        <tr>
620          <td class="paramkey"></td>
621          <td></td>
622          <td class="paramtype">gss_cred_id_t *&#160;</td>
623          <td class="paramname"><em>cred_handle</em>&#160;</td>
624        </tr>
625        <tr>
626          <td></td>
627          <td>)</td>
628          <td></td><td></td>
629        </tr>
630      </table>
631</div><div class="memdoc">
632<p>Release a credentials</p>
633<p>Its 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>
634<p>Example:</p>
635<div class="fragment"><div class="line">gss_cred_id_t cred = GSS_C_NO_CREDENTIAL;</div>
636<div class="line">major = <a class="code" href="group__gssapi.html#gad2990721c56fe83e06d45648874680d7">gss_release_cred</a>(&amp;minor, &amp;cred);</div>
637<div class="ttc" id="agroup__gssapi_html_gad2990721c56fe83e06d45648874680d7"><div class="ttname"><a href="group__gssapi.html#gad2990721c56fe83e06d45648874680d7">gss_release_cred</a></div><div class="ttdeci">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_release_cred(OM_uint32 *, gss_cred_id_t *)</div><div class="ttdef"><b>Definition:</b> gss_release_cred.c:54</div></div>
638</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
639  <table class="params">
640    <tr><td class="paramname">minor_status</td><td>minor status return code, mech specific </td></tr>
641    <tr><td class="paramname">cred_handle</td><td>a pointer to the credential too release</td></tr>
642  </table>
643  </dd>
644</dl>
645<dl class="section return"><dt>Returns</dt><dd>an gssapi error code </dd></dl>
646
647</div>
648</div>
649<a id="ga2dbb20a4c9a3cf5072ef081cd37e54b4"></a>
650<h2 class="memtitle"><span class="permalink"><a href="#ga2dbb20a4c9a3cf5072ef081cd37e54b4">&#9670;&nbsp;</a></span>gss_release_iov_buffer()</h2>
651
652<div class="memitem">
653<div class="memproto">
654      <table class="memname">
655        <tr>
656          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_release_iov_buffer </td>
657          <td>(</td>
658          <td class="paramtype">OM_uint32 *&#160;</td>
659          <td class="paramname"><em>minor_status</em>, </td>
660        </tr>
661        <tr>
662          <td class="paramkey"></td>
663          <td></td>
664          <td class="paramtype">gss_iov_buffer_desc *&#160;</td>
665          <td class="paramname"><em>iov</em>, </td>
666        </tr>
667        <tr>
668          <td class="paramkey"></td>
669          <td></td>
670          <td class="paramtype">int&#160;</td>
671          <td class="paramname"><em>iov_count</em>&#160;</td>
672        </tr>
673        <tr>
674          <td></td>
675          <td>)</td>
676          <td></td><td></td>
677        </tr>
678      </table>
679</div><div class="memdoc">
680<p>Free all buffer allocated by <a class="el" href="group__gssapi.html#gab02ec963066cc8e5e6682799457208e9">gss_wrap_iov()</a> or <a class="el" href="group__gssapi.html#ga399bb326e47574aca7b28d6886d29fd0">gss_unwrap_iov()</a> by looking at the GSS_IOV_BUFFER_FLAG_ALLOCATED flag. </p>
681
682</div>
683</div>
684<a id="ga0691190338f1f24170bd5f695ff1e721"></a>
685<h2 class="memtitle"><span class="permalink"><a href="#ga0691190338f1f24170bd5f695ff1e721">&#9670;&nbsp;</a></span>gss_release_name()</h2>
686
687<div class="memitem">
688<div class="memproto">
689      <table class="memname">
690        <tr>
691          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_release_name </td>
692          <td>(</td>
693          <td class="paramtype">OM_uint32 *&#160;</td>
694          <td class="paramname"><em>minor_status</em>, </td>
695        </tr>
696        <tr>
697          <td class="paramkey"></td>
698          <td></td>
699          <td class="paramtype">gss_name_t *&#160;</td>
700          <td class="paramname"><em>input_name</em>&#160;</td>
701        </tr>
702        <tr>
703          <td></td>
704          <td>)</td>
705          <td></td><td></td>
706        </tr>
707      </table>
708</div><div class="memdoc">
709<p>Free a name</p>
710<p>import_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>
711<dl class="params"><dt>Parameters</dt><dd>
712  <table class="params">
713    <tr><td class="paramname">minor_status</td><td>minor status code </td></tr>
714    <tr><td class="paramname">input_name</td><td>name to free</td></tr>
715  </table>
716  </dd>
717</dl>
718<dl class="section return"><dt>Returns</dt><dd>a gss_error code, see <a class="el" href="group__gssapi.html#ga770d87c1b80a58e91ec3a9ed70468122">gss_display_status()</a> about printing the error code. </dd></dl>
719
720</div>
721</div>
722<a id="ga399bb326e47574aca7b28d6886d29fd0"></a>
723<h2 class="memtitle"><span class="permalink"><a href="#ga399bb326e47574aca7b28d6886d29fd0">&#9670;&nbsp;</a></span>gss_unwrap_iov()</h2>
724
725<div class="memitem">
726<div class="memproto">
727      <table class="memname">
728        <tr>
729          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_unwrap_iov </td>
730          <td>(</td>
731          <td class="paramtype">OM_uint32 *&#160;</td>
732          <td class="paramname"><em>minor_status</em>, </td>
733        </tr>
734        <tr>
735          <td class="paramkey"></td>
736          <td></td>
737          <td class="paramtype">gss_ctx_id_t&#160;</td>
738          <td class="paramname"><em>context_handle</em>, </td>
739        </tr>
740        <tr>
741          <td class="paramkey"></td>
742          <td></td>
743          <td class="paramtype">int *&#160;</td>
744          <td class="paramname"><em>conf_state</em>, </td>
745        </tr>
746        <tr>
747          <td class="paramkey"></td>
748          <td></td>
749          <td class="paramtype">gss_qop_t *&#160;</td>
750          <td class="paramname"><em>qop_state</em>, </td>
751        </tr>
752        <tr>
753          <td class="paramkey"></td>
754          <td></td>
755          <td class="paramtype">gss_iov_buffer_desc *&#160;</td>
756          <td class="paramname"><em>iov</em>, </td>
757        </tr>
758        <tr>
759          <td class="paramkey"></td>
760          <td></td>
761          <td class="paramtype">int&#160;</td>
762          <td class="paramname"><em>iov_count</em>&#160;</td>
763        </tr>
764        <tr>
765          <td></td>
766          <td>)</td>
767          <td></td><td></td>
768        </tr>
769      </table>
770</div><div class="memdoc">
771<p>Decrypt or verifies the signature on the data. </p>
772
773</div>
774</div>
775<a id="ga4058cf5c3b04fd25f8339c71dd5e964c"></a>
776<h2 class="memtitle"><span class="permalink"><a href="#ga4058cf5c3b04fd25f8339c71dd5e964c">&#9670;&nbsp;</a></span>gss_wrap()</h2>
777
778<div class="memitem">
779<div class="memproto">
780      <table class="memname">
781        <tr>
782          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_wrap </td>
783          <td>(</td>
784          <td class="paramtype">OM_uint32 *&#160;</td>
785          <td class="paramname"><em>minor_status</em>, </td>
786        </tr>
787        <tr>
788          <td class="paramkey"></td>
789          <td></td>
790          <td class="paramtype">gss_const_ctx_id_t&#160;</td>
791          <td class="paramname"><em>context_handle</em>, </td>
792        </tr>
793        <tr>
794          <td class="paramkey"></td>
795          <td></td>
796          <td class="paramtype">int&#160;</td>
797          <td class="paramname"><em>conf_req_flag</em>, </td>
798        </tr>
799        <tr>
800          <td class="paramkey"></td>
801          <td></td>
802          <td class="paramtype">gss_qop_t&#160;</td>
803          <td class="paramname"><em>qop_req</em>, </td>
804        </tr>
805        <tr>
806          <td class="paramkey"></td>
807          <td></td>
808          <td class="paramtype">const gss_buffer_t&#160;</td>
809          <td class="paramname"><em>input_message_buffer</em>, </td>
810        </tr>
811        <tr>
812          <td class="paramkey"></td>
813          <td></td>
814          <td class="paramtype">int *&#160;</td>
815          <td class="paramname"><em>conf_state</em>, </td>
816        </tr>
817        <tr>
818          <td class="paramkey"></td>
819          <td></td>
820          <td class="paramtype">gss_buffer_t&#160;</td>
821          <td class="paramname"><em>output_message_buffer</em>&#160;</td>
822        </tr>
823        <tr>
824          <td></td>
825          <td>)</td>
826          <td></td><td></td>
827        </tr>
828      </table>
829</div><div class="memdoc">
830<p>Wrap a message using either confidentiality (encryption + signature) or sealing (signature).</p>
831<dl class="params"><dt>Parameters</dt><dd>
832  <table class="params">
833    <tr><td class="paramname">minor_status</td><td>minor status code. </td></tr>
834    <tr><td class="paramname">context_handle</td><td>context handle. </td></tr>
835    <tr><td class="paramname">conf_req_flag</td><td>if non zero, confidentiality is requestd. </td></tr>
836    <tr><td class="paramname">qop_req</td><td>type of protection needed, in most cases it GSS_C_QOP_DEFAULT should be passed in. </td></tr>
837    <tr><td class="paramname">input_message_buffer</td><td>messages to wrap </td></tr>
838    <tr><td class="paramname">conf_state</td><td>returns non zero if confidentiality was honoured. </td></tr>
839    <tr><td class="paramname">output_message_buffer</td><td>the resulting buffer, release with gss_release_buffer(). </td></tr>
840  </table>
841  </dd>
842</dl>
843
844</div>
845</div>
846<a id="gab02ec963066cc8e5e6682799457208e9"></a>
847<h2 class="memtitle"><span class="permalink"><a href="#gab02ec963066cc8e5e6682799457208e9">&#9670;&nbsp;</a></span>gss_wrap_iov()</h2>
848
849<div class="memitem">
850<div class="memproto">
851      <table class="memname">
852        <tr>
853          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_wrap_iov </td>
854          <td>(</td>
855          <td class="paramtype">OM_uint32 *&#160;</td>
856          <td class="paramname"><em>minor_status</em>, </td>
857        </tr>
858        <tr>
859          <td class="paramkey"></td>
860          <td></td>
861          <td class="paramtype">gss_ctx_id_t&#160;</td>
862          <td class="paramname"><em>context_handle</em>, </td>
863        </tr>
864        <tr>
865          <td class="paramkey"></td>
866          <td></td>
867          <td class="paramtype">int&#160;</td>
868          <td class="paramname"><em>conf_req_flag</em>, </td>
869        </tr>
870        <tr>
871          <td class="paramkey"></td>
872          <td></td>
873          <td class="paramtype">gss_qop_t&#160;</td>
874          <td class="paramname"><em>qop_req</em>, </td>
875        </tr>
876        <tr>
877          <td class="paramkey"></td>
878          <td></td>
879          <td class="paramtype">int *&#160;</td>
880          <td class="paramname"><em>conf_state</em>, </td>
881        </tr>
882        <tr>
883          <td class="paramkey"></td>
884          <td></td>
885          <td class="paramtype">gss_iov_buffer_desc *&#160;</td>
886          <td class="paramname"><em>iov</em>, </td>
887        </tr>
888        <tr>
889          <td class="paramkey"></td>
890          <td></td>
891          <td class="paramtype">int&#160;</td>
892          <td class="paramname"><em>iov_count</em>&#160;</td>
893        </tr>
894        <tr>
895          <td></td>
896          <td>)</td>
897          <td></td><td></td>
898        </tr>
899      </table>
900</div><div class="memdoc">
901<p>Encrypts or sign the data.</p>
902<p>This is a more complicated version of <a class="el" href="group__gssapi.html#ga4058cf5c3b04fd25f8339c71dd5e964c">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>
903<p>The maximum packet size is gss_context_stream_sizes.max_msg_size.</p>
904<p>The caller needs provide the folloing buffers when using in conf_req_flag=1 mode:</p>
905<ul>
906<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>
907<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>
908</ul>
909<p>HEADER, PADDING, TRAILER will be shrunken to the size required to transmit any of them too large.</p>
910<p>To generate <a class="el" href="group__gssapi.html#ga4058cf5c3b04fd25f8339c71dd5e964c">gss_wrap()</a> compatible packets, use: HEADER | DATA | PADDING | TRAILER</p>
911<p>When used in conf_req_flag=0,</p>
912<ul>
913<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>
914</ul>
915<p>The input sizes of HEADER, PADDING and TRAILER can be fetched using <a class="el" href="group__gssapi.html#ga6216cfcb1ba8dc2d1a1d680d21752f26">gss_wrap_iov_length()</a> or gss_context_query_attributes(). </p>
916
917</div>
918</div>
919<a id="ga6216cfcb1ba8dc2d1a1d680d21752f26"></a>
920<h2 class="memtitle"><span class="permalink"><a href="#ga6216cfcb1ba8dc2d1a1d680d21752f26">&#9670;&nbsp;</a></span>gss_wrap_iov_length()</h2>
921
922<div class="memitem">
923<div class="memproto">
924      <table class="memname">
925        <tr>
926          <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_wrap_iov_length </td>
927          <td>(</td>
928          <td class="paramtype">OM_uint32 *&#160;</td>
929          <td class="paramname"><em>minor_status</em>, </td>
930        </tr>
931        <tr>
932          <td class="paramkey"></td>
933          <td></td>
934          <td class="paramtype">gss_ctx_id_t&#160;</td>
935          <td class="paramname"><em>context_handle</em>, </td>
936        </tr>
937        <tr>
938          <td class="paramkey"></td>
939          <td></td>
940          <td class="paramtype">int&#160;</td>
941          <td class="paramname"><em>conf_req_flag</em>, </td>
942        </tr>
943        <tr>
944          <td class="paramkey"></td>
945          <td></td>
946          <td class="paramtype">gss_qop_t&#160;</td>
947          <td class="paramname"><em>qop_req</em>, </td>
948        </tr>
949        <tr>
950          <td class="paramkey"></td>
951          <td></td>
952          <td class="paramtype">int *&#160;</td>
953          <td class="paramname"><em>conf_state</em>, </td>
954        </tr>
955        <tr>
956          <td class="paramkey"></td>
957          <td></td>
958          <td class="paramtype">gss_iov_buffer_desc *&#160;</td>
959          <td class="paramname"><em>iov</em>, </td>
960        </tr>
961        <tr>
962          <td class="paramkey"></td>
963          <td></td>
964          <td class="paramtype">int&#160;</td>
965          <td class="paramname"><em>iov_count</em>&#160;</td>
966        </tr>
967        <tr>
968          <td></td>
969          <td>)</td>
970          <td></td><td></td>
971        </tr>
972      </table>
973</div><div class="memdoc">
974<p>Update the length fields in iov buffer for the types:</p><ul>
975<li>GSS_IOV_BUFFER_TYPE_HEADER</li>
976<li>GSS_IOV_BUFFER_TYPE_PADDING</li>
977<li>GSS_IOV_BUFFER_TYPE_TRAILER</li>
978</ul>
979<p>Consider using gss_context_query_attributes() to fetch the data instead. </p>
980
981</div>
982</div>
983<h2 class="groupheader">Variable Documentation</h2>
984<a id="ga961f7a7f9f92e06b91c6d503e524a672"></a>
985<h2 class="memtitle"><span class="permalink"><a href="#ga961f7a7f9f92e06b91c6d503e524a672">&#9670;&nbsp;</a></span>__gss_c_attr_stream_sizes_oid_desc</h2>
986
987<div class="memitem">
988<div class="memproto">
989      <table class="memname">
990        <tr>
991          <td class="memname">gss_OID_desc GSSAPI_LIB_FUNCTION __gss_c_attr_stream_sizes_oid_desc</td>
992        </tr>
993      </table>
994</div><div class="memdoc">
995<b>Initial value:</b><div class="fragment"><div class="line">=</div>
996<div class="line">    {10, rk_UNCONST(<span class="stringliteral">&quot;\x2a\x86\x48\x86\xf7\x12\x01\x02\x01\x03&quot;</span>)}</div>
997</div><!-- fragment --><p>Query the context for parameters.</p>
998<p>SSPI equivalent if this function is QueryContextAttributes.</p>
999<ul>
1000<li>GSS_C_ATTR_STREAM_SIZES data is a gss_context_stream_sizes. </li>
1001</ul>
1002
1003</div>
1004</div>
1005</div><!-- contents -->
1006<hr size="1"><address style="text-align: right;"><small>
1007Generated on Tue Nov 15 2022 14:04:25 for Heimdal GSS-API library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
1008</body>
1009</html>
1010