Sophie

Sophie

distrib > Mageia > 6 > x86_64 > media > core-updates > by-pkgid > c4e617ff12e8c0ca6658cee67d342f31 > files > 21

libsss_idmap-devel-1.13.4-9.1.mga6.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>sss_idmap: Map Unix UIDs and GIDs to SIDs and back</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">sss_idmap
   &#160;<span id="projectnumber">1.13.4</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Map Unix UIDs and GIDs to SIDs and back</div>  </div>
</div><!--header-->
<div class="contents">

<p>Libsss_idmap provides a mechanism to translate a SID to a UNIX UID or GID or the other way round.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsss__idmap__range.html">sss_idmap_range</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure for id ranges FIXME: this struct might change when it is clear how ranges are handled on the server side.  <a href="structsss__idmap__range.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gae3626191c986dfef5fbf093f4338f2de"><td class="memItemLeft" align="right" valign="top"><a id="gae3626191c986dfef5fbf093f4338f2de"></a>
typedef void *()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#gae3626191c986dfef5fbf093f4338f2de">idmap_alloc_func</a>(size_t size, void *pvt)</td></tr>
<tr class="memdesc:gae3626191c986dfef5fbf093f4338f2de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Typedef for memory allocation functions. <br /></td></tr>
<tr class="separator:gae3626191c986dfef5fbf093f4338f2de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5deaa6990f12ae0b15ef92b81025886a"><td class="memItemLeft" align="right" valign="top"><a id="ga5deaa6990f12ae0b15ef92b81025886a"></a>
typedef enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga5deaa6990f12ae0b15ef92b81025886a">idmap_store_cb</a>) (const char *dom_name, const char *dom_sid, const char *range_id, uint32_t min_id, uint32_t max_id, uint32_t first_rid, void *pvt)</td></tr>
<tr class="memdesc:ga5deaa6990f12ae0b15ef92b81025886a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Typedef for storing mappings of dynamically created domains. <br /></td></tr>
<tr class="separator:ga5deaa6990f12ae0b15ef92b81025886a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga93314ca4455c050dd3cc3f523d67541a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> { <br />
&#160;&#160;<a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa317575c4de289cc736fa824842105986">IDMAP_SUCCESS</a> = 0, 
<a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa8010ff2a434025ae72aa5f312c734f33">IDMAP_NOT_IMPLEMENTED</a>, 
<a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aac00724338a1f55b257ab8442e331914d">IDMAP_ERROR</a>, 
<a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa3c5b13cef8c1c0689d755fb8b6181f99">IDMAP_OUT_OF_MEMORY</a>, 
<br />
&#160;&#160;<a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa242c8fa573d773afef029c2f5612639a">IDMAP_NO_DOMAIN</a>, 
<a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa315b887065d8f0004db4f26e206cb711">IDMAP_CONTEXT_INVALID</a>, 
<a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da">IDMAP_SID_INVALID</a>, 
<a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa4e07334ca55308c162730ea4c12c06c3">IDMAP_SID_UNKNOWN</a>, 
<br />
&#160;&#160;<a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aaa32b03c016a31b83fab25f09c9b04b97">IDMAP_NO_RANGE</a>, 
<a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa6723be8b5165b36486578bbb2c4fa5d8">IDMAP_BUILTIN_SID</a>, 
<a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa6a799d50371338b34399020810c4070b">IDMAP_OUT_OF_SLICES</a>, 
<a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aab9c450efc1e7668dd4805e1607447e43">IDMAP_COLLISION</a>, 
<br />
&#160;&#160;<a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa5e9bfde65defbc4ced8d35dc67140a87">IDMAP_EXTERNAL</a>, 
<a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aaa388d7778be6ecc86286a67a098d6542">IDMAP_NAME_UNKNOWN</a>
<br />
 }<tr class="memdesc:ga93314ca4455c050dd3cc3f523d67541a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error codes used by libsss_idmap.  <a href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga93314ca4455c050dd3cc3f523d67541a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga4917e62c0ae7d308234414a1b8b773f2"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga4917e62c0ae7d308234414a1b8b773f2">sss_idmap_init</a> (<a class="el" href="group__sss__idmap.html#gae3626191c986dfef5fbf093f4338f2de">idmap_alloc_func</a> *alloc_func, void *alloc_pvt, idmap_free_func *free_func, struct sss_idmap_ctx **ctx)</td></tr>
