KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64
User : nobody ( 99)
PHP Version : 5.2.17
Disable Function : NONE
Directory :  /usr/share/devhelp/books/dbus/api/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/share/devhelp/books/dbus/api/group__DBusInternalsUtils.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>D-Bus: Utilities and portability</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul></div>
<h1>Utilities and portability<br>
<small>
[<a class="el" href="group__DBusInternals.html">D-Bus secret internal implementation details</a>]</small>
</h1>Utility functions (<a class="el" href="group__DBusInternalsUtils.html#g129c6c03f011cdc171934d5d386cc797">_dbus_assert()</a>, <a class="el" href="group__DBusInternalsUtils.html#gbea2c16d6d3fe7c4eb5b9496fc877f84">_dbus_warn()</a>, etc.  
<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusBabysitter.html">DBusBabysitter</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Babysitter implementation details.  <a href="structDBusBabysitter.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusDirIter.html">DBusDirIter</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internals of directory iterator.  <a href="structDBusDirIter.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g129c6c03f011cdc171934d5d386cc797">_dbus_assert</a>(condition)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Aborts with an error message if the condition is false.  <a href="#g129c6c03f011cdc171934d5d386cc797"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g0c4961ec784874f1b1f3aeccea8d3da1">_dbus_assert_not_reached</a>(explanation)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Aborts with an error message if called.  <a href="#g0c4961ec784874f1b1f3aeccea8d3da1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gc153abad46f4eb80999a2b340d29d1f0">_DBUS_N_ELEMENTS</a>(array)&nbsp;&nbsp;&nbsp;((int) (sizeof ((array)) / sizeof ((array)[0])))</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes the number of elements in a fixed-size array using sizeof().  <a href="#gc153abad46f4eb80999a2b340d29d1f0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gbbd3526a2ecd65da80b9f74ac286273d">_DBUS_POINTER_TO_INT</a>(pointer)&nbsp;&nbsp;&nbsp;((long)(pointer))</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Safely casts a void* to an integer; should only be used on void* that actually contain integers, for example one created with _DBUS_INT_TO_POINTER.  <a href="#gbbd3526a2ecd65da80b9f74ac286273d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g05e902d8504a8a0e0b183fd2e20e329f">_DBUS_INT_TO_POINTER</a>(integer)&nbsp;&nbsp;&nbsp;((void*)((long)(integer)))</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Safely stuffs an integer into a pointer, to be extracted later with _DBUS_POINTER_TO_INT.  <a href="#g05e902d8504a8a0e0b183fd2e20e329f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gec42589166158b1385d5f5439318cda2">_DBUS_ZERO</a>(object)&nbsp;&nbsp;&nbsp;(memset (&amp;(object), '\0', sizeof ((object))))</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets all bits in an object to zero.  <a href="#gec42589166158b1385d5f5439318cda2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g933ce3d9d9b9298b004f2dc5020e9448"></a><!-- doxytag: member="DBusInternalsUtils::_DBUS_INT16_MIN" ref="g933ce3d9d9b9298b004f2dc5020e9448" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g933ce3d9d9b9298b004f2dc5020e9448">_DBUS_INT16_MIN</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="group__DBusTypes.html#g51307e24d7621aae4a19be8f3d3c7c23">dbus_int16_t</a>) 0x8000)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Minimum value of type "int16". <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g15a258ca83bb9819775b9f6f7a505bc4"></a><!-- doxytag: member="DBusInternalsUtils::_DBUS_INT16_MAX" ref="g15a258ca83bb9819775b9f6f7a505bc4" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g15a258ca83bb9819775b9f6f7a505bc4">_DBUS_INT16_MAX</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="group__DBusTypes.html#g51307e24d7621aae4a19be8f3d3c7c23">dbus_int16_t</a>) 0x7fff)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum value of type "int16". <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb59f93488de3d91c4e1a2c5e5e116354"></a><!-- doxytag: member="DBusInternalsUtils::_DBUS_UINT16_MAX" ref="gb59f93488de3d91c4e1a2c5e5e116354" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gb59f93488de3d91c4e1a2c5e5e116354">_DBUS_UINT16_MAX</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="group__DBusTypes.html#g8132d71032da957f08ce4e0ec87f2063">dbus_uint16_t</a>)0xffff)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum value of type "uint16". <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc1f9d5e99c5f797b38b41b66e9c6c4ed"></a><!-- doxytag: member="DBusInternalsUtils::_DBUS_INT32_MIN" ref="gc1f9d5e99c5f797b38b41b66e9c6c4ed" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gc1f9d5e99c5f797b38b41b66e9c6c4ed">_DBUS_INT32_MIN</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="group__DBusTypes.html#gb18afa60e9b17b6e322735bda3d863d8">dbus_int32_t</a>) 0x80000000)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Minimum value of type "int32". <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gfe869e3145b7e32c4fb6a6741c9fc78e"></a><!-- doxytag: member="DBusInternalsUtils::_DBUS_INT32_MAX" ref="gfe869e3145b7e32c4fb6a6741c9fc78e" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gfe869e3145b7e32c4fb6a6741c9fc78e">_DBUS_INT32_MAX</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="group__DBusTypes.html#gb18afa60e9b17b6e322735bda3d863d8">dbus_int32_t</a>) 0x7fffffff)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum value of type "int32". <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc85046b2af0a98c51bb93300f99448da"></a><!-- doxytag: member="DBusInternalsUtils::_DBUS_UINT32_MAX" ref="gc85046b2af0a98c51bb93300f99448da" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gc85046b2af0a98c51bb93300f99448da">_DBUS_UINT32_MAX</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="group__DBusTypes.html#gf513803b030613a669cc7ef199f90a8b">dbus_uint32_t</a>)0xffffffff)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum value of type "uint32". <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3bf800f1b6cc23f80006861d7417c8c8"></a><!-- doxytag: member="DBusInternalsUtils::_DBUS_INT_MIN" ref="g3bf800f1b6cc23f80006861d7417c8c8" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g3bf800f1b6cc23f80006861d7417c8c8">_DBUS_INT_MIN</a>&nbsp;&nbsp;&nbsp;_DBUS_INT32_MIN</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Minimum value of type "int". <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5627db5e165848477e620846f6414db1"></a><!-- doxytag: member="DBusInternalsUtils::_DBUS_INT_MAX" ref="g5627db5e165848477e620846f6414db1" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g5627db5e165848477e620846f6414db1">_DBUS_INT_MAX</a>&nbsp;&nbsp;&nbsp;_DBUS_INT32_MAX</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum value of type "int". <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6e9cfa6e6cb608d29fbdc4a50baea051"></a><!-- doxytag: member="DBusInternalsUtils::_DBUS_UINT_MAX" ref="g6e9cfa6e6cb608d29fbdc4a50baea051" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g6e9cfa6e6cb608d29fbdc4a50baea051">_DBUS_UINT_MAX</a>&nbsp;&nbsp;&nbsp;_DBUS_UINT32_MAX</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum value of type "uint". <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gde571435b55fae64217f5142aa78ee8d"></a><!-- doxytag: member="DBusInternalsUtils::_DBUS_LOCK_NAME" ref="gde571435b55fae64217f5142aa78ee8d" args="(name)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gde571435b55fae64217f5142aa78ee8d">_DBUS_LOCK_NAME</a>(name)&nbsp;&nbsp;&nbsp;_dbus_lock_##name</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Expands to name of a global lock variable. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gc8d22e9846ecc2845959082076de899b">_DBUS_DEFINE_GLOBAL_LOCK</a>(name)&nbsp;&nbsp;&nbsp;<a class="el" href="group__DBusThreads.html#g4eb021cd6cd0830423eac2738e0ddc40">DBusMutex</a>         *_dbus_lock_##name</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Defines a global lock variable with the given name.  <a href="#gc8d22e9846ecc2845959082076de899b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#ge625b69e69aedb3b30bff23d4edcf690">_DBUS_DECLARE_GLOBAL_LOCK</a>(name)&nbsp;&nbsp;&nbsp;extern <a class="el" href="group__DBusThreads.html#g4eb021cd6cd0830423eac2738e0ddc40">DBusMutex</a>  *_dbus_lock_##name</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Expands to declaration of a global lock defined with _DBUS_DEFINE_GLOBAL_LOCK.  <a href="#ge625b69e69aedb3b30bff23d4edcf690"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3b56fdb9df58277ee69d9f56a73bf383"></a><!-- doxytag: member="DBusInternalsUtils::_DBUS_LOCK" ref="g3b56fdb9df58277ee69d9f56a73bf383" args="(name)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g3b56fdb9df58277ee69d9f56a73bf383">_DBUS_LOCK</a>(name)&nbsp;&nbsp;&nbsp;_dbus_mutex_lock   (_dbus_lock_##name)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Locks a global lock. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1b7db80a2ea11235768ec8aa698df0a5"></a><!-- doxytag: member="DBusInternalsUtils::_DBUS_UNLOCK" ref="g1b7db80a2ea11235768ec8aa698df0a5" args="(name)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g1b7db80a2ea11235768ec8aa698df0a5">_DBUS_UNLOCK</a>(name)&nbsp;&nbsp;&nbsp;_dbus_mutex_unlock (_dbus_lock_##name)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unlocks a global lock. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf3ce8172242a1766bdd5cfe4b0a05d1f"></a><!-- doxytag: member="DBusInternalsUtils::LIVE_CHILDREN" ref="gf3ce8172242a1766bdd5cfe4b0a05d1f" args="(sitter)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gf3ce8172242a1766bdd5cfe4b0a05d1f">LIVE_CHILDREN</a>(sitter)&nbsp;&nbsp;&nbsp;((sitter)-&gt;socket_to_babysitter &gt;= 0 || (sitter)-&gt;error_pipe_from_child &gt;= 0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro returns <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if the babysitter still has live sockets open to the babysitter child or the grandchild. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2469c53816dc077f9deefb187ffcabf3"></a><!-- doxytag: member="DBusInternalsUtils::READ_END" ref="g2469c53816dc077f9deefb187ffcabf3" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g2469c53816dc077f9deefb187ffcabf3">READ_END</a>&nbsp;&nbsp;&nbsp;0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helps remember which end of the pipe is which. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2efd706d915e621e5e18b3f0803c4ed2"></a><!-- doxytag: member="DBusInternalsUtils::WRITE_END" ref="g2efd706d915e621e5e18b3f0803c4ed2" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g2efd706d915e621e5e18b3f0803c4ed2">WRITE_END</a>&nbsp;&nbsp;&nbsp;1</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helps remember which end of the pipe is which. <br></td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gadf9d45082dd1c9f59d8420d13492669"></a><!-- doxytag: member="DBusInternalsUtils::DBusForeachFunction" ref="gadf9d45082dd1c9f59d8420d13492669" args="(void *element, void *data)" -->
typedef void(*)&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gadf9d45082dd1c9f59d8420d13492669">DBusForeachFunction</a> (void *element, void *data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used to iterate over each item in a collection, such as a <a class="el" href="structDBusList.html">DBusList</a>. <br></td></tr>
<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#ga1d634db87605c2a83f2750ce6052653">ReadStatus</a> { <a class="el" href="group__DBusInternalsUtils.html#gga1d634db87605c2a83f2750ce6052653105d3aa9ec19f4c060b39c7fafba39ff">READ_STATUS_OK</a>, 
<a class="el" href="group__DBusInternalsUtils.html#gga1d634db87605c2a83f2750ce6052653d13164fb31fb0b5bc1ec802d09d10411">READ_STATUS_ERROR</a>, 
<a class="el" href="group__DBusInternalsUtils.html#gga1d634db87605c2a83f2750ce60526537d65492f3f0d09176ac4504987457d23">READ_STATUS_EOF</a>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enumeration for status of a read().  <a href="group__DBusInternalsUtils.html#ga1d634db87605c2a83f2750ce6052653">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <b>CHILD_EXITED</b>, 
<b>CHILD_FORK_FAILED</b>, 
<b>CHILD_EXEC_FAILED</b>, 
<b>CHILD_PID</b>
 }</td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gbea2c16d6d3fe7c4eb5b9496fc877f84">_dbus_warn</a> (const char *format,...)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prints a warning message to stderr.  <a href="#gbea2c16d6d3fe7c4eb5b9496fc877f84"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g63f2f8a068454b781f214ba596e313b4">_dbus_warn_check_failed</a> (const char *format,...)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prints a "critical" warning to stderr when an assertion fails; differs from _dbus_warn primarily in that it prefixes the pid and defaults to fatal.  <a href="#g63f2f8a068454b781f214ba596e313b4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g9d00d77f6595b9d7ac1baf59d44bf58c">_dbus_strdup</a> (const char *str)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Duplicates a string.  <a href="#g9d00d77f6595b9d7ac1baf59d44bf58c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gad95864dca5140b730bc143cb2d1b024">_dbus_memdup</a> (const void *mem, size_t n_bytes)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Duplicates a block of memory.  <a href="#gad95864dca5140b730bc143cb2d1b024"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g53bbcbbd0b564c14c599813dde535443">_dbus_dup_string_array</a> (const char **array)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Duplicates a string array.  <a href="#g53bbcbbd0b564c14c599813dde535443"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g751119e7273225a7e59787445b71fcd6">_dbus_string_array_contains</a> (const char **array, const char *str)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks whether a string array contains the given string.  <a href="#g751119e7273225a7e59787445b71fcd6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g08c2922335845e5c857e88399436b9ba">_dbus_generate_uuid</a> (<a class="el" href="unionDBusGUID.html">DBusGUID</a> *uuid)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generates a new UUID.  <a href="#g08c2922335845e5c857e88399436b9ba"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gf08364813376bd2d8f455d435d85323e">_dbus_uuid_encode</a> (const <a class="el" href="unionDBusGUID.html">DBusGUID</a> *uuid, <a class="el" href="structDBusString.html">DBusString</a> *encoded)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hex-encode a UUID.  <a href="#gf08364813376bd2d8f455d435d85323e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g709fd30e6b940a5952af38efaf24ad51">_dbus_read_uuid_file</a> (const <a class="el" href="structDBusString.html">DBusString</a> *filename, <a class="el" href="unionDBusGUID.html">DBusGUID</a> *uuid, <a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> create_if_not_found, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reads (and optionally writes) a uuid to a file.  <a href="#g709fd30e6b940a5952af38efaf24ad51"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g49ba67405d677af6cde9329ed87ea91f">_dbus_get_local_machine_uuid_encoded</a> (<a class="el" href="structDBusString.html">DBusString</a> *uuid_str)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the hex-encoded UUID of the machine this function is executed on.  <a href="#g49ba67405d677af6cde9329ed87ea91f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structDBusBabysitter.html">DBusBabysitter</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g525b5fdb780ddf6891918466965e6eb6">_dbus_babysitter_ref</a> (<a class="el" href="structDBusBabysitter.html">DBusBabysitter</a> *sitter)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Increment the reference count on the babysitter object.  <a href="#g525b5fdb780ddf6891918466965e6eb6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g3205e9f8672271794aeb9d451e2fcc4a">_dbus_babysitter_unref</a> (<a class="el" href="structDBusBabysitter.html">DBusBabysitter</a> *sitter)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decrement the reference count on the babysitter object.  <a href="#g3205e9f8672271794aeb9d451e2fcc4a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gcdc9c49735d6ce8364647c1961aa8d2b">_dbus_babysitter_kill_child</a> (<a class="el" href="structDBusBabysitter.html">DBusBabysitter</a> *sitter)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Blocks until the babysitter process gives us the PID of the spawned grandchild, then kills the spawned grandchild.  <a href="#gcdc9c49735d6ce8364647c1961aa8d2b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g5c463ea356ea62055a35211e8d81f8b9">_dbus_babysitter_get_child_exited</a> (<a class="el" href="structDBusBabysitter.html">DBusBabysitter</a> *sitter)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks whether the child has exited, without blocking.  <a href="#g5c463ea356ea62055a35211e8d81f8b9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g1b17eec3f7915c21251685e16123f299">_dbus_babysitter_get_child_exit_status</a> (<a class="el" href="structDBusBabysitter.html">DBusBabysitter</a> *sitter, int *status)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the exit status of the child.  <a href="#g1b17eec3f7915c21251685e16123f299"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g9c6f92a67e41f08d8eb254e294fd0378">_dbus_babysitter_set_child_exit_error</a> (<a class="el" href="structDBusBabysitter.html">DBusBabysitter</a> *sitter, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the <a class="el" href="structDBusError.html">DBusError</a> with an explanation of why the spawned child process exited (on a signal, or whatever).  <a href="#g9c6f92a67e41f08d8eb254e294fd0378"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g5f467b14f0c2f667e46c4ba786808e5b">_dbus_babysitter_set_watch_functions</a> (<a class="el" href="structDBusBabysitter.html">DBusBabysitter</a> *sitter, <a class="el" href="group__DBusConnection.html#g985b712fc165afa66e5901859b68b9de">DBusAddWatchFunction</a> add_function, <a class="el" href="group__DBusConnection.html#g6a48c42c4bde24911cae7fda0d1f1589">DBusRemoveWatchFunction</a> remove_function, <a class="el" href="group__DBusConnection.html#gfa7e0f7856f8ebbe66475979ef54ed9e">DBusWatchToggledFunction</a> toggled_function, void *data, <a class="el" href="group__DBusMemory.html#g8792ec2b2b8626ca28022faf51ec415a">DBusFreeFunction</a> free_data_function)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets watch functions to notify us when the babysitter object needs to read/write file descriptors.  <a href="#g5f467b14f0c2f667e46c4ba786808e5b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g84c21bbcb2a673244f36616c5e053277">_dbus_spawn_async_with_babysitter</a> (<a class="el" href="structDBusBabysitter.html">DBusBabysitter</a> **sitter_p, char **argv, char **env, DBusSpawnChildSetupFunc child_setup, void *user_data, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Spawns a new process.  <a href="#g84c21bbcb2a673244f36616c5e053277"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g4d4f9b1d4e78ba017ada75a6982ac173">_dbus_become_daemon</a> (const <a class="el" href="structDBusString.html">DBusString</a> *pidfile, <a class="el" href="structDBusPipe.html">DBusPipe</a> *print_pid_pipe, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Does the chdir, fork, setsid, etc.  <a href="#g4d4f9b1d4e78ba017ada75a6982ac173"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g7461c6fa553c30f4eb8482675e86668c">_dbus_write_pid_file</a> (const <a class="el" href="structDBusString.html">DBusString</a> *filename, unsigned long pid, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a file containing the process ID.  <a href="#g7461c6fa553c30f4eb8482675e86668c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g45f661c5a089ed45233a1acabaf31964">_dbus_verify_daemon_user</a> (const char *user)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Verify that after the fork we can successfully change to this user.  <a href="#g45f661c5a089ed45233a1acabaf31964"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g82c920a8c3b5958ba1ecf8e5f5d6373b">_dbus_change_to_daemon_user</a> (const char *user, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the user and group the bus is running as.  <a href="#g82c920a8c3b5958ba1ecf8e5f5d6373b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g4aa7500366dad2dd6d3fa97b3aa7165b">_dbus_set_signal_handler</a> (int sig, <a class="el" href="group__DBusSysdeps.html#gdd0067ae8ae20e747b818697395d420f">DBusSignalHandler</a> handler)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Installs a UNIX signal handler.  <a href="#g4aa7500366dad2dd6d3fa97b3aa7165b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g3bc1512aef42cea17a2aaacc7d8e7211">_dbus_delete_directory</a> (const <a class="el" href="structDBusString.html">DBusString</a> *filename, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a directory; Directory must be empty.  <a href="#g3bc1512aef42cea17a2aaacc7d8e7211"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g13a527e32c05b63e8b32a63d728e20e8">_dbus_file_exists</a> (const char *file)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">File/directory interface.  <a href="#g13a527e32c05b63e8b32a63d728e20e8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g31ec42cef2d15ca358e737bb5f19c5cf">_dbus_user_at_console</a> (const char *username, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if user is at the console.  <a href="#g31ec42cef2d15ca358e737bb5f19c5cf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g6d80876bcae54f47cde79d0bce20321d">_dbus_path_is_absolute</a> (const <a class="el" href="structDBusString.html">DBusString</a> *filename)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks whether the filename is an absolute path.  <a href="#g6d80876bcae54f47cde79d0bce20321d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g04e98ad0e3a181f0a5921a4cbc49cf08">_dbus_stat</a> (const <a class="el" href="structDBusString.html">DBusString</a> *filename, <a class="el" href="structDBusStat.html">DBusStat</a> *statbuf, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">stat() wrapper.  <a href="#g04e98ad0e3a181f0a5921a4cbc49cf08"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structDBusDirIter.html">DBusDirIter</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gaf6eb8179fb6ea2175ed9742a0c8be68">_dbus_directory_open</a> (const <a class="el" href="structDBusString.html">DBusString</a> *filename, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Open a directory to iterate over.  <a href="#gaf6eb8179fb6ea2175ed9742a0c8be68"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gb9a2ddb130da035d6186f2d96bf37cb4">_dbus_directory_get_next_file</a> (<a class="el" href="structDBusDirIter.html">DBusDirIter</a> *iter, <a class="el" href="structDBusString.html">DBusString</a> *filename, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get next file in the directory.  <a href="#gb9a2ddb130da035d6186f2d96bf37cb4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1821b64302fe8e12278fa227eb11d393"></a><!-- doxytag: member="DBusInternalsUtils::_dbus_directory_close" ref="g1821b64302fe8e12278fa227eb11d393" args="(DBusDirIter *iter)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g1821b64302fe8e12278fa227eb11d393">_dbus_directory_close</a> (<a class="el" href="structDBusDirIter.html">DBusDirIter</a> *iter)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes a directory iteration. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g23814bdf1859c6aa52da1feab8f1aed4">_dbus_group_info_fill</a> (<a class="el" href="structDBusGroupInfo.html">DBusGroupInfo</a> *info, const <a class="el" href="structDBusString.html">DBusString</a> *groupname, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes the given <a class="el" href="structDBusGroupInfo.html">DBusGroupInfo</a> struct with information about the given group name.  <a href="#g23814bdf1859c6aa52da1feab8f1aed4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gd235e373b223982b7d3aba8a2b602b58">_dbus_group_info_fill_gid</a> (<a class="el" href="structDBusGroupInfo.html">DBusGroupInfo</a> *info, <a class="el" href="group__DBusSysdeps.html#g2f5c2e418b81ec2a86594f56ec6d7627">dbus_gid_t</a> gid, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes the given <a class="el" href="structDBusGroupInfo.html">DBusGroupInfo</a> struct with information about the given group ID.  <a href="#gd235e373b223982b7d3aba8a2b602b58"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g437470fc327b0169fc14a0b66a6e5278">_dbus_parse_unix_user_from_config</a> (const <a class="el" href="structDBusString.html">DBusString</a> *username, <a class="el" href="group__DBusSysdeps.html#g186e987b700f9ddc6cea8aa0db82b151">dbus_uid_t</a> *uid_p)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse a UNIX user from the bus config file.  <a href="#g437470fc327b0169fc14a0b66a6e5278"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g96da816095ec7fec07136a6019745bcb">_dbus_parse_unix_group_from_config</a> (const <a class="el" href="structDBusString.html">DBusString</a> *groupname, <a class="el" href="group__DBusSysdeps.html#g2f5c2e418b81ec2a86594f56ec6d7627">dbus_gid_t</a> *gid_p)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse a UNIX group from the bus config file.  <a href="#g96da816095ec7fec07136a6019745bcb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g79647ec21c7edccd1510808ea0ca3779">_dbus_unix_groups_from_uid</a> (<a class="el" href="group__DBusSysdeps.html#g186e987b700f9ddc6cea8aa0db82b151">dbus_uid_t</a> uid, <a class="el" href="group__DBusSysdeps.html#g2f5c2e418b81ec2a86594f56ec6d7627">dbus_gid_t</a> **group_ids, int *n_group_ids)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets all groups corresponding to the given UNIX user ID.  <a href="#g79647ec21c7edccd1510808ea0ca3779"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#ged2e025454364fbe31cd9b6538c9a936">_dbus_unix_user_is_at_console</a> (<a class="el" href="group__DBusSysdeps.html#g186e987b700f9ddc6cea8aa0db82b151">dbus_uid_t</a> uid, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks to see if the UNIX user ID is at the console.  <a href="#ged2e025454364fbe31cd9b6538c9a936"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g849177164bc5e73435104f57c631ed7e">_dbus_unix_user_is_process_owner</a> (<a class="el" href="group__DBusSysdeps.html#g186e987b700f9ddc6cea8aa0db82b151">dbus_uid_t</a> uid)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks to see if the UNIX user ID matches the UID of the process.  <a href="#g849177164bc5e73435104f57c631ed7e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g912d34a7e40b3a57864972e6d6ab65ba">_dbus_windows_user_is_process_owner</a> (const char *windows_sid)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks to see if the Windows user SID matches the owner of the process.  <a href="#g912d34a7e40b3a57864972e6d6ab65ba"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gfb4454c18ee8e5bcc20dbccd93e1d9ba"></a><!-- doxytag: member="DBusInternalsUtils::_dbus_generate_pseudorandom_bytes_buffer" ref="gfb4454c18ee8e5bcc20dbccd93e1d9ba" args="(char *buffer, int n_bytes)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gfb4454c18ee8e5bcc20dbccd93e1d9ba">_dbus_generate_pseudorandom_bytes_buffer</a> (char *buffer, int n_bytes)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Random numbers. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#ga32f87746e9264b2425736043d02fad4">_dbus_generate_random_bytes_buffer</a> (char *buffer, int n_bytes)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fills n_bytes of the given buffer with random bytes.  <a href="#ga32f87746e9264b2425736043d02fad4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g709ce349c6ee05263850444fb4e0177d">_dbus_generate_random_ascii</a> (<a class="el" href="structDBusString.html">DBusString</a> *str, int n_bytes)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generates the given number of random bytes, where the bytes are chosen from the alphanumeric ASCII subset.  <a href="#g709ce349c6ee05263850444fb4e0177d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g2212aa0e5732257598a6597748c658e4">_dbus_error_from_errno</a> (int error_number)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a UNIX or Windows errno into a <a class="el" href="structDBusError.html">DBusError</a> name.  <a href="#g2212aa0e5732257598a6597748c658e4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf0f4cb7f145fe1f48f5302277560407a"></a><!-- doxytag: member="DBusInternalsUtils::_dbus_set_errno_to_zero" ref="gf0f4cb7f145fe1f48f5302277560407a" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gf0f4cb7f145fe1f48f5302277560407a">_dbus_set_errno_to_zero</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign 0 to the global errno variable. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gb9ccdfee5c7986ff236a6cde66a9af2f">_dbus_get_is_errno_nonzero</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See if errno is set.  <a href="#gb9ccdfee5c7986ff236a6cde66a9af2f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gec2ce24907adaedd1bf88bb28d82c96d">_dbus_get_is_errno_enomem</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See if errno is ENOMEM.  <a href="#gec2ce24907adaedd1bf88bb28d82c96d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g08e67a10b197995c101c89f248c24105">_dbus_get_is_errno_eintr</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See if errno is EINTR.  <a href="#g08e67a10b197995c101c89f248c24105"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g56de84795d6df4162ad79b3be7af7588">_dbus_strerror_from_errno</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get error message from errno.  <a href="#g56de84795d6df4162ad79b3be7af7588"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#ga504db352a939909051a494d06c5b607">_dbus_is_console_user</a> (<a class="el" href="group__DBusSysdeps.html#g186e987b700f9ddc6cea8aa0db82b151">dbus_uid_t</a> uid, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks to see if the UID sent in is the console user.  <a href="#ga504db352a939909051a494d06c5b607"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gf07ee24eddcb3b0f85fa54196bc44fe1">_dbus_get_user_id</a> (const <a class="el" href="structDBusString.html">DBusString</a> *username, <a class="el" href="group__DBusSysdeps.html#g186e987b700f9ddc6cea8aa0db82b151">dbus_uid_t</a> *uid)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets user ID given username.  <a href="#gf07ee24eddcb3b0f85fa54196bc44fe1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g90657adefa9bbac9b35eee63dd46a854">_dbus_get_group_id</a> (const <a class="el" href="structDBusString.html">DBusString</a> *groupname, <a class="el" href="group__DBusSysdeps.html#g2f5c2e418b81ec2a86594f56ec6d7627">dbus_gid_t</a> *gid)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets group ID given groupname.  <a href="#g90657adefa9bbac9b35eee63dd46a854"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gc82f42ff83fabbde717cc08569265e6e">_dbus_get_user_id_and_primary_group</a> (const <a class="el" href="structDBusString.html">DBusString</a> *username, <a class="el" href="group__DBusSysdeps.html#g186e987b700f9ddc6cea8aa0db82b151">dbus_uid_t</a> *uid_p, <a class="el" href="group__DBusSysdeps.html#g2f5c2e418b81ec2a86594f56ec6d7627">dbus_gid_t</a> *gid_p)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets user ID and primary group given username.  <a href="#gc82f42ff83fabbde717cc08569265e6e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structDBusGroupInfo.html">DBusGroupInfo</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gf6b7452691c0c7d11fec4b9214137052">_dbus_user_database_lookup_group</a> (DBusUserDatabase *db, <a class="el" href="group__DBusSysdeps.html#g2f5c2e418b81ec2a86594f56ec6d7627">dbus_gid_t</a> gid, const <a class="el" href="structDBusString.html">DBusString</a> *groupname, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Looks up a gid or group name in the user database.  <a href="#gf6b7452691c0c7d11fec4b9214137052"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gd370299b907799440331c47e8d2357e0">_dbus_user_database_get_groupname</a> (DBusUserDatabase *db, const <a class="el" href="structDBusString.html">DBusString</a> *groupname, const <a class="el" href="structDBusGroupInfo.html">DBusGroupInfo</a> **info, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the user information for the given group name, returned group info should not be freed.  <a href="#gd370299b907799440331c47e8d2357e0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g70d3fd2edd61c69edc6f7fe1d5cfa6ea">_dbus_user_database_get_gid</a> (DBusUserDatabase *db, <a class="el" href="group__DBusSysdeps.html#g2f5c2e418b81ec2a86594f56ec6d7627">dbus_gid_t</a> gid, const <a class="el" href="structDBusGroupInfo.html">DBusGroupInfo</a> **info, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the user information for the given GID, returned group info should not be freed.  <a href="#g70d3fd2edd61c69edc6f7fe1d5cfa6ea"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#ge9408936869314101f8ea13dfa5ba968">_dbus_groups_from_uid</a> (<a class="el" href="group__DBusSysdeps.html#g186e987b700f9ddc6cea8aa0db82b151">dbus_uid_t</a> uid, <a class="el" href="group__DBusSysdeps.html#g2f5c2e418b81ec2a86594f56ec6d7627">dbus_gid_t</a> **group_ids, int *n_group_ids)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets all groups corresponding to the given UID.  <a href="#ge9408936869314101f8ea13dfa5ba968"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gf725ba6f380a3b926650626eef714b67">_dbus_user_info_free_allocated</a> (<a class="el" href="structDBusUserInfo.html">DBusUserInfo</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees the given <a class="el" href="structDBusUserInfo.html">DBusUserInfo</a>'s members with <a class="el" href="group__DBusSysdepsUnix.html#ga40334f7b4f185a437a8bc6d6e0994a1">_dbus_user_info_free()</a> and also calls <a class="el" href="group__DBusMemory.html#g488c6b08cc8c1ddf0203243c4b27a13c">dbus_free()</a> on the block itself.  <a href="#gf725ba6f380a3b926650626eef714b67"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gb9420d7a4a31329a00fd5709f8cf08ba">_dbus_group_info_free_allocated</a> (<a class="el" href="structDBusGroupInfo.html">DBusGroupInfo</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees the given <a class="el" href="structDBusGroupInfo.html">DBusGroupInfo</a>'s members with <a class="el" href="group__DBusSysdepsUnix.html#gc2d226476e6fff50bdfaace18b897fe9">_dbus_group_info_free()</a> and also calls <a class="el" href="group__DBusMemory.html#g488c6b08cc8c1ddf0203243c4b27a13c">dbus_free()</a> on the block itself.  <a href="#gb9420d7a4a31329a00fd5709f8cf08ba"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#ga40334f7b4f185a437a8bc6d6e0994a1">_dbus_user_info_free</a> (<a class="el" href="structDBusUserInfo.html">DBusUserInfo</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees the members of info (but not info itself).  <a href="#ga40334f7b4f185a437a8bc6d6e0994a1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gc2d226476e6fff50bdfaace18b897fe9">_dbus_group_info_free</a> (<a class="el" href="structDBusGroupInfo.html">DBusGroupInfo</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees the members of info (but not info itself).  <a href="#gc2d226476e6fff50bdfaace18b897fe9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gd1c3538c544df91f438a13c9fb4d3a1b">_dbus_is_a_number</a> (const <a class="el" href="structDBusString.html">DBusString</a> *str, unsigned long *num)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if a given string is actually a number and converts it if it is.  <a href="#gd1c3538c544df91f438a13c9fb4d3a1b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structDBusUserInfo.html">DBusUserInfo</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g959372f7d7cdea35ffbac3b78e29a1b0">_dbus_user_database_lookup</a> (DBusUserDatabase *db, <a class="el" href="group__DBusSysdeps.html#g186e987b700f9ddc6cea8aa0db82b151">dbus_uid_t</a> uid, const <a class="el" href="structDBusString.html">DBusString</a> *username, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Looks up a uid or username in the user database.  <a href="#g959372f7d7cdea35ffbac3b78e29a1b0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gd670eb00ca49ee18fe1c526d440131b7"></a><!-- doxytag: member="DBusInternalsUtils::_dbus_user_database_lock_system" ref="gd670eb00ca49ee18fe1c526d440131b7" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gd670eb00ca49ee18fe1c526d440131b7">_dbus_user_database_lock_system</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Locks global system user database. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g468e1d62e1df24bb699c4a37fdfa274c"></a><!-- doxytag: member="DBusInternalsUtils::_dbus_user_database_unlock_system" ref="g468e1d62e1df24bb699c4a37fdfa274c" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g468e1d62e1df24bb699c4a37fdfa274c">_dbus_user_database_unlock_system</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unlocks global system user database. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBusUserDatabase *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g79b6c3cf0d735622b6af2795840f9d21">_dbus_user_database_get_system</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the system global user database; must be called with lock held (<a class="el" href="group__DBusInternalsUtils.html#gd670eb00ca49ee18fe1c526d440131b7">_dbus_user_database_lock_system()</a>).  <a href="#g79b6c3cf0d735622b6af2795840f9d21"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g788ce7775d7f812d28d931e8b87ddfde"></a><!-- doxytag: member="DBusInternalsUtils::_dbus_user_database_flush_system" ref="g788ce7775d7f812d28d931e8b87ddfde" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g788ce7775d7f812d28d931e8b87ddfde">_dbus_user_database_flush_system</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flushes the system global user database;. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g9c4c1850787bfd457107b95fa1878869">_dbus_username_from_current_process</a> (const <a class="el" href="structDBusString.html">DBusString</a> **username)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets username of user owning current process.  <a href="#g9c4c1850787bfd457107b95fa1878869"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g17ce3ab061a3ae2441cd33ece34f5e7a">_dbus_homedir_from_current_process</a> (const <a class="el" href="structDBusString.html">DBusString</a> **homedir)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets homedir of user owning current process.  <a href="#g17ce3ab061a3ae2441cd33ece34f5e7a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g91c63dcb68d38347578edf39eda1712a">_dbus_homedir_from_username</a> (const <a class="el" href="structDBusString.html">DBusString</a> *username, <a class="el" href="structDBusString.html">DBusString</a> *homedir)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the home directory for the given user.  <a href="#g91c63dcb68d38347578edf39eda1712a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gbdd1dc47f44e3d6702c86c68da9a0173">_dbus_homedir_from_uid</a> (<a class="el" href="group__DBusSysdeps.html#g186e987b700f9ddc6cea8aa0db82b151">dbus_uid_t</a> uid, <a class="el" href="structDBusString.html">DBusString</a> *homedir)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the home directory for the given user.  <a href="#gbdd1dc47f44e3d6702c86c68da9a0173"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gcecdbb00a3c8b63e821edae537ae3c7b">_dbus_credentials_add_from_user</a> (<a class="el" href="structDBusCredentials.html">DBusCredentials</a> *credentials, const <a class="el" href="structDBusString.html">DBusString</a> *username)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds the credentials corresponding to the given username.  <a href="#gcecdbb00a3c8b63e821edae537ae3c7b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBusUserDatabase *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g1dbf2c80952d17707c544f5d86dd8545">_dbus_user_database_new</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new user database object used to look up and cache user information.  <a href="#g1dbf2c80952d17707c544f5d86dd8545"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb553751e96f8506d10349fb5fb1eaa82"></a><!-- doxytag: member="DBusInternalsUtils::_dbus_user_database_flush" ref="gb553751e96f8506d10349fb5fb1eaa82" args="(DBusUserDatabase *db)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gb553751e96f8506d10349fb5fb1eaa82">_dbus_user_database_flush</a> (DBusUserDatabase *db)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flush all information out of the user database. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g55dbb78c415da040037442eca4c4e80e">_dbus_user_database_unref</a> (DBusUserDatabase *db)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decrements refcount of user database.  <a href="#g55dbb78c415da040037442eca4c4e80e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g6a7e8b8cf3a6968972e9a49726022638">_dbus_user_database_get_uid</a> (DBusUserDatabase *db, <a class="el" href="group__DBusSysdeps.html#g186e987b700f9ddc6cea8aa0db82b151">dbus_uid_t</a> uid, const <a class="el" href="structDBusUserInfo.html">DBusUserInfo</a> **info, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the user information for the given UID, returned user info should not be freed.  <a href="#g6a7e8b8cf3a6968972e9a49726022638"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#gccf1d5b330707a1835dcf4ce49a29c8c">_dbus_user_database_get_username</a> (DBusUserDatabase *db, const <a class="el" href="structDBusString.html">DBusString</a> *username, const <a class="el" href="structDBusUserInfo.html">DBusUserInfo</a> **info, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the user information for the given username.  <a href="#gccf1d5b330707a1835dcf4ce49a29c8c"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g34ea28d688e524b6eefa9698b1940fc4"></a><!-- doxytag: member="DBusInternalsUtils::_dbus_no_memory_message" ref="g34ea28d688e524b6eefa9698b1940fc4" args="[]" -->
