<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GRPC Core: include/grpc/grpc.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">GRPC Core
   &#160;<span id="projectnumber">0.10.0.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</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>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9d7a14d6d9adcbe4c35dbdb88d867e2e.html">grpc</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">grpc.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="grpc_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright 2015, Google Inc.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * Redistribution and use in source and binary forms, with or without</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * modification, are permitted provided that the following conditions are</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * met:</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *     * Redistributions of source code must retain the above copyright</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * notice, this list of conditions and the following disclaimer.</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *     * Redistributions in binary form must reproduce the above</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * copyright notice, this list of conditions and the following disclaimer</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * in the documentation and/or other materials provided with the</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * distribution.</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *     * Neither the name of Google Inc. nor the names of its</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * contributors may be used to endorse or promote products derived from</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * this software without specific prior written permission.</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#ifndef GRPC_GRPC_H</span></div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_GRPC_H</span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="status_8h.html">grpc/status.h</a>&gt;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &lt;stddef.h&gt;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="byte__buffer_8h.html">grpc/byte_buffer.h</a>&gt;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="slice_8h.html">grpc/support/slice.h</a>&gt;</span></div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="time_8h.html">grpc/support/time.h</a>&gt;</span></div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="grpc_8h.html#a895faab0e6035445750e43482651ba2f">   59</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__completion__queue.html">grpc_completion_queue</a> <a class="code" href="structgrpc__completion__queue.html">grpc_completion_queue</a>;</div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="grpc_8h.html#a432bfa6b9f6603643cdf9de8804c254e">   62</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__channel.html">grpc_channel</a> <a class="code" href="structgrpc__channel.html">grpc_channel</a>;</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="grpc_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">   65</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__server.html">grpc_server</a> <a class="code" href="structgrpc__server.html">grpc_server</a>;</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="grpc_8h.html#a122f8f4f0a585396d993d9b55848f222">   70</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__call.html">grpc_call</a> <a class="code" href="structgrpc__call.html">grpc_call</a>;</div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593">   73</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a215b6b9143ba133ede0e29f79098239d">   74</a></span>&#160;  <a class="code" href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a215b6b9143ba133ede0e29f79098239d">GRPC_ARG_STRING</a>,</div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a8d2f803b8aaf88f34dac1f887826c689">   75</a></span>&#160;  <a class="code" href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a8d2f803b8aaf88f34dac1f887826c689">GRPC_ARG_INTEGER</a>,</div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a02a823a7037e2a60b9d9a031fd42591b">   76</a></span>&#160;  <a class="code" href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a02a823a7037e2a60b9d9a031fd42591b">GRPC_ARG_POINTER</a></div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;} <a class="code" href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593">grpc_arg_type</a>;</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="structgrpc__arg.html">   91</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#aa26f2d3c4b1649c9eb061d24a8c10fd4">   92</a></span>&#160;  <a class="code" href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593">grpc_arg_type</a> <a class="code" href="structgrpc__arg.html#aa26f2d3c4b1649c9eb061d24a8c10fd4">type</a>;</div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#aeb230fbd50daacfe654abc3500a44968">   93</a></span>&#160;  <span class="keywordtype">char</span> *<a class="code" href="structgrpc__arg.html#aeb230fbd50daacfe654abc3500a44968">key</a>;</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <span class="keyword">union </span>{</div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#a05bc3701718db73608ef3598480e8fa8">   95</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="structgrpc__arg.html#a05bc3701718db73608ef3598480e8fa8">string</a>;</div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#a6871bfca9c52e7f56abbd71c81d97554">   96</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structgrpc__arg.html#a6871bfca9c52e7f56abbd71c81d97554">integer</a>;</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#aab5d11432a11b03a53e5d959d9a5328d">   98</a></span>&#160;      <span class="keywordtype">void</span> *<a class="code" href="structgrpc__arg.html#aab5d11432a11b03a53e5d959d9a5328d">p</a>;</div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#abef4f8be0109b19fcbe7f614f1243303">   99</a></span>&#160;      <span class="keywordtype">void</span> *(*copy)(<span class="keywordtype">void</span> *p);</div>
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#a15c9a748974a6ac525074f3ed1e04eb4">  100</a></span>&#160;      void (*destroy)(<span class="keywordtype">void</span> *p);</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    } pointer;</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  } <a class="code" href="hpack__table_8c.html#a8556878012feffc9e0beb86cd78f424d">value</a>;</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;} <a class="code" href="structgrpc__arg.html">grpc_arg</a>;</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div>
<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structgrpc__channel__args.html">  113</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="structgrpc__channel__args.html#a41e5d0b22449f062b3a7798dd528afde">  114</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__channel__args.html#a41e5d0b22449f062b3a7798dd528afde">num_args</a>;</div>
<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="structgrpc__channel__args.html#a05aa7aeb14aa9ae5f4d6a34f5c222b76">  115</a></span>&#160;  <a class="code" href="structgrpc__arg.html">grpc_arg</a> *<a class="code" href="structgrpc__channel__args.html#a05aa7aeb14aa9ae5f4d6a34f5c222b76">args</a>;</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;} <a class="code" href="structgrpc__channel__args.html">grpc_channel_args</a>;</div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="comment">/* Channel argument keys: */</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="grpc_8h.html#ae498934a02de89ce29cec570b02a2037">  120</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_ENABLE_CENSUS &quot;grpc.census&quot;</span></div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="grpc_8h.html#a5bb9256d0b457cab219f4d9d765148b6">  123</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MAX_CONCURRENT_STREAMS &quot;grpc.max_concurrent_streams&quot;</span></div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="grpc_8h.html#a50f37feb7c000a23b3b0edf4c31d4367">  125</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MAX_MESSAGE_LENGTH &quot;grpc.max_message_length&quot;</span></div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="grpc_8h.html#aecc45a63163796ca1bc5453938bdfb36">  127</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER \</span></div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor">  &quot;grpc.http2.initial_sequence_number&quot;</span></div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="grpc_8h.html#add42f97666fbfc66b7dac253ac3b73ae">  130</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_DEFAULT_AUTHORITY &quot;grpc.default_authority&quot;</span></div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0732df2d9003e9ee1c01e50e41b5a8e2">  133</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_PRIMARY_USER_AGENT_STRING &quot;grpc.primary_user_agent&quot;</span></div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="grpc_8h.html#af47b4048c11e4f8f4162f12c135c2da4">  136</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_SECONDARY_USER_AGENT_STRING &quot;grpc.secondary_user_agent&quot;</span></div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2">  139</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a304d1b81cec4357a9a6acbcb18248e77">  141</a></span>&#160;  <a class="code" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a304d1b81cec4357a9a6acbcb18248e77">GRPC_CHANNEL_IDLE</a>,</div>
<div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a3ac13f6c7627f15186760bfd6b7d9299">  143</a></span>&#160;  <a class="code" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a3ac13f6c7627f15186760bfd6b7d9299">GRPC_CHANNEL_CONNECTING</a>,</div>
<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2aab01ef3f78d9236dfa3c751dc66aa7ea">  145</a></span>&#160;  <a class="code" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2aab01ef3f78d9236dfa3c751dc66aa7ea">GRPC_CHANNEL_READY</a>,</div>
<div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2af5bffd3ffb03795f551b0fa78e44b9b6">  147</a></span>&#160;  <a class="code" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2af5bffd3ffb03795f551b0fa78e44b9b6">GRPC_CHANNEL_TRANSIENT_FAILURE</a>,</div>
<div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a8f774ebe233ee26ebd546fe4b58060b6">  149</a></span>&#160;  <a class="code" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a8f774ebe233ee26ebd546fe4b58060b6">GRPC_CHANNEL_FATAL_FAILURE</a></div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;} <a class="code" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2">grpc_connectivity_state</a>;</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div>
<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">  156</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> {</div>
<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba32f125b97007cbdb43534e9d6e0989f8">  158</a></span>&#160;  <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba32f125b97007cbdb43534e9d6e0989f8">GRPC_CALL_OK</a> = 0,</div>
<div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba86e7b6bf1fe5dec17fc08ba2f77d1b41">  160</a></span>&#160;  <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba86e7b6bf1fe5dec17fc08ba2f77d1b41">GRPC_CALL_ERROR</a>,</div>
<div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba1a48e861db610ae8f0b0cba7749251d8">  162</a></span>&#160;  <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba1a48e861db610ae8f0b0cba7749251d8">GRPC_CALL_ERROR_NOT_ON_SERVER</a>,</div>
<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7ba38ea119e00e8b4d10211f4ced9ef6">  164</a></span>&#160;  <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7ba38ea119e00e8b4d10211f4ced9ef6">GRPC_CALL_ERROR_NOT_ON_CLIENT</a>,</div>
<div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba2f6f332e63eb94df8abedfddb96ae63a">  166</a></span>&#160;  <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba2f6f332e63eb94df8abedfddb96ae63a">GRPC_CALL_ERROR_ALREADY_ACCEPTED</a>,</div>
<div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba042165aa26653c844a846d188f722857">  168</a></span>&#160;  <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba042165aa26653c844a846d188f722857">GRPC_CALL_ERROR_ALREADY_INVOKED</a>,</div>
<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba6113860606450e3a3fa40ddf46749296">  170</a></span>&#160;  <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba6113860606450e3a3fa40ddf46749296">GRPC_CALL_ERROR_NOT_INVOKED</a>,</div>
<div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba21256301a6038a6a03fc8444ddd08c63">  173</a></span>&#160;  <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba21256301a6038a6a03fc8444ddd08c63">GRPC_CALL_ERROR_ALREADY_FINISHED</a>,</div>
<div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7e09791915b841c30e9d79c26a5a6454">  175</a></span>&#160;  <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7e09791915b841c30e9d79c26a5a6454">GRPC_CALL_ERROR_TOO_MANY_OPERATIONS</a>,</div>
<div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bae915786320e24eff4f1e05852d40f861">  177</a></span>&#160;  <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bae915786320e24eff4f1e05852d40f861">GRPC_CALL_ERROR_INVALID_FLAGS</a>,</div>
<div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba13f469c7761a672240ddfe29f85729bd">  179</a></span>&#160;  <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba13f469c7761a672240ddfe29f85729bd">GRPC_CALL_ERROR_INVALID_METADATA</a>,</div>
<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bade52e850722f80804d90881ac125706f">  182</a></span>&#160;  <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bade52e850722f80804d90881ac125706f">GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE</a></div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;} <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a>;</div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="comment">/* Write Flags: */</span></div>
<div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="grpc_8h.html#adf29fd8b7df2ecc47d14a7f5a3a079c0">  189</a></span>&#160;<span class="preprocessor">#define GRPC_WRITE_BUFFER_HINT (0x00000001u)</span></div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="grpc_8h.html#ae09000181671f031ed0e319ed557da4e">  192</a></span>&#160;<span class="preprocessor">#define GRPC_WRITE_NO_COMPRESS (0x00000002u)</span></div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="grpc_8h.html#a3317259e1098b2b6f49982d6997bbf6a">  194</a></span>&#160;<span class="preprocessor">#define GRPC_WRITE_USED_MASK (GRPC_WRITE_BUFFER_HINT | GRPC_WRITE_NO_COMPRESS)</span></div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="structgrpc__metadata.html">  197</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__metadata.html">grpc_metadata</a> {</div>
<div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="structgrpc__metadata.html#abe93a3d24cd534d9387e05ad1f0b36f7">  198</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structgrpc__metadata.html#abe93a3d24cd534d9387e05ad1f0b36f7">key</a>;</div>
<div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="structgrpc__metadata.html#a57b63d7b7a3e4720a0cc0d20bb2ecf36">  199</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structgrpc__metadata.html#a57b63d7b7a3e4720a0cc0d20bb2ecf36">value</a>;</div>
<div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="structgrpc__metadata.html#a2084add9ffe64cf337576114d189af3f">  200</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__metadata.html#a2084add9ffe64cf337576114d189af3f">value_length</a>;</div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;</div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;  <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="structgrpc__metadata.html#ae7478a66f65862018cd89768a578ff4f">  207</a></span>&#160;    <span class="keywordtype">void</span> *<a class="code" href="structgrpc__metadata.html#ae7478a66f65862018cd89768a578ff4f">obfuscated</a>[3];</div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;  } <a class="code" href="structgrpc__metadata.html#a342799d4f78fcc6dd29ee44f56a6d553">internal_data</a>;</div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;} <a class="code" href="grpc_8h.html#a1da84eaead787d991c5a0c87aed7c30b">grpc_metadata</a>;</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div>
<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87">  212</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87">grpc_completion_type</a> {</div>
<div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a503dd1b2ec79457f0f810716016219d5">  214</a></span>&#160;  <a class="code" href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a503dd1b2ec79457f0f810716016219d5">GRPC_QUEUE_SHUTDOWN</a>,</div>
<div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a4339ea61236e103b6555fdf9b6cffab6">  216</a></span>&#160;  <a class="code" href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a4339ea61236e103b6555fdf9b6cffab6">GRPC_QUEUE_TIMEOUT</a>,</div>
<div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a00b42e3d4b6e6493c6e76f1adf07b297">  218</a></span>&#160;  <a class="code" href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a00b42e3d4b6e6493c6e76f1adf07b297">GRPC_OP_COMPLETE</a></div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;} <a class="code" href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87">grpc_completion_type</a>;</div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div>
<div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="structgrpc__event.html">  224</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__event.html">grpc_event</a> {</div>
<div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="structgrpc__event.html#a8e7f571b759f55db4f6bebc2a4f56ad7">  226</a></span>&#160;  <a class="code" href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87">grpc_completion_type</a> <a class="code" href="structgrpc__event.html#a8e7f571b759f55db4f6bebc2a4f56ad7">type</a>;</div>
<div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="structgrpc__event.html#a99d4215e5df50869af320b1cca5540db">  229</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="structgrpc__event.html#a99d4215e5df50869af320b1cca5540db">success</a>;</div>
<div class="line"><a name="l00232"></a><span class="lineno"><a class="line" href="structgrpc__event.html#a883ab15e862db582116c72cdcdc4c201">  232</a></span>&#160;  <span class="keywordtype">void</span> *<a class="code" href="structgrpc__event.html#a883ab15e862db582116c72cdcdc4c201">tag</a>;</div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;} <a class="code" href="grpc_8h.html#a07990645ca218f6965fd83edf3f421b7">grpc_event</a>;</div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;</div>
<div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="structgrpc__metadata__array.html">  235</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="structgrpc__metadata__array.html#a314ce51b22a5934cc672f3736d44b9e4">  236</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__metadata__array.html#a314ce51b22a5934cc672f3736d44b9e4">count</a>;</div>
<div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="structgrpc__metadata__array.html#a5b293b4f8e734b032b80741abf538a97">  237</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__metadata__array.html#a5b293b4f8e734b032b80741abf538a97">capacity</a>;</div>
<div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="structgrpc__metadata__array.html#ac930a0cc901913fafcd09ca9cca156fe">  238</a></span>&#160;  <a class="code" href="structgrpc__metadata.html">grpc_metadata</a> *<a class="code" href="structgrpc__metadata__array.html#ac930a0cc901913fafcd09ca9cca156fe">metadata</a>;</div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;} <a class="code" href="structgrpc__metadata__array.html">grpc_metadata_array</a>;</div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;</div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a52cfda44034115720a0e88037dedbfb5">grpc_metadata_array_init</a>(<a class="code" href="structgrpc__metadata__array.html">grpc_metadata_array</a> *array);</div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#aad125726d8b689cc5fc1a0444c91ed44">grpc_metadata_array_destroy</a>(<a class="code" href="structgrpc__metadata__array.html">grpc_metadata_array</a> *array);</div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div>
<div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html">  244</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html#a97c8019d8fa7cbe2014d97c91f9ed0a5">  245</a></span>&#160;  <span class="keywordtype">char</span> *<a class="code" href="structgrpc__call__details.html#a97c8019d8fa7cbe2014d97c91f9ed0a5">method</a>;</div>
<div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html#a8a7da868f60a88f42918cc9bdd4d26c0">  246</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__call__details.html#a8a7da868f60a88f42918cc9bdd4d26c0">method_capacity</a>;</div>
<div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html#a869b5db96e2e0fbd573381e77b859631">  247</a></span>&#160;  <span class="keywordtype">char</span> *<a class="code" href="structgrpc__call__details.html#a869b5db96e2e0fbd573381e77b859631">host</a>;</div>
<div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html#aeab0d9e754bbb1aac1a21ad4ef63d8b1">  248</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__call__details.html#aeab0d9e754bbb1aac1a21ad4ef63d8b1">host_capacity</a>;</div>
<div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html#a6b72caadcf800d975987de18012f0f15">  249</a></span>&#160;  <a class="code" href="structgpr__timespec.html">gpr_timespec</a> <a class="code" href="structgrpc__call__details.html#a6b72caadcf800d975987de18012f0f15">deadline</a>;</div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;} <a class="code" href="structgrpc__call__details.html">grpc_call_details</a>;</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a29fa3bfb0a561ba465260154a4ef3bb5">grpc_call_details_init</a>(<a class="code" href="structgrpc__call__details.html">grpc_call_details</a> *details);</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a436819189c9155a0761db7667f9078f9">grpc_call_details_destroy</a>(<a class="code" href="structgrpc__call__details.html">grpc_call_details</a> *details);</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;</div>
<div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939a">  255</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaf5bbedf13763c180b2f1ada62769d721">  258</a></span>&#160;  <a class="code" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaf5bbedf13763c180b2f1ada62769d721">GRPC_OP_SEND_INITIAL_METADATA</a> = 0,</div>
<div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaa6447181c20e4c6d64a54fae8082ef70">  260</a></span>&#160;  <a class="code" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaa6447181c20e4c6d64a54fae8082ef70">GRPC_OP_SEND_MESSAGE</a>,</div>
<div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa6c66420562347ff4dcf35e4b32c0d486">  264</a></span>&#160;  <a class="code" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa6c66420562347ff4dcf35e4b32c0d486">GRPC_OP_SEND_CLOSE_FROM_CLIENT</a>,</div>
<div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa3a3659314e7495b1cabed0f3a6705f64">  268</a></span>&#160;  <a class="code" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa3a3659314e7495b1cabed0f3a6705f64">GRPC_OP_SEND_STATUS_FROM_SERVER</a>,</div>
<div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaabe080072d165d1e69459abd7c742078">  271</a></span>&#160;  <a class="code" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaabe080072d165d1e69459abd7c742078">GRPC_OP_RECV_INITIAL_METADATA</a>,</div>
<div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aafe3da4c8865af4ef5258b3790d15afc5">  274</a></span>&#160;  <a class="code" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aafe3da4c8865af4ef5258b3790d15afc5">GRPC_OP_RECV_MESSAGE</a>,</div>
<div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa4d43b168589407554a58e91fae80ba17">  279</a></span>&#160;  <a class="code" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa4d43b168589407554a58e91fae80ba17">GRPC_OP_RECV_STATUS_ON_CLIENT</a>,</div>
<div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa8fb75ed79601a4845a39a74d7505cef6">  282</a></span>&#160;  <a class="code" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa8fb75ed79601a4845a39a74d7505cef6">GRPC_OP_RECV_CLOSE_ON_SERVER</a></div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;} <a class="code" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939a">grpc_op_type</a>;</div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;</div>
<div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="structgrpc__op.html">  287</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__op.html">grpc_op</a> {</div>
<div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a702bcecc2462646b6740ed7c05f42115">  289</a></span>&#160;  <a class="code" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939a">grpc_op_type</a> <a class="code" href="structgrpc__op.html#a702bcecc2462646b6740ed7c05f42115">op</a>;</div>
<div class="line"><a name="l00291"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a9e6087665c90f146e5570f12c66d04fb">  291</a></span>&#160;  <a class="code" href="port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9">gpr_uint32</a> <a class="code" href="structgrpc__op.html#a9e6087665c90f146e5570f12c66d04fb">flags</a>;</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;  <span class="keyword">union </span>{</div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;    <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="structgrpc__op.html#ac5983d0a5d60c26ca2d1b37d31ba2e2a">  294</a></span>&#160;      <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__op.html#ac5983d0a5d60c26ca2d1b37d31ba2e2a">count</a>;</div>
<div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a2e0f0c709658960593d5a36915c8d079">  295</a></span>&#160;      <a class="code" href="structgrpc__metadata.html">grpc_metadata</a> *<a class="code" href="structgrpc__op.html#a2e0f0c709658960593d5a36915c8d079">metadata</a>;</div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    } <a class="code" href="structgrpc__op.html#a8e6202e19130ecb872de211a95dcee83">send_initial_metadata</a>;</div>
<div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a3b6c1b3456306a802f6eb0e3e8d0e434">  297</a></span>&#160;    <a class="code" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a> *<a class="code" href="structgrpc__op.html#a3b6c1b3456306a802f6eb0e3e8d0e434">send_message</a>;</div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;    <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a4b9454278c105e08d54142adff37b5ab">  299</a></span>&#160;      <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__op.html#a4b9454278c105e08d54142adff37b5ab">trailing_metadata_count</a>;</div>
<div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a521b48faec3b3f7646a877055f118d47">  300</a></span>&#160;      <a class="code" href="structgrpc__metadata.html">grpc_metadata</a> *<a class="code" href="structgrpc__op.html#a521b48faec3b3f7646a877055f118d47">trailing_metadata</a>;</div>
<div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="structgrpc__op.html#ae0d5a9db463391c0897914ef2d016b25">  301</a></span>&#160;      <a class="code" href="status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> <a class="code" href="structgrpc__op.html#ae0d5a9db463391c0897914ef2d016b25">status</a>;</div>
<div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="structgrpc__op.html#ae460836040d79eb2bd0a6d581b36c461">  302</a></span>&#160;      <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structgrpc__op.html#ae460836040d79eb2bd0a6d581b36c461">status_details</a>;</div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;    } <a class="code" href="structgrpc__op.html#afe7b3ae8f4c495a187f155a5fd6956bb">send_status_from_server</a>;</div>
<div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a81ebfcab8db61dd485b88cafc51f2749">  309</a></span>&#160;    <a class="code" href="structgrpc__metadata__array.html">grpc_metadata_array</a> *<a class="code" href="structgrpc__op.html#a81ebfcab8db61dd485b88cafc51f2749">recv_initial_metadata</a>;</div>
<div class="line"><a name="l00313"></a><span class="lineno"><a class="line" href="structgrpc__op.html#afca6c4cc5b0c2629bb559d2037907ac1">  313</a></span>&#160;    <a class="code" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a> **<a class="code" href="structgrpc__op.html#afca6c4cc5b0c2629bb559d2037907ac1">recv_message</a>;</div>
<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="structgrpc__op.html#abb4d84434a0b74283c8b5d8d6501baf1">  321</a></span>&#160;      <a class="code" href="structgrpc__metadata__array.html">grpc_metadata_array</a> *<a class="code" href="structgrpc__op.html#abb4d84434a0b74283c8b5d8d6501baf1">trailing_metadata</a>;</div>
<div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a70d62415f6768533c2190e53f1c5baf4">  322</a></span>&#160;      <a class="code" href="status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> *<a class="code" href="structgrpc__op.html#a70d62415f6768533c2190e53f1c5baf4">status</a>;</div>
<div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="structgrpc__op.html#ab993dfc7b33c61f06f26a4efc0aefca6">  343</a></span>&#160;      <span class="keywordtype">char</span> **<a class="code" href="structgrpc__op.html#ab993dfc7b33c61f06f26a4efc0aefca6">status_details</a>;</div>
<div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a6cacd1d5311683ee077931c94a9dd6e9">  344</a></span>&#160;      <span class="keywordtype">size_t</span> *<a class="code" href="structgrpc__op.html#a6cacd1d5311683ee077931c94a9dd6e9">status_details_capacity</a>;</div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;    } <a class="code" href="structgrpc__op.html#a42f88554cd082ce8c66560ea24d8a8e3">recv_status_on_client</a>;</div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;    <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="structgrpc__op.html#ae5a9717d4a69c46f343381596e223874">  349</a></span>&#160;      <span class="keywordtype">int</span> *<a class="code" href="structgrpc__op.html#ae5a9717d4a69c46f343381596e223874">cancelled</a>;</div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;    } <a class="code" href="structgrpc__op.html#af327bcd87b609572c39ca6bfe8dbd9f1">recv_close_on_server</a>;</div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;  } <a class="code" href="structgrpc__op.html#a39a29ba59e6482692adfcdef46ec66ad">data</a>;</div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;} <a class="code" href="grpc_8h.html#a6556a58ca45ad5132b89c770cf875215">grpc_op</a>;</div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;<span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#aa78606c93951c49eadd8d83d739798d6">grpc_init</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#af1130720e50ffedd0bb065c84843b032">grpc_shutdown</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;</div>
<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="grpc_8h.html#a250ca547d790874bd7b5ceec25f18c51">grpc_version_string</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;</div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;<a class="code" href="structgrpc__completion__queue.html">grpc_completion_queue</a> *<a class="code" href="grpc_8h.html#a9f69c76c26125e6581491864a06ea44a">grpc_completion_queue_create</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;</div>
<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;<a class="code" href="structgrpc__event.html">grpc_event</a> <a class="code" href="grpc_8h.html#a56a4ff1f046393205c3418c24f5d5587">grpc_completion_queue_next</a>(<a class="code" href="structgrpc__completion__queue.html">grpc_completion_queue</a> *cq,</div>
<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;                                      <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline);</div>
<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;</div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;<a class="code" href="structgrpc__event.html">grpc_event</a> <a class="code" href="grpc_8h.html#a21e38dd0146d244eb0e262fd1b6a50ee">grpc_completion_queue_pluck</a>(<a class="code" href="structgrpc__completion__queue.html">grpc_completion_queue</a> *cq, <span class="keywordtype">void</span> *tag,</div>
<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;                                       <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline);</div>
<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;</div>
<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;<span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a4051b4036c5132f02064430f67420ecd">grpc_completion_queue_shutdown</a>(<a class="code" href="structgrpc__completion__queue.html">grpc_completion_queue</a> *cq);</div>
<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;</div>
<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a629a77a358721f1a3bbb8fef34c3996e">grpc_completion_queue_destroy</a>(<a class="code" href="structgrpc__completion__queue.html">grpc_completion_queue</a> *cq);</div>
<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;</div>
<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;<a class="code" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2">grpc_connectivity_state</a> <a class="code" href="grpc_8h.html#a9623d8e4df1d17eb26b67d905f1d7cb3">grpc_channel_check_connectivity_state</a>(</div>
<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;    <a class="code" href="structgrpc__channel.html">grpc_channel</a> *channel, <span class="keywordtype">int</span> try_to_connect);</div>
<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;</div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;<span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a29aa98ca6ce9f7e5116e43b0c414e96b">grpc_channel_watch_connectivity_state</a>(</div>
<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    <a class="code" href="structgrpc__channel.html">grpc_channel</a> *channel, <a class="code" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2">grpc_connectivity_state</a> last_observed_state,</div>
<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;    <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline, <a class="code" href="structgrpc__completion__queue.html">grpc_completion_queue</a> *cq, <span class="keywordtype">void</span> *tag);</div>
<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;</div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;<a class="code" href="structgrpc__call.html">grpc_call</a> *<a class="code" href="grpc_8h.html#a368ca2e4f76495c3c4bfbb27eb88936e">grpc_channel_create_call</a>(<a class="code" href="structgrpc__channel.html">grpc_channel</a> *channel,</div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;                                    <a class="code" href="structgrpc__completion__queue.html">grpc_completion_queue</a> *completion_queue,</div>
<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;                                    <span class="keyword">const</span> <span class="keywordtype">char</span> *method, <span class="keyword">const</span> <span class="keywordtype">char</span> *host,</div>
<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;                                    <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline);</div>
<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;</div>
<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;<span class="keywordtype">void</span> *<a class="code" href="grpc_8h.html#af00855f27d8b7c6b232982446371c04d">grpc_channel_register_call</a>(<a class="code" href="structgrpc__channel.html">grpc_channel</a> *channel, <span class="keyword">const</span> <span class="keywordtype">char</span> *method,</div>
<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;                                 <span class="keyword">const</span> <span class="keywordtype">char</span> *host);</div>
<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;</div>
<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;<a class="code" href="structgrpc__call.html">grpc_call</a> *<a class="code" href="grpc_8h.html#a38aa45cdbc3d9a9529bcb6ee8b2c68aa">grpc_channel_create_registered_call</a>(</div>
<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;    <a class="code" href="structgrpc__channel.html">grpc_channel</a> *channel, <a class="code" href="structgrpc__completion__queue.html">grpc_completion_queue</a> *completion_queue,</div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;    <span class="keywordtype">void</span> *registered_call_handle, <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline);</div>
<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;</div>
<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;<a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> <a class="code" href="grpc_8h.html#ae0e60993c9d6e5ceccaf2e61f690b101">grpc_call_start_batch</a>(<a class="code" href="structgrpc__call.html">grpc_call</a> *call, <span class="keyword">const</span> <a class="code" href="structgrpc__op.html">grpc_op</a> *ops,</div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;                                      <span class="keywordtype">size_t</span> nops, <span class="keywordtype">void</span> *tag);</div>
<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;</div>
<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;<span class="keywordtype">char</span> *<a class="code" href="grpc_8h.html#adf4ac8b78da7b957ce05dc0f62719ada">grpc_call_get_peer</a>(<a class="code" href="structgrpc__call.html">grpc_call</a> *call);</div>
<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;</div>
<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;<span class="keyword">struct </span><a class="code" href="structcensus__context.html">census_context</a>;</div>
<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;</div>
<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;<span class="comment">/* Set census context for a call; Must be called before first call to</span></div>
<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;<span class="comment">   grpc_call_start_batch(). */</span></div>
<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;<span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a9d5bbdac3a9068747ef3639c4e52af9a">grpc_census_call_set_context</a>(<a class="code" href="structgrpc__call.html">grpc_call</a> *call,</div>
<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;                                  <span class="keyword">struct</span> <a class="code" href="structcensus__context.html">census_context</a> *context);</div>
<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;</div>
<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;<span class="comment">/* Retrieve the calls current census context. */</span></div>
<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;<span class="keyword">struct </span><a class="code" href="structcensus__context.html">census_context</a> *<a class="code" href="grpc_8h.html#a0f2c6a97262a251d18b76ad470af0e66">grpc_census_call_get_context</a>(<a class="code" href="structgrpc__call.html">grpc_call</a> *call);</div>
<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;</div>
<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;<span class="keywordtype">char</span> *<a class="code" href="grpc_8h.html#a108ef86bc0e5ebcb05f744315e2a6499">grpc_channel_get_target</a>(<a class="code" href="structgrpc__channel.html">grpc_channel</a> *channel);</div>
<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;</div>
<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;<a class="code" href="structgrpc__channel.html">grpc_channel</a> *<a class="code" href="grpc_8h.html#aa710e7e68b23098900f924cf69797496">grpc_insecure_channel_create</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *target,</div>
<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;                                           <span class="keyword">const</span> <a class="code" href="structgrpc__channel__args.html">grpc_channel_args</a> *args);</div>
<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;</div>
<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;<a class="code" href="structgrpc__channel.html">grpc_channel</a> *<a class="code" href="grpc_8h.html#acd59697f4b8bedea662939da3668ab9b">grpc_lame_client_channel_create</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *target);</div>
<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;</div>
<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;<span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a16e4b95581ad12e8e0af2af8d41b71b3">grpc_channel_destroy</a>(<a class="code" href="structgrpc__channel.html">grpc_channel</a> *channel);</div>
<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;</div>
<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;<span class="comment">/* Error handling for grpc_call</span></div>
<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;<span class="comment">   Most grpc_call functions return a grpc_error. If the error is not GRPC_OK</span></div>
<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;<span class="comment">   then the operation failed due to some unsatisfied precondition.</span></div>
<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;<span class="comment">   If a grpc_call fails, it&#39;s guaranteed that no change to the call state</span></div>
<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;<span class="comment">   has been made. */</span></div>
<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;</div>
<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;<a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> <a class="code" href="grpc_8h.html#adce32a3168cfc0048423af94a3961878">grpc_call_cancel</a>(<a class="code" href="structgrpc__call.html">grpc_call</a> *call);</div>
<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;</div>
<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;<a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> <a class="code" href="grpc_8h.html#a8332e3ac6611ae4012ed17707d7dbcf2">grpc_call_cancel_with_status</a>(<a class="code" href="structgrpc__call.html">grpc_call</a> *call,</div>
<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;                                             <a class="code" href="status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> status,</div>
<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;                                             <span class="keyword">const</span> <span class="keywordtype">char</span> *description);</div>
<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;</div>
<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;<span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a3edbb9347e32fd0152c8ed4bbbaf5125">grpc_call_destroy</a>(<a class="code" href="structgrpc__call.html">grpc_call</a> *call);</div>
<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;</div>
<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;<a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> <a class="code" href="grpc_8h.html#a636d8fd8c888ba0a0fefacf8dcab7257">grpc_server_request_call</a>(</div>
<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;    <a class="code" href="structgrpc__server.html">grpc_server</a> *server, <a class="code" href="structgrpc__call.html">grpc_call</a> **call, <a class="code" href="structgrpc__call__details.html">grpc_call_details</a> *details,</div>
<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;    <a class="code" href="structgrpc__metadata__array.html">grpc_metadata_array</a> *request_metadata,</div>
<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;    <a class="code" href="structgrpc__completion__queue.html">grpc_completion_queue</a> *cq_bound_to_call,</div>
<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;    <a class="code" href="structgrpc__completion__queue.html">grpc_completion_queue</a> *cq_for_notification, <span class="keywordtype">void</span> *tag_new);</div>
<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;</div>
<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;<span class="keywordtype">void</span> *<a class="code" href="grpc_8h.html#a283062a2209f464f234b0e645c6fffb2">grpc_server_register_method</a>(<a class="code" href="structgrpc__server.html">grpc_server</a> *server, <span class="keyword">const</span> <span class="keywordtype">char</span> *method,</div>
<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;                                  <span class="keyword">const</span> <span class="keywordtype">char</span> *host);</div>
<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;</div>
<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;<a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> <a class="code" href="grpc_8h.html#a7207900db3bba2f1ae2e3f2dfc2822de">grpc_server_request_registered_call</a>(</div>
<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;    <a class="code" href="structgrpc__server.html">grpc_server</a> *server, <span class="keywordtype">void</span> *<a class="code" href="structregistered__method.html">registered_method</a>, <a class="code" href="structgrpc__call.html">grpc_call</a> **call,</div>
<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;    <a class="code" href="structgpr__timespec.html">gpr_timespec</a> *deadline, <a class="code" href="structgrpc__metadata__array.html">grpc_metadata_array</a> *request_metadata,</div>
<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;    <a class="code" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a> **optional_payload,</div>
<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;    <a class="code" href="structgrpc__completion__queue.html">grpc_completion_queue</a> *cq_bound_to_call,</div>
<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;    <a class="code" href="structgrpc__completion__queue.html">grpc_completion_queue</a> *cq_for_notification, <span class="keywordtype">void</span> *tag_new);</div>
<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;</div>
<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;<a class="code" href="structgrpc__server.html">grpc_server</a> *<a class="code" href="grpc_8h.html#a4036710ea12eccabbbbf050d6bad4cd4">grpc_server_create</a>(<span class="keyword">const</span> <a class="code" href="structgrpc__channel__args.html">grpc_channel_args</a> *args);</div>
<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;</div>
<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;<span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#ac174712f87fdae4b5757a1370e2a31cb">grpc_server_register_completion_queue</a>(<a class="code" href="structgrpc__server.html">grpc_server</a> *server,</div>
<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;                                           <a class="code" href="structgrpc__completion__queue.html">grpc_completion_queue</a> *cq);</div>
<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;</div>
<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;<span class="keywordtype">int</span> <a class="code" href="grpc_8h.html#a48cab64480658b97a775b2c7837456f9">grpc_server_add_http2_port</a>(<a class="code" href="structgrpc__server.html">grpc_server</a> *server, <span class="keyword">const</span> <span class="keywordtype">char</span> *addr);</div>
<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;</div>
<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;<span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#ac5010d26419e14f5a9ab2fa86a4f7d1e">grpc_server_start</a>(<a class="code" href="structgrpc__server.html">grpc_server</a> *server);</div>
<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;</div>
<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;<span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a56fffa23c1c4bab9a469e2ac607b6db7">grpc_server_shutdown_and_notify</a>(<a class="code" href="structgrpc__server.html">grpc_server</a> *server,</div>
<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;                                     <a class="code" href="structgrpc__completion__queue.html">grpc_completion_queue</a> *cq, <span class="keywordtype">void</span> *tag);</div>
<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;</div>
<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;<span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#ac5c1e4f3e270a7afbc39403fff0dc803">grpc_server_cancel_all_calls</a>(<a class="code" href="structgrpc__server.html">grpc_server</a> *server);</div>
<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;</div>
<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;<span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a34cba45da7c32a21ac82305d670e4620">grpc_server_destroy</a>(<a class="code" href="structgrpc__server.html">grpc_server</a> *server);</div>
<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;</div>
<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;<span class="keywordtype">int</span> <a class="code" href="grpc_8h.html#ae6984d3f0c3b9bc9a47859fd4dddc350">grpc_tracer_set_enabled</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">int</span> enabled);</div>
<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;</div>
<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;<span class="preprocessor"></span>}</div>
<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_GRPC_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785bade52e850722f80804d90881ac125706f"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bade52e850722f80804d90881ac125706f">GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE</a></div><div class="ttdoc">completion queue for notification has not been registered with the server </div><div class="ttdef"><b>Definition:</b> grpc.h:182</div></div>
<div class="ttc" id="grpc_8h_html_ab6454071421a36ebc25952ed448d5b87a00b42e3d4b6e6493c6e76f1adf07b297"><div class="ttname"><a href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a00b42e3d4b6e6493c6e76f1adf07b297">GRPC_OP_COMPLETE</a></div><div class="ttdoc">Operation completion. </div><div class="ttdef"><b>Definition:</b> grpc.h:218</div></div>
<div class="ttc" id="structgrpc__event_html_a883ab15e862db582116c72cdcdc4c201"><div class="ttname"><a href="structgrpc__event.html#a883ab15e862db582116c72cdcdc4c201">grpc_event::tag</a></div><div class="ttdeci">void * tag</div><div class="ttdoc">The tag passed to grpc_call_start_batch etc to start this operation. </div><div class="ttdef"><b>Definition:</b> grpc.h:232</div></div>
<div class="ttc" id="structgrpc__op_html_a702bcecc2462646b6740ed7c05f42115"><div class="ttname"><a href="structgrpc__op.html#a702bcecc2462646b6740ed7c05f42115">grpc_op::op</a></div><div class="ttdeci">grpc_op_type op</div><div class="ttdoc">Operation type, as defined by grpc_op_type. </div><div class="ttdef"><b>Definition:</b> grpc.h:289</div></div>
<div class="ttc" id="grpc_8h_html_a065b65f5cdd062a67d82e2b6bcf68cf2"><div class="ttname"><a href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2">grpc_connectivity_state</a></div><div class="ttdeci">grpc_connectivity_state</div><div class="ttdoc">Connectivity state of a channel. </div><div class="ttdef"><b>Definition:</b> grpc.h:139</div></div>
<div class="ttc" id="hpack__table_8c_html_a8556878012feffc9e0beb86cd78f424d"><div class="ttname"><a href="hpack__table_8c.html#a8556878012feffc9e0beb86cd78f424d">value</a></div><div class="ttdeci">const char * value</div><div class="ttdef"><b>Definition:</b> hpack_table.c:44</div></div>
<div class="ttc" id="grpc_8h_html_a41dc9abf9678decbfcef1a037e35939aa6c66420562347ff4dcf35e4b32c0d486"><div class="ttname"><a href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa6c66420562347ff4dcf35e4b32c0d486">GRPC_OP_SEND_CLOSE_FROM_CLIENT</a></div><div class="ttdoc">Send a close from the client: one and only one instance MUST be sent from the client, unless the call was cancelled - in which case this can be skipped. </div><div class="ttdef"><b>Definition:</b> grpc.h:264</div></div>
<div class="ttc" id="grpc_8h_html_a34cba45da7c32a21ac82305d670e4620"><div class="ttname"><a href="grpc_8h.html#a34cba45da7c32a21ac82305d670e4620">grpc_server_destroy</a></div><div class="ttdeci">void grpc_server_destroy(grpc_server *server)</div><div class="ttdoc">Destroy a server. </div><div class="ttdef"><b>Definition:</b> server.c:1063</div></div>
<div class="ttc" id="structgrpc__op_html_ab993dfc7b33c61f06f26a4efc0aefca6"><div class="ttname"><a href="structgrpc__op.html#ab993dfc7b33c61f06f26a4efc0aefca6">grpc_op::status_details</a></div><div class="ttdeci">char ** status_details</div><div class="ttdoc">status_details is a buffer owned by the application before the op completes and after the op has comp...</div><div class="ttdef"><b>Definition:</b> grpc.h:343</div></div>
<div class="ttc" id="grpc_8h_html_a41dc9abf9678decbfcef1a037e35939a"><div class="ttname"><a href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939a">grpc_op_type</a></div><div class="ttdeci">grpc_op_type</div><div class="ttdef"><b>Definition:</b> grpc.h:255</div></div>
<div class="ttc" id="structgrpc__op_html_a9e6087665c90f146e5570f12c66d04fb"><div class="ttname"><a href="structgrpc__op.html#a9e6087665c90f146e5570f12c66d04fb">grpc_op::flags</a></div><div class="ttdeci">gpr_uint32 flags</div><div class="ttdoc">Write flags bitset for grpc_begin_messages. </div><div class="ttdef"><b>Definition:</b> grpc.h:291</div></div>
<div class="ttc" id="grpc_8h_html_a6556a58ca45ad5132b89c770cf875215"><div class="ttname"><a href="grpc_8h.html#a6556a58ca45ad5132b89c770cf875215">grpc_op</a></div><div class="ttdeci">struct grpc_op grpc_op</div><div class="ttdoc">Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments) ...</div></div>
<div class="ttc" id="grpc_8h_html_ac174712f87fdae4b5757a1370e2a31cb"><div class="ttname"><a href="grpc_8h.html#ac174712f87fdae4b5757a1370e2a31cb">grpc_server_register_completion_queue</a></div><div class="ttdeci">void grpc_server_register_completion_queue(grpc_server *server, grpc_completion_queue *cq)</div><div class="ttdoc">Register a completion queue with the server. </div><div class="ttdef"><b>Definition:</b> server.c:742</div></div>
<div class="ttc" id="structgrpc__op_html_a81ebfcab8db61dd485b88cafc51f2749"><div class="ttname"><a href="structgrpc__op.html#a81ebfcab8db61dd485b88cafc51f2749">grpc_op::recv_initial_metadata</a></div><div class="ttdeci">grpc_metadata_array * recv_initial_metadata</div><div class="ttdoc">ownership of the array is with the caller, but ownership of the elements stays with the call object (...</div><div class="ttdef"><b>Definition:</b> grpc.h:309</div></div>
<div class="ttc" id="grpc_8h_html_a21e38dd0146d244eb0e262fd1b6a50ee"><div class="ttname"><a href="grpc_8h.html#a21e38dd0146d244eb0e262fd1b6a50ee">grpc_completion_queue_pluck</a></div><div class="ttdeci">grpc_event grpc_completion_queue_pluck(grpc_completion_queue *cq, void *tag, gpr_timespec deadline)</div><div class="ttdoc">Blocks until an event with tag &#39;tag&#39; is available, the completion queue is being shutdown or deadline...</div><div class="ttdef"><b>Definition:</b> completion_queue.c:187</div></div>
<div class="ttc" id="grpc_8h_html_a436819189c9155a0761db7667f9078f9"><div class="ttname"><a href="grpc_8h.html#a436819189c9155a0761db7667f9078f9">grpc_call_details_destroy</a></div><div class="ttdeci">void grpc_call_details_destroy(grpc_call_details *details)</div><div class="ttdef"><b>Definition:</b> call_details.c:43</div></div>
<div class="ttc" id="structgrpc__channel__args_html"><div class="ttname"><a href="structgrpc__channel__args.html">grpc_channel_args</a></div><div class="ttdoc">An array of arguments that can be passed around. </div><div class="ttdef"><b>Definition:</b> grpc.h:113</div></div>
<div class="ttc" id="structgrpc__channel_html"><div class="ttname"><a href="structgrpc__channel.html">grpc_channel</a></div><div class="ttdef"><b>Definition:</b> channel.c:61</div></div>
<div class="ttc" id="structgrpc__channel__args_html_a05aa7aeb14aa9ae5f4d6a34f5c222b76"><div class="ttname"><a href="structgrpc__channel__args.html#a05aa7aeb14aa9ae5f4d6a34f5c222b76">grpc_channel_args::args</a></div><div class="ttdeci">grpc_arg * args</div><div class="ttdef"><b>Definition:</b> grpc.h:115</div></div>
<div class="ttc" id="byte__buffer_8h_html"><div class="ttname"><a href="byte__buffer_8h.html">byte_buffer.h</a></div></div>
<div class="ttc" id="time_8h_html"><div class="ttname"><a href="time_8h.html">time.h</a></div></div>
<div class="ttc" id="grpc_8h_html_a0b06eae05e70404aedbceaebce6de593"><div class="ttname"><a href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593">grpc_arg_type</a></div><div class="ttdeci">grpc_arg_type</div><div class="ttdoc">Type specifier for grpc_arg. </div><div class="ttdef"><b>Definition:</b> grpc.h:73</div></div>
<div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785bae915786320e24eff4f1e05852d40f861"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bae915786320e24eff4f1e05852d40f861">GRPC_CALL_ERROR_INVALID_FLAGS</a></div><div class="ttdoc">the flags value was illegal for this call </div><div class="ttdef"><b>Definition:</b> grpc.h:177</div></div>
<div class="ttc" id="structgrpc__op_html_ae0d5a9db463391c0897914ef2d016b25"><div class="ttname"><a href="structgrpc__op.html#ae0d5a9db463391c0897914ef2d016b25">grpc_op::status</a></div><div class="ttdeci">grpc_status_code status</div><div class="ttdef"><b>Definition:</b> grpc.h:301</div></div>
<div class="ttc" id="structgrpc__call__details_html_a6b72caadcf800d975987de18012f0f15"><div class="ttname"><a href="structgrpc__call__details.html#a6b72caadcf800d975987de18012f0f15">grpc_call_details::deadline</a></div><div class="ttdeci">gpr_timespec deadline</div><div class="ttdef"><b>Definition:</b> grpc.h:249</div></div>
<div class="ttc" id="grpc_8h_html_a0b06eae05e70404aedbceaebce6de593a02a823a7037e2a60b9d9a031fd42591b"><div class="ttname"><a href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a02a823a7037e2a60b9d9a031fd42591b">GRPC_ARG_POINTER</a></div><div class="ttdef"><b>Definition:</b> grpc.h:76</div></div>
<div class="ttc" id="structgrpc__event_html"><div class="ttname"><a href="structgrpc__event.html">grpc_event</a></div><div class="ttdoc">The result of an operation. </div><div class="ttdef"><b>Definition:</b> grpc.h:224</div></div>
<div class="ttc" id="grpc_8h_html_acd59697f4b8bedea662939da3668ab9b"><div class="ttname"><a href="grpc_8h.html#acd59697f4b8bedea662939da3668ab9b">grpc_lame_client_channel_create</a></div><div class="ttdeci">grpc_channel * grpc_lame_client_channel_create(const char *target)</div><div class="ttdoc">Create a lame client: this client fails every operation attempted on it. </div><div class="ttdef"><b>Definition:</b> lame_client.c:141</div></div>
<div class="ttc" id="structgrpc__arg_html_a6871bfca9c52e7f56abbd71c81d97554"><div class="ttname"><a href="structgrpc__arg.html#a6871bfca9c52e7f56abbd71c81d97554">grpc_arg::integer</a></div><div class="ttdeci">int integer</div><div class="ttdef"><b>Definition:</b> grpc.h:96</div></div>
<div class="ttc" id="grpc_8h_html_aa710e7e68b23098900f924cf69797496"><div class="ttname"><a href="grpc_8h.html#aa710e7e68b23098900f924cf69797496">grpc_insecure_channel_create</a></div><div class="ttdeci">grpc_channel * grpc_insecure_channel_create(const char *target, const grpc_channel_args *args)</div><div class="ttdoc">Create a client channel to &#39;target&#39;. </div><div class="ttdef"><b>Definition:</b> channel_create.c:157</div></div>
<div class="ttc" id="grpc_8h_html_a41dc9abf9678decbfcef1a037e35939aa3a3659314e7495b1cabed0f3a6705f64"><div class="ttname"><a href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa3a3659314e7495b1cabed0f3a6705f64">GRPC_OP_SEND_STATUS_FROM_SERVER</a></div><div class="ttdoc">Send status from the server: one and only one instance MUST be sent from the server unless the call w...</div><div class="ttdef"><b>Definition:</b> grpc.h:268</div></div>
<div class="ttc" id="structgrpc__arg_html_a05bc3701718db73608ef3598480e8fa8"><div class="ttname"><a href="structgrpc__arg.html#a05bc3701718db73608ef3598480e8fa8">grpc_arg::string</a></div><div class="ttdeci">char * string</div><div class="ttdef"><b>Definition:</b> grpc.h:95</div></div>
<div class="ttc" id="grpc_8h_html_a29fa3bfb0a561ba465260154a4ef3bb5"><div class="ttname"><a href="grpc_8h.html#a29fa3bfb0a561ba465260154a4ef3bb5">grpc_call_details_init</a></div><div class="ttdeci">void grpc_call_details_init(grpc_call_details *details)</div><div class="ttdef"><b>Definition:</b> call_details.c:39</div></div>
<div class="ttc" id="structgrpc__call__details_html_a869b5db96e2e0fbd573381e77b859631"><div class="ttname"><a href="structgrpc__call__details.html#a869b5db96e2e0fbd573381e77b859631">grpc_call_details::host</a></div><div class="ttdeci">char * host</div><div class="ttdef"><b>Definition:</b> grpc.h:247</div></div>
<div class="ttc" id="structgrpc__event_html_a99d4215e5df50869af320b1cca5540db"><div class="ttname"><a href="structgrpc__event.html#a99d4215e5df50869af320b1cca5540db">grpc_event::success</a></div><div class="ttdeci">int success</div><div class="ttdoc">non-zero if the operation was successful, 0 upon failure. </div><div class="ttdef"><b>Definition:</b> grpc.h:229</div></div>
<div class="ttc" id="grpc_8h_html_a3edbb9347e32fd0152c8ed4bbbaf5125"><div class="ttname"><a href="grpc_8h.html#a3edbb9347e32fd0152c8ed4bbbaf5125">grpc_call_destroy</a></div><div class="ttdeci">void grpc_call_destroy(grpc_call *call)</div><div class="ttdoc">Destroy a call. </div><div class="ttdef"><b>Definition:</b> call.c:1177</div></div>
<div class="ttc" id="structgrpc__op_html_a39a29ba59e6482692adfcdef46ec66ad"><div class="ttname"><a href="structgrpc__op.html#a39a29ba59e6482692adfcdef46ec66ad">grpc_op::data</a></div><div class="ttdeci">union grpc_op::@6 data</div></div>
<div class="ttc" id="structgrpc__op_html_ac5983d0a5d60c26ca2d1b37d31ba2e2a"><div class="ttname"><a href="structgrpc__op.html#ac5983d0a5d60c26ca2d1b37d31ba2e2a">grpc_op::count</a></div><div class="ttdeci">size_t count</div><div class="ttdef"><b>Definition:</b> grpc.h:294</div></div>
<div class="ttc" id="structgrpc__arg_html"><div class="ttname"><a href="structgrpc__arg.html">grpc_arg</a></div><div class="ttdoc">A single argument... </div><div class="ttdef"><b>Definition:</b> grpc.h:91</div></div>
<div class="ttc" id="structgrpc__call__details_html"><div class="ttname"><a href="structgrpc__call__details.html">grpc_call_details</a></div><div class="ttdef"><b>Definition:</b> grpc.h:244</div></div>
<div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba86e7b6bf1fe5dec17fc08ba2f77d1b41"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba86e7b6bf1fe5dec17fc08ba2f77d1b41">GRPC_CALL_ERROR</a></div><div class="ttdoc">something failed, we don&#39;t know what </div><div class="ttdef"><b>Definition:</b> grpc.h:160</div></div>
<div class="ttc" id="structregistered__method_html"><div class="ttname"><a href="structregistered__method.html">registered_method</a></div><div class="ttdef"><b>Definition:</b> server.c:169</div></div>
<div class="ttc" id="structgrpc__byte__buffer_html"><div class="ttname"><a href="structgrpc__byte__buffer.html">grpc_byte_buffer</a></div><div class="ttdef"><b>Definition:</b> byte_buffer.h:49</div></div>
<div class="ttc" id="structgrpc__op_html_afca6c4cc5b0c2629bb559d2037907ac1"><div class="ttname"><a href="structgrpc__op.html#afca6c4cc5b0c2629bb559d2037907ac1">grpc_op::recv_message</a></div><div class="ttdeci">grpc_byte_buffer ** recv_message</div><div class="ttdoc">ownership of the byte buffer is moved to the caller; the caller must call grpc_byte_buffer_destroy on...</div><div class="ttdef"><b>Definition:</b> grpc.h:313</div></div>
<div class="ttc" id="grpc_8h_html_ac5010d26419e14f5a9ab2fa86a4f7d1e"><div class="ttname"><a href="grpc_8h.html#ac5010d26419e14f5a9ab2fa86a4f7d1e">grpc_server_start</a></div><div class="ttdeci">void grpc_server_start(grpc_server *server)</div><div class="ttdoc">Start a server - tells all listeners to start listening. </div><div class="ttdef"><b>Definition:</b> server.c:845</div></div>
<div class="ttc" id="structgrpc__metadata__array_html"><div class="ttname"><a href="structgrpc__metadata__array.html">grpc_metadata_array</a></div><div class="ttdef"><b>Definition:</b> grpc.h:235</div></div>
<div class="ttc" id="port__platform_8h_html_aa6abd4df815a5498d1a04b5e691a74a9"><div class="ttname"><a href="port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9">gpr_uint32</a></div><div class="ttdeci">uint32_t gpr_uint32</div><div class="ttdef"><b>Definition:</b> port_platform.h:309</div></div>
<div class="ttc" id="structgrpc__arg_html_aab5d11432a11b03a53e5d959d9a5328d"><div class="ttname"><a href="structgrpc__arg.html#aab5d11432a11b03a53e5d959d9a5328d">grpc_arg::p</a></div><div class="ttdeci">void * p</div><div class="ttdef"><b>Definition:</b> grpc.h:98</div></div>
<div class="ttc" id="structgrpc__op_html_a6cacd1d5311683ee077931c94a9dd6e9"><div class="ttname"><a href="structgrpc__op.html#a6cacd1d5311683ee077931c94a9dd6e9">grpc_op::status_details_capacity</a></div><div class="ttdeci">size_t * status_details_capacity</div><div class="ttdef"><b>Definition:</b> grpc.h:344</div></div>
<div class="ttc" id="grpc_8h_html_a41dc9abf9678decbfcef1a037e35939aafe3da4c8865af4ef5258b3790d15afc5"><div class="ttname"><a href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aafe3da4c8865af4ef5258b3790d15afc5">GRPC_OP_RECV_MESSAGE</a></div><div class="ttdoc">Receive a message: 0 or more of these operations can occur for each call. </div><div class="ttdef"><b>Definition:</b> grpc.h:274</div></div>
<div class="ttc" id="structgrpc__call__details_html_a8a7da868f60a88f42918cc9bdd4d26c0"><div class="ttname"><a href="structgrpc__call__details.html#a8a7da868f60a88f42918cc9bdd4d26c0">grpc_call_details::method_capacity</a></div><div class="ttdeci">size_t method_capacity</div><div class="ttdef"><b>Definition:</b> grpc.h:246</div></div>
<div class="ttc" id="grpc_8h_html_a9623d8e4df1d17eb26b67d905f1d7cb3"><div class="ttname"><a href="grpc_8h.html#a9623d8e4df1d17eb26b67d905f1d7cb3">grpc_channel_check_connectivity_state</a></div><div class="ttdeci">grpc_connectivity_state grpc_channel_check_connectivity_state(grpc_channel *channel, int try_to_connect)</div><div class="ttdoc">Check the connectivity state of a channel. </div><div class="ttdef"><b>Definition:</b> channel_connectivity.c:43</div></div>
<div class="ttc" id="structgrpc__op_html_a70d62415f6768533c2190e53f1c5baf4"><div class="ttname"><a href="structgrpc__op.html#a70d62415f6768533c2190e53f1c5baf4">grpc_op::status</a></div><div class="ttdeci">grpc_status_code * status</div><div class="ttdef"><b>Definition:</b> grpc.h:322</div></div>
<div class="ttc" id="structgrpc__op_html_a42f88554cd082ce8c66560ea24d8a8e3"><div class="ttname"><a href="structgrpc__op.html#a42f88554cd082ce8c66560ea24d8a8e3">grpc_op::recv_status_on_client</a></div><div class="ttdeci">struct grpc_op::@6::@9 recv_status_on_client</div></div>
<div class="ttc" id="grpc_8h_html_a56fffa23c1c4bab9a469e2ac607b6db7"><div class="ttname"><a href="grpc_8h.html#a56fffa23c1c4bab9a469e2ac607b6db7">grpc_server_shutdown_and_notify</a></div><div class="ttdeci">void grpc_server_shutdown_and_notify(grpc_server *server, grpc_completion_queue *cq, void *tag)</div><div class="ttdoc">Begin shutting down a server. </div><div class="ttdef"><b>Definition:</b> server.c:989</div></div>
<div class="ttc" id="grpc_8h_html_a29aa98ca6ce9f7e5116e43b0c414e96b"><div class="ttname"><a href="grpc_8h.html#a29aa98ca6ce9f7e5116e43b0c414e96b">grpc_channel_watch_connectivity_state</a></div><div class="ttdeci">void grpc_channel_watch_connectivity_state(grpc_channel *channel, grpc_connectivity_state last_observed_state, gpr_timespec deadline, grpc_completion_queue *cq, void *tag)</div><div class="ttdoc">Watch for a change in connectivity state. </div><div class="ttdef"><b>Definition:</b> channel_connectivity.c:151</div></div>
<div class="ttc" id="structgrpc__metadata__array_html_ac930a0cc901913fafcd09ca9cca156fe"><div class="ttname"><a href="structgrpc__metadata__array.html#ac930a0cc901913fafcd09ca9cca156fe">grpc_metadata_array::metadata</a></div><div class="ttdeci">grpc_metadata * metadata</div><div class="ttdef"><b>Definition:</b> grpc.h:238</div></div>
<div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba042165aa26653c844a846d188f722857"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba042165aa26653c844a846d188f722857">GRPC_CALL_ERROR_ALREADY_INVOKED</a></div><div class="ttdoc">this method must be called before invoke </div><div class="ttdef"><b>Definition:</b> grpc.h:168</div></div>
<div class="ttc" id="grpc_8h_html_af00855f27d8b7c6b232982446371c04d"><div class="ttname"><a href="grpc_8h.html#af00855f27d8b7c6b232982446371c04d">grpc_channel_register_call</a></div><div class="ttdeci">void * grpc_channel_register_call(grpc_channel *channel, const char *method, const char *host)</div><div class="ttdoc">Pre-register a method/host pair on a channel. </div><div class="ttdef"><b>Definition:</b> channel.c:181</div></div>
<div class="ttc" id="grpc_8h_html_a41dc9abf9678decbfcef1a037e35939aaf5bbedf13763c180b2f1ada62769d721"><div class="ttname"><a href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaf5bbedf13763c180b2f1ada62769d721">GRPC_OP_SEND_INITIAL_METADATA</a></div><div class="ttdoc">Send initial metadata: one and only one instance MUST be sent for each call, unless the call was canc...</div><div class="ttdef"><b>Definition:</b> grpc.h:258</div></div>
<div class="ttc" id="grpc_8h_html_a0b06eae05e70404aedbceaebce6de593a8d2f803b8aaf88f34dac1f887826c689"><div class="ttname"><a href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a8d2f803b8aaf88f34dac1f887826c689">GRPC_ARG_INTEGER</a></div><div class="ttdef"><b>Definition:</b> grpc.h:75</div></div>
<div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785b"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a></div><div class="ttdeci">grpc_call_error</div><div class="ttdoc">Result of a grpc call. </div><div class="ttdef"><b>Definition:</b> grpc.h:156</div></div>
<div class="ttc" id="structgrpc__op_html_a521b48faec3b3f7646a877055f118d47"><div class="ttname"><a href="structgrpc__op.html#a521b48faec3b3f7646a877055f118d47">grpc_op::trailing_metadata</a></div><div class="ttdeci">grpc_metadata * trailing_metadata</div><div class="ttdef"><b>Definition:</b> grpc.h:300</div></div>
<div class="ttc" id="grpc_8h_html_a4036710ea12eccabbbbf050d6bad4cd4"><div class="ttname"><a href="grpc_8h.html#a4036710ea12eccabbbbf050d6bad4cd4">grpc_server_create</a></div><div class="ttdeci">grpc_server * grpc_server_create(const grpc_channel_args *args)</div><div class="ttdoc">Create a server. </div><div class="ttdef"><b>Definition:</b> server_create.c:39</div></div>
<div class="ttc" id="structgrpc__metadata__array_html_a5b293b4f8e734b032b80741abf538a97"><div class="ttname"><a href="structgrpc__metadata__array.html#a5b293b4f8e734b032b80741abf538a97">grpc_metadata_array::capacity</a></div><div class="ttdeci">size_t capacity</div><div class="ttdef"><b>Definition:</b> grpc.h:237</div></div>
<div class="ttc" id="structgrpc__metadata_html_abe93a3d24cd534d9387e05ad1f0b36f7"><div class="ttname"><a href="structgrpc__metadata.html#abe93a3d24cd534d9387e05ad1f0b36f7">grpc_metadata::key</a></div><div class="ttdeci">const char * key</div><div class="ttdef"><b>Definition:</b> grpc.h:198</div></div>
<div class="ttc" id="grpc_8h_html_ac5c1e4f3e270a7afbc39403fff0dc803"><div class="ttname"><a href="grpc_8h.html#ac5c1e4f3e270a7afbc39403fff0dc803">grpc_server_cancel_all_calls</a></div><div class="ttdeci">void grpc_server_cancel_all_calls(grpc_server *server)</div><div class="ttdoc">Cancel all in-progress calls. </div><div class="ttdef"><b>Definition:</b> server.c:1053</div></div>
<div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba13f469c7761a672240ddfe29f85729bd"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba13f469c7761a672240ddfe29f85729bd">GRPC_CALL_ERROR_INVALID_METADATA</a></div><div class="ttdoc">invalid metadata was passed to this call </div><div class="ttdef"><b>Definition:</b> grpc.h:179</div></div>
<div class="ttc" id="structgrpc__op_html_ae460836040d79eb2bd0a6d581b36c461"><div class="ttname"><a href="structgrpc__op.html#ae460836040d79eb2bd0a6d581b36c461">grpc_op::status_details</a></div><div class="ttdeci">const char * status_details</div><div class="ttdef"><b>Definition:</b> grpc.h:302</div></div>
<div class="ttc" id="grpc_8h_html_adce32a3168cfc0048423af94a3961878"><div class="ttname"><a href="grpc_8h.html#adce32a3168cfc0048423af94a3961878">grpc_call_cancel</a></div><div class="ttdeci">grpc_call_error grpc_call_cancel(grpc_call *call)</div><div class="ttdoc">Called by clients to cancel an RPC on the server. </div><div class="ttdef"><b>Definition:</b> call.c:1189</div></div>
<div class="ttc" id="structgrpc__metadata_html"><div class="ttname"><a href="structgrpc__metadata.html">grpc_metadata</a></div><div class="ttdoc">A single metadata element. </div><div class="ttdef"><b>Definition:</b> grpc.h:197</div></div>
<div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba1a48e861db610ae8f0b0cba7749251d8"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba1a48e861db610ae8f0b0cba7749251d8">GRPC_CALL_ERROR_NOT_ON_SERVER</a></div><div class="ttdoc">this method is not available on the server </div><div class="ttdef"><b>Definition:</b> grpc.h:162</div></div>
<div class="ttc" id="grpc_8h_html_ab6454071421a36ebc25952ed448d5b87a503dd1b2ec79457f0f810716016219d5"><div class="ttname"><a href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a503dd1b2ec79457f0f810716016219d5">GRPC_QUEUE_SHUTDOWN</a></div><div class="ttdoc">Shutting down. </div><div class="ttdef"><b>Definition:</b> grpc.h:214</div></div>
<div class="ttc" id="grpc_8h_html_a41dc9abf9678decbfcef1a037e35939aaabe080072d165d1e69459abd7c742078"><div class="ttname"><a href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaabe080072d165d1e69459abd7c742078">GRPC_OP_RECV_INITIAL_METADATA</a></div><div class="ttdoc">Receive initial metadata: one and only one MUST be made on the client, must not be made on the server...</div><div class="ttdef"><b>Definition:</b> grpc.h:271</div></div>
<div class="ttc" id="structgrpc__op_html"><div class="ttname"><a href="structgrpc__op.html">grpc_op</a></div><div class="ttdoc">Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments) ...</div><div class="ttdef"><b>Definition:</b> grpc.h:287</div></div>
<div class="ttc" id="grpc_8h_html_a636d8fd8c888ba0a0fefacf8dcab7257"><div class="ttname"><a href="grpc_8h.html#a636d8fd8c888ba0a0fefacf8dcab7257">grpc_server_request_call</a></div><div class="ttdeci">grpc_call_error grpc_server_request_call(grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *request_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new)</div><div class="ttdoc">Request notification of a new call. </div><div class="ttdef"><b>Definition:</b> server.c:1148</div></div>
<div class="ttc" id="structgrpc__metadata_html_ae7478a66f65862018cd89768a578ff4f"><div class="ttname"><a href="structgrpc__metadata.html#ae7478a66f65862018cd89768a578ff4f">grpc_metadata::obfuscated</a></div><div class="ttdeci">void * obfuscated[3]</div><div class="ttdef"><b>Definition:</b> grpc.h:207</div></div>
<div class="ttc" id="grpc_8h_html_a41dc9abf9678decbfcef1a037e35939aaa6447181c20e4c6d64a54fae8082ef70"><div class="ttname"><a href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaa6447181c20e4c6d64a54fae8082ef70">GRPC_OP_SEND_MESSAGE</a></div><div class="ttdoc">Send a message: 0 or more of these operations can occur for each call. </div><div class="ttdef"><b>Definition:</b> grpc.h:260</div></div>
<div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba32f125b97007cbdb43534e9d6e0989f8"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba32f125b97007cbdb43534e9d6e0989f8">GRPC_CALL_OK</a></div><div class="ttdoc">everything went ok </div><div class="ttdef"><b>Definition:</b> grpc.h:158</div></div>
<div class="ttc" id="grpc_8h_html_a56a4ff1f046393205c3418c24f5d5587"><div class="ttname"><a href="grpc_8h.html#a56a4ff1f046393205c3418c24f5d5587">grpc_completion_queue_next</a></div><div class="ttdeci">grpc_event grpc_completion_queue_next(grpc_completion_queue *cq, gpr_timespec deadline)</div><div class="ttdoc">Blocks until an event is available, the completion queue is being shut down, or deadline is reached...</div><div class="ttdef"><b>Definition:</b> completion_queue.c:147</div></div>
<div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba21256301a6038a6a03fc8444ddd08c63"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba21256301a6038a6a03fc8444ddd08c63">GRPC_CALL_ERROR_ALREADY_FINISHED</a></div><div class="ttdoc">this call is already finished (writes_done or write_status has already been called) ...</div><div class="ttdef"><b>Definition:</b> grpc.h:173</div></div>
<div class="ttc" id="grpc_8h_html_a07990645ca218f6965fd83edf3f421b7"><div class="ttname"><a href="grpc_8h.html#a07990645ca218f6965fd83edf3f421b7">grpc_event</a></div><div class="ttdeci">struct grpc_event grpc_event</div><div class="ttdoc">The result of an operation. </div></div>
<div class="ttc" id="grpc_8h_html_ab6454071421a36ebc25952ed448d5b87"><div class="ttname"><a href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87">grpc_completion_type</a></div><div class="ttdeci">grpc_completion_type</div><div class="ttdoc">The type of completion (for grpc_event) </div><div class="ttdef"><b>Definition:</b> grpc.h:212</div></div>
<div class="ttc" id="structgrpc__completion__queue_html"><div class="ttname"><a href="structgrpc__completion__queue.html">grpc_completion_queue</a></div><div class="ttdef"><b>Definition:</b> completion_queue.c:49</div></div>
<div class="ttc" id="structgrpc__op_html_a4b9454278c105e08d54142adff37b5ab"><div class="ttname"><a href="structgrpc__op.html#a4b9454278c105e08d54142adff37b5ab">grpc_op::trailing_metadata_count</a></div><div class="ttdeci">size_t trailing_metadata_count</div><div class="ttdef"><b>Definition:</b> grpc.h:299</div></div>
<div class="ttc" id="structgrpc__call__details_html_aeab0d9e754bbb1aac1a21ad4ef63d8b1"><div class="ttname"><a href="structgrpc__call__details.html#aeab0d9e754bbb1aac1a21ad4ef63d8b1">grpc_call_details::host_capacity</a></div><div class="ttdeci">size_t host_capacity</div><div class="ttdef"><b>Definition:</b> grpc.h:248</div></div>
<div class="ttc" id="grpc_8h_html_a283062a2209f464f234b0e645c6fffb2"><div class="ttname"><a href="grpc_8h.html#a283062a2209f464f234b0e645c6fffb2">grpc_server_register_method</a></div><div class="ttdeci">void * grpc_server_register_method(grpc_server *server, const char *method, const char *host)</div><div class="ttdoc">Registers a method in the server. </div><div class="ttdef"><b>Definition:</b> server.c:820</div></div>
<div class="ttc" id="grpc_8h_html_a108ef86bc0e5ebcb05f744315e2a6499"><div class="ttname"><a href="grpc_8h.html#a108ef86bc0e5ebcb05f744315e2a6499">grpc_channel_get_target</a></div><div class="ttdeci">char * grpc_channel_get_target(grpc_channel *channel)</div><div class="ttdoc">Return a newly allocated string representing the target a channel was created for. </div><div class="ttdef"><b>Definition:</b> channel.c:144</div></div>
<div class="ttc" id="grpc_8h_html_a16e4b95581ad12e8e0af2af8d41b71b3"><div class="ttname"><a href="grpc_8h.html#a16e4b95581ad12e8e0af2af8d41b71b3">grpc_channel_destroy</a></div><div class="ttdeci">void grpc_channel_destroy(grpc_channel *channel)</div><div class="ttdoc">Close and destroy a grpc channel. </div><div class="ttdef"><b>Definition:</b> channel.c:257</div></div>
<div class="ttc" id="structgrpc__op_html_a8e6202e19130ecb872de211a95dcee83"><div class="ttname"><a href="structgrpc__op.html#a8e6202e19130ecb872de211a95dcee83">grpc_op::send_initial_metadata</a></div><div class="ttdeci">struct grpc_op::@6::@7 send_initial_metadata</div></div>
<div class="ttc" id="grpc_8h_html_a250ca547d790874bd7b5ceec25f18c51"><div class="ttname"><a href="grpc_8h.html#a250ca547d790874bd7b5ceec25f18c51">grpc_version_string</a></div><div class="ttdeci">const char * grpc_version_string(void)</div><div class="ttdoc">Return a string representing the current version of grpc. </div><div class="ttdef"><b>Definition:</b> version.c:39</div></div>
<div class="ttc" id="structgrpc__metadata_html_a342799d4f78fcc6dd29ee44f56a6d553"><div class="ttname"><a href="structgrpc__metadata.html#a342799d4f78fcc6dd29ee44f56a6d553">grpc_metadata::internal_data</a></div><div class="ttdeci">struct grpc_metadata::@5 internal_data</div><div class="ttdoc">The following fields are reserved for grpc internal use. </div></div>
<div class="ttc" id="structgrpc__channel__args_html_a41e5d0b22449f062b3a7798dd528afde"><div class="ttname"><a href="structgrpc__channel__args.html#a41e5d0b22449f062b3a7798dd528afde">grpc_channel_args::num_args</a></div><div class="ttdeci">size_t num_args</div><div class="ttdef"><b>Definition:</b> grpc.h:114</div></div>
<div class="ttc" id="structcensus__context_html"><div class="ttname"><a href="structcensus__context.html">census_context</a></div><div class="ttdef"><b>Definition:</b> context.h:41</div></div>
<div class="ttc" id="structgrpc__metadata__array_html_a314ce51b22a5934cc672f3736d44b9e4"><div class="ttname"><a href="structgrpc__metadata__array.html#a314ce51b22a5934cc672f3736d44b9e4">grpc_metadata_array::count</a></div><div class="ttdeci">size_t count</div><div class="ttdef"><b>Definition:</b> grpc.h:236</div></div>
<div class="ttc" id="grpc_8h_html_a41dc9abf9678decbfcef1a037e35939aa4d43b168589407554a58e91fae80ba17"><div class="ttname"><a href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa4d43b168589407554a58e91fae80ba17">GRPC_OP_RECV_STATUS_ON_CLIENT</a></div><div class="ttdoc">Receive status on the client: one and only one must be made on the client. </div><div class="ttdef"><b>Definition:</b> grpc.h:279</div></div>
<div class="ttc" id="grpc_8h_html_a065b65f5cdd062a67d82e2b6bcf68cf2aab01ef3f78d9236dfa3c751dc66aa7ea"><div class="ttname"><a href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2aab01ef3f78d9236dfa3c751dc66aa7ea">GRPC_CHANNEL_READY</a></div><div class="ttdoc">channel is ready for work </div><div class="ttdef"><b>Definition:</b> grpc.h:145</div></div>
<div class="ttc" id="structgrpc__arg_html_aeb230fbd50daacfe654abc3500a44968"><div class="ttname"><a href="structgrpc__arg.html#aeb230fbd50daacfe654abc3500a44968">grpc_arg::key</a></div><div class="ttdeci">char * key</div><div class="ttdef"><b>Definition:</b> grpc.h:93</div></div>
<div class="ttc" id="grpc_8h_html_a48cab64480658b97a775b2c7837456f9"><div class="ttname"><a href="grpc_8h.html#a48cab64480658b97a775b2c7837456f9">grpc_server_add_http2_port</a></div><div class="ttdeci">int grpc_server_add_http2_port(grpc_server *server, const char *addr)</div><div class="ttdoc">Add a HTTP2 over plaintext over tcp listener. </div><div class="ttdef"><b>Definition:</b> server_chttp2.c:83</div></div>
<div class="ttc" id="status_8h_html"><div class="ttname"><a href="status_8h.html">status.h</a></div></div>
<div class="ttc" id="grpc_8h_html_adf4ac8b78da7b957ce05dc0f62719ada"><div class="ttname"><a href="grpc_8h.html#adf4ac8b78da7b957ce05dc0f62719ada">grpc_call_get_peer</a></div><div class="ttdeci">char * grpc_call_get_peer(grpc_call *call)</div><div class="ttdoc">Returns a newly allocated string representing the endpoint to which this call is communicating with...</div><div class="ttdef"><b>Definition:</b> call.c:1256</div></div>
<div class="ttc" id="grpc_8h_html_a065b65f5cdd062a67d82e2b6bcf68cf2af5bffd3ffb03795f551b0fa78e44b9b6"><div class="ttname"><a href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2af5bffd3ffb03795f551b0fa78e44b9b6">GRPC_CHANNEL_TRANSIENT_FAILURE</a></div><div class="ttdoc">channel has seen a failure but expects to recover </div><div class="ttdef"><b>Definition:</b> grpc.h:147</div></div>
<div class="ttc" id="grpc_8h_html_a1da84eaead787d991c5a0c87aed7c30b"><div class="ttname"><a href="grpc_8h.html#a1da84eaead787d991c5a0c87aed7c30b">grpc_metadata</a></div><div class="ttdeci">struct grpc_metadata grpc_metadata</div><div class="ttdoc">A single metadata element. </div></div>
<div class="ttc" id="structgrpc__metadata_html_a57b63d7b7a3e4720a0cc0d20bb2ecf36"><div class="ttname"><a href="structgrpc__metadata.html#a57b63d7b7a3e4720a0cc0d20bb2ecf36">grpc_metadata::value</a></div><div class="ttdeci">const char * value</div><div class="ttdef"><b>Definition:</b> grpc.h:199</div></div>
<div class="ttc" id="slice_8h_html"><div class="ttname"><a href="slice_8h.html">slice.h</a></div></div>
<div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba7ba38ea119e00e8b4d10211f4ced9ef6"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7ba38ea119e00e8b4d10211f4ced9ef6">GRPC_CALL_ERROR_NOT_ON_CLIENT</a></div><div class="ttdoc">this method is not available on the client </div><div class="ttdef"><b>Definition:</b> grpc.h:164</div></div>
<div class="ttc" id="grpc_8h_html_ae0e60993c9d6e5ceccaf2e61f690b101"><div class="ttname"><a href="grpc_8h.html#ae0e60993c9d6e5ceccaf2e61f690b101">grpc_call_start_batch</a></div><div class="ttdeci">grpc_call_error grpc_call_start_batch(grpc_call *call, const grpc_op *ops, size_t nops, void *tag)</div><div class="ttdoc">Start a batch of operations defined in the array ops; when complete, post a completion of type &#39;tag&#39; ...</div><div class="ttdef"><b>Definition:</b> call.c:1431</div></div>
<div class="ttc" id="grpc_8h_html_a065b65f5cdd062a67d82e2b6bcf68cf2a304d1b81cec4357a9a6acbcb18248e77"><div class="ttname"><a href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a304d1b81cec4357a9a6acbcb18248e77">GRPC_CHANNEL_IDLE</a></div><div class="ttdoc">channel is idle </div><div class="ttdef"><b>Definition:</b> grpc.h:141</div></div>
<div class="ttc" id="grpc_8h_html_a065b65f5cdd062a67d82e2b6bcf68cf2a8f774ebe233ee26ebd546fe4b58060b6"><div class="ttname"><a href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a8f774ebe233ee26ebd546fe4b58060b6">GRPC_CHANNEL_FATAL_FAILURE</a></div><div class="ttdoc">channel has seen a failure that it cannot recover from </div><div class="ttdef"><b>Definition:</b> grpc.h:149</div></div>
<div class="ttc" id="structgrpc__op_html_af327bcd87b609572c39ca6bfe8dbd9f1"><div class="ttname"><a href="structgrpc__op.html#af327bcd87b609572c39ca6bfe8dbd9f1">grpc_op::recv_close_on_server</a></div><div class="ttdeci">struct grpc_op::@6::@10 recv_close_on_server</div></div>
<div class="ttc" id="structgpr__timespec_html"><div class="ttname"><a href="structgpr__timespec.html">gpr_timespec</a></div><div class="ttdef"><b>Definition:</b> time.h:60</div></div>
<div class="ttc" id="status_8h_html_a35ab2a68917eb836de84cb23253108eb"><div class="ttname"><a href="status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a></div><div class="ttdeci">grpc_status_code</div><div class="ttdef"><b>Definition:</b> status.h:41</div></div>
<div class="ttc" id="grpc_8h_html_a368ca2e4f76495c3c4bfbb27eb88936e"><div class="ttname"><a href="grpc_8h.html#a368ca2e4f76495c3c4bfbb27eb88936e">grpc_channel_create_call</a></div><div class="ttdeci">grpc_call * grpc_channel_create_call(grpc_channel *channel, grpc_completion_queue *completion_queue, const char *method, const char *host, gpr_timespec deadline)</div><div class="ttdoc">Create a call given a grpc_channel, in order to call &#39;method&#39;. </div><div class="ttdef"><b>Definition:</b> channel.c:165</div></div>
<div class="ttc" id="grpc_8h_html_a0f2c6a97262a251d18b76ad470af0e66"><div class="ttname"><a href="grpc_8h.html#a0f2c6a97262a251d18b76ad470af0e66">grpc_census_call_get_context</a></div><div class="ttdeci">struct census_context * grpc_census_call_get_context(grpc_call *call)</div><div class="ttdef"><b>Definition:</b> grpc_context.c:60</div></div>
<div class="ttc" id="grpc_8h_html_aad125726d8b689cc5fc1a0444c91ed44"><div class="ttname"><a href="grpc_8h.html#aad125726d8b689cc5fc1a0444c91ed44">grpc_metadata_array_destroy</a></div><div class="ttdeci">void grpc_metadata_array_destroy(grpc_metadata_array *array)</div><div class="ttdef"><b>Definition:</b> metadata_array.c:43</div></div>
<div class="ttc" id="grpc_8h_html_ab6454071421a36ebc25952ed448d5b87a4339ea61236e103b6555fdf9b6cffab6"><div class="ttname"><a href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a4339ea61236e103b6555fdf9b6cffab6">GRPC_QUEUE_TIMEOUT</a></div><div class="ttdoc">No event before timeout. </div><div class="ttdef"><b>Definition:</b> grpc.h:216</div></div>
<div class="ttc" id="grpc_8h_html_aa78606c93951c49eadd8d83d739798d6"><div class="ttname"><a href="grpc_8h.html#aa78606c93951c49eadd8d83d739798d6">grpc_init</a></div><div class="ttdeci">void grpc_init(void)</div><div class="ttdoc">Initialize the grpc library. </div><div class="ttdef"><b>Definition:</b> init.c:61</div></div>
<div class="ttc" id="grpc_8h_html_a065b65f5cdd062a67d82e2b6bcf68cf2a3ac13f6c7627f15186760bfd6b7d9299"><div class="ttname"><a href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a3ac13f6c7627f15186760bfd6b7d9299">GRPC_CHANNEL_CONNECTING</a></div><div class="ttdoc">channel is connecting </div><div class="ttdef"><b>Definition:</b> grpc.h:143</div></div>
<div class="ttc" id="structgrpc__op_html_afe7b3ae8f4c495a187f155a5fd6956bb"><div class="ttname"><a href="structgrpc__op.html#afe7b3ae8f4c495a187f155a5fd6956bb">grpc_op::send_status_from_server</a></div><div class="ttdeci">struct grpc_op::@6::@8 send_status_from_server</div></div>
<div class="ttc" id="structgrpc__op_html_a3b6c1b3456306a802f6eb0e3e8d0e434"><div class="ttname"><a href="structgrpc__op.html#a3b6c1b3456306a802f6eb0e3e8d0e434">grpc_op::send_message</a></div><div class="ttdeci">grpc_byte_buffer * send_message</div><div class="ttdef"><b>Definition:</b> grpc.h:297</div></div>
<div class="ttc" id="structgrpc__op_html_abb4d84434a0b74283c8b5d8d6501baf1"><div class="ttname"><a href="structgrpc__op.html#abb4d84434a0b74283c8b5d8d6501baf1">grpc_op::trailing_metadata</a></div><div class="ttdeci">grpc_metadata_array * trailing_metadata</div><div class="ttdoc">ownership of the array is with the caller, but ownership of the elements stays with the call object (...</div><div class="ttdef"><b>Definition:</b> grpc.h:321</div></div>
<div class="ttc" id="grpc_8h_html_a7207900db3bba2f1ae2e3f2dfc2822de"><div class="ttname"><a href="grpc_8h.html#a7207900db3bba2f1ae2e3f2dfc2822de">grpc_server_request_registered_call</a></div><div class="ttdeci">grpc_call_error grpc_server_request_registered_call(grpc_server *server, void *registered_method, grpc_call **call, gpr_timespec *deadline, grpc_metadata_array *request_metadata, grpc_byte_buffer **optional_payload, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new)</div><div class="ttdoc">Request notification of a new pre-registered call. </div><div class="ttdef"><b>Definition:</b> server.c:1173</div></div>
<div class="ttc" id="grpc_8h_html_af1130720e50ffedd0bb065c84843b032"><div class="ttname"><a href="grpc_8h.html#af1130720e50ffedd0bb065c84843b032">grpc_shutdown</a></div><div class="ttdeci">void grpc_shutdown(void)</div><div class="ttdoc">Shut down the grpc library. </div><div class="ttdef"><b>Definition:</b> init.c:94</div></div>
<div class="ttc" id="grpc_8h_html_a52cfda44034115720a0e88037dedbfb5"><div class="ttname"><a href="grpc_8h.html#a52cfda44034115720a0e88037dedbfb5">grpc_metadata_array_init</a></div><div class="ttdeci">void grpc_metadata_array_init(grpc_metadata_array *array)</div><div class="ttdef"><b>Definition:</b> metadata_array.c:39</div></div>
<div class="ttc" id="grpc_8h_html_a629a77a358721f1a3bbb8fef34c3996e"><div class="ttname"><a href="grpc_8h.html#a629a77a358721f1a3bbb8fef34c3996e">grpc_completion_queue_destroy</a></div><div class="ttdeci">void grpc_completion_queue_destroy(grpc_completion_queue *cq)</div><div class="ttdoc">Destroy a completion queue. </div><div class="ttdef"><b>Definition:</b> completion_queue.c:255</div></div>
<div class="ttc" id="grpc_8h_html_a38aa45cdbc3d9a9529bcb6ee8b2c68aa"><div class="ttname"><a href="grpc_8h.html#a38aa45cdbc3d9a9529bcb6ee8b2c68aa">grpc_channel_create_registered_call</a></div><div class="ttdeci">grpc_call * grpc_channel_create_registered_call(grpc_channel *channel, grpc_completion_queue *completion_queue, void *registered_call_handle, gpr_timespec deadline)</div><div class="ttdoc">Create a call given a handle returned from grpc_channel_register_call. </div><div class="ttdef"><b>Definition:</b> channel.c:197</div></div>
<div class="ttc" id="structgrpc__metadata_html_a2084add9ffe64cf337576114d189af3f"><div class="ttname"><a href="structgrpc__metadata.html#a2084add9ffe64cf337576114d189af3f">grpc_metadata::value_length</a></div><div class="ttdeci">size_t value_length</div><div class="ttdef"><b>Definition:</b> grpc.h:200</div></div>
<div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba7e09791915b841c30e9d79c26a5a6454"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7e09791915b841c30e9d79c26a5a6454">GRPC_CALL_ERROR_TOO_MANY_OPERATIONS</a></div><div class="ttdoc">there is already an outstanding read/write operation on the call </div><div class="ttdef"><b>Definition:</b> grpc.h:175</div></div>
<div class="ttc" id="grpc_8h_html_a41dc9abf9678decbfcef1a037e35939aa8fb75ed79601a4845a39a74d7505cef6"><div class="ttname"><a href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa8fb75ed79601a4845a39a74d7505cef6">GRPC_OP_RECV_CLOSE_ON_SERVER</a></div><div class="ttdoc">Receive close on the server: one and only one must be made on the server. </div><div class="ttdef"><b>Definition:</b> grpc.h:282</div></div>
<div class="ttc" id="structgrpc__event_html_a8e7f571b759f55db4f6bebc2a4f56ad7"><div class="ttname"><a href="structgrpc__event.html#a8e7f571b759f55db4f6bebc2a4f56ad7">grpc_event::type</a></div><div class="ttdeci">grpc_completion_type type</div><div class="ttdoc">The type of the completion. </div><div class="ttdef"><b>Definition:</b> grpc.h:226</div></div>
<div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba2f6f332e63eb94df8abedfddb96ae63a"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba2f6f332e63eb94df8abedfddb96ae63a">GRPC_CALL_ERROR_ALREADY_ACCEPTED</a></div><div class="ttdoc">this method must be called before server_accept </div><div class="ttdef"><b>Definition:</b> grpc.h:166</div></div>
<div class="ttc" id="structgrpc__arg_html_aa26f2d3c4b1649c9eb061d24a8c10fd4"><div class="ttname"><a href="structgrpc__arg.html#aa26f2d3c4b1649c9eb061d24a8c10fd4">grpc_arg::type</a></div><div class="ttdeci">grpc_arg_type type</div><div class="ttdef"><b>Definition:</b> grpc.h:92</div></div>
<div class="ttc" id="grpc_8h_html_a4051b4036c5132f02064430f67420ecd"><div class="ttname"><a href="grpc_8h.html#a4051b4036c5132f02064430f67420ecd">grpc_completion_queue_shutdown</a></div><div class="ttdeci">void grpc_completion_queue_shutdown(grpc_completion_queue *cq)</div><div class="ttdoc">Begin destruction of a completion queue. </div><div class="ttdef"><b>Definition:</b> completion_queue.c:237</div></div>
<div class="ttc" id="grpc_8h_html_a0b06eae05e70404aedbceaebce6de593a215b6b9143ba133ede0e29f79098239d"><div class="ttname"><a href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a215b6b9143ba133ede0e29f79098239d">GRPC_ARG_STRING</a></div><div class="ttdef"><b>Definition:</b> grpc.h:74</div></div>
<div class="ttc" id="structgrpc__op_html_a2e0f0c709658960593d5a36915c8d079"><div class="ttname"><a href="structgrpc__op.html#a2e0f0c709658960593d5a36915c8d079">grpc_op::metadata</a></div><div class="ttdeci">grpc_metadata * metadata</div><div class="ttdef"><b>Definition:</b> grpc.h:295</div></div>
<div class="ttc" id="grpc_8h_html_a8332e3ac6611ae4012ed17707d7dbcf2"><div class="ttname"><a href="grpc_8h.html#a8332e3ac6611ae4012ed17707d7dbcf2">grpc_call_cancel_with_status</a></div><div class="ttdeci">grpc_call_error grpc_call_cancel_with_status(grpc_call *call, grpc_status_code status, const char *description)</div><div class="ttdoc">Called by clients to cancel an RPC on the server. </div><div class="ttdef"><b>Definition:</b> call.c:1193</div></div>
<div class="ttc" id="structgrpc__call_html"><div class="ttname"><a href="structgrpc__call.html">grpc_call</a></div><div class="ttdef"><b>Definition:</b> call.c:143</div></div>
<div class="ttc" id="structgrpc__op_html_ae5a9717d4a69c46f343381596e223874"><div class="ttname"><a href="structgrpc__op.html#ae5a9717d4a69c46f343381596e223874">grpc_op::cancelled</a></div><div class="ttdeci">int * cancelled</div><div class="ttdoc">out argument, set to 1 if the call failed in any way (seen as a cancellation on the server)...</div><div class="ttdef"><b>Definition:</b> grpc.h:349</div></div>
<div class="ttc" id="grpc_8h_html_a9f69c76c26125e6581491864a06ea44a"><div class="ttname"><a href="grpc_8h.html#a9f69c76c26125e6581491864a06ea44a">grpc_completion_queue_create</a></div><div class="ttdeci">grpc_completion_queue * grpc_completion_queue_create(void)</div><div class="ttdoc">Create a completion queue. </div><div class="ttdef"><b>Definition:</b> completion_queue.c:65</div></div>
<div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba6113860606450e3a3fa40ddf46749296"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba6113860606450e3a3fa40ddf46749296">GRPC_CALL_ERROR_NOT_INVOKED</a></div><div class="ttdoc">this method must be called after invoke </div><div class="ttdef"><b>Definition:</b> grpc.h:170</div></div>
<div class="ttc" id="structgrpc__call__details_html_a97c8019d8fa7cbe2014d97c91f9ed0a5"><div class="ttname"><a href="structgrpc__call__details.html#a97c8019d8fa7cbe2014d97c91f9ed0a5">grpc_call_details::method</a></div><div class="ttdeci">char * method</div><div class="ttdef"><b>Definition:</b> grpc.h:245</div></div>
<div class="ttc" id="grpc_8h_html_ae6984d3f0c3b9bc9a47859fd4dddc350"><div class="ttname"><a href="grpc_8h.html#ae6984d3f0c3b9bc9a47859fd4dddc350">grpc_tracer_set_enabled</a></div><div class="ttdeci">int grpc_tracer_set_enabled(const char *name, int enabled)</div><div class="ttdoc">Enable or disable a tracer. </div><div class="ttdef"><b>Definition:</b> trace.c:112</div></div>
<div class="ttc" id="structgrpc__server_html"><div class="ttname"><a href="structgrpc__server.html">grpc_server</a></div><div class="ttdef"><b>Definition:</b> server.c:181</div></div>
<div class="ttc" id="grpc_8h_html_a9d5bbdac3a9068747ef3639c4e52af9a"><div class="ttname"><a href="grpc_8h.html#a9d5bbdac3a9068747ef3639c4e52af9a">grpc_census_call_set_context</a></div><div class="ttdeci">void grpc_census_call_set_context(grpc_call *call, struct census_context *context)</div><div class="ttdef"><b>Definition:</b> grpc_context.c:42</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:07 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>