Current File : //usr/share/doc/dbus/api/group__DBusStringInternals.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>D-Bus: DBusString implementation details</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">D-Bus
   &#160;<span id="projectnumber">1.8.20</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#define-members">Defines</a>  </div>
  <div class="headertitle">
<div class="title">DBusString implementation details</div>  </div>
<div class="ingroups"><a class="el" href="group__DBusInternals.html">D-Bus secret internal implementation details</a></div></div><!--header-->
<div class="contents">

<p><a class="el" href="structDBusString.html">DBusString</a> implementation details.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1e3535c07f25485129d9d17194e303af"></a><!-- doxytag: member="DBusStringInternals::_DBUS_STRING_MAX_LENGTH" ref="ga1e3535c07f25485129d9d17194e303af" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusStringInternals.html#ga1e3535c07f25485129d9d17194e303af">_DBUS_STRING_MAX_LENGTH</a>&#160;&#160;&#160;(_DBUS_INT32_MAX - _DBUS_STRING_ALLOCATION_PADDING)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The maximum length of a <a class="el" href="structDBusString.html">DBusString</a>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusStringInternals.html#ga862cb88a139179981e1fcd5643165b56">DBUS_GENERIC_STRING_PREAMBLE</a>(real)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks a bunch of assertions about a string object.  <a href="#ga862cb88a139179981e1fcd5643165b56"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusStringInternals.html#ga376570af2af3ebb7e59d45b49b9582b3">DBUS_STRING_PREAMBLE</a>(str)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks assertions about a string object that needs to be modifiable - may not be locked or const.  <a href="#ga376570af2af3ebb7e59d45b49b9582b3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusStringInternals.html#gad9f957c4027c34a5c330822aa98b9307">DBUS_LOCKED_STRING_PREAMBLE</a>(str)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks assertions about a string object that may be locked but can't be const.  <a href="#gad9f957c4027c34a5c330822aa98b9307"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusStringInternals.html#ga5cf5f12f6d8f839e9a7c3ad790a83316">DBUS_CONST_STRING_PREAMBLE</a>(str)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks assertions about a string that may be const or locked.  <a href="#ga5cf5f12f6d8f839e9a7c3ad790a83316"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusStringInternals.html#ga8f488964e430c0ae6a1a4204e0098dfe">DBUS_IS_ASCII_BLANK</a>(c)&#160;&#160;&#160;((c) == ' ' || (c) == '\t')</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks for ASCII blank byte.  <a href="#ga8f488964e430c0ae6a1a4204e0098dfe"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusStringInternals.html#ga9c88845804be152df28b81d7cad5673a">DBUS_IS_ASCII_WHITE</a>(c)&#160;&#160;&#160;((c) == ' ' || (c) == '\t' || (c) == '\n' || (c) == '\r')</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks for ASCII whitespace byte.  <a href="#ga9c88845804be152df28b81d7cad5673a"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p><a class="el" href="structDBusString.html">DBusString</a> implementation details. </p>
<p>The guts of <a class="el" href="structDBusString.html">DBusString</a>. </p>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ga5cf5f12f6d8f839e9a7c3ad790a83316"></a><!-- doxytag: member="dbus&#45;string&#45;private.h::DBUS_CONST_STRING_PREAMBLE" ref="ga5cf5f12f6d8f839e9a7c3ad790a83316" args="(str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group__DBusStringInternals.html#ga5cf5f12f6d8f839e9a7c3ad790a83316">DBUS_CONST_STRING_PREAMBLE</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">str</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">const</span> <a class="code" href="structDBusRealString.html" title="Internals of DBusString.">DBusRealString</a> *real = (<a class="code" href="structDBusRealString.html" title="Internals of DBusString.">DBusRealString</a>*) str; \
  DBUS_GENERIC_STRING_PREAMBLE (real)
</pre></div>
<p>Checks assertions about a string that may be const or locked. </p>
<p>Also declares the "real" variable pointing to <a class="el" href="structDBusRealString.html" title="Internals of DBusString.">DBusRealString</a>. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>the string. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dbus-string-private_8h_source.html#l00114">114</a> of file <a class="el" href="dbus-string-private_8h_source.html">dbus-string-private.h</a>.</p>

