<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.3.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 style="padding-left: 0.5em;"> <div id="projectname">sss_idmap  <span id="projectnumber">1.9.6</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.3.1 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </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:gacb187cb6884772ed503fd76300ab9fcb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacb187cb6884772ed503fd76300ab9fcb"></a> typedef void *( </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sss__idmap.html#gacb187cb6884772ed503fd76300ab9fcb">idmap_alloc_func</a> )(size_t size, void *pvt)</td></tr> <tr class="memdesc:gacb187cb6884772ed503fd76300ab9fcb"><td class="mdescLeft"> </td><td class="mdescRight">Typedef for memory allocation functions. <br/></td></tr> <tr class="separator:gacb187cb6884772ed503fd76300ab9fcb"><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> <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#gacb187cb6884772ed503fd76300ab9fcb">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: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: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: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: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: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 class="anchor" id="ga93314ca4455c050dd3cc3f523d67541a"></a> <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"><em><a class="anchor" id="gga93314ca4455c050dd3cc3f523d67541aa317575c4de289cc736fa824842105986"></a>IDMAP_SUCCESS</em> </td><td class="fielddoc"> <p>Success. </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga93314ca4455c050dd3cc3f523d67541aa8010ff2a434025ae72aa5f312c734f33"></a>IDMAP_NOT_IMPLEMENTED</em> </td><td class="fielddoc"> <p>Function is not yet implemented. </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga93314ca4455c050dd3cc3f523d67541aac00724338a1f55b257ab8442e331914d"></a>IDMAP_ERROR</em> </td><td class="fielddoc"> <p>General error. </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga93314ca4455c050dd3cc3f523d67541aa3c5b13cef8c1c0689d755fb8b6181f99"></a>IDMAP_OUT_OF_MEMORY</em> </td><td class="fielddoc"> <p>Ran out of memory during processing. </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga93314ca4455c050dd3cc3f523d67541aa242c8fa573d773afef029c2f5612639a"></a>IDMAP_NO_DOMAIN</em> </td><td class="fielddoc"> <p>No domain added. </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga93314ca4455c050dd3cc3f523d67541aa315b887065d8f0004db4f26e206cb711"></a>IDMAP_CONTEXT_INVALID</em> </td><td class="fielddoc"> <p>The provided idmap context is invalid. </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga93314ca4455c050dd3cc3f523d67541aae6f31b971841fb78a70bb8ea129739da"></a>IDMAP_SID_INVALID</em> </td><td class="fielddoc"> <p>The provided SID is invalid. </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga93314ca4455c050dd3cc3f523d67541aa4e07334ca55308c162730ea4c12c06c3"></a>IDMAP_SID_UNKNOWN</em> </td><td class="fielddoc"> <p>The provided SID was not found. </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga93314ca4455c050dd3cc3f523d67541aaa32b03c016a31b83fab25f09c9b04b97"></a>IDMAP_NO_RANGE</em> </td><td class="fielddoc"> <p>The provided UID or GID could not be mapped. </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga93314ca4455c050dd3cc3f523d67541aa6723be8b5165b36486578bbb2c4fa5d8"></a>IDMAP_BUILTIN_SID</em> </td><td class="fielddoc"> <p>The provided SID is a built-in one. </p> </td></tr> </table> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="ga6bda1c1d08d8378457c9c3255872dfd4"></a> <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 class="anchor" id="ga411345374d35cd998299ac503ba32275"></a> <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 class="anchor" id="ga26f1064ee1db6a273f926fe85547a78d"></a> <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> </ul> </dd></dl> </div> </div> <a class="anchor" id="ga67c37bc9d183e461e1add36d3b9f9af9"></a> <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 class="anchor" id="ga7be63a9bb66e577ca2bf250d0b347fa0"></a> <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 class="anchor" id="ga943c7a185129046c95ddc65a507a233c"></a> <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 class="anchor" id="ga243d8486ae052d76dfac99b0df99adf6"></a> <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> </ul> </dd></dl> </div> </div> <a class="anchor" id="ga1cee725834d3228ae4d9d3081ccb8fc3"></a> <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 class="anchor" id="gac5f0879f54de69c477890a1ee9282ec8"></a> <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 class="anchor" id="gafeb63728b7f751da8a172901553de218"></a> <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 class="anchor" id="ga039f2dd7a05f5cbf92d633d2e6d48dbf"></a> <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> </ul> </dd></dl> </div> </div> <a class="anchor" id="ga79cbb3283ad1b4b7857aeed21a11da7b"></a> <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 class="anchor" id="ga4917e62c0ae7d308234414a1b8b773f2"></a> <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#gacb187cb6884772ed503fd76300ab9fcb">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 class="anchor" id="gae9c236f569957519692be2844ac57575"></a> <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 class="anchor" id="gab0955a0bf82e5b0d2382bd66a3e6ccf9"></a> <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 class="anchor" id="gaec273aca2ea9b92198dd514b89cd374d"></a> <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 class="anchor" id="ga0022c9fdd7d9a352a8a6dcebc05acfb9"></a> <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> </ul> </dd></dl> </div> </div> <a class="anchor" id="gaf80cfa635d5ddb8e298eab028cf6fd79"></a> <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 class="anchor" id="ga02712d5623b4c3d7a0c4208a5ba9374d"></a> <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 class="anchor" id="ga61d4dd9a68f3f32f8da70b73dc737772"></a> <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 class="anchor" id="gaec4a62de24142386638e5d32056dc8ed"></a> <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> </ul> </dd></dl> </div> </div> <a class="anchor" id="ga492760b4d8ce2fc4090de33928a21b2a"></a> <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> </ul> </dd></dl> </div> </div> <a class="anchor" id="ga99efcb6180483e7c313dfef65ee5c1dc"></a> <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> </ul> </dd></dl> </div> </div> <a class="anchor" id="ga0619e85b3a5f28b41ea6428dd9ebba6d"></a> <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> </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.3.1 </small></address> </body> </html>