<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Crashpad: crashpad::ServerToClientMessage Union Reference</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" />
<link href="crashpad_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">Crashpad
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</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="namespacecrashpad.html">crashpad</a></li><li class="navelem"><a class="el" href="structcrashpad_1_1ServerToClientMessage.html">ServerToClientMessage</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structcrashpad_1_1ServerToClientMessage-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">crashpad::ServerToClientMessage Union Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>The message passed from server to client.  
 <a href="structcrashpad_1_1ServerToClientMessage.html#details">More...</a></p>

<p><code>#include &quot;util/win/registration_protocol_win.h&quot;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a78552b6272627581a50d73525e555b7e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcrashpad_1_1ServerToClientMessage.html#a78552b6272627581a50d73525e555b7e">Type</a> : uint32_t </td></tr>
<tr class="separator:a78552b6272627581a50d73525e555b7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:aa47e6c0ed7e8bc700fe16f29da4ff6cf"><td class="memItemLeft" align="right" valign="top"><a id="aa47e6c0ed7e8bc700fe16f29da4ff6cf"></a>
enum <a class="el" href="structcrashpad_1_1ServerToClientMessage.html#a78552b6272627581a50d73525e555b7e">crashpad::ServerToClientMessage::Type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>type</b></td></tr>
<tr class="separator:aa47e6c0ed7e8bc700fe16f29da4ff6cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ca8b9c52216b6d72ea166808c4327a9"><td class="memItemLeft" align="right" valign="top"><a id="a0ca8b9c52216b6d72ea166808c4327a9"></a>
pid_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcrashpad_1_1ServerToClientMessage.html#a0ca8b9c52216b6d72ea166808c4327a9">pid</a></td></tr>
<tr class="memdesc:a0ca8b9c52216b6d72ea166808c4327a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">The handler's process ID. Valid for kTypeSetPtracer. <br /></td></tr>
<tr class="separator:a0ca8b9c52216b6d72ea166808c4327a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ddc21f389e7e09ff30db00736722b4c"><td class="memItemLeft" align="right" valign="top"><a id="a6ddc21f389e7e09ff30db00736722b4c"></a>
<a class="el" href="structcrashpad_1_1RegistrationResponse.html">RegistrationResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>registration</b></td></tr>
<tr class="separator:a6ddc21f389e7e09ff30db00736722b4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The message passed from server to client. </p>
<p>The response sent back to the client via <a class="el" href="namespacecrashpad.html#a638d7916642f81df8063d300f08ff2ca" title="Connect over the given pipe_name, passing message to the server, storing the server&#39;s reply into resp...">SendToCrashHandlerServer()</a>. </p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a78552b6272627581a50d73525e555b7e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a78552b6272627581a50d73525e555b7e">&#9670;&nbsp;</a></span>Type</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="structcrashpad_1_1ServerToClientMessage.html#a78552b6272627581a50d73525e555b7e">crashpad::ServerToClientMessage::Type</a> : uint32_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a78552b6272627581a50d73525e555b7ea22a78f4c15c978ae2afe65377563db7f"></a>kTypeForkBroker&#160;</td><td class="fielddoc"><p>Indicates that the client should fork a <a class="el" href="classcrashpad_1_1PtraceBroker.html" title="Implements a PtraceConnection over a socket. ">PtraceBroker</a> process. </p>
</td></tr>
<tr><td class="fieldname"><a id="a78552b6272627581a50d73525e555b7ea63f081c402c7d4c73cd074329421edfc"></a>kTypeSetPtracer&#160;</td><td class="fielddoc"><p>Inidicates that the client should set allow the handler to trace it using PR_SET_PTRACER. </p>
</td></tr>
<tr><td class="fieldname"><a id="a78552b6272627581a50d73525e555b7eaea8cffa01f678350d9583577704afdfe"></a>kTypeCrashDumpComplete&#160;</td><td class="fielddoc"><p>Indicates that the handler has completed a requested crash dump. </p>
</td></tr>
<tr><td class="fieldname"><a id="a78552b6272627581a50d73525e555b7ea31d637d09fe4d30e7301e51efd79cb13"></a>kTypeCrashDumpFailed&#160;</td><td class="fielddoc"><p>Indicicates that the handler was unable to produce a crash dump. </p>
</td></tr>
</table>

</div>
</div>
<hr/>The documentation for this union was generated from the following files:<ul>
<li>util/linux/exception_handler_protocol.h</li>
<li>util/win/registration_protocol_win.h</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>
