Current File : //usr/share/doc/dbus/api/dbus-marshal-recursive_8h_source.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: dbus-marshal-recursive.h Source File</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 class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="headertitle">
<div class="title">dbus-marshal-recursive.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- mode: C; c-file-style: &quot;gnu&quot;; indent-tabs-mode: nil; -*- */</span>
<a name="l00002"></a>00002 <span class="comment">/* dbus-marshal-recursive.h  Marshalling routines for recursive types</span>
<a name="l00003"></a>00003 <span class="comment"> *</span>
<a name="l00004"></a>00004 <span class="comment"> * Copyright (C) 2004, 2005 Red Hat, Inc.</span>
<a name="l00005"></a>00005 <span class="comment"> *</span>
<a name="l00006"></a>00006 <span class="comment"> * Licensed under the Academic Free License version 2.1</span>
<a name="l00007"></a>00007 <span class="comment"> *</span>
<a name="l00008"></a>00008 <span class="comment"> * This program is free software; you can redistribute it and/or modify</span>
<a name="l00009"></a>00009 <span class="comment"> * it under the terms of the GNU General Public License as published by</span>
<a name="l00010"></a>00010 <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span>
<a name="l00011"></a>00011 <span class="comment"> * (at your option) any later version.</span>
<a name="l00012"></a>00012 <span class="comment"> *</span>
<a name="l00013"></a>00013 <span class="comment"> * This program is distributed in the hope that it will be useful,</span>
<a name="l00014"></a>00014 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00015"></a>00015 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
<a name="l00016"></a>00016 <span class="comment"> * GNU General Public License for more details.</span>
<a name="l00017"></a>00017 <span class="comment"> *</span>
<a name="l00018"></a>00018 <span class="comment"> * You should have received a copy of the GNU General Public License</span>
<a name="l00019"></a>00019 <span class="comment"> * along with this program; if not, write to the Free Software</span>
<a name="l00020"></a>00020 <span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA</span>
<a name="l00021"></a>00021 <span class="comment"> *</span>
<a name="l00022"></a>00022 <span class="comment"> */</span>
<a name="l00023"></a>00023 
<a name="l00024"></a>00024 <span class="preprocessor">#ifndef DBUS_MARSHAL_RECURSIVE_H</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#define DBUS_MARSHAL_RECURSIVE_H</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span>
<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;dbus/dbus-protocol.h&gt;</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;dbus/dbus-list.h&gt;</span>
<a name="l00029"></a>00029 
<a name="l00030"></a>00030 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a>      <a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a>;
<a name="l00031"></a>00031 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structDBusTypeWriter.html" title="The type writer is an iterator for writing to a block of values.">DBusTypeWriter</a>      <a class="code" href="structDBusTypeWriter.html" title="The type writer is an iterator for writing to a block of values.">DBusTypeWriter</a>;
<a name="l00032"></a>00032 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structDBusTypeReaderClass.html" title="Virtual table for a type reader.">DBusTypeReaderClass</a> <a class="code" href="structDBusTypeReaderClass.html" title="Virtual table for a type reader.">DBusTypeReaderClass</a>;
<a name="l00033"></a>00033 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structDBusArrayLenFixup.html" title="When modifying an existing block of values, array lengths may need to be adjusted; those adjustments ...">DBusArrayLenFixup</a>   <a class="code" href="structDBusArrayLenFixup.html" title="When modifying an existing block of values, array lengths may need to be adjusted; those adjustments ...">DBusArrayLenFixup</a>;
<a name="l00034"></a>00034 
<a name="l00039"></a><a class="code" href="structDBusTypeReader.html">00039</a> <span class="keyword">struct </span><a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a>
<a name="l00040"></a>00040 {
<a name="l00041"></a><a class="code" href="structDBusTypeReader.html#aeb0846d954066f420e1df98b81148702">00041</a>   <a class="code" href="group__DBusTypes.html#gaf513803b030613a669cc7ef199f90a8b" title="A 32-bit unsigned integer on all platforms.">dbus_uint32_t</a> <a class="code" href="structDBusTypeReader.html#aeb0846d954066f420e1df98b81148702" title="byte order of the block">byte_order</a> : 8; 
<a name="l00043"></a><a class="code" href="structDBusTypeReader.html#a551e64ee83df38ebda8c3677a91afe1b">00043</a>   <a class="code" href="group__DBusTypes.html#gaf513803b030613a669cc7ef199f90a8b" title="A 32-bit unsigned integer on all platforms.">dbus_uint32_t</a> <a class="code" href="structDBusTypeReader.html#a551e64ee83df38ebda8c3677a91afe1b" title="marks we&#39;re at end iterator for cases where we don&#39;t have another way to tell">finished</a> : 1;   
<a name="l00046"></a><a class="code" href="structDBusTypeReader.html#a930fb8d6c82f269b0a151cfb33df86b3">00046</a>   <a class="code" href="group__DBusTypes.html#gaf513803b030613a669cc7ef199f90a8b" title="A 32-bit unsigned integer on all platforms.">dbus_uint32_t</a> <a class="code" href="structDBusTypeReader.html#a930fb8d6c82f269b0a151cfb33df86b3" title="bytes back from start_pos that len ends">array_len_offset</a> : 3; 
<a name="l00047"></a><a class="code" href="structDBusTypeReader.html#af52e270ededd0aabb642c6130a3e9e40">00047</a>   <span class="keyword">const</span> <a class="code" href="structDBusString.html">DBusString</a> *<a class="code" href="structDBusTypeReader.html#af52e270ededd0aabb642c6130a3e9e40" title="string containing signature of block">type_str</a>;   
<a name="l00048"></a><a class="code" href="structDBusTypeReader.html#a160a55f9869e297572c5aa5b6ce7bc71">00048</a>   <span class="keywordtype">int</span> <a class="code" href="structDBusTypeReader.html#a160a55f9869e297572c5aa5b6ce7bc71" title="current position in signature">type_pos</a>;                 
<a name="l00049"></a><a class="code" href="structDBusTypeReader.html#a4065d7775758beb044ee23a71875571f">00049</a>   <span class="keyword">const</span> <a class="code" href="structDBusString.html">DBusString</a> *<a class="code" href="structDBusTypeReader.html#a4065d7775758beb044ee23a71875571f" title="string containing values of block">value_str</a>;  
<a name="l00050"></a><a class="code" href="structDBusTypeReader.html#ac17280869573f060a945a43e4a5c3ca4">00050</a>   <span class="keywordtype">int</span> <a class="code" href="structDBusTypeReader.html#ac17280869573f060a945a43e4a5c3ca4" title="current position in values">value_pos</a>;                
<a name="l00052"></a><a class="code" href="structDBusTypeReader.html#a238bd0d5a30d8f59fd9b71c95af25563">00052</a>   <span class="keyword">const</span> <a class="code" href="structDBusTypeReaderClass.html" title="Virtual table for a type reader.">DBusTypeReaderClass</a> *<a class="code" href="structDBusTypeReader.html#a238bd0d5a30d8f59fd9b71c95af25563" title="the vtable for the reader">klass</a>; 
<a name="l00053"></a>00053   <span class="keyword">union</span>
<a name="l00054"></a>00054   {
<a name="l00055"></a>00055     <span class="keyword">struct </span>{
<a name="l00056"></a><a class="code" href="structDBusTypeReader.html#a88a36090d466a1fc085a55f764e3a129">00056</a>       <span class="keywordtype">int</span> <a class="code" href="structDBusTypeReader.html#a88a36090d466a1fc085a55f764e3a129" title="for array readers, the start of the array values">start_pos</a>;                
<a name="l00057"></a>00057     } array;
<a name="l00058"></a>00058   } <a class="code" href="structDBusTypeReader.html#ada12bed6758840dc19b1fcb271fb01be" title="class-specific data">u</a>; 
<a name="l00059"></a>00059 };
<a name="l00060"></a>00060 
<a name="l00064"></a><a class="code" href="structDBusTypeWriter.html">00064</a> <span class="keyword">struct </span><a class="code" href="structDBusTypeWriter.html" title="The type writer is an iterator for writing to a block of values.">DBusTypeWriter</a>
<a name="l00065"></a>00065 {
<a name="l00066"></a><a class="code" href="structDBusTypeWriter.html#a6c4baf0b7148cf3f76924b654dada148">00066</a>   <a class="code" href="group__DBusTypes.html#gaf513803b030613a669cc7ef199f90a8b" title="A 32-bit unsigned integer on all platforms.">dbus_uint32_t</a> <a class="code" href="structDBusTypeWriter.html#a6c4baf0b7148cf3f76924b654dada148" title="byte order to write values with">byte_order</a> : 8;            
<a name="l00068"></a><a class="code" href="structDBusTypeWriter.html#ad0953035070c7c7d21b044b7b2f0f491">00068</a>   <a class="code" href="group__DBusTypes.html#gaf513803b030613a669cc7ef199f90a8b" title="A 32-bit unsigned integer on all platforms.">dbus_uint32_t</a> <a class="code" href="structDBusTypeWriter.html#ad0953035070c7c7d21b044b7b2f0f491" title="what are we inside? (e.g.">container_type</a> : 8;        
<a name="l00070"></a><a class="code" href="structDBusTypeWriter.html#ae6db89e9a3adcd52678dc089810cfb0b">00070</a>   <a class="code" href="group__DBusTypes.html#gaf513803b030613a669cc7ef199f90a8b" title="A 32-bit unsigned integer on all platforms.">dbus_uint32_t</a> <a class="code" href="structDBusTypeWriter.html#ae6db89e9a3adcd52678dc089810cfb0b" title="type_pos can be either an insertion point for or an expected next type">type_pos_is_expectation</a> : 1; 
<a name="l00072"></a><a class="code" href="structDBusTypeWriter.html#a52c8617918c108d36b947cbdfc99c6ea">00072</a>   <a class="code" href="group__DBusTypes.html#gaf513803b030613a669cc7ef199f90a8b" title="A 32-bit unsigned integer on all platforms.">dbus_uint32_t</a> <a class="code" href="structDBusTypeWriter.html#a52c8617918c108d36b947cbdfc99c6ea" title="whether to write values">enabled</a> : 1; 
<a name="l00074"></a><a class="code" href="structDBusTypeWriter.html#a95204ef3a9cf29ee31687032b142b836">00074</a>   <a class="code" href="structDBusString.html">DBusString</a> *<a class="code" href="structDBusTypeWriter.html#a95204ef3a9cf29ee31687032b142b836" title="where to write typecodes (or read type expectations)">type_str</a>; 
<a name="l00075"></a><a class="code" href="structDBusTypeWriter.html#a77c19debc0427372f368cfe7188951f8">00075</a>   <span class="keywordtype">int</span> <a class="code" href="structDBusTypeWriter.html#a77c19debc0427372f368cfe7188951f8" title="current pos in type_str">type_pos</a>;         
<a name="l00076"></a><a class="code" href="structDBusTypeWriter.html#aa4e4b3af31fd7a93d0e54d10882bcc07">00076</a>   <a class="code" href="structDBusString.html">DBusString</a> *<a class="code" href="structDBusTypeWriter.html#aa4e4b3af31fd7a93d0e54d10882bcc07" title="where to write values">value_str</a>; 
<a name="l00077"></a><a class="code" href="structDBusTypeWriter.html#a27c0475eedd90be65f90a799e5210947">00077</a>   <span class="keywordtype">int</span> <a class="code" href="structDBusTypeWriter.html#a27c0475eedd90be65f90a799e5210947" title="next position to write">value_pos</a>;         
<a name="l00079"></a>00079   <span class="keyword">union</span>
<a name="l00080"></a>00080   {
<a name="l00081"></a>00081     <span class="keyword">struct </span>{
<a name="l00082"></a><a class="code" href="structDBusTypeWriter.html#a24531a73a7b434bc3596a13dc0a12957">00082</a>       <span class="keywordtype">int</span> <a class="code" href="structDBusTypeWriter.html#a24531a73a7b434bc3596a13dc0a12957" title="position of first element in the array">start_pos</a>; 
<a name="l00083"></a><a class="code" href="structDBusTypeWriter.html#a9bb5ce609d67e3254d35a261a425788c">00083</a>       <span class="keywordtype">int</span> <a class="code" href="structDBusTypeWriter.html#a9bb5ce609d67e3254d35a261a425788c" title="position of length of the array">len_pos</a>;   
<a name="l00084"></a><a class="code" href="structDBusTypeWriter.html#a2241529e1b6ab17bf0bbb838c896e02b">00084</a>       <span class="keywordtype">int</span> <a class="code" href="structDBusTypeWriter.html#a2241529e1b6ab17bf0bbb838c896e02b" title="position of array element type in type_str">element_type_pos</a>; 
<a name="l00085"></a>00085     } array;
<a name="l00086"></a>00086   } <a class="code" href="structDBusTypeWriter.html#afe24080d2be45fb6033833a1a38d5d1a" title="class-specific data">u</a>; 
<a name="l00087"></a>00087 };
<a name="l00088"></a>00088 
<a name="l00093"></a><a class="code" href="structDBusArrayLenFixup.html">00093</a> <span class="keyword">struct </span><a class="code" href="structDBusArrayLenFixup.html" title="When modifying an existing block of values, array lengths may need to be adjusted; those adjustments ...">DBusArrayLenFixup</a>
<a name="l00094"></a>00094 {
<a name="l00095"></a><a class="code" href="structDBusArrayLenFixup.html#aad03f6087695c9e9b409817ac34c6e2b">00095</a>   <span class="keywordtype">int</span> <a class="code" href="structDBusArrayLenFixup.html#aad03f6087695c9e9b409817ac34c6e2b" title="where the length was in the original block">len_pos_in_reader</a>; 
<a name="l00096"></a><a class="code" href="structDBusArrayLenFixup.html#a97cccea61d89992e6ad3a19bd569dd2f">00096</a>   <span class="keywordtype">int</span> <a class="code" href="structDBusArrayLenFixup.html#a97cccea61d89992e6ad3a19bd569dd2f" title="the new value of the length in the written-out block">new_len</a>;           
<a name="l00097"></a>00097 };
<a name="l00098"></a>00098 
<a name="l00099"></a>00099 <span class="keywordtype">void</span>        <a class="code" href="group__DBusMarshal.html#ga35d70cf69b1196518367e3e68e9b2dd2" title="Initializes a type reader.">_dbus_type_reader_init</a>                      (<a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a>        *reader,
<a name="l00100"></a>00100                                                          <span class="keywordtype">int</span>                    byte_order,
<a name="l00101"></a>00101                                                          <span class="keyword">const</span> <a class="code" href="structDBusString.html">DBusString</a>      *type_str,
<a name="l00102"></a>00102                                                          <span class="keywordtype">int</span>                    type_pos,
<a name="l00103"></a>00103                                                          <span class="keyword">const</span> <a class="code" href="structDBusString.html">DBusString</a>      *value_str,
<a name="l00104"></a>00104                                                          <span class="keywordtype">int</span>                    value_pos);
<a name="l00105"></a>00105 <span class="keywordtype">void</span>        <a class="code" href="group__DBusMarshal.html#ga3a5845f555f11c33ebaa71a75abff661" title="Like _dbus_type_reader_init() but the iteration is over the signature, not over values.">_dbus_type_reader_init_types_only</a>           (<a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a>        *reader,
<a name="l00106"></a>00106                                                          <span class="keyword">const</span> <a class="code" href="structDBusString.html">DBusString</a>      *type_str,
<a name="l00107"></a>00107                                                          <span class="keywordtype">int</span>                    type_pos);
<a name="l00108"></a>00108 <span class="keywordtype">int</span>         <a class="code" href="group__DBusMarshal.html#gab8e39cb8084247d54d7f272c51622a73" title="Gets the type of the value the reader is currently pointing to; or for a types-only reader gets the t...">_dbus_type_reader_get_current_type</a>          (<span class="keyword">const</span> <a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a>  *reader);
<a name="l00109"></a>00109 <span class="keywordtype">int</span>         <a class="code" href="group__DBusMarshal.html#ga6e5439f7ca5ee8a1ce943ddab7611d0d" title="Gets the type of an element of the array the reader is currently pointing to.">_dbus_type_reader_get_element_type</a>          (<span class="keyword">const</span> <a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a>  *reader);
<a name="l00110"></a>00110 <span class="keywordtype">int</span>         <a class="code" href="group__DBusMarshal.html#ga2a8ab1152821950b1fe29e000954981c" title="Gets the current position in the value block.">_dbus_type_reader_get_value_pos</a>             (<span class="keyword">const</span> <a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a>  *reader);
<a name="l00111"></a>00111 <span class="keywordtype">void</span>        <a class="code" href="group__DBusMarshal.html#gaa54355ee98d6721d7a29b5ae7d92eb9a" title="Reads a basic-typed value, as with _dbus_marshal_read_basic().">_dbus_type_reader_read_basic</a>                (<span class="keyword">const</span> <a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a>  *reader,
<a name="l00112"></a>00112                                                          <span class="keywordtype">void</span>                  *value);
<a name="l00113"></a>00113 <span class="keywordtype">int</span>         <a class="code" href="group__DBusMarshal.html#ga7def93d676d528c261aa274cea41c29d" title="Returns the number of bytes in the array.">_dbus_type_reader_get_array_length</a>          (<span class="keyword">const</span> <a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a>  *reader);
<a name="l00114"></a>00114 <span class="keywordtype">void</span>        <a class="code" href="group__DBusMarshal.html#gae9a65c05e58ace9c83352f65af2fe745" title="Reads a block of fixed-length basic values, from the current point in an array to the end of the arra...">_dbus_type_reader_read_fixed_multi</a>          (<span class="keyword">const</span> <a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a>  *reader,
<a name="l00115"></a>00115                                                          <span class="keywordtype">void</span>                  *value,
<a name="l00116"></a>00116                                                          <span class="keywordtype">int</span>                   *n_elements);
<a name="l00117"></a>00117 <span class="keywordtype">void</span>        <a class="code" href="group__DBusMarshal.html#gac87315d74386314ec3b148ef737626d2" title="Get the address of the marshaled value in the data being read.">_dbus_type_reader_read_raw</a>                  (<span class="keyword">const</span> <a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a>  *reader,
<a name="l00118"></a>00118                                                          <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>  **value_location);
<a name="l00119"></a>00119 <span class="keywordtype">void</span>        <a class="code" href="group__DBusMarshal.html#ga082b410820c74b2a6ca816a8e0c91803" title="Initialize a new reader pointing to the first type and corresponding value that&#39;s a child of the curr...">_dbus_type_reader_recurse</a>                   (<a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a>        *reader,
<a name="l00120"></a>00120                                                          <a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a>        *subreader);
<a name="l00121"></a>00121 <a class="code" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349" title="A boolean, valid values are TRUE and FALSE.">dbus_bool_t</a> <a class="code" href="group__DBusMarshal.html#ga746c09512d4905f2d2fac7ed4c3c63c2" title="Skip to the next value on this &quot;level&quot;.">_dbus_type_reader_next</a>                      (<a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a>        *reader);
<a name="l00122"></a>00122 <a class="code" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349" title="A boolean, valid values are TRUE and FALSE.">dbus_bool_t</a> <a class="code" href="group__DBusMarshal.html#ga97a59dbd1597ef1b267457e809f095de" title="Check whether there&#39;s another value on this &quot;level&quot;.">_dbus_type_reader_has_next</a>                  (<span class="keyword">const</span> <a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a>  *reader);
<a name="l00123"></a>00123 <span class="keywordtype">void</span>        <a class="code" href="group__DBusMarshal.html#ga4578cc623c8b0978ca780ce0ab950fdb" title="Gets the string and range of said string containing the signature of the current value.">_dbus_type_reader_get_signature</a>             (<span class="keyword">const</span> <a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a>  *reader,
<a name="l00124"></a>00124                                                          <span class="keyword">const</span> <a class="code" href="structDBusString.html">DBusString</a>     **str_p,
<a name="l00125"></a>00125                                                          <span class="keywordtype">int</span>                   *start_p,
<a name="l00126"></a>00126                                                          <span class="keywordtype">int</span>                   *len_p);
<a name="l00127"></a>00127 <a class="code" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349" title="A boolean, valid values are TRUE and FALSE.">dbus_bool_t</a> <a class="code" href="group__DBusMarshal.html#gaaf11ca429434c2c280f5fad34ed95204" title="Sets a new value for the basic type value pointed to by the reader, leaving the reader valid to conti...">_dbus_type_reader_set_basic</a>                 (<a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a>        *reader,
<a name="l00128"></a>00128                                                          <span class="keyword">const</span> <span class="keywordtype">void</span>            *value,
<a name="l00129"></a>00129                                                          <span class="keyword">const</span> <a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a>  *realign_root);
<a name="l00130"></a>00130 <a class="code" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349" title="A boolean, valid values are TRUE and FALSE.">dbus_bool_t</a> <a class="code" href="group__DBusMarshal.html#gaa4057610b3d9e81fed212c17f6599516" title="Recursively deletes any value pointed to by the reader, leaving the reader valid to continue reading...">_dbus_type_reader_delete</a>                    (<a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a>        *reader,
<a name="l00131"></a>00131                                                          <span class="keyword">const</span> <a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a>  *realign_root);
<a name="l00132"></a>00132 
<a name="l00133"></a>00133 <a class="code" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349" title="A boolean, valid values are TRUE and FALSE.">dbus_bool_t</a> _dbus_type_reader_equal_values              (<span class="keyword">const</span> <a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a> *lhs,
<a name="l00134"></a>00134                                                          <span class="keyword">const</span> <a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a> *rhs);
<a name="l00135"></a>00135 
<a name="l00136"></a>00136 <span class="keywordtype">void</span>        <a class="code" href="group__DBusMarshal.html#gaf2f5b2f027fa7d24f6179c6dbdf71a83" title="Skips to the next &quot;complete&quot; type inside a type signature.">_dbus_type_signature_next</a>                   (<span class="keyword">const</span> <span class="keywordtype">char</span>            *signature,
<a name="l00137"></a>00137                                                          <span class="keywordtype">int</span>                   *type_pos);
<a name="l00138"></a>00138 
<a name="l00139"></a>00139 <span class="keywordtype">void</span>        <a class="code" href="group__DBusMarshal.html#gadeb83962df31e074874e957d17a0d4d1" title="Initialize a write iterator, which is used to write out values in serialized D-Bus format...">_dbus_type_writer_init</a>                 (<a class="code" href="structDBusTypeWriter.html" title="The type writer is an iterator for writing to a block of values.">DBusTypeWriter</a>        *writer,
<a name="l00140"></a>00140                                                     <span class="keywordtype">int</span>                    byte_order,
<a name="l00141"></a>00141                                                     <a class="code" href="structDBusString.html">DBusString</a>            *type_str,
<a name="l00142"></a>00142                                                     <span class="keywordtype">int</span>                    type_pos,
<a name="l00143"></a>00143                                                     <a class="code" href="structDBusString.html">DBusString</a>            *value_str,
<a name="l00144"></a>00144                                                     <span class="keywordtype">int</span>                    value_pos);
<a name="l00145"></a>00145 <span class="keywordtype">void</span>        <a class="code" href="group__DBusMarshal.html#gaa9ecf7e96d5323bc1da9cdf0c3f2c1e7" title="Initialize a write iterator, with the signature to be provided later.">_dbus_type_writer_init_types_delayed</a>   (<a class="code" href="structDBusTypeWriter.html" title="The type writer is an iterator for writing to a block of values.">DBusTypeWriter</a>        *writer,
<a name="l00146"></a>00146                                                     <span class="keywordtype">int</span>                    byte_order,
<a name="l00147"></a>00147                                                     <a class="code" href="structDBusString.html">DBusString</a>            *value_str,
<a name="l00148"></a>00148                                                     <span class="keywordtype">int</span>                    value_pos);
<a name="l00149"></a>00149 <span class="keywordtype">void</span>        <a class="code" href="group__DBusMarshal.html#ga863b2f232a21582f9e6fe1951b09da91" title="Adds type string to the writer, if it had none.">_dbus_type_writer_add_types</a>            (<a class="code" href="structDBusTypeWriter.html" title="The type writer is an iterator for writing to a block of values.">DBusTypeWriter</a>        *writer,
<a name="l00150"></a>00150                                                     <a class="code" href="structDBusString.html">DBusString</a>            *type_str,
<a name="l00151"></a>00151                                                     <span class="keywordtype">int</span>                    type_pos);
<a name="l00152"></a>00152 <span class="keywordtype">void</span>        <a class="code" href="group__DBusMarshal.html#ga34d675b57c7e6569707d22ba76ae010c" title="Removes type string from the writer.">_dbus_type_writer_remove_types</a>         (<a class="code" href="structDBusTypeWriter.html" title="The type writer is an iterator for writing to a block of values.">DBusTypeWriter</a>        *writer);
<a name="l00153"></a>00153 <span class="keywordtype">void</span>        <a class="code" href="group__DBusMarshal.html#ga1f101175ce6f33221fcb59f0b46349bd" title="Like _dbus_type_writer_init(), except the type string passed in should correspond to an existing sign...">_dbus_type_writer_init_values_only</a>     (<a class="code" href="structDBusTypeWriter.html" title="The type writer is an iterator for writing to a block of values.">DBusTypeWriter</a>        *writer,
<a name="l00154"></a>00154                                                     <span class="keywordtype">int</span>                    byte_order,
<a name="l00155"></a>00155                                                     <span class="keyword">const</span> <a class="code" href="structDBusString.html">DBusString</a>      *type_str,
<a name="l00156"></a>00156                                                     <span class="keywordtype">int</span>                    type_pos,
<a name="l00157"></a>00157                                                     <a class="code" href="structDBusString.html">DBusString</a>            *value_str,
<a name="l00158"></a>00158                                                     <span class="keywordtype">int</span>                    value_pos);
<a name="l00159"></a>00159 <a class="code" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349" title="A boolean, valid values are TRUE and FALSE.">dbus_bool_t</a> <a class="code" href="group__DBusMarshal.html#ga0103b0214766b0ff1ca05bcc7f1e631b" title="Writes out a basic type.">_dbus_type_writer_write_basic</a>          (<a class="code" href="structDBusTypeWriter.html" title="The type writer is an iterator for writing to a block of values.">DBusTypeWriter</a>        *writer,
<a name="l00160"></a>00160                                                     <span class="keywordtype">int</span>                    type,
<a name="l00161"></a>00161                                                     <span class="keyword">const</span> <span class="keywordtype">void</span>            *value);
<a name="l00162"></a>00162 <a class="code" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349" title="A boolean, valid values are TRUE and FALSE.">dbus_bool_t</a> <a class="code" href="group__DBusMarshal.html#gacf99495cbed7462992b6a231563b4528" title="Writes a block of fixed-length basic values, i.e.">_dbus_type_writer_write_fixed_multi</a>    (<a class="code" href="structDBusTypeWriter.html" title="The type writer is an iterator for writing to a block of values.">DBusTypeWriter</a>        *writer,
<a name="l00163"></a>00163                                                     <span class="keywordtype">int</span>                    element_type,
<a name="l00164"></a>00164                                                     <span class="keyword">const</span> <span class="keywordtype">void</span>            *value,
<a name="l00165"></a>00165                                                     <span class="keywordtype">int</span>                    n_elements);
<a name="l00166"></a>00166 <a class="code" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349" title="A boolean, valid values are TRUE and FALSE.">dbus_bool_t</a> <a class="code" href="group__DBusMarshal.html#ga4c0a1036e59dac270141052d951baff2" title="Opens a new container and writes out the initial information for that container.">_dbus_type_writer_recurse</a>              (<a class="code" href="structDBusTypeWriter.html" title="The type writer is an iterator for writing to a block of values.">DBusTypeWriter</a>        *writer,
<a name="l00167"></a>00167                                                     <span class="keywordtype">int</span>                    container_type,
<a name="l00168"></a>00168                                                     <span class="keyword">const</span> <a class="code" href="structDBusString.html">DBusString</a>      *contained_type,
<a name="l00169"></a>00169                                                     <span class="keywordtype">int</span>                    contained_type_start,
<a name="l00170"></a>00170                                                     <a class="code" href="structDBusTypeWriter.html" title="The type writer is an iterator for writing to a block of values.">DBusTypeWriter</a>        *sub);
<a name="l00171"></a>00171 <a class="code" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349" title="A boolean, valid values are TRUE and FALSE.">dbus_bool_t</a> <a class="code" href="group__DBusMarshal.html#gacbe7eddf4f9c19da91b742087fcc111a" title="Closes a container created by _dbus_type_writer_recurse() and writes any additional information to th...">_dbus_type_writer_unrecurse</a>            (<a class="code" href="structDBusTypeWriter.html" title="The type writer is an iterator for writing to a block of values.">DBusTypeWriter</a>        *writer,
<a name="l00172"></a>00172                                                     <a class="code" href="structDBusTypeWriter.html" title="The type writer is an iterator for writing to a block of values.">DBusTypeWriter</a>        *sub);
<a name="l00173"></a>00173 <a class="code" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349" title="A boolean, valid values are TRUE and FALSE.">dbus_bool_t</a> <a class="code" href="group__DBusMarshal.html#gacc2b4c348f93898f6269feb0bf055617" title="Append to an existing array.">_dbus_type_writer_append_array</a>         (<a class="code" href="structDBusTypeWriter.html" title="The type writer is an iterator for writing to a block of values.">DBusTypeWriter</a>        *writer,
<a name="l00174"></a>00174                                                     <span class="keyword">const</span> <a class="code" href="structDBusString.html">DBusString</a>      *contained_type,
<a name="l00175"></a>00175                                                     <span class="keywordtype">int</span>                    contained_type_start,
<a name="l00176"></a>00176                                                     <a class="code" href="structDBusTypeWriter.html" title="The type writer is an iterator for writing to a block of values.">DBusTypeWriter</a>        *sub);
<a name="l00177"></a>00177 <a class="code" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349" title="A boolean, valid values are TRUE and FALSE.">dbus_bool_t</a> <a class="code" href="group__DBusMarshal.html#ga4905750705d220efe9dfc71f49bedc11" title="Iterate through all values in the given reader, writing a copy of each value to the writer...">_dbus_type_writer_write_reader</a>         (<a class="code" href="structDBusTypeWriter.html" title="The type writer is an iterator for writing to a block of values.">DBusTypeWriter</a>        *writer,
<a name="l00178"></a>00178                                                     <a class="code" href="structDBusTypeReader.html" title="The type reader is an iterator for reading values from a block of values.">DBusTypeReader</a>        *reader);
<a name="l00179"></a>00179 
<a name="l00180"></a>00180 
<a name="l00181"></a>00181 <span class="preprocessor">#endif </span><span class="comment">/* DBUS_MARSHAL_RECURSIVE_H */</span>
</pre></div></div><!-- contents -->


<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 3 2016 17:50:30 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>