| 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
 <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 Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusStringInternals.html#ga1e3535c07f25485129d9d17194e303af">_DBUS_STRING_MAX_LENGTH</a>   (_DBUS_INT32_MAX - _DBUS_STRING_ALLOCATION_PADDING)</td></tr>
<tr><td class="mdescLeft"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusStringInternals.html#ga8f488964e430c0ae6a1a4204e0098dfe">DBUS_IS_ASCII_BLANK</a>(c)   ((c) == ' ' || (c) == '\t')</td></tr>
<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusStringInternals.html#ga9c88845804be152df28b81d7cad5673a">DBUS_IS_ASCII_WHITE</a>(c)   ((c) == ' ' || (c) == '\t' || (c) == '\n' || (c) == '\r')</td></tr>
<tr><td class="mdescLeft"> </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-string-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"> </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-string-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"> </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)->invalid); \
_dbus_assert ((real)->len >= 0); \
_dbus_assert ((real)->allocated >= 0); \
_dbus_assert ((real)->len <= ((real)->allocated - _DBUS_STRING_ALLOCATION_PADDING)); \
_dbus_assert ((real)->len <= <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-string-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"> </td>
<td class="paramname">c</td><td>)</td>
<td>   ((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-string-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"> </td>
<td class="paramname">c</td><td>)</td>
<td>   ((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-string-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"> </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)->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-string-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"> </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)->constant); \
_dbus_assert (!(real)->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  <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>