| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228 |
- <!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.13"/>
- <meta name="viewport" content="width=device-width, initial-scale=1"/>
- <title>GRPC Core: include/grpc/grpc_security.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/searchdata.js"></script>
- <script type="text/javascript" src="search/search.js"></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 id="projectalign" style="padding-left: 0.5em;">
- <div id="projectname">GRPC Core
-  <span id="projectnumber">7.0.0</span>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- end header part -->
- <!-- Generated by Doxygen 1.8.13 -->
- <script type="text/javascript">
- var searchBox = new SearchBox("searchBox", "search",false,'Search');
- </script>
- <script type="text/javascript" src="menudata.js"></script>
- <script type="text/javascript" src="menu.js"></script>
- <script type="text/javascript">
- $(function() {
- initMenu('',true,false,'search.php','Search');
- $(document).ready(function() { init_search(); });
- });
- </script>
- <div id="main-nav"></div>
- <!-- window showing the filter options -->
- <div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
- </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_security.h</div> </div>
- </div><!--header-->
- <div class="contents">
- <a href="grpc__security_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> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright 2015 gRPC authors.</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> *</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> */</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#ifndef GRPC_GRPC_SECURITY_H</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#define GRPC_GRPC_SECURITY_H</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include <<a class="code" href="support_2port__platform_8h.html">grpc/support/port_platform.h</a>></span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include <<a class="code" href="grpc_8h.html">grpc/grpc.h</a>></span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <<a class="code" href="grpc__security__constants_8h.html">grpc/grpc_security_constants.h</a>></span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include <<a class="code" href="status_8h.html">grpc/status.h</a>></span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553"> 34</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> <a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a>;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structgrpc__auth__property__iterator.html"> 36</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a> {</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structgrpc__auth__property__iterator.html#a971904d29fa6f6ca6a853d078cae2f58"> 37</a></span>  <span class="keyword">const</span> <a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a>* <a class="code" href="structgrpc__auth__property__iterator.html#a971904d29fa6f6ca6a853d078cae2f58">ctx</a>;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structgrpc__auth__property__iterator.html#ac2b2a0501f097562a6d8856e3da5e7e6"> 38</a></span>  <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__auth__property__iterator.html#ac2b2a0501f097562a6d8856e3da5e7e6">index</a>;</div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structgrpc__auth__property__iterator.html#a3838efa5eb622c7e2c071497132b1cc7"> 39</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__auth__property__iterator.html#a3838efa5eb622c7e2c071497132b1cc7">name</a>;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> } <a class="code" href="grpc__security_8h.html#a26981fdcb987d885b25d34c7dc66e4cf">grpc_auth_property_iterator</a>;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="structgrpc__auth__property.html"> 43</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__auth__property.html">grpc_auth_property</a> {</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="structgrpc__auth__property.html#a83fb830ffe7321265dc9b628e9246a27"> 44</a></span>  <span class="keywordtype">char</span>* <a class="code" href="structgrpc__auth__property.html#a83fb830ffe7321265dc9b628e9246a27">name</a>;</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="structgrpc__auth__property.html#af44f45ac4673a0298d00354c47d0907e"> 45</a></span>  <span class="keywordtype">char</span>* <a class="code" href="structgrpc__auth__property.html#af44f45ac4673a0298d00354c47d0907e">value</a>;</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="structgrpc__auth__property.html#a07359a178c29240cab42a89ef047b101"> 46</a></span>  <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__auth__property.html#a07359a178c29240cab42a89ef047b101">value_length</a>;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> } <a class="code" href="grpc__security_8h.html#a010fe7d27deaa2ea50b765b48dbad429">grpc_auth_property</a>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keyword">const</span> <a class="code" href="structgrpc__auth__property.html">grpc_auth_property</a>* <a class="code" href="grpc__security_8h.html#a064c4dc355a3720cd2bcf6e3ddfb3e05">grpc_auth_property_iterator_next</a>(</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <a class="code" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a>* it);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <a class="code" href="grpc__security_8h.html#aedee02a7f6ed58e9bd41b00a518350c2">grpc_auth_context_property_iterator</a>(<span class="keyword">const</span> <a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a>* <a class="code" href="structgrpc__auth__property__iterator.html#a971904d29fa6f6ca6a853d078cae2f58">ctx</a>);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <a class="code" href="grpc__security_8h.html#a4d6409cf4a261297cd327bd49e72fcea">grpc_auth_context_peer_identity</a>(<span class="keyword">const</span> <a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a>* <a class="code" href="structgrpc__auth__property__iterator.html#a971904d29fa6f6ca6a853d078cae2f58">ctx</a>);</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a> <a class="code" href="grpc__security_8h.html#a9d3ce2db2aa6fb1c21dd2789ee7c2d18">grpc_auth_context_find_properties_by_name</a>(</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keyword">const</span> <a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a>* <a class="code" href="structgrpc__auth__property__iterator.html#a971904d29fa6f6ca6a853d078cae2f58">ctx</a>, <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__auth__property__iterator.html#a3838efa5eb622c7e2c071497132b1cc7">name</a>);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="grpc__security_8h.html#a5a627008e49efec12fb97c25b5da4628">grpc_auth_context_peer_identity_property_name</a>(</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keyword">const</span> <a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a>* <a class="code" href="structgrpc__auth__property__iterator.html#a971904d29fa6f6ca6a853d078cae2f58">ctx</a>);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">int</span> <a class="code" href="grpc__security_8h.html#a5bb56dbcba0b0c54e3c6da0635391959">grpc_auth_context_peer_is_authenticated</a>(</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keyword">const</span> <a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a>* <a class="code" href="structgrpc__auth__property__iterator.html#a971904d29fa6f6ca6a853d078cae2f58">ctx</a>);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a>* <a class="code" href="grpc__security_8h.html#a3c1860cddc9edaa7f657a98a35b77e80">grpc_call_auth_context</a>(<a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a>* call);</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc__security_8h.html#aa9dbfdabaca2ab86c9d7e71cbc81d3d4">grpc_auth_context_release</a>(<a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a>* context);</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc__security_8h.html#a93f543166de70abb3a725bdca1d79996">grpc_auth_context_add_property</a>(<a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a>* <a class="code" href="structgrpc__auth__property__iterator.html#a971904d29fa6f6ca6a853d078cae2f58">ctx</a>,</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__auth__property__iterator.html#a3838efa5eb622c7e2c071497132b1cc7">name</a>, <span class="keyword">const</span> <span class="keywordtype">char</span>* value,</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordtype">size_t</span> value_length);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc__security_8h.html#a73068ca89b430bb9004f8c3e86a2886a">grpc_auth_context_add_cstring_property</a>(<a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a>* <a class="code" href="structgrpc__auth__property__iterator.html#a971904d29fa6f6ca6a853d078cae2f58">ctx</a>,</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__auth__property__iterator.html#a3838efa5eb622c7e2c071497132b1cc7">name</a>,</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* value);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">int</span> <a class="code" href="grpc__security_8h.html#a9cff913051370085b7cc58aa3ccbd4a4">grpc_auth_context_set_peer_identity_property_name</a>(</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a>* <a class="code" href="structgrpc__auth__property__iterator.html#a971904d29fa6f6ca6a853d078cae2f58">ctx</a>, <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__auth__property__iterator.html#a3838efa5eb622c7e2c071497132b1cc7">name</a>);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#a7008e76d9e21a435a03267390c6f8a37"> 108</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__security_8h.html#a7008e76d9e21a435a03267390c6f8a37">grpc_ssl_session_cache</a> <a class="code" href="grpc__security_8h.html#a7008e76d9e21a435a03267390c6f8a37">grpc_ssl_session_cache</a>;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#a7008e76d9e21a435a03267390c6f8a37">grpc_ssl_session_cache</a>* <a class="code" href="grpc__security_8h.html#ae175e13bfcab1b77f4cc7f193d898aff">grpc_ssl_session_cache_create_lru</a>(</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordtype">size_t</span> capacity);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc__security_8h.html#a3f83f8a3390b8b1659b719b7f47005a1">grpc_ssl_session_cache_destroy</a>(<a class="code" href="grpc__security_8h.html#a7008e76d9e21a435a03267390c6f8a37">grpc_ssl_session_cache</a>* cache);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="structgrpc__arg.html">grpc_arg</a></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <a class="code" href="grpc__security_8h.html#a4fd0dd05b90f7dcebaaacf8a0088c46f">grpc_ssl_session_cache_create_channel_arg</a>(<a class="code" href="grpc__security_8h.html#a7008e76d9e21a435a03267390c6f8a37">grpc_ssl_session_cache</a>* cache);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b"> 127</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> <a class="code" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a>;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc__security_8h.html#a5a32645c900c2b50bc89fa11ebdc5a07">grpc_channel_credentials_release</a>(<a class="code" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a>* creds);</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a>* <a class="code" href="grpc__security_8h.html#a68183d792830190c3e14504557d57ad7">grpc_google_default_credentials_create</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div><div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#a81799db566912702502c280b163b12bc"> 144</a></span> <span class="keyword">typedef</span> <a class="code" href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68c">grpc_ssl_roots_override_result</a> (*<a class="code" href="grpc__security_8h.html#a81799db566912702502c280b163b12bc">grpc_ssl_roots_override_callback</a>)(</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordtype">char</span>** pem_root_certs);</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc__security_8h.html#a44c23e47832d9cc27bb56822d66bf436">grpc_set_ssl_roots_override_callback</a>(</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <a class="code" href="grpc__security_8h.html#a81799db566912702502c280b163b12bc">grpc_ssl_roots_override_callback</a> cb);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="structgrpc__ssl__pem__key__cert__pair.html"> 156</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="structgrpc__ssl__pem__key__cert__pair.html#a2d4e3bdbc59d906bc9ca8b873120fd72"> 159</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__ssl__pem__key__cert__pair.html#a2d4e3bdbc59d906bc9ca8b873120fd72">private_key</a>;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="structgrpc__ssl__pem__key__cert__pair.html#a483c3601705853f48dfbc8ee66d5e656"> 163</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__ssl__pem__key__cert__pair.html#a483c3601705853f48dfbc8ee66d5e656">cert_chain</a>;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> } <a class="code" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a>;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="structverify__peer__options.html"> 170</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="structverify__peer__options.html#afdb80b6131d0d3775010e96efcf062a3"> 177</a></span>  int (*verify_peer_callback)(<span class="keyword">const</span> <span class="keywordtype">char</span>* target_name, <span class="keyword">const</span> <span class="keywordtype">char</span>* peer_pem,</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordtype">void</span>* userdata);</div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="structverify__peer__options.html#a11ac6021676266d96b66538545d277cc"> 181</a></span>  <span class="keywordtype">void</span>* <a class="code" href="structverify__peer__options.html#a11ac6021676266d96b66538545d277cc">verify_peer_callback_userdata</a>;</div><div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="structverify__peer__options.html#a7dd670d8234469ba71e25a76f07caa68"> 185</a></span>  void (*verify_peer_destruct)(<span class="keywordtype">void</span>* userdata);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> } <a class="code" href="structverify__peer__options.html">verify_peer_options</a>;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div><div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="structgrpc__ssl__verify__peer__options.html"> 190</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="structgrpc__ssl__verify__peer__options.html#a8923d0f5340c92f28e2937ed78859489"> 197</a></span>  int (*verify_peer_callback)(<span class="keyword">const</span> <span class="keywordtype">char</span>* target_name, <span class="keyword">const</span> <span class="keywordtype">char</span>* peer_pem,</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keywordtype">void</span>* userdata);</div><div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="structgrpc__ssl__verify__peer__options.html#a6700c305b4af601ba4a38c05f8a9c898"> 201</a></span>  <span class="keywordtype">void</span>* <a class="code" href="structgrpc__ssl__verify__peer__options.html#a6700c305b4af601ba4a38c05f8a9c898">verify_peer_callback_userdata</a>;</div><div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="structgrpc__ssl__verify__peer__options.html#a3c2e0c9f822bf4f55a105006ab6d9de4"> 205</a></span>  void (*verify_peer_destruct)(<span class="keywordtype">void</span>* userdata);</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> } <a class="code" href="structgrpc__ssl__verify__peer__options.html">grpc_ssl_verify_peer_options</a>;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a>* <a class="code" href="grpc__security_8h.html#a7440216a2192f7c5ecadf5704e7c7bda">grpc_ssl_credentials_create</a>(</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* pem_root_certs, <a class="code" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a>* pem_key_cert_pair,</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keyword">const</span> <a class="code" href="structverify__peer__options.html">verify_peer_options</a>* verify_options, <span class="keywordtype">void</span>* reserved);</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment">/* Creates an SSL credentials object.</span></div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment"> - pem_root_certs is the NULL-terminated string containing the PEM encoding</span></div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="comment"> of the server root certificates. If this parameter is NULL, the</span></div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="comment"> implementation will first try to dereference the file pointed by the</span></div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="comment"> GRPC_DEFAULT_SSL_ROOTS_FILE_PATH environment variable, and if that fails,</span></div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment"> try to get the roots set by grpc_override_ssl_default_roots. Eventually,</span></div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="comment"> if all these fail, it will try to get the roots from a well-known place on</span></div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment"> disk (in the grpc install directory).</span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment"></span></div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment"> gRPC has implemented root cache if the underlying OpenSSL library supports</span></div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="comment"> it. The gRPC root certificates cache is only applicable on the default</span></div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment"> root certificates, which is used when this parameter is nullptr. If user</span></div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment"> provides their own pem_root_certs, when creating an SSL credential object,</span></div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment"> gRPC would not be able to cache it, and each subchannel will generate a</span></div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="comment"> copy of the root store. So it is recommended to avoid providing large room</span></div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment"> pem with pem_root_certs parameter to avoid excessive memory consumption,</span></div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="comment"> particularly on mobile platforms such as iOS.</span></div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="comment"> - pem_key_cert_pair is a pointer on the object containing client's private</span></div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="comment"> key and certificate chain. This parameter can be NULL if the client does</span></div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="comment"> not have such a key/cert pair.</span></div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment"> - verify_options is an optional verify_peer_options object which holds</span></div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="comment"> additional options controlling how peer certificates are verified. For</span></div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="comment"> example, you can supply a callback which receives the peer's certificate</span></div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment"> with which you can do additional verification. Can be NULL, in which</span></div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment"> case verification will retain default behavior. Any settings in</span></div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="comment"> verify_options are copied during this call, so the verify_options</span></div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment"> object can be released afterwards. */</span></div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a>* <a class="code" href="grpc__security_8h.html#a57e477a6fdd9a6a66cc37614701d9088">grpc_ssl_credentials_create_ex</a>(</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* pem_root_certs, <a class="code" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a>* pem_key_cert_pair,</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keyword">const</span> <a class="code" href="structgrpc__ssl__verify__peer__options.html">grpc_ssl_verify_peer_options</a>* verify_options, <span class="keywordtype">void</span>* reserved);</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div><div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072"> 278</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc__security_8h.html#aeb21611154f3defe05e4eac4cc25af5a">grpc_call_credentials_release</a>(<a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>* creds);</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a>* <a class="code" href="grpc__security_8h.html#a8e4b35968eac741831a708224e207348">grpc_composite_channel_credentials_create</a>(</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <a class="code" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a>* channel_creds, <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>* call_creds,</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="keywordtype">void</span>* reserved);</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>* <a class="code" href="grpc__security_8h.html#a5fb84795d5b0306006fdb8d316262a82">grpc_composite_call_credentials_create</a>(</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>* creds1, <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>* creds2,</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keywordtype">void</span>* reserved);</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>* <a class="code" href="grpc__security_8h.html#af66841ff2c26a95ff9cd18ea2cdf38cb">grpc_google_compute_engine_credentials_create</a>(</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keywordtype">void</span>* reserved);</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="structgpr__timespec.html">gpr_timespec</a> <a class="code" href="grpc__security_8h.html#a4274ad26c037943386451f437c768961">grpc_max_auth_token_lifetime</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>*</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <a class="code" href="grpc__security_8h.html#ae8c4bf6c9657d6e19ea1481c1ea9a5d5">grpc_service_account_jwt_access_credentials_create</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* json_key,</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <a class="code" href="structgpr__timespec.html">gpr_timespec</a> token_lifetime,</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <span class="keywordtype">void</span>* reserved);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>* <a class="code" href="grpc__security_8h.html#aa2108431aea25ab0e9bef17becff7357">grpc_google_refresh_token_credentials_create</a>(</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* json_refresh_token, <span class="keywordtype">void</span>* reserved);</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>* <a class="code" href="grpc__security_8h.html#aa64d5173a15c51fdb2d80c3c187157ca">grpc_access_token_credentials_create</a>(</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* access_token, <span class="keywordtype">void</span>* reserved);</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>* <a class="code" href="grpc__security_8h.html#a060719c0b294858858dbf41b7ec2abb5">grpc_google_iam_credentials_create</a>(</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* authorization_token, <span class="keyword">const</span> <span class="keywordtype">char</span>* authority_selector,</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keywordtype">void</span>* reserved);</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div><div class="line"><a name="l00337"></a><span class="lineno"><a class="line" href="structgrpc__sts__credentials__options.html"> 337</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="structgrpc__sts__credentials__options.html#ac40c27040b88f70a8a51e5a854eee68d"> 338</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__sts__credentials__options.html#ac40c27040b88f70a8a51e5a854eee68d">token_exchange_service_uri</a>; <span class="comment">/* Required. */</span></div><div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="structgrpc__sts__credentials__options.html#acccf3e0c9f7f8865718fbb8e51f2d5ab"> 339</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__sts__credentials__options.html#acccf3e0c9f7f8865718fbb8e51f2d5ab">resource</a>; <span class="comment">/* Optional. */</span></div><div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="structgrpc__sts__credentials__options.html#a91d3976529603354ce8bdf92394ef074"> 340</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__sts__credentials__options.html#a91d3976529603354ce8bdf92394ef074">audience</a>; <span class="comment">/* Optional. */</span></div><div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="structgrpc__sts__credentials__options.html#a1da17c75496e5debe7b89d3f43fc511b"> 341</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__sts__credentials__options.html#a1da17c75496e5debe7b89d3f43fc511b">scope</a>; <span class="comment">/* Optional. */</span></div><div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="structgrpc__sts__credentials__options.html#a139402921fe862ba5c177d28c3d1ea90"> 342</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__sts__credentials__options.html#a139402921fe862ba5c177d28c3d1ea90">requested_token_type</a>; <span class="comment">/* Optional. */</span></div><div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="structgrpc__sts__credentials__options.html#a26907053e134770f20c2e3506a7b3979"> 343</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__sts__credentials__options.html#a26907053e134770f20c2e3506a7b3979">subject_token_path</a>; <span class="comment">/* Required. */</span></div><div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="structgrpc__sts__credentials__options.html#a467b1184da37adc95e8180b66a3a628f"> 344</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__sts__credentials__options.html#a467b1184da37adc95e8180b66a3a628f">subject_token_type</a>; <span class="comment">/* Required. */</span></div><div class="line"><a name="l00345"></a><span class="lineno"><a class="line" href="structgrpc__sts__credentials__options.html#a6085040c96239e50ee0650bd92b2a972"> 345</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__sts__credentials__options.html#a6085040c96239e50ee0650bd92b2a972">actor_token_path</a>; <span class="comment">/* Optional. */</span></div><div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="structgrpc__sts__credentials__options.html#a238c61ccc9d4b8091d34a6e525290a4c"> 346</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__sts__credentials__options.html#a238c61ccc9d4b8091d34a6e525290a4c">actor_token_type</a>; <span class="comment">/* Optional. */</span></div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span> } <a class="code" href="structgrpc__sts__credentials__options.html">grpc_sts_credentials_options</a>;</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>* <a class="code" href="grpc__security_8h.html#aa207ea7a0454b657fa79567784ff5cbf">grpc_sts_credentials_create</a>(</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="keyword">const</span> <a class="code" href="structgrpc__sts__credentials__options.html">grpc_sts_credentials_options</a>* options, <span class="keywordtype">void</span>* reserved);</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div><div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#a08c13ff956af9e64b514c4af434faba2"> 367</a></span> <span class="keyword">typedef</span> void (*<a class="code" href="grpc__security_8h.html#a08c13ff956af9e64b514c4af434faba2">grpc_credentials_plugin_metadata_cb</a>)(</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keywordtype">void</span>* user_data, <span class="keyword">const</span> <a class="code" href="structgrpc__metadata.html">grpc_metadata</a>* creds_md, <span class="keywordtype">size_t</span> num_creds_md,</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> status, <span class="keyword">const</span> <span class="keywordtype">char</span>* error_details);</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div><div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="structgrpc__auth__metadata__context.html"> 373</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00375"></a><span class="lineno"><a class="line" href="structgrpc__auth__metadata__context.html#a67ff8c2ebf38b5511da3d3194d72e01d"> 375</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__auth__metadata__context.html#a67ff8c2ebf38b5511da3d3194d72e01d">service_url</a>;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span> </div><div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="structgrpc__auth__metadata__context.html#ad031faf41efeaae29c4f71d67a0d2cb3"> 380</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__auth__metadata__context.html#ad031faf41efeaae29c4f71d67a0d2cb3">method_name</a>;</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div><div class="line"><a name="l00383"></a><span class="lineno"><a class="line" href="structgrpc__auth__metadata__context.html#a7cb596d3af7463816fdde64f3e18dbde"> 383</a></span>  <span class="keyword">const</span> <a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a>* <a class="code" href="structgrpc__auth__metadata__context.html#a7cb596d3af7463816fdde64f3e18dbde">channel_auth_context</a>;</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div><div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="structgrpc__auth__metadata__context.html#a0ca2d1c0da619c1e50cef8437f1ef517"> 386</a></span>  <span class="keywordtype">void</span>* <a class="code" href="structgrpc__auth__metadata__context.html#a0ca2d1c0da619c1e50cef8437f1ef517">reserved</a>;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span> } <a class="code" href="structgrpc__auth__metadata__context.html">grpc_auth_metadata_context</a>;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div><div class="line"><a name="l00391"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#a33e259900dbbac0ea018352adf1a4af7"> 391</a></span> <span class="preprocessor">#define GRPC_METADATA_CREDENTIALS_PLUGIN_SYNC_MAX 4</span></div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div><div class="line"><a name="l00398"></a><span class="lineno"><a class="line" href="structgrpc__metadata__credentials__plugin.html"> 398</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00417"></a><span class="lineno"><a class="line" href="structgrpc__metadata__credentials__plugin.html#af8506ea31e5709124899e4e406b4a9f1"> 417</a></span>  int (*get_metadata)(</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <span class="keywordtype">void</span>* state, <a class="code" href="structgrpc__auth__metadata__context.html">grpc_auth_metadata_context</a> context,</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <a class="code" href="grpc__security_8h.html#a08c13ff956af9e64b514c4af434faba2">grpc_credentials_plugin_metadata_cb</a> cb, <span class="keywordtype">void</span>* user_data,</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <a class="code" href="structgrpc__metadata.html">grpc_metadata</a> creds_md[<a class="code" href="grpc__security_8h.html#a33e259900dbbac0ea018352adf1a4af7">GRPC_METADATA_CREDENTIALS_PLUGIN_SYNC_MAX</a>],</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <span class="keywordtype">size_t</span>* num_creds_md, <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a>* status,</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <span class="keyword">const</span> <span class="keywordtype">char</span>** error_details);</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div><div class="line"><a name="l00425"></a><span class="lineno"><a class="line" href="structgrpc__metadata__credentials__plugin.html#a445b45204d00f76d957a6065cc117cc6"> 425</a></span>  void (*destroy)(<span class="keywordtype">void</span>* state);</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span> </div><div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="structgrpc__metadata__credentials__plugin.html#a3b571f8cbf3cffd887dec1ed5a662571"> 428</a></span>  <span class="keywordtype">void</span>* <a class="code" href="structgrpc__metadata__credentials__plugin.html#a3b571f8cbf3cffd887dec1ed5a662571">state</a>;</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div><div class="line"><a name="l00431"></a><span class="lineno"><a class="line" href="structgrpc__metadata__credentials__plugin.html#a6c02843e7eff42cb3b397800bd64f2dc"> 431</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__metadata__credentials__plugin.html#a6c02843e7eff42cb3b397800bd64f2dc">type</a>;</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span> } <a class="code" href="structgrpc__metadata__credentials__plugin.html">grpc_metadata_credentials_plugin</a>;</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>* <a class="code" href="grpc__security_8h.html#aed07d29d954508e9f9da66b547660160">grpc_metadata_credentials_create_from_plugin</a>(</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <a class="code" href="structgrpc__metadata__credentials__plugin.html">grpc_metadata_credentials_plugin</a> plugin, <span class="keywordtype">void</span>* reserved);</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a>* <a class="code" href="grpc__security_8h.html#acad1744e2cdf6f9f11723c3450874ca7">grpc_secure_channel_create</a>(</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <a class="code" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a>* creds, <span class="keyword">const</span> <span class="keywordtype">char</span>* target,</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <span class="keyword">const</span> <a class="code" href="structgrpc__channel__args.html">grpc_channel_args</a>* args, <span class="keywordtype">void</span>* reserved);</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div><div class="line"><a name="l00455"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc"> 455</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a> <a class="code" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a>;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc__security_8h.html#a8d8e443300d9a94fa5fe7ef76c77fd38">grpc_server_credentials_release</a>(<a class="code" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a>* creds);</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span> </div><div class="line"><a name="l00466"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#acb8bbd3a6006aee7f7b254d4a91d914f"> 466</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__security_8h.html#acb8bbd3a6006aee7f7b254d4a91d914f">grpc_ssl_server_certificate_config</a></div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  <a class="code" href="grpc__security_8h.html#acb8bbd3a6006aee7f7b254d4a91d914f">grpc_ssl_server_certificate_config</a>;</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span> </div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#acb8bbd3a6006aee7f7b254d4a91d914f">grpc_ssl_server_certificate_config</a>*</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <a class="code" href="grpc__security_8h.html#a0fbb46fa71b635516037e6b265f937f5">grpc_ssl_server_certificate_config_create</a>(</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* pem_root_certs,</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <span class="keyword">const</span> <a class="code" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a>* pem_key_cert_pairs,</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <span class="keywordtype">size_t</span> num_key_cert_pairs);</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span> </div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc__security_8h.html#a077c39db13d0211eac9c6a952882bc31">grpc_ssl_server_certificate_config_destroy</a>(</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  <a class="code" href="grpc__security_8h.html#acb8bbd3a6006aee7f7b254d4a91d914f">grpc_ssl_server_certificate_config</a>* config);</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span> </div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="keyword">typedef</span> <a class="code" href="grpc__security__constants_8h.html#a4f19e93998bbda68d9c24f27673ff627">grpc_ssl_certificate_config_reload_status</a> (</div><div class="line"><a name="l00496"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#a8c5f064d7d008bc46fa61e87d68898f3"> 496</a></span>  *<a class="code" href="grpc__security_8h.html#a8c5f064d7d008bc46fa61e87d68898f3">grpc_ssl_server_certificate_config_callback</a>)(</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="keywordtype">void</span>* user_data, <a class="code" href="grpc__security_8h.html#acb8bbd3a6006aee7f7b254d4a91d914f">grpc_ssl_server_certificate_config</a>** config);</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span> </div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a>* <a class="code" href="grpc__security_8h.html#adde6c7d191f88997fd82fd8b54f9420e">grpc_ssl_server_credentials_create</a>(</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* pem_root_certs, <a class="code" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a>* pem_key_cert_pairs,</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <span class="keywordtype">size_t</span> num_key_cert_pairs, <span class="keywordtype">int</span> force_client_auth, <span class="keywordtype">void</span>* reserved);</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span> </div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a>* <a class="code" href="grpc__security_8h.html#a5f8a4204d09f2b10a3986d25b6583a08">grpc_ssl_server_credentials_create_ex</a>(</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* pem_root_certs, <a class="code" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a>* pem_key_cert_pairs,</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  <span class="keywordtype">size_t</span> num_key_cert_pairs,</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  <a class="code" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09">grpc_ssl_client_certificate_request_type</a> client_certificate_request,</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  <span class="keywordtype">void</span>* reserved);</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span> </div><div class="line"><a name="l00525"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#ade0da78380603c2e26c81695f09ea4c8"> 525</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__security_8h.html#ade0da78380603c2e26c81695f09ea4c8">grpc_ssl_server_credentials_options</a></div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <a class="code" href="grpc__security_8h.html#ade0da78380603c2e26c81695f09ea4c8">grpc_ssl_server_credentials_options</a>;</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span> </div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#ade0da78380603c2e26c81695f09ea4c8">grpc_ssl_server_credentials_options</a>*</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <a class="code" href="grpc__security_8h.html#a019828123e4b76b8a13f7d8045396d28">grpc_ssl_server_credentials_create_options_using_config</a>(</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  <a class="code" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09">grpc_ssl_client_certificate_request_type</a> client_certificate_request,</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  <a class="code" href="grpc__security_8h.html#acb8bbd3a6006aee7f7b254d4a91d914f">grpc_ssl_server_certificate_config</a>* certificate_config);</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span> </div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#ade0da78380603c2e26c81695f09ea4c8">grpc_ssl_server_credentials_options</a>*</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <a class="code" href="grpc__security_8h.html#a0bef5efe91a84e2c74b031759a9a7313">grpc_ssl_server_credentials_create_options_using_config_fetcher</a>(</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  <a class="code" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09">grpc_ssl_client_certificate_request_type</a> client_certificate_request,</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  <a class="code" href="grpc__security_8h.html#a8c5f064d7d008bc46fa61e87d68898f3">grpc_ssl_server_certificate_config_callback</a> cb, <span class="keywordtype">void</span>* user_data);</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span> </div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc__security_8h.html#aa22779b6b4ffefc0efdaf8de4c8314a8">grpc_ssl_server_credentials_options_destroy</a>(</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  <a class="code" href="grpc__security_8h.html#ade0da78380603c2e26c81695f09ea4c8">grpc_ssl_server_credentials_options</a>* options);</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span> </div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a>*</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <a class="code" href="grpc__security_8h.html#aec838ac89bd393040f0c88dad25a72ca">grpc_ssl_server_credentials_create_with_options</a>(</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  <a class="code" href="grpc__security_8h.html#ade0da78380603c2e26c81695f09ea4c8">grpc_ssl_server_credentials_options</a>* options);</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span> </div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">int</span> <a class="code" href="grpc__security_8h.html#a53278c0894e787a5f3bb1092d0fdc3f6">grpc_server_add_secure_http2_port</a>(<a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a>* server,</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* addr,</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  <a class="code" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a>* creds);</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span> </div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> <a class="code" href="grpc__security_8h.html#ab065a653f78111065e91a579fd2ce2d2">grpc_call_set_credentials</a>(<a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a>* call,</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>* creds);</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span> </div><div class="line"><a name="l00586"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#a34b93b8c1e0dbdaae9dc11bbce706cb4"> 586</a></span> <span class="keyword">typedef</span> void (*<a class="code" href="grpc__security_8h.html#a34b93b8c1e0dbdaae9dc11bbce706cb4">grpc_process_auth_metadata_done_cb</a>)(</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  <span class="keywordtype">void</span>* user_data, <span class="keyword">const</span> <a class="code" href="structgrpc__metadata.html">grpc_metadata</a>* consumed_md, <span class="keywordtype">size_t</span> num_consumed_md,</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  <span class="keyword">const</span> <a class="code" href="structgrpc__metadata.html">grpc_metadata</a>* response_md, <span class="keywordtype">size_t</span> num_response_md,</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> status, <span class="keyword">const</span> <span class="keywordtype">char</span>* error_details);</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span> </div><div class="line"><a name="l00592"></a><span class="lineno"><a class="line" href="structgrpc__auth__metadata__processor.html"> 592</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00597"></a><span class="lineno"><a class="line" href="structgrpc__auth__metadata__processor.html#aac9b9b7b0057c688c19fd7c5a2f2d808"> 597</a></span>  void (*process)(<span class="keywordtype">void</span>* state, <a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a>* context,</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  <span class="keyword">const</span> <a class="code" href="structgrpc__metadata.html">grpc_metadata</a>* md, <span class="keywordtype">size_t</span> num_md,</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  <a class="code" href="grpc__security_8h.html#a34b93b8c1e0dbdaae9dc11bbce706cb4">grpc_process_auth_metadata_done_cb</a> cb, <span class="keywordtype">void</span>* user_data);</div><div class="line"><a name="l00600"></a><span class="lineno"><a class="line" href="structgrpc__auth__metadata__processor.html#a33be2059783190555aee0edb42bca475"> 600</a></span>  void (*destroy)(<span class="keywordtype">void</span>* state);</div><div class="line"><a name="l00601"></a><span class="lineno"><a class="line" href="structgrpc__auth__metadata__processor.html#af85de1293dfd5e846339d5ef4b7b41dc"> 601</a></span>  <span class="keywordtype">void</span>* <a class="code" href="structgrpc__auth__metadata__processor.html#af85de1293dfd5e846339d5ef4b7b41dc">state</a>;</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span> } <a class="code" href="structgrpc__auth__metadata__processor.html">grpc_auth_metadata_processor</a>;</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span> </div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc__security_8h.html#a37da13e43ccc9b19e9f1a6051feaedc3">grpc_server_credentials_set_auth_metadata_processor</a>(</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  <a class="code" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a>* creds, <a class="code" href="structgrpc__auth__metadata__processor.html">grpc_auth_metadata_processor</a> processor);</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span> </div><div class="line"><a name="l00617"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#a196ff73c6ff0dc0d7846635e02016b0f"> 617</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__security_8h.html#a196ff73c6ff0dc0d7846635e02016b0f">grpc_alts_credentials_options</a> <a class="code" href="grpc__security_8h.html#a196ff73c6ff0dc0d7846635e02016b0f">grpc_alts_credentials_options</a>;</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span> </div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#a196ff73c6ff0dc0d7846635e02016b0f">grpc_alts_credentials_options</a>*</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <a class="code" href="grpc__security_8h.html#adfe1c1af2f1ad4c241748f77b7f83585">grpc_alts_credentials_client_options_create</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span> </div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#a196ff73c6ff0dc0d7846635e02016b0f">grpc_alts_credentials_options</a>*</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <a class="code" href="grpc__security_8h.html#a2d689961c79ceaf254e7ba211ebe9b34">grpc_alts_credentials_server_options_create</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span> </div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc__security_8h.html#a9915a0aad4c5b287af506f1ebe3ad505">grpc_alts_credentials_client_options_add_target_service_account</a>(</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  <a class="code" href="grpc__security_8h.html#a196ff73c6ff0dc0d7846635e02016b0f">grpc_alts_credentials_options</a>* options, <span class="keyword">const</span> <span class="keywordtype">char</span>* service_account);</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span> </div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc__security_8h.html#a3a78f4ff1575a2c9e4a3d547b9aa2bb0">grpc_alts_credentials_options_destroy</a>(</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  <a class="code" href="grpc__security_8h.html#a196ff73c6ff0dc0d7846635e02016b0f">grpc_alts_credentials_options</a>* options);</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span> </div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a>* <a class="code" href="grpc__security_8h.html#ade3f89f1532e030b8f2afcf0df17b2fe">grpc_alts_credentials_create</a>(</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  <span class="keyword">const</span> <a class="code" href="grpc__security_8h.html#a196ff73c6ff0dc0d7846635e02016b0f">grpc_alts_credentials_options</a>* options);</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span> </div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a>* <a class="code" href="grpc__security_8h.html#a5dde4a563a9f7b8b1fc595ecd8d357fa">grpc_alts_server_credentials_create</a>(</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  <span class="keyword">const</span> <a class="code" href="grpc__security_8h.html#a196ff73c6ff0dc0d7846635e02016b0f">grpc_alts_credentials_options</a>* options);</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span> </div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a>* <a class="code" href="grpc__security_8h.html#a6c5c11ac702b466c9dd0773cff01e72f">grpc_local_credentials_create</a>(</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <a class="code" href="grpc__security__constants_8h.html#a31d00ce5c064e1fff4261a6d6298dc11">grpc_local_connect_type</a> type);</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span> </div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a>* <a class="code" href="grpc__security_8h.html#a39e8a41f7f9a8d7587343964b18fc464">grpc_local_server_credentials_create</a>(</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  <a class="code" href="grpc__security__constants_8h.html#a31d00ce5c064e1fff4261a6d6298dc11">grpc_local_connect_type</a> type);</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span> </div><div class="line"><a name="l00706"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#a2967916eed7d3f7aa1f8fbf3fc45d9ce"> 706</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__security_8h.html#a2967916eed7d3f7aa1f8fbf3fc45d9ce">grpc_tls_key_materials_config</a> <a class="code" href="grpc__security_8h.html#a2967916eed7d3f7aa1f8fbf3fc45d9ce">grpc_tls_key_materials_config</a>;</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span> </div><div class="line"><a name="l00710"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#aed7d78aacba36dda7c4e95668e1e8f8e"> 710</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__security_8h.html#aed7d78aacba36dda7c4e95668e1e8f8e">grpc_tls_credential_reload_config</a></div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  <a class="code" href="grpc__security_8h.html#aed7d78aacba36dda7c4e95668e1e8f8e">grpc_tls_credential_reload_config</a>;</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span> </div><div class="line"><a name="l00715"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#a0927fc30a7bd209877095da5a67ba22c"> 715</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__security_8h.html#a0927fc30a7bd209877095da5a67ba22c">grpc_tls_server_authorization_check_config</a></div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  <a class="code" href="grpc__security_8h.html#a0927fc30a7bd209877095da5a67ba22c">grpc_tls_server_authorization_check_config</a>;</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span> </div><div class="line"><a name="l00720"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#a8fe8a5a9b93ff8671a7843add47d57be"> 720</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__security_8h.html#a8fe8a5a9b93ff8671a7843add47d57be">grpc_tls_credentials_options</a> <a class="code" href="grpc__security_8h.html#a8fe8a5a9b93ff8671a7843add47d57be">grpc_tls_credentials_options</a>;</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span> </div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#a8fe8a5a9b93ff8671a7843add47d57be">grpc_tls_credentials_options</a>* <a class="code" href="grpc__security_8h.html#acf9de635e67ef9b6b41a3b72ebdbdcfc">grpc_tls_credentials_options_create</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span> </div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">int</span> <a class="code" href="grpc__security_8h.html#a74b4321fe0bd90f5014b434ee81c17ae">grpc_tls_credentials_options_set_cert_request_type</a>(</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  <a class="code" href="grpc__security_8h.html#a8fe8a5a9b93ff8671a7843add47d57be">grpc_tls_credentials_options</a>* options,</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  <a class="code" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09">grpc_ssl_client_certificate_request_type</a> type);</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span> </div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">int</span> <a class="code" href="grpc__security_8h.html#a7003ba2a1fef61f102bce642ffbf4a99">grpc_tls_credentials_options_set_key_materials_config</a>(</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  <a class="code" href="grpc__security_8h.html#a8fe8a5a9b93ff8671a7843add47d57be">grpc_tls_credentials_options</a>* options,</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  <a class="code" href="grpc__security_8h.html#a2967916eed7d3f7aa1f8fbf3fc45d9ce">grpc_tls_key_materials_config</a>* config);</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span> </div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">int</span> <a class="code" href="grpc__security_8h.html#a1156855c669abbbff6aaa05fe6cfbffd">grpc_tls_credentials_options_set_credential_reload_config</a>(</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  <a class="code" href="grpc__security_8h.html#a8fe8a5a9b93ff8671a7843add47d57be">grpc_tls_credentials_options</a>* options,</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>  <a class="code" href="grpc__security_8h.html#aed7d78aacba36dda7c4e95668e1e8f8e">grpc_tls_credential_reload_config</a>* config);</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span> </div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">int</span> <a class="code" href="grpc__security_8h.html#aa38f4543664e3e0be8b7329603d6e014">grpc_tls_credentials_options_set_server_authorization_check_config</a>(</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  <a class="code" href="grpc__security_8h.html#a8fe8a5a9b93ff8671a7843add47d57be">grpc_tls_credentials_options</a>* options,</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  <a class="code" href="grpc__security_8h.html#a0927fc30a7bd209877095da5a67ba22c">grpc_tls_server_authorization_check_config</a>* config);</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span> </div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#a2967916eed7d3f7aa1f8fbf3fc45d9ce">grpc_tls_key_materials_config</a>* <a class="code" href="grpc__security_8h.html#a3087eccc6abb4a67d4393d999c7a2a37">grpc_tls_key_materials_config_create</a>(</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <span class="keywordtype">void</span>);</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span> </div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">int</span> <a class="code" href="grpc__security_8h.html#ab6371d3ff79d1330eb914bff2122e6f9">grpc_tls_key_materials_config_set_key_materials</a>(</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  <a class="code" href="grpc__security_8h.html#a2967916eed7d3f7aa1f8fbf3fc45d9ce">grpc_tls_key_materials_config</a>* config, <span class="keyword">const</span> <span class="keywordtype">char</span>* pem_root_certs,</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  <span class="keyword">const</span> <a class="code" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a>** pem_key_cert_pairs,</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  <span class="keywordtype">size_t</span> num_key_cert_pairs);</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span> </div><div class="line"><a name="l00784"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#af96a3f2e90b21bdc2a4e6b88745dda5d"> 784</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__tls__credential__reload__arg.html">grpc_tls_credential_reload_arg</a> <a class="code" href="structgrpc__tls__credential__reload__arg.html">grpc_tls_credential_reload_arg</a>;</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span> </div><div class="line"><a name="l00790"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#a4c79c219cfe6c68ce52d2b195ec2ed0a"> 790</a></span> <span class="keyword">typedef</span> void (*<a class="code" href="grpc__security_8h.html#a4c79c219cfe6c68ce52d2b195ec2ed0a">grpc_tls_on_credential_reload_done_cb</a>)(</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <a class="code" href="structgrpc__tls__credential__reload__arg.html">grpc_tls_credential_reload_arg</a>* arg);</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span> </div><div class="line"><a name="l00800"></a><span class="lineno"><a class="line" href="structgrpc__tls__credential__reload__arg.html"> 800</a></span> <span class="keyword">struct </span><a class="code" href="structgrpc__tls__credential__reload__arg.html">grpc_tls_credential_reload_arg</a> {</div><div class="line"><a name="l00801"></a><span class="lineno"><a class="line" href="structgrpc__tls__credential__reload__arg.html#a334d8ef3177532d0a1e2094d4a23233c"> 801</a></span>  <a class="code" href="grpc__security_8h.html#a4c79c219cfe6c68ce52d2b195ec2ed0a">grpc_tls_on_credential_reload_done_cb</a> <a class="code" href="structgrpc__tls__credential__reload__arg.html#a334d8ef3177532d0a1e2094d4a23233c">cb</a>;</div><div class="line"><a name="l00802"></a><span class="lineno"><a class="line" href="structgrpc__tls__credential__reload__arg.html#a91a81a3317b88c3c380d7febad26b5e9"> 802</a></span>  <span class="keywordtype">void</span>* <a class="code" href="structgrpc__tls__credential__reload__arg.html#a91a81a3317b88c3c380d7febad26b5e9">cb_user_data</a>;</div><div class="line"><a name="l00803"></a><span class="lineno"><a class="line" href="structgrpc__tls__credential__reload__arg.html#aa28bad2203a56f05707535913ffdde98"> 803</a></span>  <a class="code" href="grpc__security_8h.html#a2967916eed7d3f7aa1f8fbf3fc45d9ce">grpc_tls_key_materials_config</a>* <a class="code" href="structgrpc__tls__credential__reload__arg.html#aa28bad2203a56f05707535913ffdde98">key_materials_config</a>;</div><div class="line"><a name="l00804"></a><span class="lineno"><a class="line" href="structgrpc__tls__credential__reload__arg.html#a4d7f7be6bb3a174e289eafe75526ae9d"> 804</a></span>  <a class="code" href="grpc__security__constants_8h.html#a4f19e93998bbda68d9c24f27673ff627">grpc_ssl_certificate_config_reload_status</a> <a class="code" href="structgrpc__tls__credential__reload__arg.html#a4d7f7be6bb3a174e289eafe75526ae9d">status</a>;</div><div class="line"><a name="l00805"></a><span class="lineno"><a class="line" href="structgrpc__tls__credential__reload__arg.html#af48e5dec8c568ba772552750f9019a93"> 805</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__tls__credential__reload__arg.html#af48e5dec8c568ba772552750f9019a93">error_details</a>;</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span> };</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span> </div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#aed7d78aacba36dda7c4e95668e1e8f8e">grpc_tls_credential_reload_config</a>*</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span> <a class="code" href="grpc__security_8h.html#a2337a83a6898dde63d4948e8b12aee69">grpc_tls_credential_reload_config_create</a>(</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  <span class="keyword">const</span> <span class="keywordtype">void</span>* config_user_data,</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  <span class="keywordtype">int</span> (*schedule)(<span class="keywordtype">void</span>* config_user_data,</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  <a class="code" href="structgrpc__tls__credential__reload__arg.html">grpc_tls_credential_reload_arg</a>* arg),</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>  <span class="keywordtype">void</span> (*cancel)(<span class="keywordtype">void</span>* config_user_data, <a class="code" href="structgrpc__tls__credential__reload__arg.html">grpc_tls_credential_reload_arg</a>* arg),</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  <span class="keywordtype">void</span> (*destruct)(<span class="keywordtype">void</span>* config_user_data));</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span> </div><div class="line"><a name="l00839"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#aceb7acdc7bce490b9afa974da0b44f89"> 839</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__tls__server__authorization__check__arg.html">grpc_tls_server_authorization_check_arg</a></div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  <a class="code" href="structgrpc__tls__server__authorization__check__arg.html">grpc_tls_server_authorization_check_arg</a>;</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span> </div><div class="line"><a name="l00846"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#ab72de5caa877bbfff84676b1cb024fb3"> 846</a></span> <span class="keyword">typedef</span> void (*<a class="code" href="grpc__security_8h.html#ab72de5caa877bbfff84676b1cb024fb3">grpc_tls_on_server_authorization_check_done_cb</a>)(</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  <a class="code" href="structgrpc__tls__server__authorization__check__arg.html">grpc_tls_server_authorization_check_arg</a>* arg);</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span> </div><div class="line"><a name="l00860"></a><span class="lineno"><a class="line" href="structgrpc__tls__server__authorization__check__arg.html"> 860</a></span> <span class="keyword">struct </span><a class="code" href="structgrpc__tls__server__authorization__check__arg.html">grpc_tls_server_authorization_check_arg</a> {</div><div class="line"><a name="l00861"></a><span class="lineno"><a class="line" href="structgrpc__tls__server__authorization__check__arg.html#a77029657f0b1b653fe3694a05b3272dc"> 861</a></span>  <a class="code" href="grpc__security_8h.html#ab72de5caa877bbfff84676b1cb024fb3">grpc_tls_on_server_authorization_check_done_cb</a> <a class="code" href="structgrpc__tls__server__authorization__check__arg.html#a77029657f0b1b653fe3694a05b3272dc">cb</a>;</div><div class="line"><a name="l00862"></a><span class="lineno"><a class="line" href="structgrpc__tls__server__authorization__check__arg.html#a49f838e2bc8533b18d77e9e31a34033b"> 862</a></span>  <span class="keywordtype">void</span>* <a class="code" href="structgrpc__tls__server__authorization__check__arg.html#a49f838e2bc8533b18d77e9e31a34033b">cb_user_data</a>;</div><div class="line"><a name="l00863"></a><span class="lineno"><a class="line" href="structgrpc__tls__server__authorization__check__arg.html#a4b61309fca075f7d93d3a4325728bb7f"> 863</a></span>  <span class="keywordtype">int</span> <a class="code" href="structgrpc__tls__server__authorization__check__arg.html#a4b61309fca075f7d93d3a4325728bb7f">success</a>;</div><div class="line"><a name="l00864"></a><span class="lineno"><a class="line" href="structgrpc__tls__server__authorization__check__arg.html#a5ea427a08f7acada51d9ace358f8529b"> 864</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__tls__server__authorization__check__arg.html#a5ea427a08f7acada51d9ace358f8529b">target_name</a>;</div><div class="line"><a name="l00865"></a><span class="lineno"><a class="line" href="structgrpc__tls__server__authorization__check__arg.html#aa33742301cfcf0e968360da852d7bcc0"> 865</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__tls__server__authorization__check__arg.html#aa33742301cfcf0e968360da852d7bcc0">peer_cert</a>;</div><div class="line"><a name="l00866"></a><span class="lineno"><a class="line" href="structgrpc__tls__server__authorization__check__arg.html#ad5947a871b4a54e5562d4419f7dafc56"> 866</a></span>  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> <a class="code" href="structgrpc__tls__server__authorization__check__arg.html#ad5947a871b4a54e5562d4419f7dafc56">status</a>;</div><div class="line"><a name="l00867"></a><span class="lineno"><a class="line" href="structgrpc__tls__server__authorization__check__arg.html#a602504f40324d142e186527ce99a01c2"> 867</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structgrpc__tls__server__authorization__check__arg.html#a602504f40324d142e186527ce99a01c2">error_details</a>;</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span> };</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span> </div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span> <a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#a0927fc30a7bd209877095da5a67ba22c">grpc_tls_server_authorization_check_config</a>*</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span> <a class="code" href="grpc__security_8h.html#a8ff1f21121b5dafaf848683e8eaf74d9">grpc_tls_server_authorization_check_config_create</a>(</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  <span class="keyword">const</span> <span class="keywordtype">void</span>* config_user_data,</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  <span class="keywordtype">int</span> (*schedule)(<span class="keywordtype">void</span>* config_user_data,</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>  <a class="code" href="structgrpc__tls__server__authorization__check__arg.html">grpc_tls_server_authorization_check_arg</a>* arg),</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  <span class="keywordtype">void</span> (*cancel)(<span class="keywordtype">void</span>* config_user_data,</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  <a class="code" href="structgrpc__tls__server__authorization__check__arg.html">grpc_tls_server_authorization_check_arg</a>* arg),</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>  <span class="keywordtype">void</span> (*destruct)(<span class="keywordtype">void</span>* config_user_data));</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span> </div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span> <a class="code" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a>* <a class="code" href="grpc__security_8h.html#aa0d86b58b1fc00d9aad76c00b9c95231">grpc_tls_spiffe_credentials_create</a>(</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  <a class="code" href="grpc__security_8h.html#a8fe8a5a9b93ff8671a7843add47d57be">grpc_tls_credentials_options</a>* options);</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span> </div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span> <a class="code" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a>* <a class="code" href="grpc__security_8h.html#a74132d68002c1f3dde8a810e843604ee">grpc_tls_spiffe_server_credentials_create</a>(</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  <a class="code" href="grpc__security_8h.html#a8fe8a5a9b93ff8671a7843add47d57be">grpc_tls_credentials_options</a>* options);</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span> </div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span> }</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span> </div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span> <span class="preprocessor">#endif </span><span class="comment">/* GRPC_GRPC_SECURITY_H */</span><span class="preprocessor"></span></div><div class="ttc" id="grpc__security__constants_8h_html_a4f19e93998bbda68d9c24f27673ff627"><div class="ttname"><a href="grpc__security__constants_8h.html#a4f19e93998bbda68d9c24f27673ff627">grpc_ssl_certificate_config_reload_status</a></div><div class="ttdeci">grpc_ssl_certificate_config_reload_status</div><div class="ttdoc">Callback results for dynamically loading a SSL certificate config. </div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:53</div></div>
- <div class="ttc" id="grpc__types_8h_html_a122f8f4f0a585396d993d9b55848f222"><div class="ttname"><a href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a></div><div class="ttdeci">struct grpc_call grpc_call</div><div class="ttdoc">A Call represents an RPC. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:70</div></div>
- <div class="ttc" id="structgrpc__sts__credentials__options_html_a6085040c96239e50ee0650bd92b2a972"><div class="ttname"><a href="structgrpc__sts__credentials__options.html#a6085040c96239e50ee0650bd92b2a972">grpc_sts_credentials_options::actor_token_path</a></div><div class="ttdeci">const char * actor_token_path</div><div class="ttdef"><b>Definition:</b> grpc_security.h:345</div></div>
- <div class="ttc" id="grpc__security_8h_html_a9d3ce2db2aa6fb1c21dd2789ee7c2d18"><div class="ttname"><a href="grpc__security_8h.html#a9d3ce2db2aa6fb1c21dd2789ee7c2d18">grpc_auth_context_find_properties_by_name</a></div><div class="ttdeci">GRPCAPI grpc_auth_property_iterator grpc_auth_context_find_properties_by_name(const grpc_auth_context *ctx, const char *name)</div><div class="ttdoc">Finds a property in the context. </div></div>
- <div class="ttc" id="grpc__security_8h_html_a73068ca89b430bb9004f8c3e86a2886a"><div class="ttname"><a href="grpc__security_8h.html#a73068ca89b430bb9004f8c3e86a2886a">grpc_auth_context_add_cstring_property</a></div><div class="ttdeci">GRPCAPI void grpc_auth_context_add_cstring_property(grpc_auth_context *ctx, const char *name, const char *value)</div><div class="ttdoc">Add a C string property. </div></div>
- <div class="ttc" id="structgrpc__tls__server__authorization__check__arg_html_aa33742301cfcf0e968360da852d7bcc0"><div class="ttname"><a href="structgrpc__tls__server__authorization__check__arg.html#aa33742301cfcf0e968360da852d7bcc0">grpc_tls_server_authorization_check_arg::peer_cert</a></div><div class="ttdeci">const char * peer_cert</div><div class="ttdef"><b>Definition:</b> grpc_security.h:865</div></div>
- <div class="ttc" id="grpc__security_8h_html_aedee02a7f6ed58e9bd41b00a518350c2"><div class="ttname"><a href="grpc__security_8h.html#aedee02a7f6ed58e9bd41b00a518350c2">grpc_auth_context_property_iterator</a></div><div class="ttdeci">GRPCAPI grpc_auth_property_iterator grpc_auth_context_property_iterator(const grpc_auth_context *ctx)</div><div class="ttdoc">Iterates over the auth context. </div></div>
- <div class="ttc" id="structgrpc__auth__property_html_a07359a178c29240cab42a89ef047b101"><div class="ttname"><a href="structgrpc__auth__property.html#a07359a178c29240cab42a89ef047b101">grpc_auth_property::value_length</a></div><div class="ttdeci">size_t value_length</div><div class="ttdef"><b>Definition:</b> grpc_security.h:46</div></div>
- <div class="ttc" id="grpc__security_8h_html_aa724192e56fdc03827846f16752deccc"><div class="ttname"><a href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a></div><div class="ttdeci">struct grpc_server_credentials grpc_server_credentials</div><div class="ttdoc">— grpc_server_credentials object. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:455</div></div>
- <div class="ttc" id="grpc__security_8h_html_ab065a653f78111065e91a579fd2ce2d2"><div class="ttname"><a href="grpc__security_8h.html#ab065a653f78111065e91a579fd2ce2d2">grpc_call_set_credentials</a></div><div class="ttdeci">GRPCAPI grpc_call_error grpc_call_set_credentials(grpc_call *call, grpc_call_credentials *creds)</div><div class="ttdoc">— Call specific credentials. </div></div>
- <div class="ttc" id="grpc__security_8h_html_ae175e13bfcab1b77f4cc7f193d898aff"><div class="ttname"><a href="grpc__security_8h.html#ae175e13bfcab1b77f4cc7f193d898aff">grpc_ssl_session_cache_create_lru</a></div><div class="ttdeci">GRPCAPI grpc_ssl_session_cache * grpc_ssl_session_cache_create_lru(size_t capacity)</div><div class="ttdoc">Create LRU cache for client-side SSL sessions with the given capacity. </div></div>
- <div class="ttc" id="grpc__security_8h_html_a7003ba2a1fef61f102bce642ffbf4a99"><div class="ttname"><a href="grpc__security_8h.html#a7003ba2a1fef61f102bce642ffbf4a99">grpc_tls_credentials_options_set_key_materials_config</a></div><div class="ttdeci">GRPCAPI int grpc_tls_credentials_options_set_key_materials_config(grpc_tls_credentials_options *options, grpc_tls_key_materials_config *config)</div><div class="ttdoc">Set grpc_tls_key_materials_config field in credentials options with the provided config struct whose ...</div></div>
- <div class="ttc" id="grpc__security_8h_html_a74b4321fe0bd90f5014b434ee81c17ae"><div class="ttname"><a href="grpc__security_8h.html#a74b4321fe0bd90f5014b434ee81c17ae">grpc_tls_credentials_options_set_cert_request_type</a></div><div class="ttdeci">GRPCAPI int grpc_tls_credentials_options_set_cert_request_type(grpc_tls_credentials_options *options, grpc_ssl_client_certificate_request_type type)</div><div class="ttdoc">Set grpc_ssl_client_certificate_request_type field in credentials options with the provided type...</div></div>
- <div class="ttc" id="grpc__security_8h_html_aed7d78aacba36dda7c4e95668e1e8f8e"><div class="ttname"><a href="grpc__security_8h.html#aed7d78aacba36dda7c4e95668e1e8f8e">grpc_tls_credential_reload_config</a></div><div class="ttdeci">struct grpc_tls_credential_reload_config grpc_tls_credential_reload_config</div><div class="ttdoc">Config for TLS credential reload. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:710</div></div>
- <div class="ttc" id="structgrpc__tls__server__authorization__check__arg_html"><div class="ttname"><a href="structgrpc__tls__server__authorization__check__arg.html">grpc_tls_server_authorization_check_arg</a></div><div class="ttdoc">A struct containing all information necessary to schedule/cancel a server authorization check request...</div><div class="ttdef"><b>Definition:</b> grpc_security.h:860</div></div>
- <div class="ttc" id="grpc__security_8h_html_a7008e76d9e21a435a03267390c6f8a37"><div class="ttname"><a href="grpc__security_8h.html#a7008e76d9e21a435a03267390c6f8a37">grpc_ssl_session_cache</a></div><div class="ttdeci">struct grpc_ssl_session_cache grpc_ssl_session_cache</div><div class="ttdoc">— SSL Session Cache. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:108</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_types.h:132</div></div>
- <div class="ttc" id="structgrpc__auth__property_html_af44f45ac4673a0298d00354c47d0907e"><div class="ttname"><a href="structgrpc__auth__property.html#af44f45ac4673a0298d00354c47d0907e">grpc_auth_property::value</a></div><div class="ttdeci">char * value</div><div class="ttdef"><b>Definition:</b> grpc_security.h:45</div></div>
- <div class="ttc" id="grpc__security_8h_html_a8e4b35968eac741831a708224e207348"><div class="ttname"><a href="grpc__security_8h.html#a8e4b35968eac741831a708224e207348">grpc_composite_channel_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_channel_credentials * grpc_composite_channel_credentials_create(grpc_channel_credentials *channel_creds, grpc_call_credentials *call_creds, void *reserved)</div><div class="ttdoc">Creates a composite channel credentials object. </div></div>
- <div class="ttc" id="grpc__types_8h_html_a432bfa6b9f6603643cdf9de8804c254e"><div class="ttname"><a href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a></div><div class="ttdeci">struct grpc_channel grpc_channel</div><div class="ttdoc">The Channel interface allows creation of Call objects. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:62</div></div>
- <div class="ttc" id="grpc__security_8h_html_a6c5c11ac702b466c9dd0773cff01e72f"><div class="ttname"><a href="grpc__security_8h.html#a6c5c11ac702b466c9dd0773cff01e72f">grpc_local_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_channel_credentials * grpc_local_credentials_create(grpc_local_connect_type type)</div><div class="ttdoc">— Local channel/server credentials — </div></div>
- <div class="ttc" id="grpc__security_8h_html_ae8c4bf6c9657d6e19ea1481c1ea9a5d5"><div class="ttname"><a href="grpc__security_8h.html#ae8c4bf6c9657d6e19ea1481c1ea9a5d5">grpc_service_account_jwt_access_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_call_credentials * grpc_service_account_jwt_access_credentials_create(const char *json_key, gpr_timespec token_lifetime, void *reserved)</div><div class="ttdoc">Creates a JWT credentials object. </div></div>
- <div class="ttc" id="grpc__security_8h_html_a37da13e43ccc9b19e9f1a6051feaedc3"><div class="ttname"><a href="grpc__security_8h.html#a37da13e43ccc9b19e9f1a6051feaedc3">grpc_server_credentials_set_auth_metadata_processor</a></div><div class="ttdeci">GRPCAPI void grpc_server_credentials_set_auth_metadata_processor(grpc_server_credentials *creds, grpc_auth_metadata_processor processor)</div></div>
- <div class="ttc" id="grpc__security_8h_html_a7440216a2192f7c5ecadf5704e7c7bda"><div class="ttname"><a href="grpc__security_8h.html#a7440216a2192f7c5ecadf5704e7c7bda">grpc_ssl_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_channel_credentials * grpc_ssl_credentials_create(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair, const verify_peer_options *verify_options, void *reserved)</div><div class="ttdoc">Deprecated in favor of grpc_ssl_server_credentials_create_ex. </div></div>
- <div class="ttc" id="structgrpc__metadata__credentials__plugin_html"><div class="ttname"><a href="structgrpc__metadata__credentials__plugin.html">grpc_metadata_credentials_plugin</a></div><div class="ttdoc">grpc_metadata_credentials plugin is an API user provided structure used to create grpc_credentials ob...</div><div class="ttdef"><b>Definition:</b> grpc_security.h:398</div></div>
- <div class="ttc" id="grpc__security_8h_html_a077c39db13d0211eac9c6a952882bc31"><div class="ttname"><a href="grpc__security_8h.html#a077c39db13d0211eac9c6a952882bc31">grpc_ssl_server_certificate_config_destroy</a></div><div class="ttdeci">GRPCAPI void grpc_ssl_server_certificate_config_destroy(grpc_ssl_server_certificate_config *config)</div><div class="ttdoc">Destroys a grpc_ssl_server_certificate_config object. </div></div>
- <div class="ttc" id="structgrpc__auth__metadata__context_html_ad031faf41efeaae29c4f71d67a0d2cb3"><div class="ttname"><a href="structgrpc__auth__metadata__context.html#ad031faf41efeaae29c4f71d67a0d2cb3">grpc_auth_metadata_context::method_name</a></div><div class="ttdeci">const char * method_name</div><div class="ttdoc">The method name of the RPC being called (not fully qualified). </div><div class="ttdef"><b>Definition:</b> grpc_security.h:380</div></div>
- <div class="ttc" id="structgrpc__tls__credential__reload__arg_html"><div class="ttname"><a href="structgrpc__tls__credential__reload__arg.html">grpc_tls_credential_reload_arg</a></div><div class="ttdoc">A struct containing all information necessary to schedule/cancel a credential reload request...</div><div class="ttdef"><b>Definition:</b> grpc_security.h:800</div></div>
- <div class="ttc" id="grpc__security_8h_html_ade3f89f1532e030b8f2afcf0df17b2fe"><div class="ttname"><a href="grpc__security_8h.html#ade3f89f1532e030b8f2afcf0df17b2fe">grpc_alts_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_channel_credentials * grpc_alts_credentials_create(const grpc_alts_credentials_options *options)</div><div class="ttdoc">This method creates an ALTS channel credential object. </div></div>
- <div class="ttc" id="grpc__security_8h_html_a81799db566912702502c280b163b12bc"><div class="ttname"><a href="grpc__security_8h.html#a81799db566912702502c280b163b12bc">grpc_ssl_roots_override_callback</a></div><div class="ttdeci">grpc_ssl_roots_override_result(* grpc_ssl_roots_override_callback)(char **pem_root_certs)</div><div class="ttdoc">Callback for getting the SSL roots override from the application. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:144</div></div>
- <div class="ttc" id="structgrpc__metadata__credentials__plugin_html_a6c02843e7eff42cb3b397800bd64f2dc"><div class="ttname"><a href="structgrpc__metadata__credentials__plugin.html#a6c02843e7eff42cb3b397800bd64f2dc">grpc_metadata_credentials_plugin::type</a></div><div class="ttdeci">const char * type</div><div class="ttdoc">Type of credentials that this plugin is implementing. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:431</div></div>
- <div class="ttc" id="grpc__security_8h_html_acf9de635e67ef9b6b41a3b72ebdbdcfc"><div class="ttname"><a href="grpc__security_8h.html#acf9de635e67ef9b6b41a3b72ebdbdcfc">grpc_tls_credentials_options_create</a></div><div class="ttdeci">GRPCAPI grpc_tls_credentials_options * grpc_tls_credentials_options_create(void)</div><div class="ttdoc">Create an empty TLS credentials options. </div></div>
- <div class="ttc" id="structgrpc__tls__credential__reload__arg_html_a4d7f7be6bb3a174e289eafe75526ae9d"><div class="ttname"><a href="structgrpc__tls__credential__reload__arg.html#a4d7f7be6bb3a174e289eafe75526ae9d">grpc_tls_credential_reload_arg::status</a></div><div class="ttdeci">grpc_ssl_certificate_config_reload_status status</div><div class="ttdef"><b>Definition:</b> grpc_security.h:804</div></div>
- <div class="ttc" id="structgrpc__ssl__pem__key__cert__pair_html_a2d4e3bdbc59d906bc9ca8b873120fd72"><div class="ttname"><a href="structgrpc__ssl__pem__key__cert__pair.html#a2d4e3bdbc59d906bc9ca8b873120fd72">grpc_ssl_pem_key_cert_pair::private_key</a></div><div class="ttdeci">const char * private_key</div><div class="ttdoc">private_key is the NULL-terminated string containing the PEM encoding of the client&#39;s private key...</div><div class="ttdef"><b>Definition:</b> grpc_security.h:159</div></div>
- <div class="ttc" id="structgrpc__tls__server__authorization__check__arg_html_a77029657f0b1b653fe3694a05b3272dc"><div class="ttname"><a href="structgrpc__tls__server__authorization__check__arg.html#a77029657f0b1b653fe3694a05b3272dc">grpc_tls_server_authorization_check_arg::cb</a></div><div class="ttdeci">grpc_tls_on_server_authorization_check_done_cb cb</div><div class="ttdef"><b>Definition:</b> grpc_security.h:861</div></div>
- <div class="ttc" id="grpc__security_8h_html_a9915a0aad4c5b287af506f1ebe3ad505"><div class="ttname"><a href="grpc__security_8h.html#a9915a0aad4c5b287af506f1ebe3ad505">grpc_alts_credentials_client_options_add_target_service_account</a></div><div class="ttdeci">GRPCAPI void grpc_alts_credentials_client_options_add_target_service_account(grpc_alts_credentials_options *options, const char *service_account)</div><div class="ttdoc">This method adds a target service account to grpc client&#39;s ALTS credentials options instance...</div></div>
- <div class="ttc" id="grpc__security_8h_html_a2d689961c79ceaf254e7ba211ebe9b34"><div class="ttname"><a href="grpc__security_8h.html#a2d689961c79ceaf254e7ba211ebe9b34">grpc_alts_credentials_server_options_create</a></div><div class="ttdeci">GRPCAPI grpc_alts_credentials_options * grpc_alts_credentials_server_options_create(void)</div><div class="ttdoc">This method creates a grpc ALTS credentials server options instance. </div></div>
- <div class="ttc" id="grpc__security_8h_html_aa2108431aea25ab0e9bef17becff7357"><div class="ttname"><a href="grpc__security_8h.html#aa2108431aea25ab0e9bef17becff7357">grpc_google_refresh_token_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_call_credentials * grpc_google_refresh_token_credentials_create(const char *json_refresh_token, void *reserved)</div><div class="ttdoc">Creates an Oauth2 Refresh Token credentials object for connecting to Google. </div></div>
- <div class="ttc" id="structverify__peer__options_html_a11ac6021676266d96b66538545d277cc"><div class="ttname"><a href="structverify__peer__options.html#a11ac6021676266d96b66538545d277cc">verify_peer_options::verify_peer_callback_userdata</a></div><div class="ttdeci">void * verify_peer_callback_userdata</div><div class="ttdoc">Arbitrary userdata that will be passed as the last argument to verify_peer_callback. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:181</div></div>
- <div class="ttc" id="structgrpc__sts__credentials__options_html_ac40c27040b88f70a8a51e5a854eee68d"><div class="ttname"><a href="structgrpc__sts__credentials__options.html#ac40c27040b88f70a8a51e5a854eee68d">grpc_sts_credentials_options::token_exchange_service_uri</a></div><div class="ttdeci">const char * token_exchange_service_uri</div><div class="ttdef"><b>Definition:</b> grpc_security.h:338</div></div>
- <div class="ttc" id="grpc__types_8h_html_a2bbbaad8f7a806f6c834b68c5dd916d8"><div class="ttname"><a href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a></div><div class="ttdeci">struct grpc_server grpc_server</div><div class="ttdoc">A server listens to some port and responds to request calls. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:65</div></div>
- <div class="ttc" id="grpc__security_8h_html_a08c13ff956af9e64b514c4af434faba2"><div class="ttname"><a href="grpc__security_8h.html#a08c13ff956af9e64b514c4af434faba2">grpc_credentials_plugin_metadata_cb</a></div><div class="ttdeci">void(* grpc_credentials_plugin_metadata_cb)(void *user_data, const grpc_metadata *creds_md, size_t num_creds_md, grpc_status_code status, const char *error_details)</div><div class="ttdoc">Callback function to be called by the metadata credentials plugin implementation when the metadata is...</div><div class="ttdef"><b>Definition:</b> grpc_security.h:367</div></div>
- <div class="ttc" id="structgrpc__tls__server__authorization__check__arg_html_a602504f40324d142e186527ce99a01c2"><div class="ttname"><a href="structgrpc__tls__server__authorization__check__arg.html#a602504f40324d142e186527ce99a01c2">grpc_tls_server_authorization_check_arg::error_details</a></div><div class="ttdeci">const char * error_details</div><div class="ttdef"><b>Definition:</b> grpc_security.h:867</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_types.h:103</div></div>
- <div class="ttc" id="structgrpc__auth__metadata__processor_html_af85de1293dfd5e846339d5ef4b7b41dc"><div class="ttname"><a href="structgrpc__auth__metadata__processor.html#af85de1293dfd5e846339d5ef4b7b41dc">grpc_auth_metadata_processor::state</a></div><div class="ttdeci">void * state</div><div class="ttdef"><b>Definition:</b> grpc_security.h:601</div></div>
- <div class="ttc" id="grpc__security__constants_8h_html"><div class="ttname"><a href="grpc__security__constants_8h.html">grpc_security_constants.h</a></div></div>
- <div class="ttc" id="grpc__security_8h_html_aa38f4543664e3e0be8b7329603d6e014"><div class="ttname"><a href="grpc__security_8h.html#aa38f4543664e3e0be8b7329603d6e014">grpc_tls_credentials_options_set_server_authorization_check_config</a></div><div class="ttdeci">GRPCAPI int grpc_tls_credentials_options_set_server_authorization_check_config(grpc_tls_credentials_options *options, grpc_tls_server_authorization_check_config *config)</div><div class="ttdoc">Set grpc_tls_server_authorization_check_config field in credentials options with the provided config ...</div></div>
- <div class="ttc" id="structgrpc__auth__property_html_a83fb830ffe7321265dc9b628e9246a27"><div class="ttname"><a href="structgrpc__auth__property.html#a83fb830ffe7321265dc9b628e9246a27">grpc_auth_property::name</a></div><div class="ttdeci">char * name</div><div class="ttdef"><b>Definition:</b> grpc_security.h:44</div></div>
- <div class="ttc" id="structgrpc__auth__metadata__context_html_a0ca2d1c0da619c1e50cef8437f1ef517"><div class="ttname"><a href="structgrpc__auth__metadata__context.html#a0ca2d1c0da619c1e50cef8437f1ef517">grpc_auth_metadata_context::reserved</a></div><div class="ttdeci">void * reserved</div><div class="ttdoc">Reserved for future use. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:386</div></div>
- <div class="ttc" id="grpc__security_8h_html_acad1744e2cdf6f9f11723c3450874ca7"><div class="ttname"><a href="grpc__security_8h.html#acad1744e2cdf6f9f11723c3450874ca7">grpc_secure_channel_create</a></div><div class="ttdeci">GRPCAPI grpc_channel * grpc_secure_channel_create(grpc_channel_credentials *creds, const char *target, const grpc_channel_args *args, void *reserved)</div><div class="ttdoc">— Secure channel creation. </div></div>
- <div class="ttc" id="grpc__security_8h_html_a93f543166de70abb3a725bdca1d79996"><div class="ttname"><a href="grpc__security_8h.html#a93f543166de70abb3a725bdca1d79996">grpc_auth_context_add_property</a></div><div class="ttdeci">GRPCAPI void grpc_auth_context_add_property(grpc_auth_context *ctx, const char *name, const char *value, size_t value_length)</div><div class="ttdoc">– The following auth context methods should only be called by a server metadata processor to set pro...</div></div>
- <div class="ttc" id="grpc__security_8h_html_aec838ac89bd393040f0c88dad25a72ca"><div class="ttname"><a href="grpc__security_8h.html#aec838ac89bd393040f0c88dad25a72ca">grpc_ssl_server_credentials_create_with_options</a></div><div class="ttdeci">GRPCAPI grpc_server_credentials * grpc_ssl_server_credentials_create_with_options(grpc_ssl_server_credentials_options *options)</div><div class="ttdoc">Creates an SSL server_credentials object using the provided options struct. </div></div>
- <div class="ttc" id="grpc__security_8h_html_a68183d792830190c3e14504557d57ad7"><div class="ttname"><a href="grpc__security_8h.html#a68183d792830190c3e14504557d57ad7">grpc_google_default_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_channel_credentials * grpc_google_default_credentials_create(void)</div><div class="ttdoc">Creates default credentials to connect to a google gRPC service. </div></div>
- <div class="ttc" id="grpc__security_8h_html_a34b93b8c1e0dbdaae9dc11bbce706cb4"><div class="ttname"><a href="grpc__security_8h.html#a34b93b8c1e0dbdaae9dc11bbce706cb4">grpc_process_auth_metadata_done_cb</a></div><div class="ttdeci">void(* grpc_process_auth_metadata_done_cb)(void *user_data, const grpc_metadata *consumed_md, size_t num_consumed_md, const grpc_metadata *response_md, size_t num_response_md, grpc_status_code status, const char *error_details)</div><div class="ttdoc">— Auth Metadata Processing — </div><div class="ttdef"><b>Definition:</b> grpc_security.h:586</div></div>
- <div class="ttc" id="grpc__security_8h_html_a44c23e47832d9cc27bb56822d66bf436"><div class="ttname"><a href="grpc__security_8h.html#a44c23e47832d9cc27bb56822d66bf436">grpc_set_ssl_roots_override_callback</a></div><div class="ttdeci">GRPCAPI void grpc_set_ssl_roots_override_callback(grpc_ssl_roots_override_callback cb)</div><div class="ttdoc">Setup a callback to override the default TLS/SSL roots. </div></div>
- <div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785b"><div class="ttname"><a href="grpc__types_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_types.h:391</div></div>
- <div class="ttc" id="grpc__security_8h_html_ade0da78380603c2e26c81695f09ea4c8"><div class="ttname"><a href="grpc__security_8h.html#ade0da78380603c2e26c81695f09ea4c8">grpc_ssl_server_credentials_options</a></div><div class="ttdeci">struct grpc_ssl_server_credentials_options grpc_ssl_server_credentials_options</div><div class="ttdef"><b>Definition:</b> grpc_security.h:525</div></div>
- <div class="ttc" id="grpc__security_8h_html_a3c1860cddc9edaa7f657a98a35b77e80"><div class="ttname"><a href="grpc__security_8h.html#a3c1860cddc9edaa7f657a98a35b77e80">grpc_call_auth_context</a></div><div class="ttdeci">GRPCAPI grpc_auth_context * grpc_call_auth_context(grpc_call *call)</div><div class="ttdoc">Gets the auth context from the call. </div></div>
- <div class="ttc" id="grpc__security_8h_html_a1156855c669abbbff6aaa05fe6cfbffd"><div class="ttname"><a href="grpc__security_8h.html#a1156855c669abbbff6aaa05fe6cfbffd">grpc_tls_credentials_options_set_credential_reload_config</a></div><div class="ttdeci">GRPCAPI int grpc_tls_credentials_options_set_credential_reload_config(grpc_tls_credentials_options *options, grpc_tls_credential_reload_config *config)</div><div class="ttdoc">Set grpc_tls_credential_reload_config field in credentials options with the provided config struct wh...</div></div>
- <div class="ttc" id="grpc__security_8h_html_a53278c0894e787a5f3bb1092d0fdc3f6"><div class="ttname"><a href="grpc__security_8h.html#a53278c0894e787a5f3bb1092d0fdc3f6">grpc_server_add_secure_http2_port</a></div><div class="ttdeci">GRPCAPI int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr, grpc_server_credentials *creds)</div><div class="ttdoc">— Server-side secure ports. </div></div>
- <div class="ttc" id="structgrpc__auth__property__iterator_html_a971904d29fa6f6ca6a853d078cae2f58"><div class="ttname"><a href="structgrpc__auth__property__iterator.html#a971904d29fa6f6ca6a853d078cae2f58">grpc_auth_property_iterator::ctx</a></div><div class="ttdeci">const grpc_auth_context * ctx</div><div class="ttdef"><b>Definition:</b> grpc_security.h:37</div></div>
- <div class="ttc" id="grpc__security_8h_html_aa22779b6b4ffefc0efdaf8de4c8314a8"><div class="ttname"><a href="grpc__security_8h.html#aa22779b6b4ffefc0efdaf8de4c8314a8">grpc_ssl_server_credentials_options_destroy</a></div><div class="ttdeci">GRPCAPI void grpc_ssl_server_credentials_options_destroy(grpc_ssl_server_credentials_options *options)</div><div class="ttdoc">Destroys a grpc_ssl_server_credentials_options object. </div></div>
- <div class="ttc" id="grpc__security_8h_html_a3f83f8a3390b8b1659b719b7f47005a1"><div class="ttname"><a href="grpc__security_8h.html#a3f83f8a3390b8b1659b719b7f47005a1">grpc_ssl_session_cache_destroy</a></div><div class="ttdeci">GRPCAPI void grpc_ssl_session_cache_destroy(grpc_ssl_session_cache *cache)</div><div class="ttdoc">Destroy SSL session cache. </div></div>
- <div class="ttc" id="grpc__security_8h_html_a064c4dc355a3720cd2bcf6e3ddfb3e05"><div class="ttname"><a href="grpc__security_8h.html#a064c4dc355a3720cd2bcf6e3ddfb3e05">grpc_auth_property_iterator_next</a></div><div class="ttdeci">GRPCAPI const grpc_auth_property * grpc_auth_property_iterator_next(grpc_auth_property_iterator *it)</div><div class="ttdoc">Returns NULL when the iterator is at the end. </div></div>
- <div class="ttc" id="structgrpc__auth__metadata__context_html_a67ff8c2ebf38b5511da3d3194d72e01d"><div class="ttname"><a href="structgrpc__auth__metadata__context.html#a67ff8c2ebf38b5511da3d3194d72e01d">grpc_auth_metadata_context::service_url</a></div><div class="ttdeci">const char * service_url</div><div class="ttdoc">The fully qualifed service url. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:375</div></div>
- <div class="ttc" id="structgrpc__auth__property__iterator_html_a3838efa5eb622c7e2c071497132b1cc7"><div class="ttname"><a href="structgrpc__auth__property__iterator.html#a3838efa5eb622c7e2c071497132b1cc7">grpc_auth_property_iterator::name</a></div><div class="ttdeci">const char * name</div><div class="ttdef"><b>Definition:</b> grpc_security.h:39</div></div>
- <div class="ttc" id="grpc__security_8h_html_aeb21611154f3defe05e4eac4cc25af5a"><div class="ttname"><a href="grpc__security_8h.html#aeb21611154f3defe05e4eac4cc25af5a">grpc_call_credentials_release</a></div><div class="ttdeci">GRPCAPI void grpc_call_credentials_release(grpc_call_credentials *creds)</div><div class="ttdoc">Releases a call credentials object. </div></div>
- <div class="ttc" id="structgrpc__auth__property__iterator_html_ac2b2a0501f097562a6d8856e3da5e7e6"><div class="ttname"><a href="structgrpc__auth__property__iterator.html#ac2b2a0501f097562a6d8856e3da5e7e6">grpc_auth_property_iterator::index</a></div><div class="ttdeci">size_t index</div><div class="ttdef"><b>Definition:</b> grpc_security.h:38</div></div>
- <div class="ttc" id="grpc__security_8h_html_ab72de5caa877bbfff84676b1cb024fb3"><div class="ttname"><a href="grpc__security_8h.html#ab72de5caa877bbfff84676b1cb024fb3">grpc_tls_on_server_authorization_check_done_cb</a></div><div class="ttdeci">void(* grpc_tls_on_server_authorization_check_done_cb)(grpc_tls_server_authorization_check_arg *arg)</div><div class="ttdoc">callback function provided by gRPC used to handle the result of server authorization check...</div><div class="ttdef"><b>Definition:</b> grpc_security.h:846</div></div>
- <div class="ttc" id="grpc__security_8h_html_a33e259900dbbac0ea018352adf1a4af7"><div class="ttname"><a href="grpc__security_8h.html#a33e259900dbbac0ea018352adf1a4af7">GRPC_METADATA_CREDENTIALS_PLUGIN_SYNC_MAX</a></div><div class="ttdeci">#define GRPC_METADATA_CREDENTIALS_PLUGIN_SYNC_MAX</div><div class="ttdoc">Maximum number of metadata entries returnable by a credentials plugin via a synchronous return...</div><div class="ttdef"><b>Definition:</b> grpc_security.h:391</div></div>
- <div class="ttc" id="structgrpc__sts__credentials__options_html_a1da17c75496e5debe7b89d3f43fc511b"><div class="ttname"><a href="structgrpc__sts__credentials__options.html#a1da17c75496e5debe7b89d3f43fc511b">grpc_sts_credentials_options::scope</a></div><div class="ttdeci">const char * scope</div><div class="ttdef"><b>Definition:</b> grpc_security.h:341</div></div>
- <div class="ttc" id="structgrpc__auth__property__iterator_html"><div class="ttname"><a href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a></div><div class="ttdef"><b>Definition:</b> grpc_security.h:36</div></div>
- <div class="ttc" id="structgrpc__tls__server__authorization__check__arg_html_ad5947a871b4a54e5562d4419f7dafc56"><div class="ttname"><a href="structgrpc__tls__server__authorization__check__arg.html#ad5947a871b4a54e5562d4419f7dafc56">grpc_tls_server_authorization_check_arg::status</a></div><div class="ttdeci">grpc_status_code status</div><div class="ttdef"><b>Definition:</b> grpc_security.h:866</div></div>
- <div class="ttc" id="grpc__security_8h_html_a0927fc30a7bd209877095da5a67ba22c"><div class="ttname"><a href="grpc__security_8h.html#a0927fc30a7bd209877095da5a67ba22c">grpc_tls_server_authorization_check_config</a></div><div class="ttdeci">struct grpc_tls_server_authorization_check_config grpc_tls_server_authorization_check_config</div><div class="ttdoc">Config for TLS server authorization check. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:715</div></div>
- <div class="ttc" id="grpc__security_8h_html_a2350ef1b38c4f69d0ff8510dcbe40072"><div class="ttname"><a href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a></div><div class="ttdeci">struct grpc_call_credentials grpc_call_credentials</div><div class="ttdoc">— grpc_call_credentials object. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:278</div></div>
- <div class="ttc" id="grpc__security_8h_html_a8fe8a5a9b93ff8671a7843add47d57be"><div class="ttname"><a href="grpc__security_8h.html#a8fe8a5a9b93ff8671a7843add47d57be">grpc_tls_credentials_options</a></div><div class="ttdeci">struct grpc_tls_credentials_options grpc_tls_credentials_options</div><div class="ttdoc">TLS credentials options. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:720</div></div>
- <div class="ttc" id="grpc__security_8h_html_a3087eccc6abb4a67d4393d999c7a2a37"><div class="ttname"><a href="grpc__security_8h.html#a3087eccc6abb4a67d4393d999c7a2a37">grpc_tls_key_materials_config_create</a></div><div class="ttdeci">GRPCAPI grpc_tls_key_materials_config * grpc_tls_key_materials_config_create(void)</div><div class="ttdoc">— TLS key materials config. </div></div>
- <div class="ttc" id="structgrpc__ssl__verify__peer__options_html"><div class="ttname"><a href="structgrpc__ssl__verify__peer__options.html">grpc_ssl_verify_peer_options</a></div><div class="ttdoc">Object that holds additional peer-verification options on a secure channel. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:190</div></div>
- <div class="ttc" id="structgrpc__ssl__pem__key__cert__pair_html"><div class="ttname"><a href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a></div><div class="ttdoc">Object that holds a private key / certificate chain pair in PEM format. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:156</div></div>
- <div class="ttc" id="structgrpc__auth__metadata__context_html_a7cb596d3af7463816fdde64f3e18dbde"><div class="ttname"><a href="structgrpc__auth__metadata__context.html#a7cb596d3af7463816fdde64f3e18dbde">grpc_auth_metadata_context::channel_auth_context</a></div><div class="ttdeci">const grpc_auth_context * channel_auth_context</div><div class="ttdoc">The auth_context of the channel which gives the server&#39;s identity. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:383</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_types.h:469</div></div>
- <div class="ttc" id="grpc__security_8h_html_aa13f0724cb7ff99995d7f0881c01d553"><div class="ttname"><a href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a></div><div class="ttdeci">struct grpc_auth_context grpc_auth_context</div><div class="ttdoc">— Authentication Context. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:34</div></div>
- <div class="ttc" id="grpc__security_8h_html_a26981fdcb987d885b25d34c7dc66e4cf"><div class="ttname"><a href="grpc__security_8h.html#a26981fdcb987d885b25d34c7dc66e4cf">grpc_auth_property_iterator</a></div><div class="ttdeci">struct grpc_auth_property_iterator grpc_auth_property_iterator</div></div>
- <div class="ttc" id="structgrpc__sts__credentials__options_html_a139402921fe862ba5c177d28c3d1ea90"><div class="ttname"><a href="structgrpc__sts__credentials__options.html#a139402921fe862ba5c177d28c3d1ea90">grpc_sts_credentials_options::requested_token_type</a></div><div class="ttdeci">const char * requested_token_type</div><div class="ttdef"><b>Definition:</b> grpc_security.h:342</div></div>
- <div class="ttc" id="structgrpc__tls__credential__reload__arg_html_af48e5dec8c568ba772552750f9019a93"><div class="ttname"><a href="structgrpc__tls__credential__reload__arg.html#af48e5dec8c568ba772552750f9019a93">grpc_tls_credential_reload_arg::error_details</a></div><div class="ttdeci">const char * error_details</div><div class="ttdef"><b>Definition:</b> grpc_security.h:805</div></div>
- <div class="ttc" id="grpc__security_8h_html_a4d6409cf4a261297cd327bd49e72fcea"><div class="ttname"><a href="grpc__security_8h.html#a4d6409cf4a261297cd327bd49e72fcea">grpc_auth_context_peer_identity</a></div><div class="ttdeci">GRPCAPI grpc_auth_property_iterator grpc_auth_context_peer_identity(const grpc_auth_context *ctx)</div><div class="ttdoc">Gets the peer identity. </div></div>
- <div class="ttc" id="grpc__security_8h_html_a0bef5efe91a84e2c74b031759a9a7313"><div class="ttname"><a href="grpc__security_8h.html#a0bef5efe91a84e2c74b031759a9a7313">grpc_ssl_server_credentials_create_options_using_config_fetcher</a></div><div class="ttdeci">GRPCAPI grpc_ssl_server_credentials_options * grpc_ssl_server_credentials_create_options_using_config_fetcher(grpc_ssl_client_certificate_request_type client_certificate_request, grpc_ssl_server_certificate_config_callback cb, void *user_data)</div><div class="ttdoc">Creates an options object using a certificate config fetcher. </div></div>
- <div class="ttc" id="grpc__security_8h_html_a4c79c219cfe6c68ce52d2b195ec2ed0a"><div class="ttname"><a href="grpc__security_8h.html#a4c79c219cfe6c68ce52d2b195ec2ed0a">grpc_tls_on_credential_reload_done_cb</a></div><div class="ttdeci">void(* grpc_tls_on_credential_reload_done_cb)(grpc_tls_credential_reload_arg *arg)</div><div class="ttdoc">A callback function provided by gRPC to handle the result of credential reload. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:790</div></div>
- <div class="ttc" id="grpc__security_8h_html_a57e477a6fdd9a6a66cc37614701d9088"><div class="ttname"><a href="grpc__security_8h.html#a57e477a6fdd9a6a66cc37614701d9088">grpc_ssl_credentials_create_ex</a></div><div class="ttdeci">GRPCAPI grpc_channel_credentials * grpc_ssl_credentials_create_ex(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair, const grpc_ssl_verify_peer_options *verify_options, void *reserved)</div></div>
- <div class="ttc" id="grpc__security_8h_html_acb8bbd3a6006aee7f7b254d4a91d914f"><div class="ttname"><a href="grpc__security_8h.html#acb8bbd3a6006aee7f7b254d4a91d914f">grpc_ssl_server_certificate_config</a></div><div class="ttdeci">struct grpc_ssl_server_certificate_config grpc_ssl_server_certificate_config</div><div class="ttdoc">Server certificate config object holds the server&#39;s public certificates and associated private keys...</div><div class="ttdef"><b>Definition:</b> grpc_security.h:466</div></div>
- <div class="ttc" id="grpc__security_8h_html_a8ff1f21121b5dafaf848683e8eaf74d9"><div class="ttname"><a href="grpc__security_8h.html#a8ff1f21121b5dafaf848683e8eaf74d9">grpc_tls_server_authorization_check_config_create</a></div><div class="ttdeci">GRPCAPI grpc_tls_server_authorization_check_config * grpc_tls_server_authorization_check_config_create(const void *config_user_data, int(*schedule)(void *config_user_data, grpc_tls_server_authorization_check_arg *arg), void(*cancel)(void *config_user_data, grpc_tls_server_authorization_check_arg *arg), void(*destruct)(void *config_user_data))</div><div class="ttdoc">Create a grpc_tls_server_authorization_check_config instance. </div></div>
- <div class="ttc" id="grpc__security__constants_8h_html_a29ffe63a8bb3b4945ecab42d82758f09"><div class="ttname"><a href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09">grpc_ssl_client_certificate_request_type</a></div><div class="ttdeci">grpc_ssl_client_certificate_request_type</div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:59</div></div>
- <div class="ttc" id="structgrpc__ssl__pem__key__cert__pair_html_a483c3601705853f48dfbc8ee66d5e656"><div class="ttname"><a href="structgrpc__ssl__pem__key__cert__pair.html#a483c3601705853f48dfbc8ee66d5e656">grpc_ssl_pem_key_cert_pair::cert_chain</a></div><div class="ttdeci">const char * cert_chain</div><div class="ttdoc">cert_chain is the NULL-terminated string containing the PEM encoding of the client&#39;s certificate chai...</div><div class="ttdef"><b>Definition:</b> grpc_security.h:163</div></div>
- <div class="ttc" id="grpc__security_8h_html_adfe1c1af2f1ad4c241748f77b7f83585"><div class="ttname"><a href="grpc__security_8h.html#adfe1c1af2f1ad4c241748f77b7f83585">grpc_alts_credentials_client_options_create</a></div><div class="ttdeci">GRPCAPI grpc_alts_credentials_options * grpc_alts_credentials_client_options_create(void)</div><div class="ttdoc">This method creates a grpc ALTS credentials client options instance. </div></div>
- <div class="ttc" id="grpc__security_8h_html_a39e8a41f7f9a8d7587343964b18fc464"><div class="ttname"><a href="grpc__security_8h.html#a39e8a41f7f9a8d7587343964b18fc464">grpc_local_server_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_server_credentials * grpc_local_server_credentials_create(grpc_local_connect_type type)</div><div class="ttdoc">This method creates a local server credential object. </div></div>
- <div class="ttc" id="grpc__security_8h_html_a2337a83a6898dde63d4948e8b12aee69"><div class="ttname"><a href="grpc__security_8h.html#a2337a83a6898dde63d4948e8b12aee69">grpc_tls_credential_reload_config_create</a></div><div class="ttdeci">GRPCAPI grpc_tls_credential_reload_config * grpc_tls_credential_reload_config_create(const void *config_user_data, int(*schedule)(void *config_user_data, grpc_tls_credential_reload_arg *arg), void(*cancel)(void *config_user_data, grpc_tls_credential_reload_arg *arg), void(*destruct)(void *config_user_data))</div><div class="ttdoc">Create a grpc_tls_credential_reload_config instance. </div></div>
- <div class="ttc" id="grpc__security_8h_html_adde6c7d191f88997fd82fd8b54f9420e"><div class="ttname"><a href="grpc__security_8h.html#adde6c7d191f88997fd82fd8b54f9420e">grpc_ssl_server_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_server_credentials * grpc_ssl_server_credentials_create(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs, int force_client_auth, void *reserved)</div><div class="ttdoc">Deprecated in favor of grpc_ssl_server_credentials_create_ex. </div></div>
- <div class="ttc" id="grpc__security__constants_8h_html_a90c47ae1d8c33145342170fe615fa68c"><div class="ttname"><a href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68c">grpc_ssl_roots_override_result</a></div><div class="ttdeci">grpc_ssl_roots_override_result</div><div class="ttdoc">Results for the SSL roots override callback. </div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:46</div></div>
- <div class="ttc" id="structgrpc__auth__metadata__processor_html"><div class="ttname"><a href="structgrpc__auth__metadata__processor.html">grpc_auth_metadata_processor</a></div><div class="ttdoc">Pluggable server-side metadata processor object. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:592</div></div>
- <div class="ttc" id="impl_2codegen_2port__platform_8h_html_a2865c3b28ea7db75be4c725adb1edc7d"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a></div><div class="ttdeci">#define GRPCAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:564</div></div>
- <div class="ttc" id="grpc__security_8h_html_ab4ed40ea84a2f70ffd81a84bd8ee634b"><div class="ttname"><a href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a></div><div class="ttdeci">struct grpc_channel_credentials grpc_channel_credentials</div><div class="ttdoc">— grpc_channel_credentials object. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:127</div></div>
- <div class="ttc" id="structgrpc__metadata__credentials__plugin_html_a3b571f8cbf3cffd887dec1ed5a662571"><div class="ttname"><a href="structgrpc__metadata__credentials__plugin.html#a3b571f8cbf3cffd887dec1ed5a662571">grpc_metadata_credentials_plugin::state</a></div><div class="ttdeci">void * state</div><div class="ttdoc">State that will be set as the first parameter of the methods above. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:428</div></div>
- <div class="ttc" id="structgrpc__tls__server__authorization__check__arg_html_a49f838e2bc8533b18d77e9e31a34033b"><div class="ttname"><a href="structgrpc__tls__server__authorization__check__arg.html#a49f838e2bc8533b18d77e9e31a34033b">grpc_tls_server_authorization_check_arg::cb_user_data</a></div><div class="ttdeci">void * cb_user_data</div><div class="ttdef"><b>Definition:</b> grpc_security.h:862</div></div>
- <div class="ttc" id="grpc__security_8h_html_a8d8e443300d9a94fa5fe7ef76c77fd38"><div class="ttname"><a href="grpc__security_8h.html#a8d8e443300d9a94fa5fe7ef76c77fd38">grpc_server_credentials_release</a></div><div class="ttdeci">GRPCAPI void grpc_server_credentials_release(grpc_server_credentials *creds)</div><div class="ttdoc">Releases a server_credentials object. </div></div>
- <div class="ttc" id="structgrpc__tls__credential__reload__arg_html_a334d8ef3177532d0a1e2094d4a23233c"><div class="ttname"><a href="structgrpc__tls__credential__reload__arg.html#a334d8ef3177532d0a1e2094d4a23233c">grpc_tls_credential_reload_arg::cb</a></div><div class="ttdeci">grpc_tls_on_credential_reload_done_cb cb</div><div class="ttdef"><b>Definition:</b> grpc_security.h:801</div></div>
- <div class="ttc" id="structgrpc__tls__credential__reload__arg_html_a91a81a3317b88c3c380d7febad26b5e9"><div class="ttname"><a href="structgrpc__tls__credential__reload__arg.html#a91a81a3317b88c3c380d7febad26b5e9">grpc_tls_credential_reload_arg::cb_user_data</a></div><div class="ttdeci">void * cb_user_data</div><div class="ttdef"><b>Definition:</b> grpc_security.h:802</div></div>
- <div class="ttc" id="grpc__security_8h_html_af66841ff2c26a95ff9cd18ea2cdf38cb"><div class="ttname"><a href="grpc__security_8h.html#af66841ff2c26a95ff9cd18ea2cdf38cb">grpc_google_compute_engine_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_call_credentials * grpc_google_compute_engine_credentials_create(void *reserved)</div><div class="ttdoc">Creates a compute engine credentials object for connecting to Google. </div></div>
- <div class="ttc" id="structgrpc__auth__property_html"><div class="ttname"><a href="structgrpc__auth__property.html">grpc_auth_property</a></div><div class="ttdoc">value, if not NULL, is guaranteed to be NULL terminated. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:43</div></div>
- <div class="ttc" id="grpc__security_8h_html_a5fb84795d5b0306006fdb8d316262a82"><div class="ttname"><a href="grpc__security_8h.html#a5fb84795d5b0306006fdb8d316262a82">grpc_composite_call_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_call_credentials * grpc_composite_call_credentials_create(grpc_call_credentials *creds1, grpc_call_credentials *creds2, void *reserved)</div><div class="ttdoc">Creates a composite call credentials object. </div></div>
- <div class="ttc" id="grpc__security_8h_html_aed07d29d954508e9f9da66b547660160"><div class="ttname"><a href="grpc__security_8h.html#aed07d29d954508e9f9da66b547660160">grpc_metadata_credentials_create_from_plugin</a></div><div class="ttdeci">GRPCAPI grpc_call_credentials * grpc_metadata_credentials_create_from_plugin(grpc_metadata_credentials_plugin plugin, void *reserved)</div><div class="ttdoc">Creates a credentials object from a plugin. </div></div>
- <div class="ttc" id="grpc__security_8h_html_a060719c0b294858858dbf41b7ec2abb5"><div class="ttname"><a href="grpc__security_8h.html#a060719c0b294858858dbf41b7ec2abb5">grpc_google_iam_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_call_credentials * grpc_google_iam_credentials_create(const char *authorization_token, const char *authority_selector, void *reserved)</div><div class="ttdoc">Creates an IAM credentials object for connecting to Google. </div></div>
- <div class="ttc" id="structgrpc__sts__credentials__options_html_acccf3e0c9f7f8865718fbb8e51f2d5ab"><div class="ttname"><a href="structgrpc__sts__credentials__options.html#acccf3e0c9f7f8865718fbb8e51f2d5ab">grpc_sts_credentials_options::resource</a></div><div class="ttdeci">const char * resource</div><div class="ttdef"><b>Definition:</b> grpc_security.h:339</div></div>
- <div class="ttc" id="grpc__security_8h_html_a010fe7d27deaa2ea50b765b48dbad429"><div class="ttname"><a href="grpc__security_8h.html#a010fe7d27deaa2ea50b765b48dbad429">grpc_auth_property</a></div><div class="ttdeci">struct grpc_auth_property grpc_auth_property</div><div class="ttdoc">value, if not NULL, is guaranteed to be NULL terminated. </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="structgrpc__sts__credentials__options_html_a26907053e134770f20c2e3506a7b3979"><div class="ttname"><a href="structgrpc__sts__credentials__options.html#a26907053e134770f20c2e3506a7b3979">grpc_sts_credentials_options::subject_token_path</a></div><div class="ttdeci">const char * subject_token_path</div><div class="ttdef"><b>Definition:</b> grpc_security.h:343</div></div>
- <div class="ttc" id="structgrpc__sts__credentials__options_html_a238c61ccc9d4b8091d34a6e525290a4c"><div class="ttname"><a href="structgrpc__sts__credentials__options.html#a238c61ccc9d4b8091d34a6e525290a4c">grpc_sts_credentials_options::actor_token_type</a></div><div class="ttdeci">const char * actor_token_type</div><div class="ttdef"><b>Definition:</b> grpc_security.h:346</div></div>
- <div class="ttc" id="structgrpc__tls__server__authorization__check__arg_html_a4b61309fca075f7d93d3a4325728bb7f"><div class="ttname"><a href="structgrpc__tls__server__authorization__check__arg.html#a4b61309fca075f7d93d3a4325728bb7f">grpc_tls_server_authorization_check_arg::success</a></div><div class="ttdeci">int success</div><div class="ttdef"><b>Definition:</b> grpc_security.h:863</div></div>
- <div class="ttc" id="grpc__security_8h_html_aa9dbfdabaca2ab86c9d7e71cbc81d3d4"><div class="ttname"><a href="grpc__security_8h.html#aa9dbfdabaca2ab86c9d7e71cbc81d3d4">grpc_auth_context_release</a></div><div class="ttdeci">GRPCAPI void grpc_auth_context_release(grpc_auth_context *context)</div><div class="ttdoc">Releases the auth context returned from grpc_call_auth_context. </div></div>
- <div class="ttc" id="grpc__security_8h_html_a9cff913051370085b7cc58aa3ccbd4a4"><div class="ttname"><a href="grpc__security_8h.html#a9cff913051370085b7cc58aa3ccbd4a4">grpc_auth_context_set_peer_identity_property_name</a></div><div class="ttdeci">GRPCAPI int grpc_auth_context_set_peer_identity_property_name(grpc_auth_context *ctx, const char *name)</div><div class="ttdoc">Sets the property name. </div></div>
- <div class="ttc" id="grpc__security_8h_html_aa64d5173a15c51fdb2d80c3c187157ca"><div class="ttname"><a href="grpc__security_8h.html#aa64d5173a15c51fdb2d80c3c187157ca">grpc_access_token_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_call_credentials * grpc_access_token_credentials_create(const char *access_token, void *reserved)</div><div class="ttdoc">Creates an Oauth2 Access Token credentials with an access token that was acquired by an out of band m...</div></div>
- <div class="ttc" id="structgrpc__sts__credentials__options_html"><div class="ttname"><a href="structgrpc__sts__credentials__options.html">grpc_sts_credentials_options</a></div><div class="ttdoc">Options for creating STS Oauth Token Exchange credentials following the IETF draft https://tools...</div><div class="ttdef"><b>Definition:</b> grpc_security.h:337</div></div>
- <div class="ttc" id="structverify__peer__options_html"><div class="ttname"><a href="structverify__peer__options.html">verify_peer_options</a></div><div class="ttdoc">Deprecated in favor of grpc_ssl_verify_peer_options. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:170</div></div>
- <div class="ttc" id="grpc__security_8h_html_a5a627008e49efec12fb97c25b5da4628"><div class="ttname"><a href="grpc__security_8h.html#a5a627008e49efec12fb97c25b5da4628">grpc_auth_context_peer_identity_property_name</a></div><div class="ttdeci">GRPCAPI const char * grpc_auth_context_peer_identity_property_name(const grpc_auth_context *ctx)</div><div class="ttdoc">Gets the name of the property that indicates the peer identity. </div></div>
- <div class="ttc" id="grpc__security_8h_html_a4fd0dd05b90f7dcebaaacf8a0088c46f"><div class="ttname"><a href="grpc__security_8h.html#a4fd0dd05b90f7dcebaaacf8a0088c46f">grpc_ssl_session_cache_create_channel_arg</a></div><div class="ttdeci">GRPCAPI grpc_arg grpc_ssl_session_cache_create_channel_arg(grpc_ssl_session_cache *cache)</div><div class="ttdoc">Create a channel arg with the given cache object. </div></div>
- <div class="ttc" id="structgpr__timespec_html"><div class="ttname"><a href="structgpr__timespec.html">gpr_timespec</a></div><div class="ttdoc">Analogous to struct timespec. </div><div class="ttdef"><b>Definition:</b> gpr_types.h:47</div></div>
- <div class="ttc" id="grpc__security_8h_html_a2967916eed7d3f7aa1f8fbf3fc45d9ce"><div class="ttname"><a href="grpc__security_8h.html#a2967916eed7d3f7aa1f8fbf3fc45d9ce">grpc_tls_key_materials_config</a></div><div class="ttdeci">struct grpc_tls_key_materials_config grpc_tls_key_materials_config</div><div class="ttdoc">— SPIFFE and HTTPS-based TLS channel/server credentials — It is used for experimental purpose for n...</div><div class="ttdef"><b>Definition:</b> grpc_security.h:706</div></div>
- <div class="ttc" id="grpc__security_8h_html_a74132d68002c1f3dde8a810e843604ee"><div class="ttname"><a href="grpc__security_8h.html#a74132d68002c1f3dde8a810e843604ee">grpc_tls_spiffe_server_credentials_create</a></div><div class="ttdeci">grpc_server_credentials * grpc_tls_spiffe_server_credentials_create(grpc_tls_credentials_options *options)</div><div class="ttdoc">This method creates a TLS server credential object. </div></div>
- <div class="ttc" id="grpc__security_8h_html_a0fbb46fa71b635516037e6b265f937f5"><div class="ttname"><a href="grpc__security_8h.html#a0fbb46fa71b635516037e6b265f937f5">grpc_ssl_server_certificate_config_create</a></div><div class="ttdeci">GRPCAPI grpc_ssl_server_certificate_config * grpc_ssl_server_certificate_config_create(const char *pem_root_certs, const grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs)</div><div class="ttdoc">Creates a grpc_ssl_server_certificate_config object. </div></div>
- <div class="ttc" id="grpc__security_8h_html_a196ff73c6ff0dc0d7846635e02016b0f"><div class="ttname"><a href="grpc__security_8h.html#a196ff73c6ff0dc0d7846635e02016b0f">grpc_alts_credentials_options</a></div><div class="ttdeci">struct grpc_alts_credentials_options grpc_alts_credentials_options</div><div class="ttdoc">— ALTS channel/server credentials — </div><div class="ttdef"><b>Definition:</b> grpc_security.h:617</div></div>
- <div class="ttc" id="grpc__security_8h_html_a3a78f4ff1575a2c9e4a3d547b9aa2bb0"><div class="ttname"><a href="grpc__security_8h.html#a3a78f4ff1575a2c9e4a3d547b9aa2bb0">grpc_alts_credentials_options_destroy</a></div><div class="ttdeci">GRPCAPI void grpc_alts_credentials_options_destroy(grpc_alts_credentials_options *options)</div><div class="ttdoc">This method destroys a grpc_alts_credentials_options instance by de-allocating all of its occupied me...</div></div>
- <div class="ttc" id="grpc__security_8h_html_a8c5f064d7d008bc46fa61e87d68898f3"><div class="ttname"><a href="grpc__security_8h.html#a8c5f064d7d008bc46fa61e87d68898f3">grpc_ssl_server_certificate_config_callback</a></div><div class="ttdeci">grpc_ssl_certificate_config_reload_status(* grpc_ssl_server_certificate_config_callback)(void *user_data, grpc_ssl_server_certificate_config **config)</div><div class="ttdoc">Callback to retrieve updated SSL server certificates, private keys, and trusted CAs (for client authe...</div><div class="ttdef"><b>Definition:</b> grpc_security.h:496</div></div>
- <div class="ttc" id="grpc__security_8h_html_aa207ea7a0454b657fa79567784ff5cbf"><div class="ttname"><a href="grpc__security_8h.html#aa207ea7a0454b657fa79567784ff5cbf">grpc_sts_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_call_credentials * grpc_sts_credentials_create(const grpc_sts_credentials_options *options, void *reserved)</div><div class="ttdoc">Creates an STS credentials following the STS Token Exchanged specifed in the IETF draft https://tools...</div></div>
- <div class="ttc" id="grpc__security_8h_html_a5f8a4204d09f2b10a3986d25b6583a08"><div class="ttname"><a href="grpc__security_8h.html#a5f8a4204d09f2b10a3986d25b6583a08">grpc_ssl_server_credentials_create_ex</a></div><div class="ttdeci">GRPCAPI grpc_server_credentials * grpc_ssl_server_credentials_create_ex(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs, grpc_ssl_client_certificate_request_type client_certificate_request, void *reserved)</div><div class="ttdoc">Deprecated in favor of grpc_ssl_server_credentials_create_with_options. </div></div>
- <div class="ttc" id="grpc_8h_html"><div class="ttname"><a href="grpc_8h.html">grpc.h</a></div></div>
- <div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eb"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a></div><div class="ttdeci">grpc_status_code</div><div class="ttdef"><b>Definition:</b> status.h:26</div></div>
- <div class="ttc" id="grpc__security_8h_html_a4274ad26c037943386451f437c768961"><div class="ttname"><a href="grpc__security_8h.html#a4274ad26c037943386451f437c768961">grpc_max_auth_token_lifetime</a></div><div class="ttdeci">GRPCAPI gpr_timespec grpc_max_auth_token_lifetime(void)</div></div>
- <div class="ttc" id="structgrpc__tls__server__authorization__check__arg_html_a5ea427a08f7acada51d9ace358f8529b"><div class="ttname"><a href="structgrpc__tls__server__authorization__check__arg.html#a5ea427a08f7acada51d9ace358f8529b">grpc_tls_server_authorization_check_arg::target_name</a></div><div class="ttdeci">const char * target_name</div><div class="ttdef"><b>Definition:</b> grpc_security.h:864</div></div>
- <div class="ttc" id="structgrpc__ssl__verify__peer__options_html_a6700c305b4af601ba4a38c05f8a9c898"><div class="ttname"><a href="structgrpc__ssl__verify__peer__options.html#a6700c305b4af601ba4a38c05f8a9c898">grpc_ssl_verify_peer_options::verify_peer_callback_userdata</a></div><div class="ttdeci">void * verify_peer_callback_userdata</div><div class="ttdoc">Arbitrary userdata that will be passed as the last argument to verify_peer_callback. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:201</div></div>
- <div class="ttc" id="grpc__security_8h_html_a019828123e4b76b8a13f7d8045396d28"><div class="ttname"><a href="grpc__security_8h.html#a019828123e4b76b8a13f7d8045396d28">grpc_ssl_server_credentials_create_options_using_config</a></div><div class="ttdeci">GRPCAPI grpc_ssl_server_credentials_options * grpc_ssl_server_credentials_create_options_using_config(grpc_ssl_client_certificate_request_type client_certificate_request, grpc_ssl_server_certificate_config *certificate_config)</div><div class="ttdoc">Creates an options object using a certificate config. </div></div>
- <div class="ttc" id="support_2port__platform_8h_html"><div class="ttname"><a href="support_2port__platform_8h.html">port_platform.h</a></div></div>
- <div class="ttc" id="grpc__security_8h_html_ab6371d3ff79d1330eb914bff2122e6f9"><div class="ttname"><a href="grpc__security_8h.html#ab6371d3ff79d1330eb914bff2122e6f9">grpc_tls_key_materials_config_set_key_materials</a></div><div class="ttdeci">GRPCAPI int grpc_tls_key_materials_config_set_key_materials(grpc_tls_key_materials_config *config, const char *pem_root_certs, const grpc_ssl_pem_key_cert_pair **pem_key_cert_pairs, size_t num_key_cert_pairs)</div><div class="ttdoc">Set grpc_tls_key_materials_config instance with provided a TLS certificate. </div></div>
- <div class="ttc" id="grpc__security__constants_8h_html_a31d00ce5c064e1fff4261a6d6298dc11"><div class="ttname"><a href="grpc__security__constants_8h.html#a31d00ce5c064e1fff4261a6d6298dc11">grpc_local_connect_type</a></div><div class="ttdeci">grpc_local_connect_type</div><div class="ttdoc">Type of local connections for which local channel/server credentials will be applied. </div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:112</div></div>
- <div class="ttc" id="grpc__security_8h_html_a5bb56dbcba0b0c54e3c6da0635391959"><div class="ttname"><a href="grpc__security_8h.html#a5bb56dbcba0b0c54e3c6da0635391959">grpc_auth_context_peer_is_authenticated</a></div><div class="ttdeci">GRPCAPI int grpc_auth_context_peer_is_authenticated(const grpc_auth_context *ctx)</div><div class="ttdoc">Returns 1 if the peer is authenticated, 0 otherwise. </div></div>
- <div class="ttc" id="structgrpc__auth__metadata__context_html"><div class="ttname"><a href="structgrpc__auth__metadata__context.html">grpc_auth_metadata_context</a></div><div class="ttdoc">Context that can be used by metadata credentials plugin in order to create auth related metadata...</div><div class="ttdef"><b>Definition:</b> grpc_security.h:373</div></div>
- <div class="ttc" id="grpc__security_8h_html_aa0d86b58b1fc00d9aad76c00b9c95231"><div class="ttname"><a href="grpc__security_8h.html#aa0d86b58b1fc00d9aad76c00b9c95231">grpc_tls_spiffe_credentials_create</a></div><div class="ttdeci">grpc_channel_credentials * grpc_tls_spiffe_credentials_create(grpc_tls_credentials_options *options)</div><div class="ttdoc">— SPIFFE channel/server credentials — </div></div>
- <div class="ttc" id="structgrpc__sts__credentials__options_html_a91d3976529603354ce8bdf92394ef074"><div class="ttname"><a href="structgrpc__sts__credentials__options.html#a91d3976529603354ce8bdf92394ef074">grpc_sts_credentials_options::audience</a></div><div class="ttdeci">const char * audience</div><div class="ttdef"><b>Definition:</b> grpc_security.h:340</div></div>
- <div class="ttc" id="structgrpc__tls__credential__reload__arg_html_aa28bad2203a56f05707535913ffdde98"><div class="ttname"><a href="structgrpc__tls__credential__reload__arg.html#aa28bad2203a56f05707535913ffdde98">grpc_tls_credential_reload_arg::key_materials_config</a></div><div class="ttdeci">grpc_tls_key_materials_config * key_materials_config</div><div class="ttdef"><b>Definition:</b> grpc_security.h:803</div></div>
- <div class="ttc" id="grpc__security_8h_html_a5a32645c900c2b50bc89fa11ebdc5a07"><div class="ttname"><a href="grpc__security_8h.html#a5a32645c900c2b50bc89fa11ebdc5a07">grpc_channel_credentials_release</a></div><div class="ttdeci">GRPCAPI void grpc_channel_credentials_release(grpc_channel_credentials *creds)</div><div class="ttdoc">Releases a channel credentials object. </div></div>
- <div class="ttc" id="structgrpc__sts__credentials__options_html_a467b1184da37adc95e8180b66a3a628f"><div class="ttname"><a href="structgrpc__sts__credentials__options.html#a467b1184da37adc95e8180b66a3a628f">grpc_sts_credentials_options::subject_token_type</a></div><div class="ttdeci">const char * subject_token_type</div><div class="ttdef"><b>Definition:</b> grpc_security.h:344</div></div>
- <div class="ttc" id="grpc__security_8h_html_a5dde4a563a9f7b8b1fc595ecd8d357fa"><div class="ttname"><a href="grpc__security_8h.html#a5dde4a563a9f7b8b1fc595ecd8d357fa">grpc_alts_server_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_server_credentials * grpc_alts_server_credentials_create(const grpc_alts_credentials_options *options)</div><div class="ttdoc">This method creates an ALTS server credential object. </div></div>
- </div><!-- fragment --></div><!-- contents -->
- <!-- start footer part -->
- <hr class="footer"/><address class="footer"><small>
- Generated on Mon Aug 19 2019 12:05:22 for GRPC Core by  <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/>
- </a> 1.8.13
- </small></address>
- </body>
- </html>
|