<tr class="memdesc:ga4917e62c0ae7d308234414a1b8b773f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize idmap context.  <a href="#ga4917e62c0ae7d308234414a1b8b773f2">More...</a><br /></td></tr>
<tr class="separator:ga4917e62c0ae7d308234414a1b8b773f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2e2d8166e55ead985bf17e20284bb672"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga2e2d8166e55ead985bf17e20284bb672">sss_idmap_ctx_set_autorid</a> (struct sss_idmap_ctx *ctx, bool use_autorid)</td></tr>
<tr class="memdesc:ga2e2d8166e55ead985bf17e20284bb672"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set/unset autorid compatibility mode.  <a href="#ga2e2d8166e55ead985bf17e20284bb672">More...</a><br /></td></tr>
<tr class="separator:ga2e2d8166e55ead985bf17e20284bb672"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabb7734d43768b525f61bb2603f22600a"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#gabb7734d43768b525f61bb2603f22600a">sss_idmap_ctx_set_lower</a> (struct sss_idmap_ctx *ctx, id_t lower)</td></tr>
<tr class="memdesc:gabb7734d43768b525f61bb2603f22600a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the lower bound of the range of POSIX IDs.  <a href="#gabb7734d43768b525f61bb2603f22600a">More...</a><br /></td></tr>
<tr class="separator:gabb7734d43768b525f61bb2603f22600a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1f89597432871153fe0c7de6702f55f8"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga1f89597432871153fe0c7de6702f55f8">sss_idmap_ctx_set_upper</a> (struct sss_idmap_ctx *ctx, id_t upper)</td></tr>
<tr class="memdesc:ga1f89597432871153fe0c7de6702f55f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the upper bound of the range of POSIX IDs.  <a href="#ga1f89597432871153fe0c7de6702f55f8">More...</a><br /></td></tr>
<tr class="separator:ga1f89597432871153fe0c7de6702f55f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6cf8dae68e483bbfd65a3d10ec7cbc0b"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga6cf8dae68e483bbfd65a3d10ec7cbc0b">sss_idmap_ctx_set_rangesize</a> (struct sss_idmap_ctx *ctx, id_t rangesize)</td></tr>
<tr class="memdesc:ga6cf8dae68e483bbfd65a3d10ec7cbc0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the range size of POSIX IDs available for single domain.  <a href="#ga6cf8dae68e483bbfd65a3d10ec7cbc0b">More...</a><br /></td></tr>
<tr class="separator:ga6cf8dae68e483bbfd65a3d10ec7cbc0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf3c96054a2c36b811dc3ebb0117ce0e2"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#gaf3c96054a2c36b811dc3ebb0117ce0e2">sss_idmap_ctx_set_extra_slice_init</a> (struct sss_idmap_ctx *ctx, int extra_slice_init)</td></tr>
<tr class="memdesc:gaf3c96054a2c36b811dc3ebb0117ce0e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the number of secondary slices available for domain.  <a href="#gaf3c96054a2c36b811dc3ebb0117ce0e2">More...</a><br /></td></tr>
<tr class="separator:gaf3c96054a2c36b811dc3ebb0117ce0e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga138791ec8342033be0c04c2c13d25173"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga138791ec8342033be0c04c2c13d25173">sss_idmap_ctx_get_autorid</a> (struct sss_idmap_ctx *ctx, bool *_autorid)</td></tr>
<tr class="memdesc:ga138791ec8342033be0c04c2c13d25173"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if autorid compatibility mode is set.  <a href="#ga138791ec8342033be0c04c2c13d25173">More...</a><br /></td></tr>
<tr class="separator:ga138791ec8342033be0c04c2c13d25173"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf03dec6f561d9df0191bc7d1bed7c1cc"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#gaf03dec6f561d9df0191bc7d1bed7c1cc">sss_idmap_ctx_get_lower</a> (struct sss_idmap_ctx *ctx, id_t *_lower)</td></tr>
<tr class="memdesc:gaf03dec6f561d9df0191bc7d1bed7c1cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the lower bound of the range of POSIX IDs.  <a href="#gaf03dec6f561d9df0191bc7d1bed7c1cc">More...</a><br /></td></tr>
<tr class="separator:gaf03dec6f561d9df0191bc7d1bed7c1cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae3d211198f1736cd257ad17fd0e85c2f"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#gae3d211198f1736cd257ad17fd0e85c2f">sss_idmap_ctx_get_upper</a> (struct sss_idmap_ctx *ctx, id_t *_upper)</td></tr>
<tr class="memdesc:gae3d211198f1736cd257ad17fd0e85c2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the upper bound of the range of POSIX IDs.  <a href="#gae3d211198f1736cd257ad17fd0e85c2f">More...</a><br /></td></tr>
<tr class="separator:gae3d211198f1736cd257ad17fd0e85c2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac6b19cd80504d323bdf1bd02a2a682fa"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#gac6b19cd80504d323bdf1bd02a2a682fa">sss_idmap_ctx_get_rangesize</a> (struct sss_idmap_ctx *ctx, id_t *rangesize)</td></tr>
<tr class="memdesc:gac6b19cd80504d323bdf1bd02a2a682fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the range size of POSIX IDs available for single domain.  <a href="#gac6b19cd80504d323bdf1bd02a2a682fa">More...</a><br /></td></tr>
<tr class="separator:gac6b19cd80504d323bdf1bd02a2a682fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1706ccbeb6fdae93218f979aa9bf4ab1"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga1706ccbeb6fdae93218f979aa9bf4ab1">sss_idmap_calculate_range</a> (struct sss_idmap_ctx *ctx, const char *dom_sid, id_t *slice_num, struct <a class="el" href="structsss__idmap__range.html">sss_idmap_range</a> *range)</td></tr>
<tr class="memdesc:ga1706ccbeb6fdae93218f979aa9bf4ab1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate new range of available POSIX IDs.  <a href="#ga1706ccbeb6fdae93218f979aa9bf4ab1">More...</a><br /></td></tr>
<tr class="separator:ga1706ccbeb6fdae93218f979aa9bf4ab1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga26f1064ee1db6a273f926fe85547a78d"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga26f1064ee1db6a273f926fe85547a78d">sss_idmap_add_domain</a> (struct sss_idmap_ctx *ctx, const char *domain_name, const char *domain_sid, struct <a class="el" href="structsss__idmap__range.html">sss_idmap_range</a> *range)</td></tr>
<tr class="memdesc:ga26f1064ee1db6a273f926fe85547a78d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a domain to the idmap context.  <a href="#ga26f1064ee1db6a273f926fe85547a78d">More...</a><br /></td></tr>
<tr class="separator:ga26f1064ee1db6a273f926fe85547a78d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga25fae5e324bab7dabb5d7c19ae03d0bf"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga25fae5e324bab7dabb5d7c19ae03d0bf">sss_idmap_add_domain_ex</a> (struct sss_idmap_ctx *ctx, const char *domain_name, const char *domain_sid, struct <a class="el" href="structsss__idmap__range.html">sss_idmap_range</a> *range, const char *range_id, uint32_t rid, bool external_mapping)</td></tr>
<tr class="memdesc:ga25fae5e324bab7dabb5d7c19ae03d0bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a domain with the first mappable RID to the idmap context.  <a href="#ga25fae5e324bab7dabb5d7c19ae03d0bf">More...</a><br /></td></tr>
<tr class="separator:ga25fae5e324bab7dabb5d7c19ae03d0bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga41997a8f9fb946274ad5652bf780a2cd"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga41997a8f9fb946274ad5652bf780a2cd">sss_idmap_add_auto_domain_ex</a> (struct sss_idmap_ctx *ctx, const char *domain_name, const char *domain_sid, struct <a class="el" href="structsss__idmap__range.html">sss_idmap_range</a> *range, const char *range_id, uint32_t rid, bool external_mapping, <a class="el" href="group__sss__idmap.html#ga5deaa6990f12ae0b15ef92b81025886a">idmap_store_cb</a> cb, void *pvt)</td></tr>
<tr class="memdesc:ga41997a8f9fb946274ad5652bf780a2cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a domain with the first mappable RID to the idmap context and generate automatically secondary slices.  <a href="#ga41997a8f9fb946274ad5652bf780a2cd">More...</a><br /></td></tr>
<tr class="separator:ga41997a8f9fb946274ad5652bf780a2cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7da2d6dfdd50841dae21d9339ca994df"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga7da2d6dfdd50841dae21d9339ca994df">sss_idmap_check_collision</a> (struct sss_idmap_ctx *ctx, char *n_name, char *n_sid, struct <a class="el" href="structsss__idmap__range.html">sss_idmap_range</a> *n_range, uint32_t n_first_rid, char *n_range_id, bool n_external_mapping)</td></tr>
<tr class="memdesc:ga7da2d6dfdd50841dae21d9339ca994df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a new range would collide with any existing one.  <a href="#ga7da2d6dfdd50841dae21d9339ca994df">More...</a><br /></td></tr>
<tr class="separator:ga7da2d6dfdd50841dae21d9339ca994df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf86b37573af3ac16f59a34ef999a1b09"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#gaf86b37573af3ac16f59a34ef999a1b09">sss_idmap_check_collision_ex</a> (const char *o_name, const char *o_sid, struct <a class="el" href="structsss__idmap__range.html">sss_idmap_range</a> *o_range, uint32_t o_first_rid, const char *o_range_id, bool o_external_mapping, const char *n_name, const char *n_sid, struct <a class="el" href="structsss__idmap__range.html">sss_idmap_range</a> *n_range, uint32_t n_first_rid, const char *n_range_id, bool n_external_mapping)</td></tr>
<tr class="memdesc:gaf86b37573af3ac16f59a34ef999a1b09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if two ranges would collide.  <a href="#gaf86b37573af3ac16f59a34ef999a1b09">More...</a><br /></td></tr>
<tr class="separator:gaf86b37573af3ac16f59a34ef999a1b09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0022c9fdd7d9a352a8a6dcebc05acfb9"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga0022c9fdd7d9a352a8a6dcebc05acfb9">sss_idmap_sid_to_unix</a> (struct sss_idmap_ctx *ctx, const char *sid, uint32_t *id)</td></tr>
<tr class="memdesc:ga0022c9fdd7d9a352a8a6dcebc05acfb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translate SID to a unix UID or GID.  <a href="#ga0022c9fdd7d9a352a8a6dcebc05acfb9">More...</a><br /></td></tr>
<tr class="separator:ga0022c9fdd7d9a352a8a6dcebc05acfb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga039f2dd7a05f5cbf92d633d2e6d48dbf"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga039f2dd7a05f5cbf92d633d2e6d48dbf">sss_idmap_dom_sid_to_unix</a> (struct sss_idmap_ctx *ctx, struct sss_dom_sid *dom_sid, uint32_t *id)</td></tr>
<tr class="memdesc:ga039f2dd7a05f5cbf92d633d2e6d48dbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translate a SID stucture to a unix UID or GID.  <a href="#ga039f2dd7a05f5cbf92d633d2e6d48dbf">More...</a><br /></td></tr>
<tr class="separator:ga039f2dd7a05f5cbf92d633d2e6d48dbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga243d8486ae052d76dfac99b0df99adf6"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga243d8486ae052d76dfac99b0df99adf6">sss_idmap_bin_sid_to_unix</a> (struct sss_idmap_ctx *ctx, uint8_t *bin_sid, size_t length, uint32_t *id)</td></tr>
<tr class="memdesc:ga243d8486ae052d76dfac99b0df99adf6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translate a binary SID to a unix UID or GID.  <a href="#ga243d8486ae052d76dfac99b0df99adf6">More...</a><br /></td></tr>
<tr class="separator:ga243d8486ae052d76dfac99b0df99adf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec4a62de24142386638e5d32056dc8ed"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#gaec4a62de24142386638e5d32056dc8ed">sss_idmap_smb_sid_to_unix</a> (struct sss_idmap_ctx *ctx, struct dom_sid *smb_sid, uint32_t *id)</td></tr>
<tr class="memdesc:gaec4a62de24142386638e5d32056dc8ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translate a Samba dom_sid stucture to a unix UID or GID.  <a href="#gaec4a62de24142386638e5d32056dc8ed">More...</a><br /></td></tr>
<tr class="separator:gaec4a62de24142386638e5d32056dc8ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa019e235d2f932376e99c8afda65f617"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#gaa019e235d2f932376e99c8afda65f617">sss_idmap_check_sid_unix</a> (struct sss_idmap_ctx *ctx, const char *sid, uint32_t id)</td></tr>
<tr class="memdesc:gaa019e235d2f932376e99c8afda65f617"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a SID and a unix UID or GID belong to the same range.  <a href="#gaa019e235d2f932376e99c8afda65f617">More...</a><br /></td></tr>
<tr class="separator:gaa019e235d2f932376e99c8afda65f617"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gade367f2fea53a2fbfeb79fa0a10068f4"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#gade367f2fea53a2fbfeb79fa0a10068f4">sss_idmap_check_dom_sid_unix</a> (struct sss_idmap_ctx *ctx, struct sss_dom_sid *dom_sid, uint32_t id)</td></tr>
<tr class="memdesc:gade367f2fea53a2fbfeb79fa0a10068f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a SID structure and a unix UID or GID belong to the same range.  <a href="#gade367f2fea53a2fbfeb79fa0a10068f4">More...</a><br /></td></tr>
<tr class="separator:gade367f2fea53a2fbfeb79fa0a10068f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga94d07a5a9c349efc82f78fa31feaed96"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga94d07a5a9c349efc82f78fa31feaed96">sss_idmap_check_bin_sid_unix</a> (struct sss_idmap_ctx *ctx, uint8_t *bin_sid, size_t length, uint32_t id)</td></tr>
<tr class="memdesc:ga94d07a5a9c349efc82f78fa31feaed96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a binary SID and a unix UID or GID belong to the same range.  <a href="#ga94d07a5a9c349efc82f78fa31feaed96">More...</a><br /></td></tr>
<tr class="separator:ga94d07a5a9c349efc82f78fa31feaed96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab3cdd4175e06fec3a0214e2273f50e2a"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#gab3cdd4175e06fec3a0214e2273f50e2a">sss_idmap_check_smb_sid_unix</a> (struct sss_idmap_ctx *ctx, struct dom_sid *smb_sid, uint32_t id)</td></tr>
<tr class="memdesc:gab3cdd4175e06fec3a0214e2273f50e2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a Samba dom_sid structure and a unix UID or GID belong to the same range.  <a href="#gab3cdd4175e06fec3a0214e2273f50e2a">More...</a><br /></td></tr>
<tr class="separator:gab3cdd4175e06fec3a0214e2273f50e2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0619e85b3a5f28b41ea6428dd9ebba6d"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga0619e85b3a5f28b41ea6428dd9ebba6d">sss_idmap_unix_to_sid</a> (struct sss_idmap_ctx *ctx, uint32_t id, char **sid)</td></tr>
<tr class="memdesc:ga0619e85b3a5f28b41ea6428dd9ebba6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translate unix UID or GID to a SID.  <a href="#ga0619e85b3a5f28b41ea6428dd9ebba6d">More...</a><br /></td></tr>
<tr class="separator:ga0619e85b3a5f28b41ea6428dd9ebba6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga99efcb6180483e7c313dfef65ee5c1dc"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga99efcb6180483e7c313dfef65ee5c1dc">sss_idmap_unix_to_dom_sid</a> (struct sss_idmap_ctx *ctx, uint32_t id, struct sss_dom_sid **dom_sid)</td></tr>
<tr class="memdesc:ga99efcb6180483e7c313dfef65ee5c1dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translate unix UID or GID to a SID structure.  <a href="#ga99efcb6180483e7c313dfef65ee5c1dc">More...</a><br /></td></tr>
<tr class="separator:ga99efcb6180483e7c313dfef65ee5c1dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga492760b4d8ce2fc4090de33928a21b2a"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga492760b4d8ce2fc4090de33928a21b2a">sss_idmap_unix_to_bin_sid</a> (struct sss_idmap_ctx *ctx, uint32_t id, uint8_t **bin_sid, size_t *length)</td></tr>
<tr class="memdesc:ga492760b4d8ce2fc4090de33928a21b2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translate unix UID or GID to a binary SID.  <a href="#ga492760b4d8ce2fc4090de33928a21b2a">More...</a><br /></td></tr>
<tr class="separator:ga492760b4d8ce2fc4090de33928a21b2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga79cbb3283ad1b4b7857aeed21a11da7b"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga79cbb3283ad1b4b7857aeed21a11da7b">sss_idmap_free</a> (struct sss_idmap_ctx *ctx)</td></tr>
<tr class="memdesc:ga79cbb3283ad1b4b7857aeed21a11da7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free all the allocated memory of the idmap context.  <a href="#ga79cbb3283ad1b4b7857aeed21a11da7b">More...</a><br /></td></tr>
<tr class="separator:ga79cbb3283ad1b4b7857aeed21a11da7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacb1ffbb5f9b4ceebbb481a2e148992b4"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#gacb1ffbb5f9b4ceebbb481a2e148992b4">sss_idmap_free_sid</a> (struct sss_idmap_ctx *ctx, char *sid)</td></tr>
<tr class="memdesc:gacb1ffbb5f9b4ceebbb481a2e148992b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free mapped SID.  <a href="#gacb1ffbb5f9b4ceebbb481a2e148992b4">More...</a><br /></td></tr>
<tr class="separator:gacb1ffbb5f9b4ceebbb481a2e148992b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga04e5a09103419f2e4d5c9acf67a44bb1"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga04e5a09103419f2e4d5c9acf67a44bb1">sss_idmap_free_dom_sid</a> (struct sss_idmap_ctx *ctx, struct sss_dom_sid *dom_sid)</td></tr>
<tr class="memdesc:ga04e5a09103419f2e4d5c9acf67a44bb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free mapped domain SID.  <a href="#ga04e5a09103419f2e4d5c9acf67a44bb1">More...</a><br /></td></tr>
<tr class="separator:ga04e5a09103419f2e4d5c9acf67a44bb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7c2faef6057ac9128383c56cceffd001"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga7c2faef6057ac9128383c56cceffd001">sss_idmap_free_smb_sid</a> (struct sss_idmap_ctx *ctx, struct dom_sid *smb_sid)</td></tr>
<tr class="memdesc:ga7c2faef6057ac9128383c56cceffd001"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free mapped Samba SID.  <a href="#ga7c2faef6057ac9128383c56cceffd001">More...</a><br /></td></tr>
<tr class="separator:ga7c2faef6057ac9128383c56cceffd001"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d28ada0c02f36e9e15d57dd084e9c83"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga8d28ada0c02f36e9e15d57dd084e9c83">sss_idmap_free_bin_sid</a> (struct sss_idmap_ctx *ctx, uint8_t *bin_sid)</td></tr>
<tr class="memdesc:ga8d28ada0c02f36e9e15d57dd084e9c83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free mapped binary SID.  <a href="#ga8d28ada0c02f36e9e15d57dd084e9c83">More...</a><br /></td></tr>
<tr class="separator:ga8d28ada0c02f36e9e15d57dd084e9c83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6bda1c1d08d8378457c9c3255872dfd4"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga6bda1c1d08d8378457c9c3255872dfd4">idmap_error_string</a> (enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> err)</td></tr>
<tr class="memdesc:ga6bda1c1d08d8378457c9c3255872dfd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translate error code to a string.  <a href="#ga6bda1c1d08d8378457c9c3255872dfd4">More...</a><br /></td></tr>
<tr class="separator:ga6bda1c1d08d8378457c9c3255872dfd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga411345374d35cd998299ac503ba32275"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga411345374d35cd998299ac503ba32275">is_domain_sid</a> (const char *str)</td></tr>
<tr class="memdesc:ga411345374d35cd998299ac503ba32275"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if given string can be used as domain SID.  <a href="#ga411345374d35cd998299ac503ba32275">More...</a><br /></td></tr>
<tr class="separator:ga411345374d35cd998299ac503ba32275"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad6a162295133fb537bcd0421b452bf34"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#gad6a162295133fb537bcd0421b452bf34">sss_idmap_domain_has_algorithmic_mapping</a> (struct sss_idmap_ctx *ctx, const char *dom_sid, bool *has_algorithmic_mapping)</td></tr>
<tr class="memdesc:gad6a162295133fb537bcd0421b452bf34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a domain is configured with algorithmic mapping.  <a href="#gad6a162295133fb537bcd0421b452bf34">More...</a><br /></td></tr>
<tr class="separator:gad6a162295133fb537bcd0421b452bf34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae21255eced78a8790a8bffbaa03777b5"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#gae21255eced78a8790a8bffbaa03777b5">sss_idmap_domain_by_name_has_algorithmic_mapping</a> (struct sss_idmap_ctx *ctx, const char *dom_name, bool *has_algorithmic_mapping)</td></tr>
<tr class="memdesc:gae21255eced78a8790a8bffbaa03777b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a domain is configured with algorithmic mapping.  <a href="#gae21255eced78a8790a8bffbaa03777b5">More...</a><br /></td></tr>
<tr class="separator:gae21255eced78a8790a8bffbaa03777b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga67c37bc9d183e461e1add36d3b9f9af9"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga67c37bc9d183e461e1add36d3b9f9af9">sss_idmap_bin_sid_to_dom_sid</a> (struct sss_idmap_ctx *ctx, const uint8_t *bin_sid, size_t length, struct sss_dom_sid **dom_sid)</td></tr>
<tr class="memdesc:ga67c37bc9d183e461e1add36d3b9f9af9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert binary SID to SID structure.  <a href="#ga67c37bc9d183e461e1add36d3b9f9af9">More...</a><br /></td></tr>
<tr class="separator:ga67c37bc9d183e461e1add36d3b9f9af9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7be63a9bb66e577ca2bf250d0b347fa0"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga7be63a9bb66e577ca2bf250d0b347fa0">sss_idmap_bin_sid_to_sid</a> (struct sss_idmap_ctx *ctx, const uint8_t *bin_sid, size_t length, char **sid)</td></tr>
<tr class="memdesc:ga7be63a9bb66e577ca2bf250d0b347fa0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert binary SID to SID string.  <a href="#ga7be63a9bb66e577ca2bf250d0b347fa0">More...</a><br /></td></tr>
<tr class="separator:ga7be63a9bb66e577ca2bf250d0b347fa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1cee725834d3228ae4d9d3081ccb8fc3"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga1cee725834d3228ae4d9d3081ccb8fc3">sss_idmap_dom_sid_to_bin_sid</a> (struct sss_idmap_ctx *ctx, struct sss_dom_sid *dom_sid, uint8_t **bin_sid, size_t *length)</td></tr>
<tr class="memdesc:ga1cee725834d3228ae4d9d3081ccb8fc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert SID structure to binary SID.  <a href="#ga1cee725834d3228ae4d9d3081ccb8fc3">More...</a><br /></td></tr>
<tr class="separator:ga1cee725834d3228ae4d9d3081ccb8fc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9c236f569957519692be2844ac57575"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#gae9c236f569957519692be2844ac57575">sss_idmap_sid_to_bin_sid</a> (struct sss_idmap_ctx *ctx, const char *sid, uint8_t **bin_sid, size_t *length)</td></tr>
<tr class="memdesc:gae9c236f569957519692be2844ac57575"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert SID string to binary SID.  <a href="#gae9c236f569957519692be2844ac57575">More...</a><br /></td></tr>
<tr class="separator:gae9c236f569957519692be2844ac57575"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac5f0879f54de69c477890a1ee9282ec8"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#gac5f0879f54de69c477890a1ee9282ec8">sss_idmap_dom_sid_to_sid</a> (struct sss_idmap_ctx *ctx, struct sss_dom_sid *dom_sid, char **sid)</td></tr>
<tr class="memdesc:gac5f0879f54de69c477890a1ee9282ec8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert SID structure to SID string.  <a href="#gac5f0879f54de69c477890a1ee9282ec8">More...</a><br /></td></tr>
<tr class="separator:gac5f0879f54de69c477890a1ee9282ec8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab0955a0bf82e5b0d2382bd66a3e6ccf9"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#gab0955a0bf82e5b0d2382bd66a3e6ccf9">sss_idmap_sid_to_dom_sid</a> (struct sss_idmap_ctx *ctx, const char *sid, struct sss_dom_sid **dom_sid)</td></tr>
<tr class="memdesc:gab0955a0bf82e5b0d2382bd66a3e6ccf9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert SID string to SID structure.  <a href="#gab0955a0bf82e5b0d2382bd66a3e6ccf9">More...</a><br /></td></tr>
<tr class="separator:gab0955a0bf82e5b0d2382bd66a3e6ccf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec273aca2ea9b92198dd514b89cd374d"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#gaec273aca2ea9b92198dd514b89cd374d">sss_idmap_sid_to_smb_sid</a> (struct sss_idmap_ctx *ctx, const char *sid, struct dom_sid **smb_sid)</td></tr>
<tr class="memdesc:gaec273aca2ea9b92198dd514b89cd374d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert SID string to Samba dom_sid structure.  <a href="#gaec273aca2ea9b92198dd514b89cd374d">More...</a><br /></td></tr>
<tr class="separator:gaec273aca2ea9b92198dd514b89cd374d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga61d4dd9a68f3f32f8da70b73dc737772"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga61d4dd9a68f3f32f8da70b73dc737772">sss_idmap_smb_sid_to_sid</a> (struct sss_idmap_ctx *ctx, struct dom_sid *smb_sid, char **sid)</td></tr>
<tr class="memdesc:ga61d4dd9a68f3f32f8da70b73dc737772"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert Samba dom_sid structure to SID string.  <a href="#ga61d4dd9a68f3f32f8da70b73dc737772">More...</a><br /></td></tr>
<tr class="separator:ga61d4dd9a68f3f32f8da70b73dc737772"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafeb63728b7f751da8a172901553de218"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#gafeb63728b7f751da8a172901553de218">sss_idmap_dom_sid_to_smb_sid</a> (struct sss_idmap_ctx *ctx, struct sss_dom_sid *dom_sid, struct dom_sid **smb_sid)</td></tr>
<tr class="memdesc:gafeb63728b7f751da8a172901553de218"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert SID stucture to Samba dom_sid structure.  <a href="#gafeb63728b7f751da8a172901553de218">More...</a><br /></td></tr>
<tr class="separator:gafeb63728b7f751da8a172901553de218"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga02712d5623b4c3d7a0c4208a5ba9374d"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga02712d5623b4c3d7a0c4208a5ba9374d">sss_idmap_smb_sid_to_dom_sid</a> (struct sss_idmap_ctx *ctx, struct dom_sid *smb_sid, struct sss_dom_sid **dom_sid)</td></tr>
<tr class="memdesc:ga02712d5623b4c3d7a0c4208a5ba9374d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert Samba dom_sid structure to SID structure.  <a href="#ga02712d5623b4c3d7a0c4208a5ba9374d">More...</a><br /></td></tr>
<tr class="separator:ga02712d5623b4c3d7a0c4208a5ba9374d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga943c7a185129046c95ddc65a507a233c"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga943c7a185129046c95ddc65a507a233c">sss_idmap_bin_sid_to_smb_sid</a> (struct sss_idmap_ctx *ctx, const uint8_t *bin_sid, size_t length, struct dom_sid **smb_sid)</td></tr>
<tr class="memdesc:ga943c7a185129046c95ddc65a507a233c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert binary SID to Samba dom_sid structure.  <a href="#ga943c7a185129046c95ddc65a507a233c">More...</a><br /></td></tr>
<tr class="separator:ga943c7a185129046c95ddc65a507a233c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf80cfa635d5ddb8e298eab028cf6fd79"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#gaf80cfa635d5ddb8e298eab028cf6fd79">sss_idmap_smb_sid_to_bin_sid</a> (struct sss_idmap_ctx *ctx, struct dom_sid *smb_sid, uint8_t **bin_sid, size_t *length)</td></tr>
<tr class="memdesc:gaf80cfa635d5ddb8e298eab028cf6fd79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert Samba dom_sid structure to binary SID.  <a href="#gaf80cfa635d5ddb8e298eab028cf6fd79">More...</a><br /></td></tr>
<tr class="separator:gaf80cfa635d5ddb8e298eab028cf6fd79"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Libsss_idmap provides a mechanism to translate a SID to a UNIX UID or GID or the other way round. </p>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ga93314ca4455c050dd3cc3f523d67541a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga93314ca4455c050dd3cc3f523d67541a">&#9670;&nbsp;</a></span>idmap_error_code</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Error codes used by libsss_idmap. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga93314ca4455c050dd3cc3f523d67541aa317575c4de289cc736fa824842105986"></a>IDMAP_SUCCESS&#160;</td><td class="fielddoc"><p>Success. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93314ca4455c050dd3cc3f523d67541aa8010ff2a434025ae72aa5f312c734f33"></a>IDMAP_NOT_IMPLEMENTED&#160;</td><td class="fielddoc"><p>Function is not yet implemented. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93314ca4455c050dd3cc3f523d67541aac00724338a1f55b257ab8442e331914d"></a>IDMAP_ERROR&#160;</td><td class="fielddoc"><p>General error. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93314ca4455c050dd3cc3f523d67541aa3c5b13cef8c1c0689d755fb8b6181f99"></a>IDMAP_OUT_OF_MEMORY&#160;</td><td class="fielddoc"><p>Ran out of memory during processing. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93314ca4455c050dd3cc3f523d67541aa242c8fa573d773afef029c2f5612639a"></a>IDMAP_NO_DOMAIN&#160;</td><td class="fielddoc"><p>No domain added. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93314ca4455c050dd3cc3f523d67541aa315b887065d8f0004db4f26e206cb711"></a>IDMAP_CONTEXT_INVALID&#160;</td><td class="fielddoc"><p>The provided idmap context is invalid. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da"></a>IDMAP_SID_INVALID&#160;</td><td class="fielddoc"><p>The provided SID is invalid. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93314ca4455c050dd3cc3f523d67541aa4e07334ca55308c162730ea4c12c06c3"></a>IDMAP_SID_UNKNOWN&#160;</td><td class="fielddoc"><p>The provided SID was not found. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93314ca4455c050dd3cc3f523d67541aaa32b03c016a31b83fab25f09c9b04b97"></a>IDMAP_NO_RANGE&#160;</td><td class="fielddoc"><p>The provided UID or GID could not be mapped. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93314ca4455c050dd3cc3f523d67541aa6723be8b5165b36486578bbb2c4fa5d8"></a>IDMAP_BUILTIN_SID&#160;</td><td class="fielddoc"><p>The provided SID is a built-in one. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93314ca4455c050dd3cc3f523d67541aa6a799d50371338b34399020810c4070b"></a>IDMAP_OUT_OF_SLICES&#160;</td><td class="fielddoc"><p>No more free slices. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93314ca4455c050dd3cc3f523d67541aab9c450efc1e7668dd4805e1607447e43"></a>IDMAP_COLLISION&#160;</td><td class="fielddoc"><p>New domain collides with existing one. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93314ca4455c050dd3cc3f523d67541aa5e9bfde65defbc4ced8d35dc67140a87"></a>IDMAP_EXTERNAL&#160;</td><td class="fielddoc"><p>External source should be consulted for idmapping. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93314ca4455c050dd3cc3f523d67541aaa388d7778be6ecc86286a67a098d6542"></a>IDMAP_NAME_UNKNOWN&#160;</td><td class="fielddoc"><p>The provided name was not found. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga6bda1c1d08d8378457c9c3255872dfd4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6bda1c1d08d8378457c9c3255872dfd4">&#9670;&nbsp;</a></span>idmap_error_string()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* idmap_error_string </td>
          <td>(</td>
          <td class="paramtype">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a>&#160;</td>
          <td class="paramname"><em>err</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Translate error code to a string. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">err</td><td>Idmap error code</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>Error description as a zero-terminated string </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga411345374d35cd998299ac503ba32275"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga411345374d35cd998299ac503ba32275">&#9670;&nbsp;</a></span>is_domain_sid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool is_domain_sid </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if given string can be used as domain SID. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>String to check</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>true: String can be used as domain SID</li>
<li>false: String can not be used as domain SID </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga41997a8f9fb946274ad5652bf780a2cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga41997a8f9fb946274ad5652bf780a2cd">&#9670;&nbsp;</a></span>sss_idmap_add_auto_domain_ex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_add_auto_domain_ex </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>domain_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>domain_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structsss__idmap__range.html">sss_idmap_range</a> *&#160;</td>
          <td class="paramname"><em>range</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>range_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>rid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>external_mapping</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__sss__idmap.html#ga5deaa6990f12ae0b15ef92b81025886a">idmap_store_cb</a>&#160;</td>
          <td class="paramname"><em>cb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>pvt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a domain with the first mappable RID to the idmap context and generate automatically secondary slices. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">domain_name</td><td>Zero-terminated string with the domain name </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">domain_sid</td><td>Zero-terminated string representation of the domain SID (S-1-15-.....) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">range</td><td>TBD Some information about the id ranges of this domain </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">range_id</td><td>optional unique identifier of a range, it is needed to allow updates at runtime </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rid</td><td>The RID that should be mapped to the first ID of the given range. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">external_mapping</td><td>If set to true the ID will not be mapped algorithmically, but the *_to_unix and *_unix_to_* calls will return IDMAP_EXTERNAL to instruct the caller to check external sources. For a single domain all ranges must be of the same type. It is not possible to mix algorithmic and external mapping. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">s_cv</td><td>The callback for storing mapping of dynamically created domains. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pvt</td><td>Private data for callback cb.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa3c5b13cef8c1c0689d755fb8b6181f99" title="Ran out of memory during processing. ">IDMAP_OUT_OF_MEMORY</a>: Insufficient memory to store the data in the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Invalid SID provided</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa242c8fa573d773afef029c2f5612639a" title="No domain added. ">IDMAP_NO_DOMAIN</a>: No domain domain name given</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aab9c450efc1e7668dd4805e1607447e43" title="New domain collides with existing one. ">IDMAP_COLLISION</a>: New domain collides with existing one </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga26f1064ee1db6a273f926fe85547a78d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga26f1064ee1db6a273f926fe85547a78d">&#9670;&nbsp;</a></span>sss_idmap_add_domain()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_add_domain </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>domain_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>domain_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structsss__idmap__range.html">sss_idmap_range</a> *&#160;</td>
          <td class="paramname"><em>range</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a domain to the idmap context. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">domain_name</td><td>Zero-terminated string with the domain name </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">domain_sid</td><td>Zero-terminated string representation of the domain SID (S-1-15-.....) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">range</td><td>TBD Some information about the id ranges of this domain</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa3c5b13cef8c1c0689d755fb8b6181f99" title="Ran out of memory during processing. ">IDMAP_OUT_OF_MEMORY</a>: Insufficient memory to store the data in the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Invalid SID provided</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa242c8fa573d773afef029c2f5612639a" title="No domain added. ">IDMAP_NO_DOMAIN</a>: No domain domain name given</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aab9c450efc1e7668dd4805e1607447e43" title="New domain collides with existing one. ">IDMAP_COLLISION</a>: New domain collides with existing one </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga25fae5e324bab7dabb5d7c19ae03d0bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga25fae5e324bab7dabb5d7c19ae03d0bf">&#9670;&nbsp;</a></span>sss_idmap_add_domain_ex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_add_domain_ex </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>domain_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>domain_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structsss__idmap__range.html">sss_idmap_range</a> *&#160;</td>
          <td class="paramname"><em>range</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>range_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>rid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>external_mapping</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a domain with the first mappable RID to the idmap context. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">domain_name</td><td>Zero-terminated string with the domain name </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">domain_sid</td><td>Zero-terminated string representation of the domain SID (S-1-15-.....) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">range</td><td>TBD Some information about the id ranges of this domain </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">range_id</td><td>optional unique identifier of a range, it is needed to allow updates at runtime </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rid</td><td>The RID that should be mapped to the first ID of the given range. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">external_mapping</td><td>If set to true the ID will not be mapped algorithmically, but the *_to_unix and *_unix_to_* calls will return IDMAP_EXTERNAL to instruct the caller to check external sources. For a single domain all ranges must be of the same type. It is not possible to mix algorithmic and external mapping.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa3c5b13cef8c1c0689d755fb8b6181f99" title="Ran out of memory during processing. ">IDMAP_OUT_OF_MEMORY</a>: Insufficient memory to store the data in the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Invalid SID provided</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa242c8fa573d773afef029c2f5612639a" title="No domain added. ">IDMAP_NO_DOMAIN</a>: No domain domain name given</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aab9c450efc1e7668dd4805e1607447e43" title="New domain collides with existing one. ">IDMAP_COLLISION</a>: New domain collides with existing one </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga67c37bc9d183e461e1add36d3b9f9af9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga67c37bc9d183e461e1add36d3b9f9af9">&#9670;&nbsp;</a></span>sss_idmap_bin_sid_to_dom_sid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_bin_sid_to_dom_sid </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>bin_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct sss_dom_sid **&#160;</td>
          <td class="paramname"><em>dom_sid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert binary SID to SID structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">bin_sid</td><td>Array with the binary SID </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>Size of the array containing the binary SID </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">dom_sid</td><td>SID structure, must be freed if not needed anymore</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Given SID is invalid</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa3c5b13cef8c1c0689d755fb8b6181f99" title="Ran out of memory during processing. ">IDMAP_OUT_OF_MEMORY</a>: Failed to allocate memory for the result </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga7be63a9bb66e577ca2bf250d0b347fa0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7be63a9bb66e577ca2bf250d0b347fa0">&#9670;&nbsp;</a></span>sss_idmap_bin_sid_to_sid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_bin_sid_to_sid </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>bin_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>sid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert binary SID to SID string. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">bin_sid</td><td>Array with the binary SID </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>Size of the array containing the binary SID </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">sid</td><td>Zero-terminated string representation of the SID, must be freed if not needed anymore</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Given SID is invalid</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa3c5b13cef8c1c0689d755fb8b6181f99" title="Ran out of memory during processing. ">IDMAP_OUT_OF_MEMORY</a>: Failed to allocate memory for the result </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga943c7a185129046c95ddc65a507a233c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga943c7a185129046c95ddc65a507a233c">&#9670;&nbsp;</a></span>sss_idmap_bin_sid_to_smb_sid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_bin_sid_to_smb_sid </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>bin_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct dom_sid **&#160;</td>
          <td class="paramname"><em>smb_sid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert binary SID to Samba dom_sid structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">bin_sid</td><td>Array with the binary SID </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>Size of the array containing the binary SID </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">smb_sid</td><td>Samba dom_sid structure, must be freed if not needed anymore</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Given SID is invalid</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa3c5b13cef8c1c0689d755fb8b6181f99" title="Ran out of memory during processing. ">IDMAP_OUT_OF_MEMORY</a>: Failed to allocate memory for the result </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga243d8486ae052d76dfac99b0df99adf6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga243d8486ae052d76dfac99b0df99adf6">&#9670;&nbsp;</a></span>sss_idmap_bin_sid_to_unix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_bin_sid_to_unix </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>bin_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Translate a binary SID to a unix UID or GID. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">bin_sid</td><td>Array with the binary SID </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>Size of the array containing the binary SID </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">id</td><td>Returned unix UID or GID</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa242c8fa573d773afef029c2f5612639a" title="No domain added. ">IDMAP_NO_DOMAIN</a>: No domains are added to the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Invalid SID provided</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa4e07334ca55308c162730ea4c12c06c3" title="The provided SID was not found. ">IDMAP_SID_UNKNOWN</a>: SID cannot be found in the domains added to the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa5e9bfde65defbc4ced8d35dc67140a87" title="External source should be consulted for idmapping. ">IDMAP_EXTERNAL</a>: external source is authoritative for mapping </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga1706ccbeb6fdae93218f979aa9bf4ab1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1706ccbeb6fdae93218f979aa9bf4ab1">&#9670;&nbsp;</a></span>sss_idmap_calculate_range()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_calculate_range </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>dom_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">id_t *&#160;</td>
          <td class="paramname"><em>slice_num</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structsss__idmap__range.html">sss_idmap_range</a> *&#160;</td>
          <td class="paramname"><em>range</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calculate new range of available POSIX IDs. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dom_sid</td><td>Zero-terminated string representation of the domain SID (S-1-15-.....) </td></tr>
    <tr><td class="paramdir">[in,out]</td><td class="paramname">slice_num</td><td>Slice number to be used. Set this pointer to NULL or the addressed value to -1 to calculate slice number automatically. The calculated value will be returned in this parameter. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">range</td><td>Structure containing upper and lower bound of the range of POSIX IDs</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa6a799d50371338b34399020810c4070b" title="No more free slices. ">IDMAP_OUT_OF_SLICES</a>: Cannot calculate new range because all slices are used. </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga94d07a5a9c349efc82f78fa31feaed96"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga94d07a5a9c349efc82f78fa31feaed96">&#9670;&nbsp;</a></span>sss_idmap_check_bin_sid_unix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_check_bin_sid_unix </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>bin_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if a binary SID and a unix UID or GID belong to the same range. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">bin_sid</td><td>Array with the binary SID </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>Size of the array containing the binary SID </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>Unix UID or GID</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa242c8fa573d773afef029c2f5612639a" title="No domain added. ">IDMAP_NO_DOMAIN</a>: No domains are added to the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Invalid SID provided</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa4e07334ca55308c162730ea4c12c06c3" title="The provided SID was not found. ">IDMAP_SID_UNKNOWN</a>: SID cannot be found in the domains added to the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aaa32b03c016a31b83fab25f09c9b04b97" title="The provided UID or GID could not be mapped. ">IDMAP_NO_RANGE</a> No matching ID range found </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga7da2d6dfdd50841dae21d9339ca994df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7da2d6dfdd50841dae21d9339ca994df">&#9670;&nbsp;</a></span>sss_idmap_check_collision()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_check_collision </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>n_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>n_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structsss__idmap__range.html">sss_idmap_range</a> *&#160;</td>
          <td class="paramname"><em>n_range</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>n_first_rid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>n_range_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>n_external_mapping</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if a new range would collide with any existing one. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n_name</td><td>Zero-terminated string with the domain name the new range should belong to </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n_sid</td><td>Zero-terminated string representation of the domain SID (S-1-15-.....) the new range sould belong to </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n_range</td><td>The new id range </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n_range_id</td><td>unique identifier of the new range, it is needed to allow updates at runtime, may be NULL </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n_first_rid</td><td>The RID that should be mapped to the first ID of the new range. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n_external_mapping</td><td>Mapping type of the new range</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aab9c450efc1e7668dd4805e1607447e43" title="New domain collides with existing one. ">IDMAP_COLLISION</a>: New range collides with existing one </li>
</ul>
</dd></dl>

</div>
</div>
<a id="gaf86b37573af3ac16f59a34ef999a1b09"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf86b37573af3ac16f59a34ef999a1b09">&#9670;&nbsp;</a></span>sss_idmap_check_collision_ex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_check_collision_ex </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>o_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>o_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structsss__idmap__range.html">sss_idmap_range</a> *&#160;</td>
          <td class="paramname"><em>o_range</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>o_first_rid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>o_range_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>o_external_mapping</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>n_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>n_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structsss__idmap__range.html">sss_idmap_range</a> *&#160;</td>
          <td class="paramname"><em>n_range</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>n_first_rid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>n_range_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>n_external_mapping</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if two ranges would collide. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">o_name</td><td>Zero-terminated string with the domain name the first range should belong to </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">o_sid</td><td>Zero-terminated string representation of the domain SID (S-1-15-.....) the first range sould belong to </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">o_range</td><td>The first id range </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">o_range_id</td><td>unique identifier of the first range, it is needed to allow updates at runtime, may be NULL </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">o_first_rid</td><td>The RID that should be mapped to the first ID of the first range. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">o_external_mapping</td><td>Mapping type of the first range </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n_name</td><td>Zero-terminated string with the domain name the second range should belong to </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n_sid</td><td>Zero-terminated string representation of the domain SID (S-1-15-.....) the second range sould belong to </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n_range</td><td>The second id range </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n_range_id</td><td>unique identifier of the second range, it is needed to allow updates at runtime, may be NULL </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n_first_rid</td><td>The RID that should be mapped to the first ID of the second range. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n_external_mapping</td><td>Mapping type of the second range</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aab9c450efc1e7668dd4805e1607447e43" title="New domain collides with existing one. ">IDMAP_COLLISION</a>: New range collides with existing one </li>
</ul>
</dd></dl>

</div>
</div>
<a id="gade367f2fea53a2fbfeb79fa0a10068f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gade367f2fea53a2fbfeb79fa0a10068f4">&#9670;&nbsp;</a></span>sss_idmap_check_dom_sid_unix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_check_dom_sid_unix </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct sss_dom_sid *&#160;</td>
          <td class="paramname"><em>dom_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if a SID structure and a unix UID or GID belong to the same range. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dom_sid</td><td>SID structure </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>Unix UID or GID</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa242c8fa573d773afef029c2f5612639a" title="No domain added. ">IDMAP_NO_DOMAIN</a>: No domains are added to the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Invalid SID provided</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa4e07334ca55308c162730ea4c12c06c3" title="The provided SID was not found. ">IDMAP_SID_UNKNOWN</a>: SID cannot be found in the domains added to the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aaa32b03c016a31b83fab25f09c9b04b97" title="The provided UID or GID could not be mapped. ">IDMAP_NO_RANGE</a> No matching ID range found </li>
</ul>
</dd></dl>

</div>
</div>
<a id="gaa019e235d2f932376e99c8afda65f617"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa019e235d2f932376e99c8afda65f617">&#9670;&nbsp;</a></span>sss_idmap_check_sid_unix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_check_sid_unix </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if a SID and a unix UID or GID belong to the same range. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">sid</td><td>Zero-terminated string representation of the SID </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>Unix UID or GID</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa242c8fa573d773afef029c2f5612639a" title="No domain added. ">IDMAP_NO_DOMAIN</a>: No domains are added to the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Invalid SID provided</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa4e07334ca55308c162730ea4c12c06c3" title="The provided SID was not found. ">IDMAP_SID_UNKNOWN</a>: SID cannot be found in the domains added to the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aaa32b03c016a31b83fab25f09c9b04b97" title="The provided UID or GID could not be mapped. ">IDMAP_NO_RANGE</a> No matching ID range found </li>
</ul>
</dd></dl>

</div>
</div>
<a id="gab3cdd4175e06fec3a0214e2273f50e2a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab3cdd4175e06fec3a0214e2273f50e2a">&#9670;&nbsp;</a></span>sss_idmap_check_smb_sid_unix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_check_smb_sid_unix </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct dom_sid *&#160;</td>
          <td class="paramname"><em>smb_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if a Samba dom_sid structure and a unix UID or GID belong to the same range. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">smb_sid</td><td>Samba dom_sid structure </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>Unix UID or GID</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa242c8fa573d773afef029c2f5612639a" title="No domain added. ">IDMAP_NO_DOMAIN</a>: No domains are added to the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Invalid SID provided</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa4e07334ca55308c162730ea4c12c06c3" title="The provided SID was not found. ">IDMAP_SID_UNKNOWN</a>: SID cannot be found in the domains added to the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aaa32b03c016a31b83fab25f09c9b04b97" title="The provided UID or GID could not be mapped. ">IDMAP_NO_RANGE</a> No matching ID range found </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga138791ec8342033be0c04c2c13d25173"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga138791ec8342033be0c04c2c13d25173">&#9670;&nbsp;</a></span>sss_idmap_ctx_get_autorid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_ctx_get_autorid </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>_autorid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if autorid compatibility mode is set. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>idmap context </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">_autorid</td><td>true if autorid is used </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gaf03dec6f561d9df0191bc7d1bed7c1cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf03dec6f561d9df0191bc7d1bed7c1cc">&#9670;&nbsp;</a></span>sss_idmap_ctx_get_lower()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_ctx_get_lower </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">id_t *&#160;</td>
          <td class="paramname"><em>_lower</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the lower bound of the range of POSIX IDs. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>idmap context </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">_lower</td><td>returned lower bound </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gac6b19cd80504d323bdf1bd02a2a682fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac6b19cd80504d323bdf1bd02a2a682fa">&#9670;&nbsp;</a></span>sss_idmap_ctx_get_rangesize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_ctx_get_rangesize </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">id_t *&#160;</td>
          <td class="paramname"><em>rangesize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the range size of POSIX IDs available for single domain. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>idmap context </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">rangesize</td><td>returned range size </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gae3d211198f1736cd257ad17fd0e85c2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae3d211198f1736cd257ad17fd0e85c2f">&#9670;&nbsp;</a></span>sss_idmap_ctx_get_upper()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_ctx_get_upper </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">id_t *&#160;</td>
          <td class="paramname"><em>_upper</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the upper bound of the range of POSIX IDs. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>idmap context </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">_upper</td><td>returned upper bound </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga2e2d8166e55ead985bf17e20284bb672"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2e2d8166e55ead985bf17e20284bb672">&#9670;&nbsp;</a></span>sss_idmap_ctx_set_autorid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_ctx_set_autorid </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>use_autorid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set/unset autorid compatibility mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">use_autorid</td><td>If true, autorid compatibility mode will be used </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gaf3c96054a2c36b811dc3ebb0117ce0e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf3c96054a2c36b811dc3ebb0117ce0e2">&#9670;&nbsp;</a></span>sss_idmap_ctx_set_extra_slice_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_ctx_set_extra_slice_init </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>extra_slice_init</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the number of secondary slices available for domain. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">extra_slice_init</td><td>number of secondary slices to be generated at startup </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gabb7734d43768b525f61bb2603f22600a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabb7734d43768b525f61bb2603f22600a">&#9670;&nbsp;</a></span>sss_idmap_ctx_set_lower()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_ctx_set_lower </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">id_t&#160;</td>
          <td class="paramname"><em>lower</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the lower bound of the range of POSIX IDs. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">lower</td><td>lower bound of the range </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga6cf8dae68e483bbfd65a3d10ec7cbc0b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6cf8dae68e483bbfd65a3d10ec7cbc0b">&#9670;&nbsp;</a></span>sss_idmap_ctx_set_rangesize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_ctx_set_rangesize </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">id_t&#160;</td>
          <td class="paramname"><em>rangesize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the range size of POSIX IDs available for single domain. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rangesize</td><td>range size of IDs </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga1f89597432871153fe0c7de6702f55f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1f89597432871153fe0c7de6702f55f8">&#9670;&nbsp;</a></span>sss_idmap_ctx_set_upper()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_ctx_set_upper </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">id_t&#160;</td>
          <td class="paramname"><em>upper</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the upper bound of the range of POSIX IDs. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">upper</td><td>upper bound of the range </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga1cee725834d3228ae4d9d3081ccb8fc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1cee725834d3228ae4d9d3081ccb8fc3">&#9670;&nbsp;</a></span>sss_idmap_dom_sid_to_bin_sid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_dom_sid_to_bin_sid </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct sss_dom_sid *&#160;</td>
          <td class="paramname"><em>dom_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t **&#160;</td>
          <td class="paramname"><em>bin_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert SID structure to binary SID. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dom_sid</td><td>SID structure </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">bin_sid</td><td>Array with the binary SID, must be freed if not needed anymore </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">length</td><td>Size of the array containing the binary SID</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Given SID is invalid</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa3c5b13cef8c1c0689d755fb8b6181f99" title="Ran out of memory during processing. ">IDMAP_OUT_OF_MEMORY</a>: Failed to allocate memory for the result </li>
</ul>
</dd></dl>

</div>
</div>
<a id="gac5f0879f54de69c477890a1ee9282ec8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac5f0879f54de69c477890a1ee9282ec8">&#9670;&nbsp;</a></span>sss_idmap_dom_sid_to_sid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_dom_sid_to_sid </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct sss_dom_sid *&#160;</td>
          <td class="paramname"><em>dom_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>sid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert SID structure to SID string. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dom_sid</td><td>SID structure </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">sid</td><td>Zero-terminated string representation of the SID, must be freed if not needed anymore</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Given SID is invalid</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa3c5b13cef8c1c0689d755fb8b6181f99" title="Ran out of memory during processing. ">IDMAP_OUT_OF_MEMORY</a>: Failed to allocate memory for the result </li>
</ul>
</dd></dl>

</div>
</div>
<a id="gafeb63728b7f751da8a172901553de218"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafeb63728b7f751da8a172901553de218">&#9670;&nbsp;</a></span>sss_idmap_dom_sid_to_smb_sid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_dom_sid_to_smb_sid </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct sss_dom_sid *&#160;</td>
          <td class="paramname"><em>dom_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct dom_sid **&#160;</td>
          <td class="paramname"><em>smb_sid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert SID stucture to Samba dom_sid structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dom_sid</td><td>SID structure </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">smb_sid</td><td>Samba dom_sid structure, must be freed if not needed anymore</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Given SID is invalid</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa3c5b13cef8c1c0689d755fb8b6181f99" title="Ran out of memory during processing. ">IDMAP_OUT_OF_MEMORY</a>: Failed to allocate memory for the result </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga039f2dd7a05f5cbf92d633d2e6d48dbf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga039f2dd7a05f5cbf92d633d2e6d48dbf">&#9670;&nbsp;</a></span>sss_idmap_dom_sid_to_unix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_dom_sid_to_unix </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct sss_dom_sid *&#160;</td>
          <td class="paramname"><em>dom_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Translate a SID stucture to a unix UID or GID. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dom_sid</td><td>SID structure </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">id</td><td>Returned unix UID or GID</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa242c8fa573d773afef029c2f5612639a" title="No domain added. ">IDMAP_NO_DOMAIN</a>: No domains are added to the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Invalid SID provided</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa4e07334ca55308c162730ea4c12c06c3" title="The provided SID was not found. ">IDMAP_SID_UNKNOWN</a>: SID cannot be found in the domains added to the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa5e9bfde65defbc4ced8d35dc67140a87" title="External source should be consulted for idmapping. ">IDMAP_EXTERNAL</a>: external source is authoritative for mapping </li>
</ul>
</dd></dl>

</div>
</div>
<a id="gae21255eced78a8790a8bffbaa03777b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae21255eced78a8790a8bffbaa03777b5">&#9670;&nbsp;</a></span>sss_idmap_domain_by_name_has_algorithmic_mapping()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_domain_by_name_has_algorithmic_mapping </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>dom_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>has_algorithmic_mapping</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if a domain is configured with algorithmic mapping. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dom_name</td><td>Name of the domain </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">has_algorithmic_mapping</td><td>Boolean value indicating if the given domain is configured for algorithmic mapping or not.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa317575c4de289cc736fa824842105986" title="Success. ">IDMAP_SUCCESS</a>: Domain for the given name was found and has_algorithmic_mapping is set accordingly</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aac00724338a1f55b257ab8442e331914d" title="General error. ">IDMAP_ERROR</a>: Provided name is invalid</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa315b887065d8f0004db4f26e206cb711" title="The provided idmap context is invalid. ">IDMAP_CONTEXT_INVALID</a>: Provided idmap context is invalid</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa242c8fa573d773afef029c2f5612639a" title="No domain added. ">IDMAP_NO_DOMAIN</a>: No domains are available in the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aaa388d7778be6ecc86286a67a098d6542" title="The provided name was not found. ">IDMAP_NAME_UNKNOWN</a>: No domain with the given name was found in the idmap context </li>
</ul>
</dd></dl>

</div>
</div>
<a id="gad6a162295133fb537bcd0421b452bf34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad6a162295133fb537bcd0421b452bf34">&#9670;&nbsp;</a></span>sss_idmap_domain_has_algorithmic_mapping()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_domain_has_algorithmic_mapping </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>dom_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>has_algorithmic_mapping</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if a domain is configured with algorithmic mapping. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dom_sid</td><td>SID string, can be either a domain SID or an object SID </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">has_algorithmic_mapping</td><td>Boolean value indicating if the given domain is configured for algorithmic mapping or not.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa317575c4de289cc736fa824842105986" title="Success. ">IDMAP_SUCCESS</a>: Domain for the given SID was found and has_algorithmic_mapping is set accordingly</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Provided SID is invalid</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa315b887065d8f0004db4f26e206cb711" title="The provided idmap context is invalid. ">IDMAP_CONTEXT_INVALID</a>: Provided idmap context is invalid</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa242c8fa573d773afef029c2f5612639a" title="No domain added. ">IDMAP_NO_DOMAIN</a>: No domains are available in the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa4e07334ca55308c162730ea4c12c06c3" title="The provided SID was not found. ">IDMAP_SID_UNKNOWN</a>: No domain with the given SID was found in the idmap context </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga79cbb3283ad1b4b7857aeed21a11da7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga79cbb3283ad1b4b7857aeed21a11da7b">&#9670;&nbsp;</a></span>sss_idmap_free()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_free </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free all the allocated memory of the idmap context. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa315b887065d8f0004db4f26e206cb711" title="The provided idmap context is invalid. ">IDMAP_CONTEXT_INVALID</a>: Provided context is invalid </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga8d28ada0c02f36e9e15d57dd084e9c83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8d28ada0c02f36e9e15d57dd084e9c83">&#9670;&nbsp;</a></span>sss_idmap_free_bin_sid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_free_bin_sid </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>bin_sid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free mapped binary SID. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">bin_sid</td><td>Binary SID to be freed.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa315b887065d8f0004db4f26e206cb711" title="The provided idmap context is invalid. ">IDMAP_CONTEXT_INVALID</a>: Provided context is invalid </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga04e5a09103419f2e4d5c9acf67a44bb1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga04e5a09103419f2e4d5c9acf67a44bb1">&#9670;&nbsp;</a></span>sss_idmap_free_dom_sid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_free_dom_sid </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct sss_dom_sid *&#160;</td>
          <td class="paramname"><em>dom_sid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free mapped domain SID. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dom_sid</td><td>Domain SID to be freed.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa315b887065d8f0004db4f26e206cb711" title="The provided idmap context is invalid. ">IDMAP_CONTEXT_INVALID</a>: Provided context is invalid </li>
</ul>
</dd></dl>

</div>
</div>
<a id="gacb1ffbb5f9b4ceebbb481a2e148992b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacb1ffbb5f9b4ceebbb481a2e148992b4">&#9670;&nbsp;</a></span>sss_idmap_free_sid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_free_sid </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>sid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free mapped SID. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">sid</td><td>SID to be freed.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa315b887065d8f0004db4f26e206cb711" title="The provided idmap context is invalid. ">IDMAP_CONTEXT_INVALID</a>: Provided context is invalid </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga7c2faef6057ac9128383c56cceffd001"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7c2faef6057ac9128383c56cceffd001">&#9670;&nbsp;</a></span>sss_idmap_free_smb_sid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_free_smb_sid </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct dom_sid *&#160;</td>
          <td class="paramname"><em>smb_sid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free mapped Samba SID. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">smb_sid</td><td>Samba SID to be freed.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa315b887065d8f0004db4f26e206cb711" title="The provided idmap context is invalid. ">IDMAP_CONTEXT_INVALID</a>: Provided context is invalid </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga4917e62c0ae7d308234414a1b8b773f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4917e62c0ae7d308234414a1b8b773f2">&#9670;&nbsp;</a></span>sss_idmap_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__sss__idmap.html#gae3626191c986dfef5fbf093f4338f2de">idmap_alloc_func</a> *&#160;</td>
          <td class="paramname"><em>alloc_func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>alloc_pvt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">idmap_free_func *&#160;</td>
          <td class="paramname"><em>free_func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct sss_idmap_ctx **&#160;</td>
          <td class="paramname"><em>ctx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize idmap context. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">alloc_func</td><td>Function to allocate memory for the context, if NULL malloc() id used </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">alloc_pvt</td><td>Private data for allocation routine </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">free_func</td><td>Function to free the memory the context, if NULL free() id used </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">ctx</td><td>idmap context</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa3c5b13cef8c1c0689d755fb8b6181f99" title="Ran out of memory during processing. ">IDMAP_OUT_OF_MEMORY</a>: Insufficient memory to create the context </li>
</ul>
</dd></dl>

</div>
</div>
<a id="gae9c236f569957519692be2844ac57575"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae9c236f569957519692be2844ac57575">&#9670;&nbsp;</a></span>sss_idmap_sid_to_bin_sid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_sid_to_bin_sid </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t **&#160;</td>
          <td class="paramname"><em>bin_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert SID string to binary SID. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">sid</td><td>Zero-terminated string representation of the SID </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">bin_sid</td><td>Array with the binary SID, must be freed if not needed anymore </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">length</td><td>Size of the array containing the binary SID</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Given SID is invalid</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa3c5b13cef8c1c0689d755fb8b6181f99" title="Ran out of memory during processing. ">IDMAP_OUT_OF_MEMORY</a>: Failed to allocate memory for the result </li>
</ul>
</dd></dl>

</div>
</div>
<a id="gab0955a0bf82e5b0d2382bd66a3e6ccf9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab0955a0bf82e5b0d2382bd66a3e6ccf9">&#9670;&nbsp;</a></span>sss_idmap_sid_to_dom_sid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_sid_to_dom_sid </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct sss_dom_sid **&#160;</td>
          <td class="paramname"><em>dom_sid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert SID string to SID structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">sid</td><td>Zero-terminated string representation of the SID </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">dom_sid</td><td>SID structure, must be freed if not needed anymore</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Given SID is invalid</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa3c5b13cef8c1c0689d755fb8b6181f99" title="Ran out of memory during processing. ">IDMAP_OUT_OF_MEMORY</a>: Failed to allocate memory for the result </li>
</ul>
</dd></dl>

</div>
</div>
<a id="gaec273aca2ea9b92198dd514b89cd374d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaec273aca2ea9b92198dd514b89cd374d">&#9670;&nbsp;</a></span>sss_idmap_sid_to_smb_sid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_sid_to_smb_sid </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct dom_sid **&#160;</td>
          <td class="paramname"><em>smb_sid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert SID string to Samba dom_sid structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">sid</td><td>Zero-terminated string representation of the SID </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">smb_sid</td><td>Samba dom_sid structure, must be freed if not needed anymore</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Given SID is invalid</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa3c5b13cef8c1c0689d755fb8b6181f99" title="Ran out of memory during processing. ">IDMAP_OUT_OF_MEMORY</a>: Failed to allocate memory for the result </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga0022c9fdd7d9a352a8a6dcebc05acfb9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0022c9fdd7d9a352a8a6dcebc05acfb9">&#9670;&nbsp;</a></span>sss_idmap_sid_to_unix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_sid_to_unix </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Translate SID to a unix UID or GID. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">sid</td><td>Zero-terminated string representation of the SID </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">id</td><td>Returned unix UID or GID</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa242c8fa573d773afef029c2f5612639a" title="No domain added. ">IDMAP_NO_DOMAIN</a>: No domains are added to the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Invalid SID provided</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa4e07334ca55308c162730ea4c12c06c3" title="The provided SID was not found. ">IDMAP_SID_UNKNOWN</a>: SID cannot be found in the domains added to the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa5e9bfde65defbc4ced8d35dc67140a87" title="External source should be consulted for idmapping. ">IDMAP_EXTERNAL</a>: external source is authoritative for mapping </li>
</ul>
</dd></dl>

</div>
</div>
<a id="gaf80cfa635d5ddb8e298eab028cf6fd79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf80cfa635d5ddb8e298eab028cf6fd79">&#9670;&nbsp;</a></span>sss_idmap_smb_sid_to_bin_sid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_smb_sid_to_bin_sid </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct dom_sid *&#160;</td>
          <td class="paramname"><em>smb_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t **&#160;</td>
          <td class="paramname"><em>bin_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert Samba dom_sid structure to binary SID. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">smb_sid</td><td>Samba dom_sid structure </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">bin_sid</td><td>Array with the binary SID, must be freed if not needed anymore </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">length</td><td>Size of the array containing the binary SID</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Given SID is invalid</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa3c5b13cef8c1c0689d755fb8b6181f99" title="Ran out of memory during processing. ">IDMAP_OUT_OF_MEMORY</a>: Failed to allocate memory for the result </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga02712d5623b4c3d7a0c4208a5ba9374d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga02712d5623b4c3d7a0c4208a5ba9374d">&#9670;&nbsp;</a></span>sss_idmap_smb_sid_to_dom_sid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_smb_sid_to_dom_sid </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct dom_sid *&#160;</td>
          <td class="paramname"><em>smb_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct sss_dom_sid **&#160;</td>
          <td class="paramname"><em>dom_sid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert Samba dom_sid structure to SID structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">smb_sid</td><td>Samba dom_sid structure </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">dom_sid</td><td>SID structure, must be freed if not needed anymore</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Given SID is invalid</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa3c5b13cef8c1c0689d755fb8b6181f99" title="Ran out of memory during processing. ">IDMAP_OUT_OF_MEMORY</a>: Failed to allocate memory for the result </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga61d4dd9a68f3f32f8da70b73dc737772"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga61d4dd9a68f3f32f8da70b73dc737772">&#9670;&nbsp;</a></span>sss_idmap_smb_sid_to_sid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_smb_sid_to_sid </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct dom_sid *&#160;</td>
          <td class="paramname"><em>smb_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>sid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert Samba dom_sid structure to SID string. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">smb_sid</td><td>Samba dom_sid structure </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">sid</td><td>Zero-terminated string representation of the SID, must be freed if not needed anymore</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Given SID is invalid</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa3c5b13cef8c1c0689d755fb8b6181f99" title="Ran out of memory during processing. ">IDMAP_OUT_OF_MEMORY</a>: Failed to allocate memory for the result </li>
</ul>
</dd></dl>

</div>
</div>
<a id="gaec4a62de24142386638e5d32056dc8ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaec4a62de24142386638e5d32056dc8ed">&#9670;&nbsp;</a></span>sss_idmap_smb_sid_to_unix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_smb_sid_to_unix </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct dom_sid *&#160;</td>
          <td class="paramname"><em>smb_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Translate a Samba dom_sid stucture to a unix UID or GID. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">smb_sid</td><td>Samba dom_sid structure </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">id</td><td>Returned unix UID or GID</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa242c8fa573d773afef029c2f5612639a" title="No domain added. ">IDMAP_NO_DOMAIN</a>: No domains are added to the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da" title="The provided SID is invalid. ">IDMAP_SID_INVALID</a>: Invalid SID provided</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa4e07334ca55308c162730ea4c12c06c3" title="The provided SID was not found. ">IDMAP_SID_UNKNOWN</a>: SID cannot be found in the domains added to the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa5e9bfde65defbc4ced8d35dc67140a87" title="External source should be consulted for idmapping. ">IDMAP_EXTERNAL</a>: external source is authoritative for mapping </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga492760b4d8ce2fc4090de33928a21b2a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga492760b4d8ce2fc4090de33928a21b2a">&#9670;&nbsp;</a></span>sss_idmap_unix_to_bin_sid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_unix_to_bin_sid </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t **&#160;</td>
          <td class="paramname"><em>bin_sid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Translate unix UID or GID to a binary SID. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>unix UID or GID </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">bin_sid</td><td>Array with the binary SID, must be freed if not needed anymore </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">length</td><td>size of the array containing the binary SID</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa242c8fa573d773afef029c2f5612639a" title="No domain added. ">IDMAP_NO_DOMAIN</a>: No domains are added to the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aaa32b03c016a31b83fab25f09c9b04b97" title="The provided UID or GID could not be mapped. ">IDMAP_NO_RANGE</a>: The provided ID cannot be found in the domains added to the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa5e9bfde65defbc4ced8d35dc67140a87" title="External source should be consulted for idmapping. ">IDMAP_EXTERNAL</a>: external source is authoritative for mapping </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga99efcb6180483e7c313dfef65ee5c1dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga99efcb6180483e7c313dfef65ee5c1dc">&#9670;&nbsp;</a></span>sss_idmap_unix_to_dom_sid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_unix_to_dom_sid </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct sss_dom_sid **&#160;</td>
          <td class="paramname"><em>dom_sid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Translate unix UID or GID to a SID structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>unix UID or GID </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">dom_sid</td><td>SID structure, must be freed if not needed anymore</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa242c8fa573d773afef029c2f5612639a" title="No domain added. ">IDMAP_NO_DOMAIN</a>: No domains are added to the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aaa32b03c016a31b83fab25f09c9b04b97" title="The provided UID or GID could not be mapped. ">IDMAP_NO_RANGE</a>: The provided ID cannot be found in the domains added to the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa5e9bfde65defbc4ced8d35dc67140a87" title="External source should be consulted for idmapping. ">IDMAP_EXTERNAL</a>: external source is authoritative for mapping </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga0619e85b3a5f28b41ea6428dd9ebba6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0619e85b3a5f28b41ea6428dd9ebba6d">&#9670;&nbsp;</a></span>sss_idmap_unix_to_sid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> sss_idmap_unix_to_sid </td>
          <td>(</td>
          <td class="paramtype">struct sss_idmap_ctx *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>sid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Translate unix UID or GID to a SID. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Idmap context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>unix UID or GID </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">sid</td><td>Zero-terminated string representation of the SID, must be freed if not needed anymore</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa242c8fa573d773afef029c2f5612639a" title="No domain added. ">IDMAP_NO_DOMAIN</a>: No domains are added to the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aaa32b03c016a31b83fab25f09c9b04b97" title="The provided UID or GID could not be mapped. ">IDMAP_NO_RANGE</a>: The provided ID cannot be found in the domains added to the idmap context</li>
<li><a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aa5e9bfde65defbc4ced8d35dc67140a87" title="External source should be consulted for idmapping. ">IDMAP_EXTERNAL</a>: external source is authoritative for mapping </li>
</ul>
</dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>