<p>Referenced by <a class="el" href="dbus-string_8c_source.html#l00655">_dbus_string_copy_data()</a>, <a class="el" href="dbus-string_8c_source.html#l00680">_dbus_string_copy_to_buffer()</a>, <a class="el" href="dbus-string_8c_source.html#l00702">_dbus_string_copy_to_buffer_with_nul()</a>, <a class="el" href="dbus-string_8c_source.html#l01747">_dbus_string_find_blank()</a>, <a class="el" href="dbus-string-util_8c_source.html#l00090">_dbus_string_find_byte_backward()</a>, <a class="el" href="dbus-string_8c_source.html#l01609">_dbus_string_find_eol()</a>, <a class="el" href="dbus-string_8c_source.html#l01679">_dbus_string_find_to()</a>, <a class="el" href="dbus-string_8c_source.html#l00545">_dbus_string_get_byte()</a>, <a class="el" href="dbus-string_8c_source.html#l00451">_dbus_string_get_const_data()</a>, <a class="el" href="dbus-string_8c_source.html#l00497">_dbus_string_get_const_data_len()</a>, <a class="el" href="dbus-string_8c_source.html#l00722">_dbus_string_get_length()</a>, <a class="el" href="dbus-string_8c_source.html#l01785">_dbus_string_skip_blank()</a>, <a class="el" href="dbus-string_8c_source.html#l01819">_dbus_string_skip_white()</a>, <a class="el" href="dbus-string_8c_source.html#l01852">_dbus_string_skip_white_reverse()</a>, <a class="el" href="dbus-string_8c_source.html#l02432">_dbus_string_validate_ascii()</a>, <a class="el" href="dbus-string_8c_source.html#l02635">_dbus_string_validate_nul()</a>, and <a class="el" href="dbus-string_8c_source.html#l02537">_dbus_string_validate_utf8()</a>.</p>

</div>
</div>
<a class="anchor" id="ga862cb88a139179981e1fcd5643165b56"></a><!-- doxytag: member="dbus&#45;string&#45;private.h::DBUS_GENERIC_STRING_PREAMBLE" ref="ga862cb88a139179981e1fcd5643165b56" args="(real)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group__DBusStringInternals.html#ga862cb88a139179981e1fcd5643165b56">DBUS_GENERIC_STRING_PREAMBLE</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">real</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> { \
      (void) real; <span class="comment">/* might be unused unless asserting */</span> \
      _dbus_assert ((real) != <a class="code" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a>); \
      _dbus_assert (!(real)-&gt;invalid); \
      _dbus_assert ((real)-&gt;len &gt;= 0); \
      _dbus_assert ((real)-&gt;allocated &gt;= 0); \
      _dbus_assert ((real)-&gt;len &lt;= ((real)-&gt;allocated - _DBUS_STRING_ALLOCATION_PADDING)); \
      _dbus_assert ((real)-&gt;len &lt;= <a class="code" href="group__DBusStringInternals.html#ga1e3535c07f25485129d9d17194e303af" title="The maximum length of a DBusString.">_DBUS_STRING_MAX_LENGTH</a>); \
  } <span class="keywordflow">while</span> (0)
</pre></div>
<p>Checks a bunch of assertions about a string object. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">real</td><td>the <a class="el" href="structDBusRealString.html" title="Internals of DBusString.">DBusRealString</a> </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dbus-string-private_8h_source.html#l00076">76</a> of file <a class="el" href="dbus-string-private_8h_source.html">dbus-string-private.h</a>.</p>

<p>Referenced by <a class="el" href="dbus-string-util_8c_source.html#l00046">_dbus_string_ends_with_c_str()</a>, <a class="el" href="dbus-string_8c_source.html#l01995">_dbus_string_equal()</a>, <a class="el" href="dbus-string_8c_source.html#l02134">_dbus_string_equal_c_str()</a>, <a class="el" href="dbus-string_8c_source.html#l02038">_dbus_string_equal_len()</a>, <a class="el" href="dbus-string_8c_source.html#l02086">_dbus_string_equal_substring()</a>, <a class="el" href="dbus-string_8c_source.html#l00242">_dbus_string_free()</a>, and <a class="el" href="dbus-string_8c_source.html#l02170">_dbus_string_starts_with_c_str()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8f488964e430c0ae6a1a4204e0098dfe"></a><!-- doxytag: member="dbus&#45;string&#45;private.h::DBUS_IS_ASCII_BLANK" ref="ga8f488964e430c0ae6a1a4204e0098dfe" args="(c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group__DBusStringInternals.html#ga8f488964e430c0ae6a1a4204e0098dfe">DBUS_IS_ASCII_BLANK</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c</td><td>)</td>
          <td>&#160;&#160;&#160;((c) == ' ' || (c) == '\t')</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks for ASCII blank byte. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">c</td><td>the byte </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dbus-string-private_8h_source.html#l00121">121</a> of file <a class="el" href="dbus-string-private_8h_source.html">dbus-string-private.h</a>.</p>

<p>Referenced by <a class="el" href="dbus-string_8c_source.html#l01785">_dbus_string_skip_blank()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9c88845804be152df28b81d7cad5673a"></a><!-- doxytag: member="dbus&#45;string&#45;private.h::DBUS_IS_ASCII_WHITE" ref="ga9c88845804be152df28b81d7cad5673a" args="(c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group__DBusStringInternals.html#ga9c88845804be152df28b81d7cad5673a">DBUS_IS_ASCII_WHITE</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c</td><td>)</td>
          <td>&#160;&#160;&#160;((c) == ' ' || (c) == '\t' || (c) == '\n' || (c) == '\r')</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks for ASCII whitespace byte. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">c</td><td>the byte </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dbus-string-private_8h_source.html#l00127">127</a> of file <a class="el" href="dbus-string-private_8h_source.html">dbus-string-private.h</a>.</p>

