<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.15"/> <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  <span id="projectnumber">1.16.3</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.15 --> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(function() { initMenu('',false,false,'search.php','Search'); }); /* @license-end */</script> <div id="main-nav"></div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#typedef-members">Typedefs</a> | <a href="#enum-members">Enumerations</a> | <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  </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"> </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"> </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 *() </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"> </td><td class="mdescRight">Typedef for memory allocation functions. <br /></td></tr> <tr class="separator:gae3626191c986dfef5fbf093f4338f2de"><td class="memSeparator" colspan="2"> </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>(* </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"> </td><td class="mdescRight">Typedef for storing mappings of dynamically created domains. <br /></td></tr> <tr class="separator:ga5deaa6990f12ae0b15ef92b81025886a"><td class="memSeparator" colspan="2"> </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  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">idmap_error_code</a> { <br />   <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 />   <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 />   <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 />   <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>, <a class="el" href="group__sss__idmap.html#gga93314ca4455c050dd3cc3f523d67541aafae884217c9330128274123ed5fb8764">IDMAP_ERR_LAST</a> <br /> }</td></tr> <tr class="memdesc:ga93314ca4455c050dd3cc3f523d67541a"><td class="mdescLeft"> </td><td class="mdescRight">Error codes used by libsss_idmap. <a href="group__sss__idmap.html#ga93314ca4455c050dd3cc3f523d67541a">More...</a><br /></td></tr> <tr class="separator:ga93314ca4455c050dd3cc3f523d67541a"><td class="memSeparator" colspan="2"> </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> </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"> </td><td class="mdescRight">Initialize idmap context. <a href="#ga4917e62c0ae7d308234414a1b8b773f2">More...</a><br /></td></tr> <tr class="separator:ga4917e62c0ae7d308234414a1b8b773f2"><td class="memSeparator" colspan="2"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </td><td class="mdescRight">Free mapped SID. <a href="#gacb1ffbb5f9b4ceebbb481a2e148992b4">More...</a><br /></td></tr> <tr class="separator:gacb1ffbb5f9b4ceebbb481a2e148992b4"><td class="memSeparator" colspan="2"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </td></tr> <tr class="memitem:ga6bda1c1d08d8378457c9c3255872dfd4"><td class="memItemLeft" align="right" valign="top">const char * </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"> </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"> </td></tr> <tr class="memitem:ga411345374d35cd998299ac503ba32275"><td class="memItemLeft" align="right" valign="top">bool </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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> </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"> </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"> </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">◆ </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 </td><td class="fielddoc"><p>Success. </p> </td></tr> <tr><td class="fieldname"><a id="gga93314ca4455c050dd3cc3f523d67541aa8010ff2a434025ae72aa5f312c734f33"></a>IDMAP_NOT_IMPLEMENTED </td><td class="fielddoc"><p>Function is not yet implemented. </p> </td></tr> <tr><td class="fieldname"><a id="gga93314ca4455c050dd3cc3f523d67541aac00724338a1f55b257ab8442e331914d"></a>IDMAP_ERROR </td><td class="fielddoc"><p>General error. </p> </td></tr> <tr><td class="fieldname"><a id="gga93314ca4455c050dd3cc3f523d67541aa3c5b13cef8c1c0689d755fb8b6181f99"></a>IDMAP_OUT_OF_MEMORY </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 </td><td class="fielddoc"><p>No domain added. </p> </td></tr> <tr><td class="fieldname"><a id="gga93314ca4455c050dd3cc3f523d67541aa315b887065d8f0004db4f26e206cb711"></a>IDMAP_CONTEXT_INVALID </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 </td><td class="fielddoc"><p>The provided SID is invalid. </p> </td></tr> <tr><td class="fieldname"><a id="gga93314ca4455c050dd3cc3f523d67541aa4e07334ca55308c162730ea4c12c06c3"></a>IDMAP_SID_UNKNOWN </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 </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 </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 </td><td class="fielddoc"><p>No more free slices. </p> </td></tr> <tr><td class="fieldname"><a id="gga93314ca4455c050dd3cc3f523d67541aab9c450efc1e7668dd4805e1607447e43"></a>IDMAP_COLLISION </td><td class="fielddoc"><p>New domain collides with existing one. </p> </td></tr> <tr><td class="fieldname"><a id="gga93314ca4455c050dd3cc3f523d67541aa5e9bfde65defbc4ced8d35dc67140a87"></a>IDMAP_EXTERNAL </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 </td><td class="fielddoc"><p>The provided name was not found. </p> </td></tr> <tr><td class="fieldname"><a id="gga93314ca4455c050dd3cc3f523d67541aafae884217c9330128274123ed5fb8764"></a>IDMAP_ERR_LAST </td><td class="fielddoc"><p>Sentinel to indicate the end of the error code list, not returned by any call. </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">◆ </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> </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">◆ </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 * </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>domain_name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </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> * </td> <td class="paramname"><em>range</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>range_id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"><em>rid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </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> </td> <td class="paramname"><em>cb</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>pvt</em> </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">cb</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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>domain_name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </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> * </td> <td class="paramname"><em>range</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>domain_name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </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> * </td> <td class="paramname"><em>range</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>range_id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"><em>rid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>external_mapping</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const uint8_t * </td> <td class="paramname"><em>bin_sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct sss_dom_sid ** </td> <td class="paramname"><em>dom_sid</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const uint8_t * </td> <td class="paramname"><em>bin_sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char ** </td> <td class="paramname"><em>sid</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const uint8_t * </td> <td class="paramname"><em>bin_sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct dom_sid ** </td> <td class="paramname"><em>smb_sid</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t * </td> <td class="paramname"><em>bin_sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t * </td> <td class="paramname"><em>id</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>dom_sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">id_t * </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> * </td> <td class="paramname"><em>range</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t * </td> <td class="paramname"><em>bin_sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"><em>id</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>n_name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </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> * </td> <td class="paramname"><em>n_range</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"><em>n_first_rid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>n_range_id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>n_external_mapping</em> </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">◆ </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 * </td> <td class="paramname"><em>o_name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </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> * </td> <td class="paramname"><em>o_range</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"><em>o_first_rid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>o_range_id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>o_external_mapping</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>n_name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </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> * </td> <td class="paramname"><em>n_range</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"><em>n_first_rid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>n_range_id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>n_external_mapping</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct sss_dom_sid * </td> <td class="paramname"><em>dom_sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"><em>id</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"><em>id</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct dom_sid * </td> <td class="paramname"><em>smb_sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"><em>id</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool * </td> <td class="paramname"><em>_autorid</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">id_t * </td> <td class="paramname"><em>_lower</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">id_t * </td> <td class="paramname"><em>rangesize</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">id_t * </td> <td class="paramname"><em>_upper</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>use_autorid</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>extra_slice_init</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">id_t </td> <td class="paramname"><em>lower</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">id_t </td> <td class="paramname"><em>rangesize</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">id_t </td> <td class="paramname"><em>upper</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct sss_dom_sid * </td> <td class="paramname"><em>dom_sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t ** </td> <td class="paramname"><em>bin_sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t * </td> <td class="paramname"><em>length</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct sss_dom_sid * </td> <td class="paramname"><em>dom_sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char ** </td> <td class="paramname"><em>sid</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct sss_dom_sid * </td> <td class="paramname"><em>dom_sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct dom_sid ** </td> <td class="paramname"><em>smb_sid</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct sss_dom_sid * </td> <td class="paramname"><em>dom_sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t * </td> <td class="paramname"><em>id</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>dom_name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool * </td> <td class="paramname"><em>has_algorithmic_mapping</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>dom_sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool * </td> <td class="paramname"><em>has_algorithmic_mapping</em> </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">◆ </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 * </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t * </td> <td class="paramname"><em>bin_sid</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct sss_dom_sid * </td> <td class="paramname"><em>dom_sid</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>sid</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct dom_sid * </td> <td class="paramname"><em>smb_sid</em> </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">◆ </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> * </td> <td class="paramname"><em>alloc_func</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>alloc_pvt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">idmap_free_func * </td> <td class="paramname"><em>free_func</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct sss_idmap_ctx ** </td> <td class="paramname"><em>ctx</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t ** </td> <td class="paramname"><em>bin_sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t * </td> <td class="paramname"><em>length</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct sss_dom_sid ** </td> <td class="paramname"><em>dom_sid</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct dom_sid ** </td> <td class="paramname"><em>smb_sid</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t * </td> <td class="paramname"><em>id</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct dom_sid * </td> <td class="paramname"><em>smb_sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t ** </td> <td class="paramname"><em>bin_sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t * </td> <td class="paramname"><em>length</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct dom_sid * </td> <td class="paramname"><em>smb_sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct sss_dom_sid ** </td> <td class="paramname"><em>dom_sid</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct dom_sid * </td> <td class="paramname"><em>smb_sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char ** </td> <td class="paramname"><em>sid</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct dom_sid * </td> <td class="paramname"><em>smb_sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t * </td> <td class="paramname"><em>id</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t ** </td> <td class="paramname"><em>bin_sid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t * </td> <td class="paramname"><em>length</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct sss_dom_sid ** </td> <td class="paramname"><em>dom_sid</em> </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">◆ </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 * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char ** </td> <td class="paramname"><em>sid</em> </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  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.15 </small></address> </body> </html>