<!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::PtraceStrategyDecider Class 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="classcrashpad_1_1PtraceStrategyDecider.html">PtraceStrategyDecider</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classcrashpad_1_1PtraceStrategyDecider-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">crashpad::PtraceStrategyDecider Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>Abstract base class for deciding how the handler should <code>ptrace</code> a client.  
 <a href="classcrashpad_1_1PtraceStrategyDecider.html#details">More...</a></p>

<p><code>#include &quot;handler/linux/exception_handler_server.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:aa39b3c161f5763733538a453c09d2546"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1PtraceStrategyDecider.html#aa39b3c161f5763733538a453c09d2546">Strategy</a> </td></tr>
<tr class="memdesc:aa39b3c161f5763733538a453c09d2546"><td class="mdescLeft">&#160;</td><td class="mdescRight">The possible return values for <a class="el" href="classcrashpad_1_1PtraceStrategyDecider.html#af4010f8a970b586a0431531463a913c2" title="Chooses an appropriate ptrace strategy. ">ChooseStrategy()</a>.  <a href="classcrashpad_1_1PtraceStrategyDecider.html#aa39b3c161f5763733538a453c09d2546">More...</a><br /></td></tr>
<tr class="separator:aa39b3c161f5763733538a453c09d2546"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af4010f8a970b586a0431531463a913c2"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classcrashpad_1_1PtraceStrategyDecider.html#aa39b3c161f5763733538a453c09d2546">Strategy</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1PtraceStrategyDecider.html#af4010f8a970b586a0431531463a913c2">ChooseStrategy</a> (int sock, const ucred &amp;client_credentials)=0</td></tr>
<tr class="memdesc:af4010f8a970b586a0431531463a913c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Chooses an appropriate <code>ptrace</code> strategy.  <a href="#af4010f8a970b586a0431531463a913c2">More...</a><br /></td></tr>
<tr class="separator:af4010f8a970b586a0431531463a913c2"><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>Abstract base class for deciding how the handler should <code>ptrace</code> a client. </p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="aa39b3c161f5763733538a453c09d2546"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa39b3c161f5763733538a453c09d2546">&#9670;&nbsp;</a></span>Strategy</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classcrashpad_1_1PtraceStrategyDecider.html#aa39b3c161f5763733538a453c09d2546">crashpad::PtraceStrategyDecider::Strategy</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The possible return values for <a class="el" href="classcrashpad_1_1PtraceStrategyDecider.html#af4010f8a970b586a0431531463a913c2" title="Chooses an appropriate ptrace strategy. ">ChooseStrategy()</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aa39b3c161f5763733538a453c09d2546ae3587c730cc1aa530fa4ddc9c4204e97"></a>kError&#160;</td><td class="fielddoc"><p>An error occurred, with a message logged. </p>
</td></tr>
<tr><td class="fieldname"><a id="aa39b3c161f5763733538a453c09d2546aa95e9314a614496e802b26710bee27a0"></a>kNoPtrace&#160;</td><td class="fielddoc"><p>Ptrace cannot be used. </p>
</td></tr>
<tr><td class="fieldname"><a id="aa39b3c161f5763733538a453c09d2546af935b30b75e08b887455b454e9d5f71a"></a>kDirectPtrace&#160;</td><td class="fielddoc"><p>The handler should <code>ptrace</code>-attach the client directly. </p>
</td></tr>
<tr><td class="fieldname"><a id="aa39b3c161f5763733538a453c09d2546af5711b045de65045ad808c247a523959"></a>kUseBroker&#160;</td><td class="fielddoc"><p>The client has <code>fork</code>ed a <a class="el" href="classcrashpad_1_1PtraceBroker.html" title="Implements a PtraceConnection over a socket. ">PtraceBroker</a> for the handler. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="af4010f8a970b586a0431531463a913c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4010f8a970b586a0431531463a913c2">&#9670;&nbsp;</a></span>ChooseStrategy()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcrashpad_1_1PtraceStrategyDecider.html#aa39b3c161f5763733538a453c09d2546">Strategy</a> crashpad::PtraceStrategyDecider::ChooseStrategy </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>sock</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const ucred &amp;&#160;</td>
          <td class="paramname"><em>client_credentials</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Chooses an appropriate <code>ptrace</code> strategy. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sock</td><td>A socket conncted to a <a class="el" href="classcrashpad_1_1ExceptionHandlerClient.html" title="A client for an ExceptionHandlerServer. ">ExceptionHandlerClient</a>. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">client_credentials</td><td>The credentials for the connected client. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the chosen <a class="el" href="classcrashpad_1_1PtraceStrategyDecider.html#aa39b3c161f5763733538a453c09d2546" title="The possible return values for ChooseStrategy(). ">Strategy</a>. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>handler/linux/exception_handler_server.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>