<p>Referenced by <a class="el" href="dbus-string_8c_source.html#l01785">_dbus_string_skip_blank()</a>, <a class="el" href="dbus-string_8c_source.html#l01819">_dbus_string_skip_white()</a>, and <a class="el" href="dbus-string_8c_source.html#l01852">_dbus_string_skip_white_reverse()</a>.</p>

</div>
</div>
<a class="anchor" id="gad9f957c4027c34a5c330822aa98b9307"></a><!-- doxytag: member="dbus&#45;string&#45;private.h::DBUS_LOCKED_STRING_PREAMBLE" ref="gad9f957c4027c34a5c330822aa98b9307" args="(str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group__DBusStringInternals.html#gad9f957c4027c34a5c330822aa98b9307">DBUS_LOCKED_STRING_PREAMBLE</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">str</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="structDBusRealString.html" title="Internals of DBusString.">DBusRealString</a> *real = (<a class="code" href="structDBusRealString.html" title="Internals of DBusString.">DBusRealString</a>*) str; \
  DBUS_GENERIC_STRING_PREAMBLE (real);                                                 \
  _dbus_assert (!(real)-&gt;constant)
</pre></div>
<p>Checks assertions about a string object that may be locked but can't be const. </p>
<p>i.e. a string object that we can free. Also declares the "real" variable pointing to <a class="el" href="structDBusRealString.html" title="Internals of DBusString.">DBusRealString</a>.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>the string </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dbus-string-private_8h_source.html#l00105">105</a> of file <a class="el" href="dbus-string-private_8h_source.html">dbus-string-private.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga376570af2af3ebb7e59d45b49b9582b3"></a><!-- doxytag: member="dbus&#45;string&#45;private.h::DBUS_STRING_PREAMBLE" ref="ga376570af2af3ebb7e59d45b49b9582b3" args="(str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group__DBusStringInternals.html#ga376570af2af3ebb7e59d45b49b9582b3">DBUS_STRING_PREAMBLE</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">str</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="structDBusRealString.html" title="Internals of DBusString.">DBusRealString</a> *real = (<a class="code" href="structDBusRealString.html" title="Internals of DBusString.">DBusRealString</a>*) str; \
  DBUS_GENERIC_STRING_PREAMBLE (real);                                          \
  _dbus_assert (!(real)-&gt;constant);                                             \
  _dbus_assert (!(real)-&gt;locked)
</pre></div>
<p>Checks assertions about a string object that needs to be modifiable - may not be locked or const. </p>
<p>Also declares the "real" variable pointing to <a class="el" href="structDBusRealString.html" title="Internals of DBusString.">DBusRealString</a>. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>the string </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dbus-string-private_8h_source.html#l00093">93</a> of file <a class="el" href="dbus-string-private_8h_source.html">dbus-string-private.h</a>.</p>

<p>Referenced by <a class="el" href="dbus-string_8c_source.html#l00918">_dbus_string_append()</a>, <a class="el" href="dbus-string_8c_source.html#l01139">_dbus_string_append_byte()</a>, <a class="el" href="dbus-string_8c_source.html#l01119">_dbus_string_append_len()</a>, <a class="el" href="dbus-string_8c_source.html#l01055">_dbus_string_append_printf_valist()</a>, <a class="el" href="dbus-string_8c_source.html#l00372">_dbus_string_compact()</a>, <a class="el" href="dbus-string_8c_source.html#l01175">_dbus_string_delete()</a>, <a class="el" href="dbus-string_8c_source.html#l00434">_dbus_string_get_data()</a>, <a class="el" href="dbus-string_8c_source.html#l00473">_dbus_string_get_data_len()</a>, <a class="el" href="dbus-string_8c_source.html#l00955">_dbus_string_insert_2_aligned()</a>, <a class="el" href="dbus-string_8c_source.html#l00979">_dbus_string_insert_4_aligned()</a>, <a class="el" href="dbus-string_8c_source.html#l01003">_dbus_string_insert_8_aligned()</a>, <a class="el" href="dbus-string_8c_source.html#l01031">_dbus_string_insert_alignment()</a>, <a class="el" href="dbus-string_8c_source.html#l00597">_dbus_string_insert_byte()</a>, <a class="el" href="dbus-string_8c_source.html#l00567">_dbus_string_insert_bytes()</a>, <a class="el" href="dbus-string_8c_source.html#l00743">_dbus_string_lengthen()</a>, <a class="el" href="dbus-string_8c_source.html#l00521">_dbus_string_set_byte()</a>, <a class="el" href="dbus-string_8c_source.html#l00785">_dbus_string_set_length()</a>, <a class="el" href="dbus-string_8c_source.html#l00763">_dbus_string_shorten()</a>, <a class="el" href="dbus-string_8c_source.html#l00624">_dbus_string_steal_data()</a>, <a class="el" href="dbus-string_8c_source.html#l02467">_dbus_string_tolower_ascii()</a>, <a class="el" href="dbus-string_8c_source.html#l02498">_dbus_string_toupper_ascii()</a>, and <a class="el" href="dbus-string_8c_source.html#l02667">_dbus_string_zero()</a>.</p>

</div>
</div>
</div><!-- contents -->


<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 3 2016 17:50:33 for D-Bus by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>

</body>
</html>