const char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g34ea28d688e524b6eefa9698b1940fc4">_dbus_no_memory_message</a> [] = &quot;Not enough memory&quot;</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fixed "out of memory" error message, just to avoid making up a different string every time and wasting space. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusInternalsUtils.html#g7599f9e4a6b9551b28e68b51b66851d3">_dbus_return_if_fail_warning_format</a> []</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">String used in _dbus_return_if_fail macro.  <a href="#g7599f9e4a6b9551b28e68b51b66851d3"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Utility functions (<a class="el" href="group__DBusInternalsUtils.html#g129c6c03f011cdc171934d5d386cc797">_dbus_assert()</a>, <a class="el" href="group__DBusInternalsUtils.html#gbea2c16d6d3fe7c4eb5b9496fc877f84">_dbus_warn()</a>, etc. 
<p>
) <hr><h2>Define Documentation</h2>
<a class="anchor" name="g129c6c03f011cdc171934d5d386cc797"></a><!-- doxytag: member="dbus-internals.h::_dbus_assert" ref="g129c6c03f011cdc171934d5d386cc797" args="(condition)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define _dbus_assert          </td>
          <td>(</td>
          <td class="paramtype">condition&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Aborts with an error message if the condition is false. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>condition</em>&nbsp;</td><td>condition which must be true. </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-internals_8h-source.html#l00109">109</a> of file <a class="el" href="dbus-internals_8h-source.html">dbus-internals.h</a>.
<p>
Referenced by <a class="el" href="dbus-sysdeps-unix_8c-source.html#l03171">_dbus_append_keyring_directory_for_credentials()</a>, <a class="el" href="dbus-auth_8c-source.html#l02580">_dbus_auth_decode_data()</a>, <a class="el" href="dbus-auth_8c-source.html#l02517">_dbus_auth_encode_data()</a>, <a class="el" href="dbus-auth_8c-source.html#l02417">_dbus_auth_get_buffer()</a>, <a class="el" href="dbus-auth_8c-source.html#l02372">_dbus_auth_get_bytes_to_send()</a>, <a class="el" href="dbus-auth_8c-source.html#l02654">_dbus_auth_get_guid_from_server()</a>, <a class="el" href="dbus-auth_8c-source.html#l02630">_dbus_auth_get_identity()</a>, <a class="el" href="dbus-auth_8c-source.html#l02228">_dbus_auth_ref()</a>, <a class="el" href="dbus-auth_8c-source.html#l02436">_dbus_auth_return_buffer()</a>, <a class="el" href="dbus-auth_8c-source.html#l02243">_dbus_auth_unref()</a>, <a class="el" href="dbus-spawn_8c-source.html#l00245">_dbus_babysitter_ref()</a>, <a class="el" href="dbus-spawn_8c-source.html#l00264">_dbus_babysitter_unref()</a>, <a class="el" href="dbus-connection_8c-source.html#l02218">_dbus_connection_block_pending_call()</a>, <a class="el" href="dbus-connection_8c-source.html#l02017">_dbus_connection_close_if_only_one_ref()</a>, <a class="el" href="dbus-connection_8c-source.html#l01801">_dbus_connection_close_possibly_shared()</a>, <a class="el" href="dbus-connection_8c-source.html#l00585">_dbus_connection_message_sent()</a>, <a class="el" href="dbus-connection_8c-source.html#l00447">_dbus_connection_queue_received_message_link()</a>, <a class="el" href="dbus-connection_8c-source.html#l01326">_dbus_connection_ref_unlocked()</a>, <a class="el" href="dbus-connection_8c-source.html#l01969">_dbus_connection_send_and_unlock()</a>, <a class="el" href="dbus-connection_8c-source.html#l00740">_dbus_connection_toggle_watch_unlocked()</a>, <a class="el" href="dbus-connection_8c-source.html#l01350">_dbus_connection_unref_unlocked()</a>, <a class="el" href="dbus-resources_8c-source.html#l00102">_dbus_counter_ref()</a>, <a class="el" href="dbus-resources_8c-source.html#l00118">_dbus_counter_unref()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l01634">_dbus_credentials_add_from_current_process()</a>, <a class="el" href="dbus-credentials_8c-source.html#l00112">_dbus_credentials_ref()</a>, <a class="el" href="dbus-credentials_8c-source.html#l00124">_dbus_credentials_unref()</a>, <a class="el" href="dbus-dataslot_8c-source.html#l00067">_dbus_data_slot_allocator_alloc()</a>, <a class="el" href="dbus-dataslot_8c-source.html#l00163">_dbus_data_slot_allocator_free()</a>, <a class="el" href="dbus-dataslot_8c-source.html#l00296">_dbus_data_slot_list_get()</a>, <a class="el" href="dbus-dataslot_8c-source.html#l00235">_dbus_data_slot_list_set()</a>, <a class="el" href="dbus-object-tree_8c-source.html#l01058">_dbus_decompose_path()</a>, <a class="el" href="dbus-sysdeps_8c-source.html#l00860">_dbus_generate_random_ascii()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02754">_dbus_get_autolaunch_address()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02710">_dbus_get_tmpdir()</a>, <a class="el" href="dbus-userdb-util_8c-source.html#l00354">_dbus_groups_from_uid()</a>, <a class="el" href="dbus-hash_8c-source.html#l00672">_dbus_hash_iter_get_int_key()</a>, <a class="el" href="dbus-hash_8c-source.html#l00709">_dbus_hash_iter_get_string_key()</a>, <a class="el" href="dbus-hash_8c-source.html#l00691">_dbus_hash_iter_get_ulong_key()</a>, <a class="el" href="dbus-hash_8c-source.html#l00626">_dbus_hash_iter_get_value()</a>, <a class="el" href="dbus-hash_8c-source.html#l00530">_dbus_hash_iter_init()</a>, <a class="el" href="dbus-hash_8c-source.html#l00773">_dbus_hash_iter_lookup()</a>, <a class="el" href="dbus-hash_8c-source.html#l00556">_dbus_hash_iter_next()</a>, <a class="el" href="dbus-hash_8c-source.html#l00605">_dbus_hash_iter_remove_entry()</a>, <a class="el" href="dbus-hash_8c-source.html#l00649">_dbus_hash_iter_set_value()</a>, <a class="el" href="dbus-hash_8c-source.html#l01643">_dbus_hash_table_free_preallocated_entry()</a>, <a class="el" href="dbus-hash_8c-source.html#l01508">_dbus_hash_table_insert_int()</a>, <a class="el" href="dbus-hash_8c-source.html#l01431">_dbus_hash_table_insert_string()</a>, <a class="el" href="dbus-hash_8c-source.html#l01670">_dbus_hash_table_insert_string_preallocated()</a>, <a class="el" href="dbus-hash_8c-source.html#l01593">_dbus_hash_table_insert_ulong()</a>, <a class="el" href="dbus-hash_8c-source.html#l01202">_dbus_hash_table_lookup_int()</a>, <a class="el" href="dbus-hash_8c-source.html#l01150">_dbus_hash_table_lookup_string()</a>, <a class="el" href="dbus-hash_8c-source.html#l01255">_dbus_hash_table_lookup_ulong()</a>, <a class="el" href="dbus-hash_8c-source.html#l00292">_dbus_hash_table_new()</a>, <a class="el" href="dbus-hash_8c-source.html#l01337">_dbus_hash_table_remove_int()</a>, <a class="el" href="dbus-hash_8c-source.html#l01279">_dbus_hash_table_remove_string()</a>, <a class="el" href="dbus-hash_8c-source.html#l01396">_dbus_hash_table_remove_ulong()</a>, <a class="el" href="dbus-marshal-header_8c-source.html#l00514">_dbus_header_create()</a>, <a class="el" href="dbus-marshal-header_8c-source.html#l01382">_dbus_header_delete_field()</a>, <a class="el" href="dbus-marshal-header_8c-source.html#l01317">_dbus_header_get_field_basic()</a>, <a class="el" href="dbus-marshal-header_8c-source.html#l00368">_dbus_header_get_message_type()</a>, <a class="el" href="dbus-marshal-header_8c-source.html#l00656">_dbus_header_have_message_untrusted()</a>, <a class="el" href="dbus-marshal-header_8c-source.html#l00948">_dbus_header_load()</a>, <a class="el" href="dbus-marshal-header_8c-source.html#l01239">_dbus_header_set_field_basic()</a>, <a class="el" href="dbus-marshal-header_8c-source.html#l00386">_dbus_header_set_serial()</a>, <a class="el" href="dbus-keyring_8c-source.html#l00713">_dbus_keyring_new_for_credentials()</a>, <a class="el" href="dbus-list_8c-source.html#l00727">_dbus_list_copy()</a>, <a class="el" href="dbus-marshal-byteswap_8c-source.html#l00220">_dbus_marshal_byteswap()</a>, <a class="el" href="dbus-marshal-basic_8c-source.html#l00503">_dbus_marshal_read_basic()</a>, <a class="el" href="dbus-marshal-basic_8c-source.html#l00465">_dbus_marshal_read_uint32()</a>, <a class="el" href="dbus-marshal-basic_8c-source.html#l00382">_dbus_marshal_set_basic()</a>, <a class="el" href="dbus-marshal-basic_8c-source.html#l01080">_dbus_marshal_skip_basic()</a>, <a class="el" href="dbus-marshal-basic_8c-source.html#l00793">_dbus_marshal_write_basic()</a>, <a class="el" href="dbus-marshal-basic_8c-source.html#l01022">_dbus_marshal_write_fixed_multi()</a>, <a class="el" href="dbus-mempool_8c-source.html#l00208">_dbus_mem_pool_alloc()</a>, <a class="el" href="dbus-mempool_8c-source.html#l00336">_dbus_mem_pool_dealloc()</a>, <a class="el" href="dbus-mempool_8c-source.html#l00136">_dbus_mem_pool_new()</a>, <a class="el" href="dbus-message_8c-source.html#l00152">_dbus_message_get_network_data()</a>, <a class="el" href="dbus-message_8c-source.html#l00641">_dbus_message_iter_get_args_valist()</a>, <a class="el" href="dbus-message_8c-source.html#l03387">_dbus_message_loader_get_buffer()</a>, <a class="el" href="dbus-message_8c-source.html#l03714">_dbus_message_loader_get_is_corrupted()</a>, <a class="el" href="dbus-message_8c-source.html#l03592">_dbus_message_loader_queue_messages()</a>, <a class="el" href="dbus-message_8c-source.html#l03408">_dbus_message_loader_return_buffer()</a>, <a class="el" href="dbus-message_8c-source.html#l00285">_dbus_message_lock()</a>, <a class="el" href="dbus-message_8c-source.html#l00253">_dbus_message_remove_size_counter()</a>, <a class="el" href="dbus-message_8c-source.html#l00170">_dbus_message_set_serial()</a>, <a class="el" href="dbus-threads_8c-source.html#l00088">_dbus_mutex_new_at_location()</a>, <a class="el" href="dbus-object-tree_8c-source.html#l00899">_dbus_object_tree_get_user_data_unlocked()</a>, <a class="el" href="dbus-object-tree_8c-source.html#l00127">_dbus_object_tree_ref()</a>, <a class="el" href="dbus-object-tree_8c-source.html#l00385">_dbus_object_tree_register()</a>, <a class="el" href="dbus-object-tree_8c-source.html#l00141">_dbus_object_tree_unref()</a>, <a class="el" href="dbus-object-tree_8c-source.html#l00428">_dbus_object_tree_unregister_and_unlock()</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00186">_dbus_pending_call_complete()</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00305">_dbus_pending_call_get_connection_and_lock()</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00320">_dbus_pending_call_get_connection_unlocked()</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00275">_dbus_pending_call_get_reply_serial_unlocked()</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00261">_dbus_pending_call_get_timeout_unlocked()</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00230">_dbus_pending_call_is_timeout_added_unlocked()</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00091">_dbus_pending_call_new_unlocked()</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00210">_dbus_pending_call_queue_timeout_error_unlocked()</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00289">_dbus_pending_call_set_reply_serial_unlocked()</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00154">_dbus_pending_call_set_reply_unlocked()</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00245">_dbus_pending_call_set_timeout_added_unlocked()</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00433">_dbus_pending_call_unref_and_unlock()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l00270">_dbus_read()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l01112">_dbus_read_credentials_socket()</a>, <a class="el" href="dbus-server_8c-source.html#l00168">_dbus_server_finalize_base()</a>, <a class="el" href="dbus-server_8c-source.html#l00432">_dbus_server_ref_unlocked()</a>, <a class="el" href="dbus-server_8c-source.html#l00299">_dbus_server_toggle_watch()</a>, <a class="el" href="dbus-server_8c-source.html#l00454">_dbus_server_unref_unlocked()</a>, <a class="el" href="dbus-sysdeps_8c-source.html#l00104">_dbus_setenv()</a>, <a class="el" href="dbus-string_8c-source.html#l00987">_dbus_string_append()</a>, <a class="el" href="dbus-string_8c-source.html#l01253">_dbus_string_append_len()</a>, <a class="el" href="dbus-string_8c-source.html#l00697">_dbus_string_copy_data()</a>, <a class="el" href="dbus-string_8c-source.html#l01567">_dbus_string_copy_len()</a>, <a class="el" href="dbus-string_8c-source.html#l00721">_dbus_string_copy_to_buffer()</a>, <a class="el" href="dbus-string_8c-source.html#l01382">_dbus_string_delete()</a>, <a class="el" href="dbus-string-util_8c-source.html#l00045">_dbus_string_ends_with_c_str()</a>, <a class="el" href="dbus-string_8c-source.html#l02333">_dbus_string_equal_c_str()</a>, <a class="el" href="dbus-string_8c-source.html#l02285">_dbus_string_equal_substring()</a>, <a class="el" href="dbus-string_8c-source.html#l01944">_dbus_string_find_blank()</a>, <a class="el" href="dbus-string-util_8c-source.html#l00089">_dbus_string_find_byte_backward()</a>, <a class="el" href="dbus-string_8c-source.html#l01806">_dbus_string_find_eol()</a>, <a class="el" href="dbus-string_8c-source.html#l01876">_dbus_string_find_to()</a>, <a class="el" href="dbus-string_8c-source.html#l00457">_dbus_string_get_data_len()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00985">_dbus_string_get_dirname()</a>, <a class="el" href="dbus-string_8c-source.html#l02492">_dbus_string_hex_decode()</a>, <a class="el" href="dbus-string_8c-source.html#l02442">_dbus_string_hex_encode()</a>, <a class="el" href="dbus-string_8c-source.html#l00209">_dbus_string_init_const()</a>, <a class="el" href="dbus-string_8c-source.html#l00229">_dbus_string_init_const_len()</a>, <a class="el" href="dbus-string_8c-source.html#l00131">_dbus_string_init_preallocated()</a>, <a class="el" href="dbus-string_8c-source.html#l01140">_dbus_string_insert_8_aligned()</a>, <a class="el" href="dbus-string_8c-source.html#l01168">_dbus_string_insert_alignment()</a>, <a class="el" href="dbus-string_8c-source.html#l00581">_dbus_string_insert_byte()</a>, <a class="el" href="dbus-string_8c-source.html#l00551">_dbus_string_insert_bytes()</a>, <a class="el" href="dbus-string_8c-source.html#l00812">_dbus_string_lengthen()</a>, <a class="el" href="dbus-string_8c-source.html#l01448">_dbus_string_move()</a>, <a class="el" href="dbus-string_8c-source.html#l01500">_dbus_string_move_len()</a>, <a class="el" href="dbus-string_8c-source.html#l02088">_dbus_string_pop_line()</a>, <a class="el" href="dbus-string_8c-source.html#l01605">_dbus_string_replace_len()</a>, <a class="el" href="dbus-string_8c-source.html#l00854">_dbus_string_set_length()</a>, <a class="el" href="dbus-string_8c-source.html#l00832">_dbus_string_shorten()</a>, <a class="el" href="dbus-string_8c-source.html#l01982">_dbus_string_skip_blank()</a>, <a class="el" href="dbus-string_8c-source.html#l02016">_dbus_string_skip_white()</a>, <a class="el" href="dbus-string_8c-source.html#l02049">_dbus_string_skip_white_reverse()</a>, <a class="el" href="dbus-string_8c-source.html#l00608">_dbus_string_steal_data()</a>, <a class="el" href="dbus-string_8c-source.html#l02633">_dbus_string_validate_ascii()</a>, <a class="el" href="dbus-string_8c-source.html#l02774">_dbus_string_validate_nul()</a>, <a class="el" href="dbus-string_8c-source.html#l02676">_dbus_string_validate_utf8()</a>, <a class="el" href="dbus-marshal-basic_8c-source.html#l00886">_dbus_swap_array()</a>, <a class="el" href="dbus-timeout_8c-source.html#l00133">_dbus_timeout_set_interval()</a>, <a class="el" href="dbus-timeout_8c-source.html#l00106">_dbus_timeout_unref()</a>, <a class="el" href="dbus-transport_8c-source.html#l00471">_dbus_transport_disconnect()</a>, <a class="el" href="dbus-transport_8c-source.html#l00925">_dbus_transport_do_iteration()</a>, <a class="el" href="dbus-transport_8c-source.html#l00668">_dbus_transport_get_is_authenticated()</a>, <a class="el" href="dbus-transport_8c-source.html#l00830">_dbus_transport_handle_watch()</a>, <a class="el" href="dbus-transport_8c-source.html#l00093">_dbus_transport_init_base()</a>, <a class="el" href="dbus-transport-unix_8c-source.html#l00120">_dbus_transport_open_platform_specific()</a>, <a class="el" href="dbus-transport-socket_8c-source.html#l01293">_dbus_transport_open_socket()</a>, <a class="el" href="dbus-transport_8c-source.html#l01084">_dbus_transport_queue_messages()</a>, <a class="el" href="dbus-transport_8c-source.html#l00429">_dbus_transport_ref()</a>, <a class="el" href="dbus-transport_8c-source.html#l00868">_dbus_transport_set_connection()</a>, <a class="el" href="dbus-transport_8c-source.html#l00446">_dbus_transport_unref()</a>, <a class="el" href="dbus-marshal-recursive_8c-source.html#l01402">_dbus_type_reader_delete()</a>, <a class="el" href="dbus-marshal-recursive_8c-source.html#l00884">_dbus_type_reader_get_array_length()</a>, <a class="el" href="dbus-marshal-recursive_8c-source.html#l00770">_dbus_type_reader_get_current_type()</a>, <a class="el" href="dbus-marshal-recursive_8c-source.html#l00805">_dbus_type_reader_get_element_type()</a>, <a class="el" href="dbus-marshal-recursive_8c-source.html#l01437">_dbus_type_reader_greater_than()</a>, <a class="el" href="dbus-marshal-recursive_8c-source.html#l00854">_dbus_type_reader_read_basic()</a>, <a class="el" href="dbus-marshal-recursive_8c-source.html#l00908">_dbus_type_reader_read_fixed_multi()</a>, <a class="el" href="dbus-marshal-recursive_8c-source.html#l00837">_dbus_type_reader_read_raw()</a>, <a class="el" href="dbus-marshal-recursive_8c-source.html#l00973">_dbus_type_reader_recurse()</a>, <a class="el" href="dbus-marshal-recursive_8c-source.html#l01345">_dbus_type_reader_set_basic()</a>, <a class="el" href="dbus-marshal-recursive_8c-source.html#l00327">_dbus_type_signature_next()</a>, <a class="el" href="dbus-marshal-recursive_8c-source.html#l02161">_dbus_type_writer_unrecurse()</a>, <a class="el" href="dbus-marshal-recursive_8c-source.html#l02341">_dbus_type_writer_write_fixed_multi()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00333">_dbus_user_database_get_system()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00127">_dbus_user_database_lookup()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00603">_dbus_user_database_unref()</a>, <a class="el" href="dbus-marshal-validate_8c-source.html#l00630">_dbus_validate_body_with_reason()</a>, <a class="el" href="dbus-marshal-validate_8c-source.html#l00955">_dbus_validate_bus_name()</a>, <a class="el" href="dbus-marshal-validate_8c-source.html#l00777">_dbus_validate_interface()</a>, <a class="el" href="dbus-marshal-validate_8c-source.html#l00853">_dbus_validate_member()</a>, <a class="el" href="dbus-marshal-validate_8c-source.html#l00712">_dbus_validate_path()</a>, <a class="el" href="dbus-marshal-validate_8c-source.html#l01054">_dbus_validate_signature()</a>, <a class="el" href="dbus-marshal-validate_8c-source.html#l00050">_dbus_validate_signature_with_reason()</a>, <a class="el" href="dbus-marshal-basic_8c-source.html#l01316">_dbus_verbose_bytes()</a>, <a class="el" href="dbus-marshal-basic_8c-source.html#l01402">_dbus_verbose_bytes_of_string()</a>, <a class="el" href="dbus-watch_8c-source.html#l00067">_dbus_watch_new()</a>, <a class="el" href="dbus-watch_8c-source.html#l00117">_dbus_watch_unref()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l00376">_dbus_write_two()</a>, <a class="el" href="dbus-address_8c-source.html#l00244">dbus_address_entry_get_value()</a>, <a class="el" href="dbus-address_8c-source.html#l00617">dbus_address_unescape_value()</a>, <a class="el" href="dbus-bus_8c-source.html#l00716">dbus_bus_set_unique_name()</a>, <a class="el" href="dbus-connection_8c-source.html#l03533">dbus_connection_borrow_message()</a>, <a class="el" href="dbus-connection_8c-source.html#l04907">dbus_connection_get_unix_process_id()</a>, <a class="el" href="dbus-connection_8c-source.html#l04871">dbus_connection_get_unix_user()</a>, <a class="el" href="dbus-connection_8c-source.html#l05006">dbus_connection_get_windows_user()</a>, <a class="el" href="dbus-connection_8c-source.html#l02464">dbus_connection_ref()</a>, <a class="el" href="dbus-connection_8c-source.html#l03582">dbus_connection_return_message()</a>, <a class="el" href="dbus-connection_8c-source.html#l03243">dbus_connection_send_with_reply_and_block()</a>, <a class="el" href="dbus-connection_8c-source.html#l03614">dbus_connection_steal_borrowed_message()</a>, <a class="el" href="dbus-connection_8c-source.html#l02610">dbus_connection_unref()</a>, <a class="el" href="dbus-errors_8c-source.html#l00274">dbus_error_has_name()</a>, <a class="el" href="dbus-errors_8c-source.html#l00160">dbus_error_init()</a>, <a class="el" href="dbus-errors_8c-source.html#l00301">dbus_error_is_set()</a>, <a class="el" href="dbus-memory_8c-source.html#l00617">dbus_free()</a>, <a class="el" href="dbus-message_8c-source.html#l01365">dbus_message_ref()</a>, <a class="el" href="dbus-message_8c-source.html#l01387">dbus_message_unref()</a>, <a class="el" href="dbus-address_8c-source.html#l00363">dbus_parse_address()</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00532">dbus_pending_call_ref()</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00559">dbus_pending_call_unref()</a>, <a class="el" href="dbus-server_8c-source.html#l00739">dbus_server_disconnect()</a>, <a class="el" href="dbus-server_8c-source.html#l00540">dbus_server_listen()</a>, <a class="el" href="dbus-server_8c-source.html#l00670">dbus_server_ref()</a>, <a class="el" href="dbus-server_8c-source.html#l00697">dbus_server_unref()</a>, <a class="el" href="dbus-errors_8c-source.html#l00326">dbus_set_error()</a>, <a class="el" href="dbus-errors_8c-source.html#l00215">dbus_set_error_const()</a>, <a class="el" href="dbus-threads_8c-source.html#l00545">dbus_threads_init()</a>, <a class="el" href="dbus-watch_8c-source.html#l00610">dbus_watch_get_enabled()</a>, and <a class="el" href="dbus-watch_8c-source.html#l00555">dbus_watch_get_flags()</a>.
</div>
</div><p>
<a class="anchor" name="g0c4961ec784874f1b1f3aeccea8d3da1"></a><!-- doxytag: member="dbus-internals.h::_dbus_assert_not_reached" ref="g0c4961ec784874f1b1f3aeccea8d3da1" args="(explanation)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define _dbus_assert_not_reached          </td>
          <td>(</td>
          <td class="paramtype">explanation&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Aborts with an error message if called. 
<p>
The given explanation will be printed.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>explanation</em>&nbsp;</td><td>explanation of what happened if the code was reached. </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-internals_8h-source.html#l00121">121</a> of file <a class="el" href="dbus-internals_8h-source.html">dbus-internals.h</a>.
<p>
Referenced by <a class="el" href="dbus-spawn_8c-source.html#l00639">_dbus_babysitter_get_child_exit_status()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00074">_dbus_become_daemon()</a>, <a class="el" href="dbus-credentials_8c-source.html#l00198">_dbus_credentials_include()</a>, <a class="el" href="dbus-dataslot_8c-source.html#l00067">_dbus_data_slot_allocator_alloc()</a>, <a class="el" href="dbus-hash_8c-source.html#l00292">_dbus_hash_table_new()</a>, <a class="el" href="dbus-marshal-header_8c-source.html#l01239">_dbus_header_set_field_basic()</a>, <a class="el" href="dbus-marshal-basic_8c-source.html#l00503">_dbus_marshal_read_basic()</a>, <a class="el" href="dbus-marshal-basic_8c-source.html#l00382">_dbus_marshal_set_basic()</a>, <a class="el" href="dbus-marshal-basic_8c-source.html#l01080">_dbus_marshal_skip_basic()</a>, <a class="el" href="dbus-marshal-basic_8c-source.html#l00793">_dbus_marshal_write_basic()</a>, <a class="el" href="dbus-marshal-basic_8c-source.html#l01022">_dbus_marshal_write_fixed_multi()</a>, <a class="el" href="dbus-mempool_8c-source.html#l00336">_dbus_mem_pool_dealloc()</a>, <a class="el" href="dbus-spawn_8c-source.html#l01061">_dbus_spawn_async_with_babysitter()</a>, <a class="el" href="dbus-string_8c-source.html#l02088">_dbus_string_pop_line()</a>, <a class="el" href="dbus-timeout_8c-source.html#l00339">_dbus_timeout_list_remove_timeout()</a>, <a class="el" href="dbus-marshal-basic_8c-source.html#l01175">_dbus_type_get_alignment()</a>, <a class="el" href="dbus-marshal-recursive_8c-source.html#l00973">_dbus_type_reader_recurse()</a>, <a class="el" href="dbus-marshal-recursive_8c-source.html#l02293">_dbus_type_writer_write_basic()</a>, <a class="el" href="dbus-marshal-recursive_8c-source.html#l02341">_dbus_type_writer_write_fixed_multi()</a>, <a class="el" href="dbus-watch_8c-source.html#l00384">_dbus_watch_list_remove_watch()</a>, and <a class="el" href="dbus-threads_8c-source.html#l00545">dbus_threads_init()</a>.
</div>
</div><p>
<a class="anchor" name="ge625b69e69aedb3b30bff23d4edcf690"></a><!-- doxytag: member="dbus-internals.h::_DBUS_DECLARE_GLOBAL_LOCK" ref="ge625b69e69aedb3b30bff23d4edcf690" args="(name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define _DBUS_DECLARE_GLOBAL_LOCK          </td>
          <td>(</td>
          <td class="paramtype">name&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;extern <a class="el" href="group__DBusThreads.html#g4eb021cd6cd0830423eac2738e0ddc40">DBusMutex</a>  *_dbus_lock_##name</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Expands to declaration of a global lock defined with _DBUS_DEFINE_GLOBAL_LOCK. 
<p>
The lock must be added to the list to initialize in <a class="el" href="group__DBusThreads.html#ga9a4ed445c77af3afa0dbdbb9d85afd4">dbus_threads_init()</a>. 
<p>
Definition at line <a class="el" href="dbus-internals_8h-source.html#l00285">285</a> of file <a class="el" href="dbus-internals_8h-source.html">dbus-internals.h</a>.
</div>
</div><p>
<a class="anchor" name="gc8d22e9846ecc2845959082076de899b"></a><!-- doxytag: member="dbus-internals.h::_DBUS_DEFINE_GLOBAL_LOCK" ref="gc8d22e9846ecc2845959082076de899b" args="(name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define _DBUS_DEFINE_GLOBAL_LOCK          </td>
          <td>(</td>
          <td class="paramtype">name&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;<a class="el" href="group__DBusThreads.html#g4eb021cd6cd0830423eac2738e0ddc40">DBusMutex</a>         *_dbus_lock_##name</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Defines a global lock variable with the given name. 
<p>
The lock must be added to the list to initialize in <a class="el" href="group__DBusThreads.html#ga9a4ed445c77af3afa0dbdbb9d85afd4">dbus_threads_init()</a>. 
<p>
Definition at line <a class="el" href="dbus-internals_8h-source.html#l00286">286</a> of file <a class="el" href="dbus-internals_8h-source.html">dbus-internals.h</a>.
</div>
</div><p>
<a class="anchor" name="g05e902d8504a8a0e0b183fd2e20e329f"></a><!-- doxytag: member="dbus-internals.h::_DBUS_INT_TO_POINTER" ref="g05e902d8504a8a0e0b183fd2e20e329f" args="(integer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define _DBUS_INT_TO_POINTER          </td>
          <td>(</td>
          <td class="paramtype">integer&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((void*)((long)(integer)))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Safely stuffs an integer into a pointer, to be extracted later with _DBUS_POINTER_TO_INT. 
<p>
Only guaranteed to preserve 32 bits.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>integer</em>&nbsp;</td><td>the integer to stuff into a pointer. </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-internals_8h-source.html#l00157">157</a> of file <a class="el" href="dbus-internals_8h-source.html">dbus-internals.h</a>.
<p>
Referenced by <a class="el" href="dbus-hash_8c-source.html#l01508">_dbus_hash_table_insert_int()</a>, <a class="el" href="dbus-hash_8c-source.html#l01202">_dbus_hash_table_lookup_int()</a>, <a class="el" href="dbus-hash_8c-source.html#l01337">_dbus_hash_table_remove_int()</a>, and <a class="el" href="dbus-marshal-validate_8c-source.html#l00050">_dbus_validate_signature_with_reason()</a>.
</div>
</div><p>
<a class="anchor" name="gc153abad46f4eb80999a2b340d29d1f0"></a><!-- doxytag: member="dbus-internals.h::_DBUS_N_ELEMENTS" ref="gc153abad46f4eb80999a2b340d29d1f0" args="(array)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define _DBUS_N_ELEMENTS          </td>
          <td>(</td>
          <td class="paramtype">array&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((int) (sizeof ((array)) / sizeof ((array)[0])))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Computes the number of elements in a fixed-size array using sizeof(). 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>array</em>&nbsp;</td><td>the array to count elements in. </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-internals_8h-source.html#l00154">154</a> of file <a class="el" href="dbus-internals_8h-source.html">dbus-internals.h</a>.
<p>
Referenced by <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02754">_dbus_get_autolaunch_address()</a>, <a class="el" href="dbus-hash_8c-source.html#l00292">_dbus_hash_table_new()</a>, <a class="el" href="dbus-transport_8c-source.html#l00350">_dbus_transport_open()</a>, and <a class="el" href="dbus-server_8c-source.html#l00540">dbus_server_listen()</a>.
</div>
</div><p>
<a class="anchor" name="gbbd3526a2ecd65da80b9f74ac286273d"></a><!-- doxytag: member="dbus-internals.h::_DBUS_POINTER_TO_INT" ref="gbbd3526a2ecd65da80b9f74ac286273d" args="(pointer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define _DBUS_POINTER_TO_INT          </td>
          <td>(</td>
          <td class="paramtype">pointer&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((long)(pointer))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Safely casts a void* to an integer; should only be used on void* that actually contain integers, for example one created with _DBUS_INT_TO_POINTER. 
<p>
Only guaranteed to preserve 32 bits. (i.e. it's used to store 32-bit ints in pointers, but can't be used to store 64-bit pointers in ints.)<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pointer</em>&nbsp;</td><td>pointer to extract an integer from. </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-internals_8h-source.html#l00156">156</a> of file <a class="el" href="dbus-internals_8h-source.html">dbus-internals.h</a>.
<p>
Referenced by <a class="el" href="dbus-hash_8c-source.html#l00672">_dbus_hash_iter_get_int_key()</a>, and <a class="el" href="dbus-marshal-validate_8c-source.html#l00050">_dbus_validate_signature_with_reason()</a>.
</div>
</div><p>
<a class="anchor" name="gec42589166158b1385d5f5439318cda2"></a><!-- doxytag: member="dbus-internals.h::_DBUS_ZERO" ref="gec42589166158b1385d5f5439318cda2" args="(object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define _DBUS_ZERO          </td>
          <td>(</td>
          <td class="paramtype">object&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;(memset (&amp;(object), '\0', sizeof ((object))))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets all bits in an object to zero. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>the object to be zeroed. </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-internals_8h-source.html#l00159">159</a> of file <a class="el" href="dbus-internals_8h-source.html">dbus-internals.h</a>.
<p>
Referenced by <a class="el" href="dbus-sysdeps-unix_8c-source.html#l00746">_dbus_connect_tcp_socket()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l00473">_dbus_connect_unix_socket()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l00854">_dbus_listen_tcp_socket()</a>, and <a class="el" href="dbus-sysdeps-unix_8c-source.html#l00609">_dbus_listen_unix_socket()</a>.
</div>
</div><p>
<hr><h2>Enumeration Type Documentation</h2>
<a class="anchor" name="ga1d634db87605c2a83f2750ce6052653"></a><!-- doxytag: member="dbus-spawn.c::ReadStatus" ref="ga1d634db87605c2a83f2750ce6052653" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__DBusInternalsUtils.html#ga1d634db87605c2a83f2750ce6052653">ReadStatus</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Enumeration for status of a read(). 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="gga1d634db87605c2a83f2750ce6052653105d3aa9ec19f4c060b39c7fafba39ff"></a><!-- doxytag: member="READ_STATUS_OK" ref="gga1d634db87605c2a83f2750ce6052653105d3aa9ec19f4c060b39c7fafba39ff" args="" -->READ_STATUS_OK</em>&nbsp;</td><td>
Read succeeded. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gga1d634db87605c2a83f2750ce6052653d13164fb31fb0b5bc1ec802d09d10411"></a><!-- doxytag: member="READ_STATUS_ERROR" ref="gga1d634db87605c2a83f2750ce6052653d13164fb31fb0b5bc1ec802d09d10411" args="" -->READ_STATUS_ERROR</em>&nbsp;</td><td>
Some kind of error. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gga1d634db87605c2a83f2750ce60526537d65492f3f0d09176ac4504987457d23"></a><!-- doxytag: member="READ_STATUS_EOF" ref="gga1d634db87605c2a83f2750ce60526537d65492f3f0d09176ac4504987457d23" args="" -->READ_STATUS_EOF</em>&nbsp;</td><td>
EOF returned. </td></tr>
</table>
</dl>

<p>
Definition at line <a class="el" href="dbus-spawn_8c-source.html#l00052">52</a> of file <a class="el" href="dbus-spawn_8c-source.html">dbus-spawn.c</a>.
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g1b17eec3f7915c21251685e16123f299"></a><!-- doxytag: member="dbus-spawn.c::_dbus_babysitter_get_child_exit_status" ref="g1b17eec3f7915c21251685e16123f299" args="(DBusBabysitter *sitter, int *status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_babysitter_get_child_exit_status           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusBabysitter.html">DBusBabysitter</a> *&nbsp;</td>
          <td class="paramname"> <em>sitter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>status</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the exit status of the child. 
<p>
We do this so implementation specific detail is not cluttering up dbus, for example the system launcher code. This can only be called if the child has exited, i.e. call <a class="el" href="group__DBusInternalsUtils.html#g5c463ea356ea62055a35211e8d81f8b9">_dbus_babysitter_get_child_exited()</a>. It returns FALSE if the child did not return a status code, e.g. because the child was signaled or we failed to ever launch the child in the first place.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sitter</em>&nbsp;</td><td>the babysitter </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>the returned status code </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> on failure </dd></dl>

<p>
Definition at line <a class="el" href="dbus-spawn_8c-source.html#l00639">639</a> of file <a class="el" href="dbus-spawn_8c-source.html">dbus-spawn.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00121">_dbus_assert_not_reached</a>, <a class="el" href="dbus-spawn_8c-source.html#l00614">_dbus_babysitter_get_child_exited()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
</div>
</div><p>
<a class="anchor" name="g5c463ea356ea62055a35211e8d81f8b9"></a><!-- doxytag: member="dbus-spawn.c::_dbus_babysitter_get_child_exited" ref="g5c463ea356ea62055a35211e8d81f8b9" args="(DBusBabysitter *sitter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_babysitter_get_child_exited           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusBabysitter.html">DBusBabysitter</a> *&nbsp;</td>
          <td class="paramname"> <em>sitter</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Checks whether the child has exited, without blocking. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sitter</em>&nbsp;</td><td>the babysitter </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-spawn_8c-source.html#l00614">614</a> of file <a class="el" href="dbus-spawn_8c-source.html">dbus-spawn.c</a>.
<p>
References <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="dbus-spawn_8c-source.html#l00583">LIVE_CHILDREN</a>.
<p>
Referenced by <a class="el" href="dbus-spawn_8c-source.html#l00639">_dbus_babysitter_get_child_exit_status()</a>, and <a class="el" href="dbus-spawn_8c-source.html#l00663">_dbus_babysitter_set_child_exit_error()</a>.
</div>
</div><p>
<a class="anchor" name="gcdc9c49735d6ce8364647c1961aa8d2b"></a><!-- doxytag: member="dbus-spawn.c::_dbus_babysitter_kill_child" ref="gcdc9c49735d6ce8364647c1961aa8d2b" args="(DBusBabysitter *sitter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _dbus_babysitter_kill_child           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusBabysitter.html">DBusBabysitter</a> *&nbsp;</td>
          <td class="paramname"> <em>sitter</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Blocks until the babysitter process gives us the PID of the spawned grandchild, then kills the spawned grandchild. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sitter</em>&nbsp;</td><td>the babysitter object </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-spawn_8c-source.html#l00592">592</a> of file <a class="el" href="dbus-spawn_8c-source.html">dbus-spawn.c</a>.
<p>
References <a class="el" href="dbus-spawn_8c-source.html#l00583">LIVE_CHILDREN</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
</div>
</div><p>
<a class="anchor" name="g525b5fdb780ddf6891918466965e6eb6"></a><!-- doxytag: member="dbus-spawn.c::_dbus_babysitter_ref" ref="g525b5fdb780ddf6891918466965e6eb6" args="(DBusBabysitter *sitter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structDBusBabysitter.html">DBusBabysitter</a>* _dbus_babysitter_ref           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusBabysitter.html">DBusBabysitter</a> *&nbsp;</td>
          <td class="paramname"> <em>sitter</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Increment the reference count on the babysitter object. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sitter</em>&nbsp;</td><td>the babysitter </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>the babysitter </dd></dl>

<p>
Definition at line <a class="el" href="dbus-spawn_8c-source.html#l00245">245</a> of file <a class="el" href="dbus-spawn_8c-source.html">dbus-spawn.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="dbus-spawn_8c-source.html#l00188">DBusBabysitter::refcount</a>.
</div>
</div><p>
<a class="anchor" name="g9c6f92a67e41f08d8eb254e294fd0378"></a><!-- doxytag: member="dbus-spawn.c::_dbus_babysitter_set_child_exit_error" ref="g9c6f92a67e41f08d8eb254e294fd0378" args="(DBusBabysitter *sitter, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _dbus_babysitter_set_child_exit_error           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusBabysitter.html">DBusBabysitter</a> *&nbsp;</td>
          <td class="paramname"> <em>sitter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> *&nbsp;</td>
          <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the <a class="el" href="structDBusError.html">DBusError</a> with an explanation of why the spawned child process exited (on a signal, or whatever). 
<p>
If the child process has not exited, does nothing (error will remain unset).<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sitter</em>&nbsp;</td><td>the babysitter </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>an error to fill in </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-spawn_8c-source.html#l00663">663</a> of file <a class="el" href="dbus-spawn_8c-source.html">dbus-spawn.c</a>.
<p>
References <a class="el" href="dbus-spawn_8c-source.html#l00614">_dbus_babysitter_get_child_exited()</a>, <a class="el" href="dbus-protocol_8h-source.html#l00330">DBUS_ERROR_FAILED</a>, <a class="el" href="dbus-protocol_8h-source.html#l00332">DBUS_ERROR_NO_MEMORY</a>, <a class="el" href="dbus-protocol_8h-source.html#l00387">DBUS_ERROR_SPAWN_CHILD_EXITED</a>, <a class="el" href="dbus-protocol_8h-source.html#l00389">DBUS_ERROR_SPAWN_CHILD_SIGNALED</a>, <a class="el" href="dbus-protocol_8h-source.html#l00383">DBUS_ERROR_SPAWN_EXEC_FAILED</a>, and <a class="el" href="dbus-errors_8c-source.html#l00326">dbus_set_error()</a>.
</div>
</div><p>
<a class="anchor" name="g5f467b14f0c2f667e46c4ba786808e5b"></a><!-- doxytag: member="dbus-spawn.c::_dbus_babysitter_set_watch_functions" ref="g5f467b14f0c2f667e46c4ba786808e5b" args="(DBusBabysitter *sitter, DBusAddWatchFunction add_function, DBusRemoveWatchFunction remove_function, DBusWatchToggledFunction toggled_function, void *data, DBusFreeFunction free_data_function)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_babysitter_set_watch_functions           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusBabysitter.html">DBusBabysitter</a> *&nbsp;</td>
          <td class="paramname"> <em>sitter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusConnection.html#g985b712fc165afa66e5901859b68b9de">DBusAddWatchFunction</a>&nbsp;</td>
          <td class="paramname"> <em>add_function</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusConnection.html#g6a48c42c4bde24911cae7fda0d1f1589">DBusRemoveWatchFunction</a>&nbsp;</td>
          <td class="paramname"> <em>remove_function</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusConnection.html#gfa7e0f7856f8ebbe66475979ef54ed9e">DBusWatchToggledFunction</a>&nbsp;</td>
          <td class="paramname"> <em>toggled_function</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusMemory.html#g8792ec2b2b8626ca28022faf51ec415a">DBusFreeFunction</a>&nbsp;</td>
          <td class="paramname"> <em>free_data_function</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets watch functions to notify us when the babysitter object needs to read/write file descriptors. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sitter</em>&nbsp;</td><td>the babysitter </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>add_function</em>&nbsp;</td><td>function to begin monitoring a new descriptor. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>remove_function</em>&nbsp;</td><td>function to stop monitoring a descriptor. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>toggled_function</em>&nbsp;</td><td>function to notify when the watch is enabled/disabled </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>data to pass to add_function and remove_function. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>free_data_function</em>&nbsp;</td><td>function to be called to free the data. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> on failure (no memory) </dd></dl>

<p>
Definition at line <a class="el" href="dbus-spawn_8c-source.html#l00721">721</a> of file <a class="el" href="dbus-spawn_8c-source.html">dbus-spawn.c</a>.
<p>
References <a class="el" href="dbus-watch_8c-source.html#l00253">_dbus_watch_list_set_functions()</a>, and <a class="el" href="dbus-spawn_8c-source.html#l00198">DBusBabysitter::watches</a>.
</div>
</div><p>
<a class="anchor" name="g3205e9f8672271794aeb9d451e2fcc4a"></a><!-- doxytag: member="dbus-spawn.c::_dbus_babysitter_unref" ref="g3205e9f8672271794aeb9d451e2fcc4a" args="(DBusBabysitter *sitter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _dbus_babysitter_unref           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusBabysitter.html">DBusBabysitter</a> *&nbsp;</td>
          <td class="paramname"> <em>sitter</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Decrement the reference count on the babysitter object. 
<p>
When the reference count of the babysitter object reaches zero, the babysitter is killed and the child that was being babysat gets emancipated.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sitter</em>&nbsp;</td><td>the babysitter </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-spawn_8c-source.html#l00264">264</a> of file <a class="el" href="dbus-spawn_8c-source.html">dbus-spawn.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l00133">_dbus_close_socket()</a>, <a class="el" href="dbus-internals_8c-source.html#l00238">_dbus_warn()</a>, <a class="el" href="dbus-watch_8c-source.html#l00145">_dbus_watch_invalidate()</a>, <a class="el" href="dbus-watch_8c-source.html#l00225">_dbus_watch_list_free()</a>, <a class="el" href="dbus-watch_8c-source.html#l00117">_dbus_watch_unref()</a>, <a class="el" href="dbus-memory_8c-source.html#l00617">dbus_free()</a>, <a class="el" href="dbus-spawn_8c-source.html#l00193">DBusBabysitter::error_pipe_from_child</a>, <a class="el" href="dbus-spawn_8c-source.html#l00200">DBusBabysitter::error_watch</a>, <a class="el" href="dbus-spawn_8c-source.html#l00190">DBusBabysitter::executable</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="dbus-spawn_8c-source.html#l00188">DBusBabysitter::refcount</a>, <a class="el" href="dbus-spawn_8c-source.html#l00195">DBusBabysitter::sitter_pid</a>, <a class="el" href="dbus-spawn_8c-source.html#l00201">DBusBabysitter::sitter_watch</a>, <a class="el" href="dbus-spawn_8c-source.html#l00192">DBusBabysitter::socket_to_babysitter</a>, <a class="el" href="dbus-spawn_8c-source.html#l00204">DBusBabysitter::status</a>, and <a class="el" href="dbus-spawn_8c-source.html#l00198">DBusBabysitter::watches</a>.
<p>
Referenced by <a class="el" href="dbus-spawn_8c-source.html#l01061">_dbus_spawn_async_with_babysitter()</a>.
</div>
</div><p>
<a class="anchor" name="g4d4f9b1d4e78ba017ada75a6982ac173"></a><!-- doxytag: member="dbus-sysdeps-util-unix.c::_dbus_become_daemon" ref="g4d4f9b1d4e78ba017ada75a6982ac173" args="(const DBusString *pidfile, DBusPipe *print_pid_pipe, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_become_daemon           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>pidfile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusPipe.html">DBusPipe</a> *&nbsp;</td>
          <td class="paramname"> <em>print_pid_pipe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> *&nbsp;</td>
          <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Does the chdir, fork, setsid, etc. 
<p>
to become a daemon process.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pidfile</em>&nbsp;</td><td><a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, or pidfile to create </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>print_pid_pipe</em>&nbsp;</td><td>pipe to print daemon's pid to, or -1 for none </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>return location for errors </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> on failure </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00074">74</a> of file <a class="el" href="dbus-sysdeps-util-unix_8c-source.html">dbus-sysdeps-util-unix.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00121">_dbus_assert_not_reached</a>, <a class="el" href="dbus-sysdeps_8c-source.html#l00899">_dbus_error_from_errno()</a>, <a class="el" href="dbus-sysdeps_8c-source.html#l00175">_dbus_getenv()</a>, <a class="el" href="dbus-sysdeps_8c-source.html#l00223">_dbus_pipe_is_valid()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l00186">_dbus_pipe_write()</a>, <a class="el" href="dbus-string_8c-source.html#l00987">_dbus_string_append()</a>, <a class="el" href="dbus-sysdeps_8c-source.html#l00387">_dbus_string_append_int()</a>, <a class="el" href="dbus-string_8c-source.html#l00262">_dbus_string_free()</a>, <a class="el" href="dbus-string_8c-source.html#l00175">_dbus_string_init()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00202">_dbus_write_pid_file()</a>, <a class="el" href="dbus-protocol_8h-source.html#l00330">DBUS_ERROR_FAILED</a>, <a class="el" href="dbus-errors_8c-source.html#l00301">dbus_error_is_set()</a>, <a class="el" href="dbus-errors_8c-source.html#l00326">dbus_set_error()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
</div>
</div><p>
<a class="anchor" name="g82c920a8c3b5958ba1ecf8e5f5d6373b"></a><!-- doxytag: member="dbus-sysdeps-util-unix.c::_dbus_change_to_daemon_user" ref="g82c920a8c3b5958ba1ecf8e5f5d6373b" args="(const char *user, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_change_to_daemon_user           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>user</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> *&nbsp;</td>
          <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Changes the user and group the bus is running as. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>user</em>&nbsp;</td><td>the user to become </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>return location for errors </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> on failure </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00275">275</a> of file <a class="el" href="dbus-sysdeps-util-unix_8c-source.html">dbus-sysdeps-util-unix.c</a>.
<p>
References <a class="el" href="dbus-sysdeps_8c-source.html#l00899">_dbus_error_from_errno()</a>, <a class="el" href="dbus-userdb-util_8c-source.html#l00164">_dbus_get_user_id_and_primary_group()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l01684">_dbus_getuid()</a>, <a class="el" href="dbus-string_8c-source.html#l00209">_dbus_string_init_const()</a>, <a class="el" href="dbus-internals_8c-source.html#l00238">_dbus_warn()</a>, <a class="el" href="dbus-protocol_8h-source.html#l00330">DBUS_ERROR_FAILED</a>, <a class="el" href="dbus-errors_8c-source.html#l00326">dbus_set_error()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
</div>
</div><p>
<a class="anchor" name="gcecdbb00a3c8b63e821edae537ae3c7b"></a><!-- doxytag: member="dbus-userdb.c::_dbus_credentials_add_from_user" ref="gcecdbb00a3c8b63e821edae537ae3c7b" args="(DBusCredentials *credentials, const DBusString *username)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_credentials_add_from_user           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusCredentials.html">DBusCredentials</a> *&nbsp;</td>
          <td class="paramname"> <em>credentials</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>username</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Adds the credentials corresponding to the given username. 
<p>
Used among other purposes to parses a desired identity provided from a client in the auth protocol. On UNIX this means parsing a UID, on Windows probably parsing an SID string.<p>
<dl compact><dt><b><a class="el" href="todo.html#_todo000068">Todo:</a></b></dt><dd>this is broken because it treats OOM and parse error the same way. Needs a <a class="el" href="structDBusError.html">DBusError</a>.</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>credentials</em>&nbsp;</td><td>credentials to fill in </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>username</em>&nbsp;</td><td>the username </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if the username existed and we got some credentials </dd></dl>

<p>
Definition at line <a class="el" href="dbus-userdb_8c-source.html#l00492">492</a> of file <a class="el" href="dbus-userdb_8c-source.html">dbus-userdb.c</a>.
<p>
References <a class="el" href="dbus-credentials_8c-source.html#l00159">_dbus_credentials_add_unix_uid()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00333">_dbus_user_database_get_system()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00656">_dbus_user_database_get_username()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00310">_dbus_user_database_lock_system()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00320">_dbus_user_database_unlock_system()</a>, <a class="el" href="dbus-transport-protected_8h-source.html#l00092">DBusTransport::credentials</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>, and <a class="el" href="dbus-sysdeps-unix_8h-source.html#l00090">DBusUserInfo::uid</a>.
</div>
</div><p>
<a class="anchor" name="g3bc1512aef42cea17a2aaacc7d8e7211"></a><!-- doxytag: member="dbus-sysdeps-util-unix.c::_dbus_delete_directory" ref="g3bc1512aef42cea17a2aaacc7d8e7211" args="(const DBusString *filename, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_delete_directory           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> *&nbsp;</td>
          <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Removes a directory; Directory must be empty. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>directory filename </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>initialized error object </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> on success </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00444">444</a> of file <a class="el" href="dbus-sysdeps-util-unix_8c-source.html">dbus-sysdeps-util-unix.c</a>.
<p>
References <a class="el" href="dbus-protocol_8h-source.html#l00330">DBUS_ERROR_FAILED</a>, <a class="el" href="dbus-errors_8c-source.html#l00326">dbus_set_error()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
</div>
</div><p>
<a class="anchor" name="gb9a2ddb130da035d6186f2d96bf37cb4"></a><!-- doxytag: member="dbus-sysdeps-util-unix.c::_dbus_directory_get_next_file" ref="gb9a2ddb130da035d6186f2d96bf37cb4" args="(DBusDirIter *iter, DBusString *filename, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_directory_get_next_file           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusDirIter.html">DBusDirIter</a> *&nbsp;</td>
          <td class="paramname"> <em>iter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> *&nbsp;</td>
          <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get next file in the directory. 
<p>
Will not return "." or ".." on UNIX. If an error occurs, the contents of "filename" are undefined. The error is never set if the function succeeds.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>iter</em>&nbsp;</td><td>the iterator </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>string to be set to the next file in the dir </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>return location for error </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if filename was filled in with a new filename </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00678">678</a> of file <a class="el" href="dbus-sysdeps-util-unix_8c-source.html">dbus-sysdeps-util-unix.c</a>.
<p>
References <a class="el" href="dbus-sysdeps_8c-source.html#l00899">_dbus_error_from_errno()</a>, <a class="el" href="dbus-string_8c-source.html#l00987">_dbus_string_append()</a>, <a class="el" href="dbus-string_8c-source.html#l00854">_dbus_string_set_length()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00578">DBusDirIter::d</a>, <a class="el" href="dbus-protocol_8h-source.html#l00330">DBUS_ERROR_FAILED</a>, <a class="el" href="dbus-protocol_8h-source.html#l00332">DBUS_ERROR_NO_MEMORY</a>, <a class="el" href="dbus-memory_8c-source.html#l00617">dbus_free()</a>, <a class="el" href="dbus-memory_8c-source.html#l00440">dbus_malloc()</a>, <a class="el" href="dbus-errors_8c-source.html#l00326">dbus_set_error()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
</div>
</div><p>
<a class="anchor" name="gaf6eb8179fb6ea2175ed9742a0c8be68"></a><!-- doxytag: member="dbus-sysdeps-util-unix.c::_dbus_directory_open" ref="gaf6eb8179fb6ea2175ed9742a0c8be68" args="(const DBusString *filename, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structDBusDirIter.html">DBusDirIter</a>* _dbus_directory_open           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> *&nbsp;</td>
          <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Open a directory to iterate over. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>the directory name </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>exception return object or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>new iterator, or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> on error </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00590">590</a> of file <a class="el" href="dbus-sysdeps-util-unix_8c-source.html">dbus-sysdeps-util-unix.c</a>.
<p>
References <a class="el" href="dbus-sysdeps_8c-source.html#l00899">_dbus_error_from_errno()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00578">DBusDirIter::d</a>, <a class="el" href="dbus-protocol_8h-source.html#l00332">DBUS_ERROR_NO_MEMORY</a>, <a class="el" href="dbus-memory_8h-source.html#l00047">dbus_new0</a>, <a class="el" href="dbus-errors_8c-source.html#l00326">dbus_set_error()</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
</div>
</div><p>
<a class="anchor" name="g53bbcbbd0b564c14c599813dde535443"></a><!-- doxytag: member="dbus-internals.c::_dbus_dup_string_array" ref="g53bbcbbd0b564c14c599813dde535443" args="(const char **array)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char** _dbus_dup_string_array           </td>
          <td>(</td>
          <td class="paramtype">const char **&nbsp;</td>
          <td class="paramname"> <em>array</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Duplicates a string array. 
<p>
Result may be freed with <a class="el" href="group__DBusMemory.html#g6d4674de64d806d238ffd309a486754e">dbus_free_string_array()</a>. Returns <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> if memory allocation fails. If the array to be duplicated is <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, returns <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>array</em>&nbsp;</td><td>array to duplicate. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>newly-allocated copy. </dd></dl>

<p>
Definition at line <a class="el" href="dbus-internals_8c-source.html#l00447">447</a> of file <a class="el" href="dbus-internals_8c-source.html">dbus-internals.c</a>.
<p>
References <a class="el" href="dbus-internals_8c-source.html#l00396">_dbus_strdup()</a>, <a class="el" href="dbus-memory_8c-source.html#l00655">dbus_free_string_array()</a>, <a class="el" href="dbus-memory_8h-source.html#l00047">dbus_new0</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-auth_8c-source.html#l02293">_dbus_auth_set_mechanisms()</a>, and <a class="el" href="dbus-server_8c-source.html#l01003">dbus_server_set_auth_mechanisms()</a>.
</div>
</div><p>
<a class="anchor" name="g2212aa0e5732257598a6597748c658e4"></a><!-- doxytag: member="dbus-sysdeps.c::_dbus_error_from_errno" ref="g2212aa0e5732257598a6597748c658e4" args="(int error_number)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* _dbus_error_from_errno           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>error_number</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Converts a UNIX or Windows errno into a <a class="el" href="structDBusError.html">DBusError</a> name. 
<p>
<dl compact><dt><b><a class="el" href="todo.html#_todo000062">Todo:</a></b></dt><dd>should cover more errnos, specifically those from open().</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>error_number</em>&nbsp;</td><td>the errno. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>an error name </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps_8c-source.html#l00899">899</a> of file <a class="el" href="dbus-sysdeps_8c-source.html">dbus-sysdeps.c</a>.
<p>
References <a class="el" href="dbus-protocol_8h-source.html#l00348">DBUS_ERROR_ACCESS_DENIED</a>, <a class="el" href="dbus-protocol_8h-source.html#l00362">DBUS_ERROR_ADDRESS_IN_USE</a>, <a class="el" href="dbus-protocol_8h-source.html#l00330">DBUS_ERROR_FAILED</a>, <a class="el" href="dbus-protocol_8h-source.html#l00370">DBUS_ERROR_FILE_EXISTS</a>, <a class="el" href="dbus-protocol_8h-source.html#l00368">DBUS_ERROR_FILE_NOT_FOUND</a>, <a class="el" href="dbus-protocol_8h-source.html#l00346">DBUS_ERROR_LIMITS_EXCEEDED</a>, <a class="el" href="dbus-protocol_8h-source.html#l00332">DBUS_ERROR_NO_MEMORY</a>, <a class="el" href="dbus-protocol_8h-source.html#l00360">DBUS_ERROR_NO_NETWORK</a>, <a class="el" href="dbus-protocol_8h-source.html#l00352">DBUS_ERROR_NO_SERVER</a>, <a class="el" href="dbus-protocol_8h-source.html#l00344">DBUS_ERROR_NOT_SUPPORTED</a>, and <a class="el" href="dbus-protocol_8h-source.html#l00358">DBUS_ERROR_TIMEOUT</a>.
<p>
Referenced by <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00074">_dbus_become_daemon()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00275">_dbus_change_to_daemon_user()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l01365">_dbus_check_dir_is_private_to_user()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02531">_dbus_close()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l00746">_dbus_connect_tcp_socket()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l00473">_dbus_connect_unix_socket()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00678">_dbus_directory_get_next_file()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00590">_dbus_directory_open()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l01949">_dbus_file_get_contents()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02641">_dbus_full_duplex_pipe()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02754">_dbus_get_autolaunch_address()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l00854">_dbus_listen_tcp_socket()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l00609">_dbus_listen_unix_socket()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l01112">_dbus_read_credentials_socket()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00542">_dbus_stat()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02057">_dbus_string_save_to_file()</a>, and <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00202">_dbus_write_pid_file()</a>.
</div>
</div><p>
<a class="anchor" name="g13a527e32c05b63e8b32a63d728e20e8"></a><!-- doxytag: member="dbus-sysdeps-util-unix.c::_dbus_file_exists" ref="g13a527e32c05b63e8b32a63d728e20e8" args="(const char *file)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_file_exists           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>file</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
File/directory interface. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>full path to the file </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if file exists </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00470">470</a> of file <a class="el" href="dbus-sysdeps-util-unix_8c-source.html">dbus-sysdeps-util-unix.c</a>.
<p>
Referenced by <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00482">_dbus_user_at_console()</a>.
</div>
</div><p>
<a class="anchor" name="g709ce349c6ee05263850444fb4e0177d"></a><!-- doxytag: member="dbus-sysdeps.c::_dbus_generate_random_ascii" ref="g709ce349c6ee05263850444fb4e0177d" args="(DBusString *str, int n_bytes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_generate_random_ascii           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n_bytes</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Generates the given number of random bytes, where the bytes are chosen from the alphanumeric ASCII subset. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>the string </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>n_bytes</em>&nbsp;</td><td>the number of random ASCII bytes to append to string </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> on success, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> if no memory or other failure </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps_8c-source.html#l00860">860</a> of file <a class="el" href="dbus-sysdeps_8c-source.html">dbus-sysdeps.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02424">_dbus_generate_random_bytes()</a>, <a class="el" href="dbus-string_8c-source.html#l02633">_dbus_string_validate_ascii()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
<p>
Referenced by <a class="el" href="dbus-server-unix_8c-source.html#l00052">_dbus_server_listen_platform_specific()</a>, and <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02057">_dbus_string_save_to_file()</a>.
</div>
</div><p>
<a class="anchor" name="ga32f87746e9264b2425736043d02fad4"></a><!-- doxytag: member="dbus-sysdeps.c::_dbus_generate_random_bytes_buffer" ref="ga32f87746e9264b2425736043d02fad4" args="(char *buffer, int n_bytes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _dbus_generate_random_bytes_buffer           </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n_bytes</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Fills n_bytes of the given buffer with random bytes. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>an allocated buffer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>n_bytes</em>&nbsp;</td><td>the number of bytes in buffer to write to </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps_8c-source.html#l00828">828</a> of file <a class="el" href="dbus-sysdeps_8c-source.html">dbus-sysdeps.c</a>.
<p>
References <a class="el" href="dbus-sysdeps_8c-source.html#l00793">_dbus_generate_pseudorandom_bytes_buffer()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02424">_dbus_generate_random_bytes()</a>, <a class="el" href="dbus-string_8c-source.html#l00721">_dbus_string_copy_to_buffer()</a>, <a class="el" href="dbus-string_8c-source.html#l00262">_dbus_string_free()</a>, and <a class="el" href="dbus-string_8c-source.html#l00175">_dbus_string_init()</a>.
<p>
Referenced by <a class="el" href="dbus-internals_8c-source.html#l00510">_dbus_generate_uuid()</a>.
</div>
</div><p>
<a class="anchor" name="g08c2922335845e5c857e88399436b9ba"></a><!-- doxytag: member="dbus-internals.c::_dbus_generate_uuid" ref="g08c2922335845e5c857e88399436b9ba" args="(DBusGUID *uuid)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _dbus_generate_uuid           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="unionDBusGUID.html">DBusGUID</a> *&nbsp;</td>
          <td class="paramname"> <em>uuid</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Generates a new UUID. 
<p>
If you change how this is done, there's some text about it in the spec that should also change.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>uuid</em>&nbsp;</td><td>the uuid to initialize </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-internals_8c-source.html#l00510">510</a> of file <a class="el" href="dbus-internals_8c-source.html">dbus-internals.c</a>.
<p>
References <a class="el" href="dbus-sysdeps_8c-source.html#l00828">_dbus_generate_random_bytes_buffer()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l01925">_dbus_get_current_time()</a>, <a class="el" href="dbus-internals_8h-source.html#l00331">DBusGUID::as_bytes</a>, <a class="el" href="dbus-internals_8h-source.html#l00330">DBusGUID::as_uint32s</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-internals_8c-source.html#l00715">_dbus_get_local_machine_uuid_encoded()</a>, <a class="el" href="dbus-server_8c-source.html#l00096">_dbus_server_init_base()</a>, and <a class="el" href="dbus-uuidgen_8c-source.html#l00115">dbus_internal_do_not_use_create_uuid()</a>.
</div>
</div><p>
<a class="anchor" name="g90657adefa9bbac9b35eee63dd46a854"></a><!-- doxytag: member="dbus-userdb-util.c::_dbus_get_group_id" ref="g90657adefa9bbac9b35eee63dd46a854" args="(const DBusString *groupname, dbus_gid_t *gid)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_get_group_id           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>groupname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusSysdeps.html#g2f5c2e418b81ec2a86594f56ec6d7627">dbus_gid_t</a> *&nbsp;</td>
          <td class="paramname"> <em>gid</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets group ID given groupname. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>groupname</em>&nbsp;</td><td>the groupname </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>gid</em>&nbsp;</td><td>return location for GID </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if group name existed and we got the GID </dd></dl>

<p>
Definition at line <a class="el" href="dbus-userdb-util_8c-source.html#l00128">128</a> of file <a class="el" href="dbus-userdb-util_8c-source.html">dbus-userdb-util.c</a>.
<p>
References <a class="el" href="dbus-userdb-util_8c-source.html#l00313">_dbus_user_database_get_groupname()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00333">_dbus_user_database_get_system()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00310">_dbus_user_database_lock_system()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00320">_dbus_user_database_unlock_system()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="dbus-sysdeps-unix_8h-source.html#l00103">DBusGroupInfo::gid</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
<p>
Referenced by <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00904">_dbus_parse_unix_group_from_config()</a>.
</div>
</div><p>
<a class="anchor" name="g08e67a10b197995c101c89f248c24105"></a><!-- doxytag: member="dbus-sysdeps.c::_dbus_get_is_errno_eintr" ref="g08e67a10b197995c101c89f248c24105" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_get_is_errno_eintr           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
See if errno is EINTR. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if errno == EINTR </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps_8c-source.html#l01021">1021</a> of file <a class="el" href="dbus-sysdeps_8c-source.html">dbus-sysdeps.c</a>.
</div>
</div><p>
<a class="anchor" name="gec2ce24907adaedd1bf88bb28d82c96d"></a><!-- doxytag: member="dbus-sysdeps.c::_dbus_get_is_errno_enomem" ref="gec2ce24907adaedd1bf88bb28d82c96d" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_get_is_errno_enomem           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
See if errno is ENOMEM. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if errno == ENOMEM </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps_8c-source.html#l01011">1011</a> of file <a class="el" href="dbus-sysdeps_8c-source.html">dbus-sysdeps.c</a>.
</div>
</div><p>
<a class="anchor" name="gb9ccdfee5c7986ff236a6cde66a9af2f"></a><!-- doxytag: member="dbus-sysdeps.c::_dbus_get_is_errno_nonzero" ref="gb9ccdfee5c7986ff236a6cde66a9af2f" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_get_is_errno_nonzero           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
See if errno is set. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if errno is not 0 </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps_8c-source.html#l01001">1001</a> of file <a class="el" href="dbus-sysdeps_8c-source.html">dbus-sysdeps.c</a>.
</div>
</div><p>
<a class="anchor" name="g49ba67405d677af6cde9329ed87ea91f"></a><!-- doxytag: member="dbus-internals.c::_dbus_get_local_machine_uuid_encoded" ref="g49ba67405d677af6cde9329ed87ea91f" args="(DBusString *uuid_str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_get_local_machine_uuid_encoded           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>uuid_str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the hex-encoded UUID of the machine this function is executed on. 
<p>
This UUID is guaranteed to be the same for a given machine at least until it next reboots, though it also makes some effort to be the same forever, it may change if the machine is reconfigured or its hardware is modified.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>uuid_str</em>&nbsp;</td><td>string to append hex-encoded machine uuid to </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> if no memory </dd></dl>

<p>
Definition at line <a class="el" href="dbus-internals_8c-source.html#l00715">715</a> of file <a class="el" href="dbus-internals_8c-source.html">dbus-internals.c</a>.
<p>
References <a class="el" href="dbus-memory_8c-source.html#l00687">_dbus_current_generation</a>, <a class="el" href="dbus-internals_8c-source.html#l00510">_dbus_generate_uuid()</a>, <a class="el" href="dbus-internals_8h-source.html#l00287">_DBUS_LOCK</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02952">_dbus_read_local_machine_uuid()</a>, <a class="el" href="dbus-internals_8h-source.html#l00288">_DBUS_UNLOCK</a>, <a class="el" href="dbus-internals_8c-source.html#l00529">_dbus_uuid_encode()</a>, <a class="el" href="dbus-internals_8c-source.html#l00266">_dbus_warn_check_failed()</a>, <a class="el" href="dbus-errors_8c-source.html#l00183">dbus_error_free()</a>, <a class="el" href="dbus-errors_8c-source.html#l00160">dbus_error_init()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="dbus-errors_8h-source.html#l00050">DBusError::message</a>.
<p>
Referenced by <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02754">_dbus_get_autolaunch_address()</a>, and <a class="el" href="dbus-misc_8c-source.html#l00073">dbus_get_local_machine_id()</a>.
</div>
</div><p>
<a class="anchor" name="gf07ee24eddcb3b0f85fa54196bc44fe1"></a><!-- doxytag: member="dbus-userdb-util.c::_dbus_get_user_id" ref="gf07ee24eddcb3b0f85fa54196bc44fe1" args="(const DBusString *username, dbus_uid_t *uid)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_get_user_id           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>username</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusSysdeps.html#g186e987b700f9ddc6cea8aa0db82b151">dbus_uid_t</a> *&nbsp;</td>
          <td class="paramname"> <em>uid</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets user ID given username. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>username</em>&nbsp;</td><td>the username </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>uid</em>&nbsp;</td><td>return location for UID </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if username existed and we got the UID </dd></dl>

<p>
Definition at line <a class="el" href="dbus-userdb-util_8c-source.html#l00114">114</a> of file <a class="el" href="dbus-userdb-util_8c-source.html">dbus-userdb-util.c</a>.
<p>
References <a class="el" href="dbus-userdb-util_8c-source.html#l00164">_dbus_get_user_id_and_primary_group()</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00888">_dbus_parse_unix_user_from_config()</a>.
</div>
</div><p>
<a class="anchor" name="gc82f42ff83fabbde717cc08569265e6e"></a><!-- doxytag: member="dbus-userdb-util.c::_dbus_get_user_id_and_primary_group" ref="gc82f42ff83fabbde717cc08569265e6e" args="(const DBusString *username, dbus_uid_t *uid_p, dbus_gid_t *gid_p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_get_user_id_and_primary_group           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>username</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusSysdeps.html#g186e987b700f9ddc6cea8aa0db82b151">dbus_uid_t</a> *&nbsp;</td>
          <td class="paramname"> <em>uid_p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusSysdeps.html#g2f5c2e418b81ec2a86594f56ec6d7627">dbus_gid_t</a> *&nbsp;</td>
          <td class="paramname"> <em>gid_p</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets user ID and primary group given username. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>username</em>&nbsp;</td><td>the username </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>uid_p</em>&nbsp;</td><td>return location for UID </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>gid_p</em>&nbsp;</td><td>return location for GID </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if username existed and we got the UID and GID </dd></dl>

<p>
Definition at line <a class="el" href="dbus-userdb-util_8c-source.html#l00164">164</a> of file <a class="el" href="dbus-userdb-util_8c-source.html">dbus-userdb-util.c</a>.
<p>
References <a class="el" href="dbus-userdb_8c-source.html#l00333">_dbus_user_database_get_system()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00656">_dbus_user_database_get_username()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00310">_dbus_user_database_lock_system()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00320">_dbus_user_database_unlock_system()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="dbus-sysdeps-unix_8h-source.html#l00091">DBusUserInfo::primary_gid</a>, <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>, and <a class="el" href="dbus-sysdeps-unix_8h-source.html#l00090">DBusUserInfo::uid</a>.
<p>
Referenced by <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00275">_dbus_change_to_daemon_user()</a>, <a class="el" href="dbus-userdb-util_8c-source.html#l00114">_dbus_get_user_id()</a>, and <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00258">_dbus_verify_daemon_user()</a>.
</div>
</div><p>
<a class="anchor" name="g23814bdf1859c6aa52da1feab8f1aed4"></a><!-- doxytag: member="dbus-sysdeps-util-unix.c::_dbus_group_info_fill" ref="g23814bdf1859c6aa52da1feab8f1aed4" args="(DBusGroupInfo *info, const DBusString *groupname, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_group_info_fill           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusGroupInfo.html">DBusGroupInfo</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>groupname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> *&nbsp;</td>
          <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initializes the given <a class="el" href="structDBusGroupInfo.html">DBusGroupInfo</a> struct with information about the given group name. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>the group info struct </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>groupname</em>&nbsp;</td><td>name of group </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>the error return </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> if error is set </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00853">853</a> of file <a class="el" href="dbus-sysdeps-util-unix_8c-source.html">dbus-sysdeps-util-unix.c</a>.
<p>
References <a class="el" href="dbus-sysdeps_8h-source.html#l00108">DBUS_GID_UNSET</a>.
<p>
Referenced by <a class="el" href="dbus-userdb-util_8c-source.html#l00208">_dbus_user_database_lookup_group()</a>.
</div>
</div><p>
<a class="anchor" name="gd235e373b223982b7d3aba8a2b602b58"></a><!-- doxytag: member="dbus-sysdeps-util-unix.c::_dbus_group_info_fill_gid" ref="gd235e373b223982b7d3aba8a2b602b58" args="(DBusGroupInfo *info, dbus_gid_t gid, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_group_info_fill_gid           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusGroupInfo.html">DBusGroupInfo</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusSysdeps.html#g2f5c2e418b81ec2a86594f56ec6d7627">dbus_gid_t</a>&nbsp;</td>
          <td class="paramname"> <em>gid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> *&nbsp;</td>
          <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initializes the given <a class="el" href="structDBusGroupInfo.html">DBusGroupInfo</a> struct with information about the given group ID. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>the group info struct </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>gid</em>&nbsp;</td><td>group ID </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>the error return </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> if error is set </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00872">872</a> of file <a class="el" href="dbus-sysdeps-util-unix_8c-source.html">dbus-sysdeps-util-unix.c</a>.
<p>
References <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-userdb-util_8c-source.html#l00208">_dbus_user_database_lookup_group()</a>.
</div>
</div><p>
<a class="anchor" name="gc2d226476e6fff50bdfaace18b897fe9"></a><!-- doxytag: member="dbus-userdb.c::_dbus_group_info_free" ref="gc2d226476e6fff50bdfaace18b897fe9" args="(DBusGroupInfo *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _dbus_group_info_free           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusGroupInfo.html">DBusGroupInfo</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Frees the members of info (but not info itself). 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>the group info </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-userdb_8c-source.html#l00088">88</a> of file <a class="el" href="dbus-userdb_8c-source.html">dbus-userdb.c</a>.
<p>
References <a class="el" href="dbus-memory_8c-source.html#l00617">dbus_free()</a>, and <a class="el" href="dbus-sysdeps-unix_8h-source.html#l00104">DBusGroupInfo::groupname</a>.
<p>
Referenced by <a class="el" href="dbus-userdb_8c-source.html#l00060">_dbus_group_info_free_allocated()</a>.
</div>
</div><p>
<a class="anchor" name="gb9420d7a4a31329a00fd5709f8cf08ba"></a><!-- doxytag: member="dbus-userdb.c::_dbus_group_info_free_allocated" ref="gb9420d7a4a31329a00fd5709f8cf08ba" args="(DBusGroupInfo *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _dbus_group_info_free_allocated           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusGroupInfo.html">DBusGroupInfo</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Frees the given <a class="el" href="structDBusGroupInfo.html">DBusGroupInfo</a>'s members with <a class="el" href="group__DBusSysdepsUnix.html#gc2d226476e6fff50bdfaace18b897fe9">_dbus_group_info_free()</a> and also calls <a class="el" href="group__DBusMemory.html#g488c6b08cc8c1ddf0203243c4b27a13c">dbus_free()</a> on the block itself. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>the info </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-userdb_8c-source.html#l00060">60</a> of file <a class="el" href="dbus-userdb_8c-source.html">dbus-userdb.c</a>.
<p>
References <a class="el" href="dbus-userdb_8c-source.html#l00088">_dbus_group_info_free()</a>, <a class="el" href="dbus-memory_8c-source.html#l00617">dbus_free()</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-userdb-util_8c-source.html#l00208">_dbus_user_database_lookup_group()</a>, and <a class="el" href="dbus-userdb_8c-source.html#l00530">_dbus_user_database_new()</a>.
</div>
</div><p>
<a class="anchor" name="ge9408936869314101f8ea13dfa5ba968"></a><!-- doxytag: member="dbus-userdb-util.c::_dbus_groups_from_uid" ref="ge9408936869314101f8ea13dfa5ba968" args="(dbus_uid_t uid, dbus_gid_t **group_ids, int *n_group_ids)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_groups_from_uid           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__DBusSysdeps.html#g186e987b700f9ddc6cea8aa0db82b151">dbus_uid_t</a>&nbsp;</td>
          <td class="paramname"> <em>uid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusSysdeps.html#g2f5c2e418b81ec2a86594f56ec6d7627">dbus_gid_t</a> **&nbsp;</td>
          <td class="paramname"> <em>group_ids</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>n_group_ids</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets all groups corresponding to the given UID. 
<p>
Returns <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> if no memory, or user isn't known, but always initializes group_ids to a NULL array.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>uid</em>&nbsp;</td><td>the UID </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>group_ids</em>&nbsp;</td><td>return location for array of group IDs </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>n_group_ids</em>&nbsp;</td><td>return location for length of returned array </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if the UID existed and we got some credentials </dd></dl>

<p>
Definition at line <a class="el" href="dbus-userdb-util_8c-source.html#l00354">354</a> of file <a class="el" href="dbus-userdb-util_8c-source.html">dbus-userdb-util.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>, <a class="el" href="dbus-userdb_8c-source.html#l00333">_dbus_user_database_get_system()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00637">_dbus_user_database_get_uid()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00310">_dbus_user_database_lock_system()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00320">_dbus_user_database_unlock_system()</a>, <a class="el" href="dbus-memory_8h-source.html#l00046">dbus_new</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="dbus-sysdeps-unix_8h-source.html#l00092">DBusUserInfo::group_ids</a>, <a class="el" href="dbus-sysdeps-unix_8h-source.html#l00093">DBusUserInfo::n_group_ids</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>, and <a class="el" href="dbus-sysdeps-unix_8h-source.html#l00090">DBusUserInfo::uid</a>.
<p>
Referenced by <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00921">_dbus_unix_groups_from_uid()</a>.
</div>
</div><p>
<a class="anchor" name="g17ce3ab061a3ae2441cd33ece34f5e7a"></a><!-- doxytag: member="dbus-userdb.c::_dbus_homedir_from_current_process" ref="g17ce3ab061a3ae2441cd33ece34f5e7a" args="(const DBusString **homedir)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_homedir_from_current_process           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> **&nbsp;</td>
          <td class="paramname"> <em>homedir</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets homedir of user owning current process. 
<p>
The returned string is valid until <a class="el" href="group__DBusMemory.html#g8b177950791eebaefc7dc1e836c0964c">dbus_shutdown()</a> is called.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>homedir</em>&nbsp;</td><td>place to store pointer to homedir </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> if no memory </dd></dl>

<p>
Definition at line <a class="el" href="dbus-userdb_8c-source.html#l00385">385</a> of file <a class="el" href="dbus-userdb_8c-source.html">dbus-userdb.c</a>.
<p>
References <a class="el" href="dbus-userdb_8c-source.html#l00310">_dbus_user_database_lock_system()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00320">_dbus_user_database_unlock_system()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
<p>
Referenced by <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02983">_dbus_get_standard_session_servicedirs()</a>.
</div>
</div><p>
<a class="anchor" name="gbdd1dc47f44e3d6702c86c68da9a0173"></a><!-- doxytag: member="dbus-userdb.c::_dbus_homedir_from_uid" ref="gbdd1dc47f44e3d6702c86c68da9a0173" args="(dbus_uid_t uid, DBusString *homedir)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_homedir_from_uid           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__DBusSysdeps.html#g186e987b700f9ddc6cea8aa0db82b151">dbus_uid_t</a>&nbsp;</td>
          <td class="paramname"> <em>uid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>homedir</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the home directory for the given user. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>uid</em>&nbsp;</td><td>the uid </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>homedir</em>&nbsp;</td><td>string to append home directory to </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if user existed and we appended their homedir </dd></dl>

<p>
Definition at line <a class="el" href="dbus-userdb_8c-source.html#l00446">446</a> of file <a class="el" href="dbus-userdb_8c-source.html">dbus-userdb.c</a>.
<p>
References <a class="el" href="dbus-string_8c-source.html#l00987">_dbus_string_append()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00333">_dbus_user_database_get_system()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00637">_dbus_user_database_get_uid()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00310">_dbus_user_database_lock_system()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00320">_dbus_user_database_unlock_system()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="dbus-sysdeps-unix_8h-source.html#l00095">DBusUserInfo::homedir</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
<p>
Referenced by <a class="el" href="dbus-sysdeps-unix_8c-source.html#l03171">_dbus_append_keyring_directory_for_credentials()</a>.
</div>
</div><p>
<a class="anchor" name="g91c63dcb68d38347578edf39eda1712a"></a><!-- doxytag: member="dbus-userdb.c::_dbus_homedir_from_username" ref="g91c63dcb68d38347578edf39eda1712a" args="(const DBusString *username, DBusString *homedir)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_homedir_from_username           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>username</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>homedir</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the home directory for the given user. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>username</em>&nbsp;</td><td>the username </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>homedir</em>&nbsp;</td><td>string to append home directory to </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if user existed and we appended their homedir </dd></dl>

<p>
Definition at line <a class="el" href="dbus-userdb_8c-source.html#l00407">407</a> of file <a class="el" href="dbus-userdb_8c-source.html">dbus-userdb.c</a>.
<p>
References <a class="el" href="dbus-string_8c-source.html#l00987">_dbus_string_append()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00333">_dbus_user_database_get_system()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00656">_dbus_user_database_get_username()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00310">_dbus_user_database_lock_system()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00320">_dbus_user_database_unlock_system()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="dbus-sysdeps-unix_8h-source.html#l00095">DBusUserInfo::homedir</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
</div>
</div><p>
<a class="anchor" name="gd1c3538c544df91f438a13c9fb4d3a1b"></a><!-- doxytag: member="dbus-userdb.c::_dbus_is_a_number" ref="gd1c3538c544df91f438a13c9fb4d3a1b" args="(const DBusString *str, unsigned long *num)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_is_a_number           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned long *&nbsp;</td>
          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Checks if a given string is actually a number and converts it if it is. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>the string to check </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>the memory location of the unsigned long to fill in </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>TRUE if str is a number and num is filled in </dd></dl>

<p>
Definition at line <a class="el" href="dbus-userdb_8c-source.html#l00102">102</a> of file <a class="el" href="dbus-userdb_8c-source.html">dbus-userdb.c</a>.
<p>
References <a class="el" href="dbus-sysdeps_8c-source.html#l00546">_dbus_string_parse_uint()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
<p>
Referenced by <a class="el" href="dbus-userdb_8c-source.html#l00127">_dbus_user_database_lookup()</a>, and <a class="el" href="dbus-userdb-util_8c-source.html#l00208">_dbus_user_database_lookup_group()</a>.
</div>
</div><p>
<a class="anchor" name="ga504db352a939909051a494d06c5b607"></a><!-- doxytag: member="dbus-userdb-util.c::_dbus_is_console_user" ref="ga504db352a939909051a494d06c5b607" args="(dbus_uid_t uid, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_is_console_user           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__DBusSysdeps.html#g186e987b700f9ddc6cea8aa0db82b151">dbus_uid_t</a>&nbsp;</td>
          <td class="paramname"> <em>uid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> *&nbsp;</td>
          <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Checks to see if the UID sent in is the console user. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>uid</em>&nbsp;</td><td>UID of person to check </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>return location for errors </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if the UID is the same as the console user and there are no errors </dd></dl>

<p>
Definition at line <a class="el" href="dbus-userdb-util_8c-source.html#l00043">43</a> of file <a class="el" href="dbus-userdb-util_8c-source.html">dbus-userdb-util.c</a>.
<p>
References <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00542">_dbus_stat()</a>, <a class="el" href="dbus-string_8c-source.html#l00987">_dbus_string_append()</a>, <a class="el" href="dbus-string_8c-source.html#l00262">_dbus_string_free()</a>, <a class="el" href="dbus-string_8c-source.html#l00175">_dbus_string_init()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00482">_dbus_user_at_console()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00333">_dbus_user_database_get_system()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00310">_dbus_user_database_lock_system()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00127">_dbus_user_database_lookup()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00320">_dbus_user_database_unlock_system()</a>, <a class="el" href="dbus-protocol_8h-source.html#l00330">DBUS_ERROR_FAILED</a>, <a class="el" href="dbus-errors_8c-source.html#l00326">dbus_set_error()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>, <a class="el" href="dbus-sysdeps_8h-source.html#l00345">DBusStat::uid</a>, and <a class="el" href="dbus-sysdeps-unix_8h-source.html#l00094">DBusUserInfo::username</a>.
<p>
Referenced by <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00938">_dbus_unix_user_is_at_console()</a>.
</div>
</div><p>
<a class="anchor" name="gad95864dca5140b730bc143cb2d1b024"></a><!-- doxytag: member="dbus-internals.c::_dbus_memdup" ref="gad95864dca5140b730bc143cb2d1b024" args="(const void *mem, size_t n_bytes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* _dbus_memdup           </td>
          <td>(</td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>mem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>n_bytes</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Duplicates a block of memory. 
<p>
Returns <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> on failure.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>mem</em>&nbsp;</td><td>memory to copy </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>n_bytes</em>&nbsp;</td><td>number of bytes to copy </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>the copy </dd></dl>

<p>
Definition at line <a class="el" href="dbus-internals_8c-source.html#l00424">424</a> of file <a class="el" href="dbus-internals_8c-source.html">dbus-internals.c</a>.
<p>
References <a class="el" href="dbus-memory_8c-source.html#l00440">dbus_malloc()</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-object-tree_8c-source.html#l01058">_dbus_decompose_path()</a>.
</div>
</div><p>
<a class="anchor" name="g96da816095ec7fec07136a6019745bcb"></a><!-- doxytag: member="dbus-sysdeps-util-unix.c::_dbus_parse_unix_group_from_config" ref="g96da816095ec7fec07136a6019745bcb" args="(const DBusString *groupname, dbus_gid_t *gid_p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_parse_unix_group_from_config           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>groupname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusSysdeps.html#g2f5c2e418b81ec2a86594f56ec6d7627">dbus_gid_t</a> *&nbsp;</td>
          <td class="paramname"> <em>gid_p</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Parse a UNIX group from the bus config file. 
<p>
On Windows, this should simply always fail (just return <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>).<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>groupname</em>&nbsp;</td><td>the groupname text </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>gid_p</em>&nbsp;</td><td>place to return the gid </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> on success </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00904">904</a> of file <a class="el" href="dbus-sysdeps-util-unix_8c-source.html">dbus-sysdeps-util-unix.c</a>.
<p>
References <a class="el" href="dbus-userdb-util_8c-source.html#l00128">_dbus_get_group_id()</a>.
</div>
</div><p>
<a class="anchor" name="g437470fc327b0169fc14a0b66a6e5278"></a><!-- doxytag: member="dbus-sysdeps-util-unix.c::_dbus_parse_unix_user_from_config" ref="g437470fc327b0169fc14a0b66a6e5278" args="(const DBusString *username, dbus_uid_t *uid_p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_parse_unix_user_from_config           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>username</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusSysdeps.html#g186e987b700f9ddc6cea8aa0db82b151">dbus_uid_t</a> *&nbsp;</td>
          <td class="paramname"> <em>uid_p</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Parse a UNIX user from the bus config file. 
<p>
On Windows, this should simply always fail (just return <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>).<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>username</em>&nbsp;</td><td>the username text </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>uid_p</em>&nbsp;</td><td>place to return the uid </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> on success </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00888">888</a> of file <a class="el" href="dbus-sysdeps-util-unix_8c-source.html">dbus-sysdeps-util-unix.c</a>.
<p>
References <a class="el" href="dbus-userdb-util_8c-source.html#l00114">_dbus_get_user_id()</a>.
</div>
</div><p>
<a class="anchor" name="g6d80876bcae54f47cde79d0bce20321d"></a><!-- doxytag: member="dbus-sysdeps-util-unix.c::_dbus_path_is_absolute" ref="g6d80876bcae54f47cde79d0bce20321d" args="(const DBusString *filename)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_path_is_absolute           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>filename</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Checks whether the filename is an absolute path. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>the filename </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if an absolute path </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00525">525</a> of file <a class="el" href="dbus-sysdeps-util-unix_8c-source.html">dbus-sysdeps-util-unix.c</a>.
<p>
References <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>.
</div>
</div><p>
<a class="anchor" name="g709fd30e6b940a5952af38efaf24ad51"></a><!-- doxytag: member="dbus-internals.c::_dbus_read_uuid_file" ref="g709fd30e6b940a5952af38efaf24ad51" args="(const DBusString *filename, DBusGUID *uuid, dbus_bool_t create_if_not_found, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_read_uuid_file           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="unionDBusGUID.html">DBusGUID</a> *&nbsp;</td>
          <td class="paramname"> <em>uuid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td>
          <td class="paramname"> <em>create_if_not_found</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> *&nbsp;</td>
          <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Reads (and optionally writes) a uuid to a file. 
<p>
Initializes the uuid unless an error is returned.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>the name of the file </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>uuid</em>&nbsp;</td><td>uuid to be initialized with the loaded uuid </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>create_if_not_found</em>&nbsp;</td><td><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> to create a new uuid and save it if the file doesn't exist </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>the error return </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> if the error is set </dd></dl>

<p>
Definition at line <a class="el" href="dbus-internals_8c-source.html#l00666">666</a> of file <a class="el" href="dbus-internals_8c-source.html">dbus-internals.c</a>.
<p>
References <a class="el" href="dbus-errors_8c-source.html#l00183">dbus_error_free()</a>, <a class="el" href="dbus-errors_8c-source.html#l00274">dbus_error_has_name()</a>, <a class="el" href="dbus-errors_8c-source.html#l00160">dbus_error_init()</a>, <a class="el" href="dbus-protocol_8h-source.html#l00411">DBUS_ERROR_INVALID_FILE_CONTENT</a>, <a class="el" href="dbus-errors_8c-source.html#l00251">dbus_move_error()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
<p>
Referenced by <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02952">_dbus_read_local_machine_uuid()</a>, and <a class="el" href="dbus-uuidgen_8c-source.html#l00076">dbus_internal_do_not_use_get_uuid()</a>.
</div>
</div><p>
<a class="anchor" name="g4aa7500366dad2dd6d3fa97b3aa7165b"></a><!-- doxytag: member="dbus-sysdeps-util-unix.c::_dbus_set_signal_handler" ref="g4aa7500366dad2dd6d3fa97b3aa7165b" args="(int sig, DBusSignalHandler handler)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _dbus_set_signal_handler           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>sig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusSysdeps.html#gdd0067ae8ae20e747b818697395d420f">DBusSignalHandler</a>&nbsp;</td>
          <td class="paramname"> <em>handler</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Installs a UNIX signal handler. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sig</em>&nbsp;</td><td>the signal to handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>handler</em>&nbsp;</td><td>the handler </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00422">422</a> of file <a class="el" href="dbus-sysdeps-util-unix_8c-source.html">dbus-sysdeps-util-unix.c</a>.
<p>
References <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
</div>
</div><p>
<a class="anchor" name="g84c21bbcb2a673244f36616c5e053277"></a><!-- doxytag: member="dbus-spawn.c::_dbus_spawn_async_with_babysitter" ref="g84c21bbcb2a673244f36616c5e053277" args="(DBusBabysitter **sitter_p, char **argv, char **env, DBusSpawnChildSetupFunc child_setup, void *user_data, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_spawn_async_with_babysitter           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusBabysitter.html">DBusBabysitter</a> **&nbsp;</td>
          <td class="paramname"> <em>sitter_p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&nbsp;</td>
          <td class="paramname"> <em>argv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBusSpawnChildSetupFunc&nbsp;</td>
          <td class="paramname"> <em>child_setup</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>user_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> *&nbsp;</td>
          <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Spawns a new process. 
<p>
The executable name and argv[0] are the same, both are provided in argv[0]. The child_setup function is passed the given user_data and is run in the child just before calling exec().<p>
Also creates a "babysitter" which tracks the status of the child process, advising the parent if the child exits. If the spawn fails, no babysitter is created. If sitter_p is <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, no babysitter is kept.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sitter_p</em>&nbsp;</td><td>return location for babysitter or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>argv</em>&nbsp;</td><td>the executable and arguments </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>the environment (not used on unix yet) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>child_setup</em>&nbsp;</td><td>function to call in child pre-exec() </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>user_data</em>&nbsp;</td><td>user data for setup function </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>error object to be filled in if function fails </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> on success, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> if error is filled in </dd></dl>

<p>
Definition at line <a class="el" href="dbus-spawn_8c-source.html#l01061">1061</a> of file <a class="el" href="dbus-spawn_8c-source.html">dbus-spawn.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00121">_dbus_assert_not_reached</a>, <a class="el" href="dbus-spawn_8c-source.html#l00264">_dbus_babysitter_unref()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02509">_dbus_fd_set_close_on_exec()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02641">_dbus_full_duplex_pipe()</a>, <a class="el" href="dbus-internals_8c-source.html#l00396">_dbus_strdup()</a>, <a class="el" href="dbus-watch_8c-source.html#l00351">_dbus_watch_list_add_watch()</a>, <a class="el" href="dbus-watch_8c-source.html#l00067">_dbus_watch_new()</a>, <a class="el" href="dbus-protocol_8h-source.html#l00332">DBUS_ERROR_NO_MEMORY</a>, <a class="el" href="dbus-protocol_8h-source.html#l00385">DBUS_ERROR_SPAWN_FORK_FAILED</a>, <a class="el" href="dbus-errors_8c-source.html#l00326">dbus_set_error()</a>, <a class="el" href="dbus-spawn_8c-source.html#l00193">DBusBabysitter::error_pipe_from_child</a>, <a class="el" href="dbus-spawn_8c-source.html#l00200">DBusBabysitter::error_watch</a>, <a class="el" href="dbus-spawn_8c-source.html#l00190">DBusBabysitter::executable</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="dbus-spawn_8c-source.html#l00768">READ_END</a>, <a class="el" href="dbus-spawn_8c-source.html#l00195">DBusBabysitter::sitter_pid</a>, <a class="el" href="dbus-spawn_8c-source.html#l00201">DBusBabysitter::sitter_watch</a>, <a class="el" href="dbus-spawn_8c-source.html#l00192">DBusBabysitter::socket_to_babysitter</a>, <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>, <a class="el" href="dbus-spawn_8c-source.html#l00198">DBusBabysitter::watches</a>, and <a class="el" href="dbus-spawn_8c-source.html#l00770">WRITE_END</a>.
</div>
</div><p>
<a class="anchor" name="g04e98ad0e3a181f0a5921a4cbc49cf08"></a><!-- doxytag: member="dbus-sysdeps-util-unix.c::_dbus_stat" ref="g04e98ad0e3a181f0a5921a4cbc49cf08" args="(const DBusString *filename, DBusStat *statbuf, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_stat           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusStat.html">DBusStat</a> *&nbsp;</td>
          <td class="paramname"> <em>statbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> *&nbsp;</td>
          <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
stat() wrapper. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>the filename to stat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>statbuf</em>&nbsp;</td><td>the stat info to fill in </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>return location for error </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> if error was set </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00542">542</a> of file <a class="el" href="dbus-sysdeps-util-unix_8c-source.html">dbus-sysdeps-util-unix.c</a>.
<p>
References <a class="el" href="dbus-sysdeps_8c-source.html#l00899">_dbus_error_from_errno()</a>, <a class="el" href="dbus-sysdeps_8h-source.html#l00348">DBusStat::atime</a>, <a class="el" href="dbus-sysdeps_8h-source.html#l00350">DBusStat::ctime</a>, <a class="el" href="dbus-errors_8c-source.html#l00326">dbus_set_error()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="dbus-sysdeps_8h-source.html#l00346">DBusStat::gid</a>, <a class="el" href="dbus-sysdeps_8h-source.html#l00343">DBusStat::mode</a>, <a class="el" href="dbus-sysdeps_8h-source.html#l00349">DBusStat::mtime</a>, <a class="el" href="dbus-sysdeps_8h-source.html#l00344">DBusStat::nlink</a>, <a class="el" href="dbus-sysdeps_8h-source.html#l00347">DBusStat::size</a>, <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>, and <a class="el" href="dbus-sysdeps_8h-source.html#l00345">DBusStat::uid</a>.
<p>
Referenced by <a class="el" href="dbus-userdb-util_8c-source.html#l00043">_dbus_is_console_user()</a>.
</div>
</div><p>
<a class="anchor" name="g9d00d77f6595b9d7ac1baf59d44bf58c"></a><!-- doxytag: member="dbus-internals.c::_dbus_strdup" ref="g9d00d77f6595b9d7ac1baf59d44bf58c" args="(const char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* _dbus_strdup           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Duplicates a string. 
<p>
Result must be freed with <a class="el" href="group__DBusMemory.html#g488c6b08cc8c1ddf0203243c4b27a13c">dbus_free()</a>. Returns <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> if memory allocation fails. If the string to be duplicated is <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, returns <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>string to duplicate. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>newly-allocated copy. </dd></dl>

<p>
Definition at line <a class="el" href="dbus-internals_8c-source.html#l00396">396</a> of file <a class="el" href="dbus-internals_8c-source.html">dbus-internals.c</a>.
<p>
References <a class="el" href="dbus-memory_8c-source.html#l00440">dbus_malloc()</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-credentials_8c-source.html#l00175">_dbus_credentials_add_windows_sid()</a>, <a class="el" href="dbus-internals_8c-source.html#l00447">_dbus_dup_string_array()</a>, <a class="el" href="dbus-message_8c-source.html#l00641">_dbus_message_iter_get_args_valist()</a>, <a class="el" href="dbus-server-unix_8c-source.html#l00167">_dbus_server_new_for_domain_socket()</a>, <a class="el" href="dbus-spawn_8c-source.html#l01061">_dbus_spawn_async_with_babysitter()</a>, <a class="el" href="dbus-transport_8c-source.html#l00668">_dbus_transport_get_is_authenticated()</a>, <a class="el" href="dbus-transport_8c-source.html#l01284">_dbus_transport_get_windows_user()</a>, <a class="el" href="dbus-transport_8c-source.html#l00350">_dbus_transport_open()</a>, <a class="el" href="dbus-bus_8c-source.html#l00887">dbus_bus_get_id()</a>, <a class="el" href="dbus-bus_8c-source.html#l00600">dbus_bus_register()</a>, <a class="el" href="dbus-bus_8c-source.html#l00716">dbus_bus_set_unique_name()</a>, <a class="el" href="dbus-connection_8c-source.html#l02883">dbus_connection_get_server_id()</a>, <a class="el" href="dbus-server_8c-source.html#l00788">dbus_server_get_address()</a>, and <a class="el" href="dbus-errors_8c-source.html#l00326">dbus_set_error()</a>.
</div>
</div><p>
<a class="anchor" name="g56de84795d6df4162ad79b3be7af7588"></a><!-- doxytag: member="dbus-sysdeps.c::_dbus_strerror_from_errno" ref="g56de84795d6df4162ad79b3be7af7588" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* _dbus_strerror_from_errno           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get error message from errno. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>_dbus_strerror(errno) </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps_8c-source.html#l01031">1031</a> of file <a class="el" href="dbus-sysdeps_8c-source.html">dbus-sysdeps.c</a>.
</div>
</div><p>
<a class="anchor" name="g751119e7273225a7e59787445b71fcd6"></a><!-- doxytag: member="dbus-internals.c::_dbus_string_array_contains" ref="g751119e7273225a7e59787445b71fcd6" args="(const char **array, const char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_string_array_contains           </td>
          <td>(</td>
          <td class="paramtype">const char **&nbsp;</td>
          <td class="paramname"> <em>array</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Checks whether a string array contains the given string. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>array</em>&nbsp;</td><td>array to search. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>string to look for </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if array contains string </dd></dl>

<p>
Definition at line <a class="el" href="dbus-internals_8c-source.html#l00487">487</a> of file <a class="el" href="dbus-internals_8c-source.html">dbus-internals.c</a>.
<p>
References <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
</div>
</div><p>
<a class="anchor" name="g79647ec21c7edccd1510808ea0ca3779"></a><!-- doxytag: member="dbus-sysdeps-util-unix.c::_dbus_unix_groups_from_uid" ref="g79647ec21c7edccd1510808ea0ca3779" args="(dbus_uid_t uid, dbus_gid_t **group_ids, int *n_group_ids)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_unix_groups_from_uid           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__DBusSysdeps.html#g186e987b700f9ddc6cea8aa0db82b151">dbus_uid_t</a>&nbsp;</td>
          <td class="paramname"> <em>uid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusSysdeps.html#g2f5c2e418b81ec2a86594f56ec6d7627">dbus_gid_t</a> **&nbsp;</td>
          <td class="paramname"> <em>group_ids</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>n_group_ids</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets all groups corresponding to the given UNIX user ID. 
<p>
On UNIX, just calls <a class="el" href="group__DBusInternalsUtils.html#ge9408936869314101f8ea13dfa5ba968">_dbus_groups_from_uid()</a>. On Windows, should always fail since we don't know any UNIX groups.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>uid</em>&nbsp;</td><td>the UID </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>group_ids</em>&nbsp;</td><td>return location for array of group IDs </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>n_group_ids</em>&nbsp;</td><td>return location for length of returned array </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if the UID existed and we got some credentials </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00921">921</a> of file <a class="el" href="dbus-sysdeps-util-unix_8c-source.html">dbus-sysdeps-util-unix.c</a>.
<p>
References <a class="el" href="dbus-userdb-util_8c-source.html#l00354">_dbus_groups_from_uid()</a>.
</div>
</div><p>
<a class="anchor" name="ged2e025454364fbe31cd9b6538c9a936"></a><!-- doxytag: member="dbus-sysdeps-util-unix.c::_dbus_unix_user_is_at_console" ref="ged2e025454364fbe31cd9b6538c9a936" args="(dbus_uid_t uid, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_unix_user_is_at_console           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__DBusSysdeps.html#g186e987b700f9ddc6cea8aa0db82b151">dbus_uid_t</a>&nbsp;</td>
          <td class="paramname"> <em>uid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> *&nbsp;</td>
          <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Checks to see if the UNIX user ID is at the console. 
<p>
Should always fail on Windows (set the error to <a class="el" href="group__DBusProtocol.html#g33122bcaf8f5896ec222c755b6effb40">DBUS_ERROR_NOT_SUPPORTED</a>).<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>uid</em>&nbsp;</td><td>UID of person to check </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>return location for errors </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if the UID is the same as the console user and there are no errors </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00938">938</a> of file <a class="el" href="dbus-sysdeps-util-unix_8c-source.html">dbus-sysdeps-util-unix.c</a>.
<p>
References <a class="el" href="dbus-userdb-util_8c-source.html#l00043">_dbus_is_console_user()</a>.
</div>
</div><p>
<a class="anchor" name="g849177164bc5e73435104f57c631ed7e"></a><!-- doxytag: member="dbus-sysdeps-util-unix.c::_dbus_unix_user_is_process_owner" ref="g849177164bc5e73435104f57c631ed7e" args="(dbus_uid_t uid)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_unix_user_is_process_owner           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__DBusSysdeps.html#g186e987b700f9ddc6cea8aa0db82b151">dbus_uid_t</a>&nbsp;</td>
          <td class="paramname"> <em>uid</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Checks to see if the UNIX user ID matches the UID of the process. 
<p>
Should always return <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> on Windows.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>uid</em>&nbsp;</td><td>the UNIX user ID </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if this uid owns the process. </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00953">953</a> of file <a class="el" href="dbus-sysdeps-util-unix_8c-source.html">dbus-sysdeps-util-unix.c</a>.
<p>
References <a class="el" href="dbus-sysdeps-unix_8c-source.html#l01684">_dbus_getuid()</a>.
</div>
</div><p>
<a class="anchor" name="g31ec42cef2d15ca358e737bb5f19c5cf"></a><!-- doxytag: member="dbus-sysdeps-util-unix.c::_dbus_user_at_console" ref="g31ec42cef2d15ca358e737bb5f19c5cf" args="(const char *username, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_user_at_console           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>username</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> *&nbsp;</td>
          <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Checks if user is at the console. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>username</em>&nbsp;</td><td>user to check </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>return location for errors </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> is the user is at the consolei and there are no errors </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00482">482</a> of file <a class="el" href="dbus-sysdeps-util-unix_8c-source.html">dbus-sysdeps-util-unix.c</a>.
<p>
References <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00470">_dbus_file_exists()</a>, <a class="el" href="dbus-string_8c-source.html#l00987">_dbus_string_append()</a>, <a class="el" href="dbus-string_8c-source.html#l00262">_dbus_string_free()</a>, <a class="el" href="dbus-string_8c-source.html#l00175">_dbus_string_init()</a>, and <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>.
<p>
Referenced by <a class="el" href="dbus-userdb-util_8c-source.html#l00043">_dbus_is_console_user()</a>.
</div>
</div><p>
<a class="anchor" name="g70d3fd2edd61c69edc6f7fe1d5cfa6ea"></a><!-- doxytag: member="dbus-userdb-util.c::_dbus_user_database_get_gid" ref="g70d3fd2edd61c69edc6f7fe1d5cfa6ea" args="(DBusUserDatabase *db, dbus_gid_t gid, const DBusGroupInfo **info, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_user_database_get_gid           </td>
          <td>(</td>
          <td class="paramtype">DBusUserDatabase *&nbsp;</td>
          <td class="paramname"> <em>db</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusSysdeps.html#g2f5c2e418b81ec2a86594f56ec6d7627">dbus_gid_t</a>&nbsp;</td>
          <td class="paramname"> <em>gid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structDBusGroupInfo.html">DBusGroupInfo</a> **&nbsp;</td>
          <td class="paramname"> <em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> *&nbsp;</td>
          <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the user information for the given GID, returned group info should not be freed. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>db</em>&nbsp;</td><td>user database </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>gid</em>&nbsp;</td><td>the group ID </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>return location for const ref to group info </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>error location </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> if error is set </dd></dl>

<p>
Definition at line <a class="el" href="dbus-userdb-util_8c-source.html#l00333">333</a> of file <a class="el" href="dbus-userdb-util_8c-source.html">dbus-userdb-util.c</a>.
<p>
References <a class="el" href="dbus-userdb-util_8c-source.html#l00208">_dbus_user_database_lookup_group()</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
</div>
</div><p>
<a class="anchor" name="gd370299b907799440331c47e8d2357e0"></a><!-- doxytag: member="dbus-userdb-util.c::_dbus_user_database_get_groupname" ref="gd370299b907799440331c47e8d2357e0" args="(DBusUserDatabase *db, const DBusString *groupname, const DBusGroupInfo **info, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_user_database_get_groupname           </td>
          <td>(</td>
          <td class="paramtype">DBusUserDatabase *&nbsp;</td>
          <td class="paramname"> <em>db</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>groupname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structDBusGroupInfo.html">DBusGroupInfo</a> **&nbsp;</td>
          <td class="paramname"> <em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> *&nbsp;</td>
          <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the user information for the given group name, returned group info should not be freed. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>db</em>&nbsp;</td><td>user database </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>groupname</em>&nbsp;</td><td>the group name </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>return location for const ref to group info </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>error location </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> if error is set </dd></dl>

<p>
Definition at line <a class="el" href="dbus-userdb-util_8c-source.html#l00313">313</a> of file <a class="el" href="dbus-userdb-util_8c-source.html">dbus-userdb-util.c</a>.
<p>
References <a class="el" href="dbus-userdb-util_8c-source.html#l00208">_dbus_user_database_lookup_group()</a>, <a class="el" href="dbus-sysdeps_8h-source.html#l00108">DBUS_GID_UNSET</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-userdb-util_8c-source.html#l00128">_dbus_get_group_id()</a>.
</div>
</div><p>
<a class="anchor" name="g79b6c3cf0d735622b6af2795840f9d21"></a><!-- doxytag: member="dbus-userdb.c::_dbus_user_database_get_system" ref="g79b6c3cf0d735622b6af2795840f9d21" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBusUserDatabase* _dbus_user_database_get_system           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the system global user database; must be called with lock held (<a class="el" href="group__DBusInternalsUtils.html#gd670eb00ca49ee18fe1c526d440131b7">_dbus_user_database_lock_system()</a>). 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>the database or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> if no memory </dd></dl>

<p>
Definition at line <a class="el" href="dbus-userdb_8c-source.html#l00333">333</a> of file <a class="el" href="dbus-userdb_8c-source.html">dbus-userdb.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>.
<p>
Referenced by <a class="el" href="dbus-userdb_8c-source.html#l00492">_dbus_credentials_add_from_user()</a>, <a class="el" href="dbus-userdb-util_8c-source.html#l00128">_dbus_get_group_id()</a>, <a class="el" href="dbus-userdb-util_8c-source.html#l00164">_dbus_get_user_id_and_primary_group()</a>, <a class="el" href="dbus-userdb-util_8c-source.html#l00354">_dbus_groups_from_uid()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00446">_dbus_homedir_from_uid()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00407">_dbus_homedir_from_username()</a>, and <a class="el" href="dbus-userdb-util_8c-source.html#l00043">_dbus_is_console_user()</a>.
</div>
</div><p>
<a class="anchor" name="g6a7e8b8cf3a6968972e9a49726022638"></a><!-- doxytag: member="dbus-userdb.c::_dbus_user_database_get_uid" ref="g6a7e8b8cf3a6968972e9a49726022638" args="(DBusUserDatabase *db, dbus_uid_t uid, const DBusUserInfo **info, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_user_database_get_uid           </td>
          <td>(</td>
          <td class="paramtype">DBusUserDatabase *&nbsp;</td>
          <td class="paramname"> <em>db</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusSysdeps.html#g186e987b700f9ddc6cea8aa0db82b151">dbus_uid_t</a>&nbsp;</td>
          <td class="paramname"> <em>uid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structDBusUserInfo.html">DBusUserInfo</a> **&nbsp;</td>
          <td class="paramname"> <em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> *&nbsp;</td>
          <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the user information for the given UID, returned user info should not be freed. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>db</em>&nbsp;</td><td>user database </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>uid</em>&nbsp;</td><td>the user ID </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>return location for const ref to user info </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>error location </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> if error is set </dd></dl>

<p>
Definition at line <a class="el" href="dbus-userdb_8c-source.html#l00637">637</a> of file <a class="el" href="dbus-userdb_8c-source.html">dbus-userdb.c</a>.
<p>
References <a class="el" href="dbus-userdb_8c-source.html#l00127">_dbus_user_database_lookup()</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-userdb-util_8c-source.html#l00354">_dbus_groups_from_uid()</a>, and <a class="el" href="dbus-userdb_8c-source.html#l00446">_dbus_homedir_from_uid()</a>.
</div>
</div><p>
<a class="anchor" name="gccf1d5b330707a1835dcf4ce49a29c8c"></a><!-- doxytag: member="dbus-userdb.c::_dbus_user_database_get_username" ref="gccf1d5b330707a1835dcf4ce49a29c8c" args="(DBusUserDatabase *db, const DBusString *username, const DBusUserInfo **info, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_user_database_get_username           </td>
          <td>(</td>
          <td class="paramtype">DBusUserDatabase *&nbsp;</td>
          <td class="paramname"> <em>db</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>username</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structDBusUserInfo.html">DBusUserInfo</a> **&nbsp;</td>
          <td class="paramname"> <em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> *&nbsp;</td>
          <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the user information for the given username. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>db</em>&nbsp;</td><td>user database </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>username</em>&nbsp;</td><td>the user name </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>return location for const ref to user info </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>error location </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> if error is set </dd></dl>

<p>
Definition at line <a class="el" href="dbus-userdb_8c-source.html#l00656">656</a> of file <a class="el" href="dbus-userdb_8c-source.html">dbus-userdb.c</a>.
<p>
References <a class="el" href="dbus-userdb_8c-source.html#l00127">_dbus_user_database_lookup()</a>, <a class="el" href="dbus-sysdeps_8h-source.html#l00106">DBUS_UID_UNSET</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-userdb_8c-source.html#l00492">_dbus_credentials_add_from_user()</a>, <a class="el" href="dbus-userdb-util_8c-source.html#l00164">_dbus_get_user_id_and_primary_group()</a>, and <a class="el" href="dbus-userdb_8c-source.html#l00407">_dbus_homedir_from_username()</a>.
</div>
</div><p>
<a class="anchor" name="g959372f7d7cdea35ffbac3b78e29a1b0"></a><!-- doxytag: member="dbus-userdb.c::_dbus_user_database_lookup" ref="g959372f7d7cdea35ffbac3b78e29a1b0" args="(DBusUserDatabase *db, dbus_uid_t uid, const DBusString *username, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structDBusUserInfo.html">DBusUserInfo</a>* _dbus_user_database_lookup           </td>
          <td>(</td>
          <td class="paramtype">DBusUserDatabase *&nbsp;</td>
          <td class="paramname"> <em>db</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusSysdeps.html#g186e987b700f9ddc6cea8aa0db82b151">dbus_uid_t</a>&nbsp;</td>
          <td class="paramname"> <em>uid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>username</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> *&nbsp;</td>
          <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Looks up a uid or username in the user database. 
<p>
Only one of name or UID can be provided. There are wrapper functions for this that are better to use, this one does no locking or anything on the database and otherwise sort of sucks.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>db</em>&nbsp;</td><td>the database </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>uid</em>&nbsp;</td><td>the user ID or <a class="el" href="group__DBusSysdeps.html#g3d2f3fb32bb759cabe362ca2de383f7d">DBUS_UID_UNSET</a> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>username</em>&nbsp;</td><td>username or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>error to fill in </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>the entry in the database </dd></dl>

<p>
Definition at line <a class="el" href="dbus-userdb_8c-source.html#l00127">127</a> of file <a class="el" href="dbus-userdb_8c-source.html">dbus-userdb.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>, <a class="el" href="dbus-hash_8c-source.html#l01431">_dbus_hash_table_insert_string()</a>, <a class="el" href="dbus-hash_8c-source.html#l01593">_dbus_hash_table_insert_ulong()</a>, <a class="el" href="dbus-hash_8c-source.html#l01150">_dbus_hash_table_lookup_string()</a>, <a class="el" href="dbus-hash_8c-source.html#l01255">_dbus_hash_table_lookup_ulong()</a>, <a class="el" href="dbus-hash_8c-source.html#l01396">_dbus_hash_table_remove_ulong()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00102">_dbus_is_a_number()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l01601">_dbus_user_info_fill()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l01618">_dbus_user_info_fill_uid()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00044">_dbus_user_info_free_allocated()</a>, <a class="el" href="dbus-protocol_8h-source.html#l00332">DBUS_ERROR_NO_MEMORY</a>, <a class="el" href="dbus-memory_8h-source.html#l00047">dbus_new0</a>, <a class="el" href="dbus-errors_8c-source.html#l00326">dbus_set_error()</a>, <a class="el" href="dbus-sysdeps_8h-source.html#l00113">DBUS_UID_FORMAT</a>, <a class="el" href="dbus-sysdeps_8h-source.html#l00106">DBUS_UID_UNSET</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="dbus-sysdeps-unix_8h-source.html#l00090">DBusUserInfo::uid</a>, and <a class="el" href="dbus-sysdeps-unix_8h-source.html#l00094">DBusUserInfo::username</a>.
<p>
Referenced by <a class="el" href="dbus-userdb-util_8c-source.html#l00043">_dbus_is_console_user()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00637">_dbus_user_database_get_uid()</a>, and <a class="el" href="dbus-userdb_8c-source.html#l00656">_dbus_user_database_get_username()</a>.
</div>
</div><p>
<a class="anchor" name="gf6b7452691c0c7d11fec4b9214137052"></a><!-- doxytag: member="dbus-userdb-util.c::_dbus_user_database_lookup_group" ref="gf6b7452691c0c7d11fec4b9214137052" args="(DBusUserDatabase *db, dbus_gid_t gid, const DBusString *groupname, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structDBusGroupInfo.html">DBusGroupInfo</a>* _dbus_user_database_lookup_group           </td>
          <td>(</td>
          <td class="paramtype">DBusUserDatabase *&nbsp;</td>
          <td class="paramname"> <em>db</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusSysdeps.html#g2f5c2e418b81ec2a86594f56ec6d7627">dbus_gid_t</a>&nbsp;</td>
          <td class="paramname"> <em>gid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>groupname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> *&nbsp;</td>
          <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Looks up a gid or group name in the user database. 
<p>
Only one of name or GID can be provided. There are wrapper functions for this that are better to use, this one does no locking or anything on the database and otherwise sort of sucks.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>db</em>&nbsp;</td><td>the database </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>gid</em>&nbsp;</td><td>the group ID or <a class="el" href="group__DBusSysdeps.html#g768a080926a119a6131083facc0bd42b">DBUS_GID_UNSET</a> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>groupname</em>&nbsp;</td><td>group name or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>error to fill in </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>the entry in the database </dd></dl>

<p>
Definition at line <a class="el" href="dbus-userdb-util_8c-source.html#l00208">208</a> of file <a class="el" href="dbus-userdb-util_8c-source.html">dbus-userdb-util.c</a>.
<p>
References <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00853">_dbus_group_info_fill()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00872">_dbus_group_info_fill_gid()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00060">_dbus_group_info_free_allocated()</a>, <a class="el" href="dbus-hash_8c-source.html#l01431">_dbus_hash_table_insert_string()</a>, <a class="el" href="dbus-hash_8c-source.html#l01593">_dbus_hash_table_insert_ulong()</a>, <a class="el" href="dbus-hash_8c-source.html#l01150">_dbus_hash_table_lookup_string()</a>, <a class="el" href="dbus-hash_8c-source.html#l01255">_dbus_hash_table_lookup_ulong()</a>, <a class="el" href="dbus-hash_8c-source.html#l01396">_dbus_hash_table_remove_ulong()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00102">_dbus_is_a_number()</a>, <a class="el" href="dbus-protocol_8h-source.html#l00332">DBUS_ERROR_NO_MEMORY</a>, <a class="el" href="dbus-sysdeps_8h-source.html#l00115">DBUS_GID_FORMAT</a>, <a class="el" href="dbus-sysdeps_8h-source.html#l00108">DBUS_GID_UNSET</a>, <a class="el" href="dbus-memory_8h-source.html#l00047">dbus_new0</a>, <a class="el" href="dbus-errors_8c-source.html#l00326">dbus_set_error()</a>, <a class="el" href="dbus-sysdeps_8h-source.html#l00106">DBUS_UID_UNSET</a>, <a class="el" href="dbus-sysdeps-unix_8h-source.html#l00103">DBusGroupInfo::gid</a>, <a class="el" href="dbus-sysdeps-unix_8h-source.html#l00104">DBusGroupInfo::groupname</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-userdb-util_8c-source.html#l00333">_dbus_user_database_get_gid()</a>, and <a class="el" href="dbus-userdb-util_8c-source.html#l00313">_dbus_user_database_get_groupname()</a>.
</div>
</div><p>
<a class="anchor" name="g1dbf2c80952d17707c544f5d86dd8545"></a><!-- doxytag: member="dbus-userdb.c::_dbus_user_database_new" ref="g1dbf2c80952d17707c544f5d86dd8545" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBusUserDatabase* _dbus_user_database_new           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Creates a new user database object used to look up and cache user information. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>new database, or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> on out of memory </dd></dl>

<p>
Definition at line <a class="el" href="dbus-userdb_8c-source.html#l00530">530</a> of file <a class="el" href="dbus-userdb_8c-source.html">dbus-userdb.c</a>.
<p>
References <a class="el" href="dbus-userdb_8c-source.html#l00060">_dbus_group_info_free_allocated()</a>, <a class="el" href="dbus-hash_8c-source.html#l00292">_dbus_hash_table_new()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00603">_dbus_user_database_unref()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00044">_dbus_user_info_free_allocated()</a>, <a class="el" href="group__DBusHashTable.html#ggb0ab9767ffa5b6720a13b3d741630852481fd0166d28da725b3e97f15192434e">DBUS_HASH_STRING</a>, <a class="el" href="dbus-hash_8h-source.html#l00064">DBUS_HASH_ULONG</a>, <a class="el" href="dbus-memory_8h-source.html#l00047">dbus_new0</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
</div>
</div><p>
<a class="anchor" name="g55dbb78c415da040037442eca4c4e80e"></a><!-- doxytag: member="dbus-userdb.c::_dbus_user_database_unref" ref="g55dbb78c415da040037442eca4c4e80e" args="(DBusUserDatabase *db)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _dbus_user_database_unref           </td>
          <td>(</td>
          <td class="paramtype">DBusUserDatabase *&nbsp;</td>
          <td class="paramname"> <em>db</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Decrements refcount of user database. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>db</em>&nbsp;</td><td>the database </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-userdb_8c-source.html#l00603">603</a> of file <a class="el" href="dbus-userdb_8c-source.html">dbus-userdb.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>, <a class="el" href="dbus-hash_8c-source.html#l00374">_dbus_hash_table_unref()</a>, and <a class="el" href="dbus-memory_8c-source.html#l00617">dbus_free()</a>.
<p>
Referenced by <a class="el" href="dbus-userdb_8c-source.html#l00530">_dbus_user_database_new()</a>.
</div>
</div><p>
<a class="anchor" name="ga40334f7b4f185a437a8bc6d6e0994a1"></a><!-- doxytag: member="dbus-userdb.c::_dbus_user_info_free" ref="ga40334f7b4f185a437a8bc6d6e0994a1" args="(DBusUserInfo *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _dbus_user_info_free           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusUserInfo.html">DBusUserInfo</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Frees the members of info (but not info itself). 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>the user info struct </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-userdb_8c-source.html#l00075">75</a> of file <a class="el" href="dbus-userdb_8c-source.html">dbus-userdb.c</a>.
<p>
References <a class="el" href="dbus-memory_8c-source.html#l00617">dbus_free()</a>, <a class="el" href="dbus-sysdeps-unix_8h-source.html#l00092">DBusUserInfo::group_ids</a>, <a class="el" href="dbus-sysdeps-unix_8h-source.html#l00095">DBusUserInfo::homedir</a>, and <a class="el" href="dbus-sysdeps-unix_8h-source.html#l00094">DBusUserInfo::username</a>.
<p>
Referenced by <a class="el" href="dbus-userdb_8c-source.html#l00044">_dbus_user_info_free_allocated()</a>.
</div>
</div><p>
<a class="anchor" name="gf725ba6f380a3b926650626eef714b67"></a><!-- doxytag: member="dbus-userdb.c::_dbus_user_info_free_allocated" ref="gf725ba6f380a3b926650626eef714b67" args="(DBusUserInfo *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _dbus_user_info_free_allocated           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusUserInfo.html">DBusUserInfo</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Frees the given <a class="el" href="structDBusUserInfo.html">DBusUserInfo</a>'s members with <a class="el" href="group__DBusSysdepsUnix.html#ga40334f7b4f185a437a8bc6d6e0994a1">_dbus_user_info_free()</a> and also calls <a class="el" href="group__DBusMemory.html#g488c6b08cc8c1ddf0203243c4b27a13c">dbus_free()</a> on the block itself. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>the info </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-userdb_8c-source.html#l00044">44</a> of file <a class="el" href="dbus-userdb_8c-source.html">dbus-userdb.c</a>.
<p>
References <a class="el" href="dbus-userdb_8c-source.html#l00075">_dbus_user_info_free()</a>, <a class="el" href="dbus-memory_8c-source.html#l00617">dbus_free()</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-userdb_8c-source.html#l00127">_dbus_user_database_lookup()</a>, and <a class="el" href="dbus-userdb_8c-source.html#l00530">_dbus_user_database_new()</a>.
</div>
</div><p>
<a class="anchor" name="g9c4c1850787bfd457107b95fa1878869"></a><!-- doxytag: member="dbus-userdb.c::_dbus_username_from_current_process" ref="g9c4c1850787bfd457107b95fa1878869" args="(const DBusString **username)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_username_from_current_process           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> **&nbsp;</td>
          <td class="paramname"> <em>username</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets username of user owning current process. 
<p>
The returned string is valid until <a class="el" href="group__DBusMemory.html#g8b177950791eebaefc7dc1e836c0964c">dbus_shutdown()</a> is called.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>username</em>&nbsp;</td><td>place to store pointer to username </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> if no memory </dd></dl>

<p>
Definition at line <a class="el" href="dbus-userdb_8c-source.html#l00363">363</a> of file <a class="el" href="dbus-userdb_8c-source.html">dbus-userdb.c</a>.
<p>
References <a class="el" href="dbus-userdb_8c-source.html#l00310">_dbus_user_database_lock_system()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00320">_dbus_user_database_unlock_system()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
</div>
</div><p>
<a class="anchor" name="gf08364813376bd2d8f455d435d85323e"></a><!-- doxytag: member="dbus-internals.c::_dbus_uuid_encode" ref="gf08364813376bd2d8f455d435d85323e" args="(const DBusGUID *uuid, DBusString *encoded)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_uuid_encode           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="unionDBusGUID.html">DBusGUID</a> *&nbsp;</td>
          <td class="paramname"> <em>uuid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>encoded</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Hex-encode a UUID. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>uuid</em>&nbsp;</td><td>the uuid </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>encoded</em>&nbsp;</td><td>string to append hex uuid to </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> if no memory </dd></dl>

<p>
Definition at line <a class="el" href="dbus-internals_8c-source.html#l00529">529</a> of file <a class="el" href="dbus-internals_8c-source.html">dbus-internals.c</a>.
<p>
References <a class="el" href="dbus-string_8c-source.html#l02442">_dbus_string_hex_encode()</a>, <a class="el" href="dbus-string_8c-source.html#l00229">_dbus_string_init_const_len()</a>, and <a class="el" href="dbus-internals_8h-source.html#l00331">DBusGUID::as_bytes</a>.
<p>
Referenced by <a class="el" href="dbus-internals_8c-source.html#l00715">_dbus_get_local_machine_uuid_encoded()</a>, and <a class="el" href="dbus-server_8c-source.html#l00096">_dbus_server_init_base()</a>.
</div>
</div><p>
<a class="anchor" name="g45f661c5a089ed45233a1acabaf31964"></a><!-- doxytag: member="dbus-sysdeps-util-unix.c::_dbus_verify_daemon_user" ref="g45f661c5a089ed45233a1acabaf31964" args="(const char *user)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_verify_daemon_user           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>user</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Verify that after the fork we can successfully change to this user. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>user</em>&nbsp;</td><td>the username given in the daemon configuration </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if username is valid </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00258">258</a> of file <a class="el" href="dbus-sysdeps-util-unix_8c-source.html">dbus-sysdeps-util-unix.c</a>.
<p>
References <a class="el" href="dbus-userdb-util_8c-source.html#l00164">_dbus_get_user_id_and_primary_group()</a>, <a class="el" href="dbus-string_8c-source.html#l00209">_dbus_string_init_const()</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
</div>
</div><p>
<a class="anchor" name="gbea2c16d6d3fe7c4eb5b9496fc877f84"></a><!-- doxytag: member="dbus-internals.c::_dbus_warn" ref="gbea2c16d6d3fe7c4eb5b9496fc877f84" args="(const char *format,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _dbus_warn           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Prints a warning message to stderr. 
<p>
Can optionally be made to exit fatally by setting DBUS_FATAL_WARNINGS, but this is rarely used. This function should be considered pretty much equivalent to fprintf(stderr). <a class="el" href="group__DBusInternalsUtils.html#g63f2f8a068454b781f214ba596e313b4">_dbus_warn_check_failed()</a> on the other hand is suitable for use when a programming mistake has been made.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>printf-style format string. </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-internals_8c-source.html#l00238">238</a> of file <a class="el" href="dbus-internals_8c-source.html">dbus-internals.c</a>.
<p>
References <a class="el" href="dbus-sysdeps_8c-source.html#l00072">_dbus_abort()</a>.
<p>
Referenced by <a class="el" href="dbus-sysdeps-unix_8c-source.html#l03171">_dbus_append_keyring_directory_for_credentials()</a>, <a class="el" href="dbus-spawn_8c-source.html#l00264">_dbus_babysitter_unref()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00275">_dbus_change_to_daemon_user()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02641">_dbus_full_duplex_pipe()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l00609">_dbus_listen_unix_socket()</a>, <a class="el" href="dbus-marshal-basic_8c-source.html#l01080">_dbus_marshal_skip_basic()</a>, <a class="el" href="dbus-message_8c-source.html#l00641">_dbus_message_iter_get_args_valist()</a>, <a class="el" href="dbus-object-tree_8c-source.html#l00385">_dbus_object_tree_register()</a>, <a class="el" href="dbus-object-tree_8c-source.html#l00428">_dbus_object_tree_unregister_and_unlock()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l01827">_dbus_poll()</a>, and <a class="el" href="dbus-message_8c-source.html#l01514">dbus_message_append_args_valist()</a>.
</div>
</div><p>
<a class="anchor" name="g63f2f8a068454b781f214ba596e313b4"></a><!-- doxytag: member="dbus-internals.c::_dbus_warn_check_failed" ref="g63f2f8a068454b781f214ba596e313b4" args="(const char *format,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _dbus_warn_check_failed           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Prints a "critical" warning to stderr when an assertion fails; differs from _dbus_warn primarily in that it prefixes the pid and defaults to fatal. 
<p>
This should be used only when a programming error has been detected. (NOT for unavoidable errors that an app might handle - those should be returned as <a class="el" href="structDBusError.html">DBusError</a>.) Calling this means "there is a bug" 
<p>
Definition at line <a class="el" href="dbus-internals_8c-source.html#l00266">266</a> of file <a class="el" href="dbus-internals_8c-source.html">dbus-internals.c</a>.
<p>
References <a class="el" href="dbus-sysdeps_8c-source.html#l00072">_dbus_abort()</a>, and <a class="el" href="dbus-sysdeps-unix_8c-source.html#l01696">_dbus_pid_for_log()</a>.
<p>
Referenced by <a class="el" href="dbus-dataslot_8c-source.html#l00067">_dbus_data_slot_allocator_alloc()</a>, <a class="el" href="dbus-internals_8c-source.html#l00715">_dbus_get_local_machine_uuid_encoded()</a>, <a class="el" href="dbus-marshal-basic_8c-source.html#l00503">_dbus_marshal_read_basic()</a>, <a class="el" href="dbus-transport_8c-source.html#l00830">_dbus_transport_handle_watch()</a>, <a class="el" href="dbus-marshal-recursive_8c-source.html#l00973">_dbus_type_reader_recurse()</a>, <a class="el" href="dbus-connection_8c-source.html#l02741">dbus_connection_close()</a>, <a class="el" href="dbus-connection_8c-source.html#l05212">dbus_connection_remove_filter()</a>, <a class="el" href="dbus-connection_8c-source.html#l04649">dbus_connection_set_timeout_functions()</a>, <a class="el" href="dbus-connection_8c-source.html#l04567">dbus_connection_set_watch_functions()</a>, <a class="el" href="dbus-connection_8c-source.html#l02610">dbus_connection_unref()</a>, <a class="el" href="dbus-server_8c-source.html#l00952">dbus_server_set_timeout_functions()</a>, <a class="el" href="dbus-server_8c-source.html#l00899">dbus_server_set_watch_functions()</a>, and <a class="el" href="dbus-watch_8c-source.html#l00640">dbus_watch_handle()</a>.
</div>
</div><p>
<a class="anchor" name="g912d34a7e40b3a57864972e6d6ab65ba"></a><!-- doxytag: member="dbus-sysdeps-util-unix.c::_dbus_windows_user_is_process_owner" ref="g912d34a7e40b3a57864972e6d6ab65ba" args="(const char *windows_sid)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_windows_user_is_process_owner           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>windows_sid</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Checks to see if the Windows user SID matches the owner of the process. 
<p>
Should always return <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> on UNIX.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>windows_sid</em>&nbsp;</td><td>the Windows user SID </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if this user owns the process. </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00966">966</a> of file <a class="el" href="dbus-sysdeps-util-unix_8c-source.html">dbus-sysdeps-util-unix.c</a>.
<p>
References <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>.
</div>
</div><p>
<a class="anchor" name="g7461c6fa553c30f4eb8482675e86668c"></a><!-- doxytag: member="dbus-sysdeps-util-unix.c::_dbus_write_pid_file" ref="g7461c6fa553c30f4eb8482675e86668c" args="(const DBusString *filename, unsigned long pid, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_write_pid_file           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> *&nbsp;</td>
          <td class="paramname"> <em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned long&nbsp;</td>
          <td class="paramname"> <em>pid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> *&nbsp;</td>
          <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Creates a file containing the process ID. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>the filename to write to </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pid</em>&nbsp;</td><td>our process ID </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>return location for errors </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> on failure </dd></dl>

<p>
Definition at line <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00202">202</a> of file <a class="el" href="dbus-sysdeps-util-unix_8c-source.html">dbus-sysdeps-util-unix.c</a>.
<p>
References <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02531">_dbus_close()</a>, <a class="el" href="dbus-sysdeps_8c-source.html#l00899">_dbus_error_from_errno()</a>, <a class="el" href="dbus-errors_8c-source.html#l00326">dbus_set_error()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
<p>
Referenced by <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00074">_dbus_become_daemon()</a>.
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="g7599f9e4a6b9551b28e68b51b66851d3"></a><!-- doxytag: member="dbus-internals.c::_dbus_return_if_fail_warning_format" ref="g7599f9e4a6b9551b28e68b51b66851d3" args="[]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char <a class="el" href="group__DBusInternalsUtils.html#g7599f9e4a6b9551b28e68b51b66851d3">_dbus_return_if_fail_warning_format</a>[]          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Initial value:</b><div class="fragment"><pre class="fragment">
<span class="stringliteral">"arguments to %s() were incorrect, assertion \"%s\" failed in file %s line %d.\n"</span>
<span class="stringliteral">"This is normally a bug in some application using the D-Bus library.\n"</span>
</pre></div>String used in _dbus_return_if_fail macro. 
<p>

<p>
Definition at line <a class="el" href="dbus-internals_8c-source.html#l00788">788</a> of file <a class="el" href="dbus-internals_8c-source.html">dbus-internals.c</a>.
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 14 22:26:13 2009 for D-Bus by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

Anon7 - 2021