<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Crashpad: util/misc/symbolic_constants_common.h File 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.18 -->
<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="dir_23ec12649285f9fabf3a6b7380226c28.html">util</a></li><li class="navelem"><a class="el" href="dir_83573ff3a96d199825b0a6f960a8a5e3.html">misc</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a>  </div>
  <div class="headertitle">
<div class="title">symbolic_constants_common.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacecrashpad"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecrashpad.html">crashpad</a></td></tr>
<tr class="memdesc:namespacecrashpad"><td class="mdescLeft">&#160;</td><td class="mdescRight">The main namespace. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a0f13feba965ef7750b3d49064936e5ee"><td class="memItemLeft" align="right" valign="top"><a id="a0f13feba965ef7750b3d49064936e5ee"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecrashpad.html#a0f13feba965ef7750b3d49064936e5ee">crashpad::SymbolicConstantToStringOptions</a> = unsigned int</td></tr>
<tr class="memdesc:a0f13feba965ef7750b3d49064936e5ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">A bitfield containing values of <a class="el" href="namespacecrashpad.html#a7856b82b71167792ea6103debb5105ed" title="Options for various *ToString functions in symbolic_constants_* files.">SymbolicConstantToStringOptionBits</a>. <br /></td></tr>
<tr class="separator:a0f13feba965ef7750b3d49064936e5ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14f1de509869f929122998a2f88f08a6"><td class="memItemLeft" align="right" valign="top"><a id="a14f1de509869f929122998a2f88f08a6"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecrashpad.html#a14f1de509869f929122998a2f88f08a6">crashpad::StringToSymbolicConstantOptions</a> = unsigned int</td></tr>
<tr class="memdesc:a14f1de509869f929122998a2f88f08a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">A bitfield containing values of <a class="el" href="namespacecrashpad.html#a8387ad067a7e6a1735ab97a1af450d2b" title="Options for various StringTo* functions in symbolic_constants_* files.">StringToSymbolicConstantOptionBits</a>. <br /></td></tr>
<tr class="separator:a14f1de509869f929122998a2f88f08a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a7856b82b71167792ea6103debb5105ed"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecrashpad.html#a7856b82b71167792ea6103debb5105ed">crashpad::SymbolicConstantToStringOptionBits</a> </td></tr>
<tr class="memdesc:a7856b82b71167792ea6103debb5105ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Options for various <code>*ToString</code> functions in <code>symbolic_constants_*</code> files.  <a href="namespacecrashpad.html#a7856b82b71167792ea6103debb5105ed">More...</a><br /></td></tr>
<tr class="separator:a7856b82b71167792ea6103debb5105ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8387ad067a7e6a1735ab97a1af450d2b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecrashpad.html#a8387ad067a7e6a1735ab97a1af450d2b">crashpad::StringToSymbolicConstantOptionBits</a> </td></tr>
<tr class="memdesc:a8387ad067a7e6a1735ab97a1af450d2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Options for various <code>StringTo*</code> functions in <code>symbolic_constants_*</code> files.  <a href="namespacecrashpad.html#a8387ad067a7e6a1735ab97a1af450d2b">More...</a><br /></td></tr>
<tr class="separator:a8387ad067a7e6a1735ab97a1af450d2b"><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><a class="anchor" id="symbolic_constant_terminology"></a></p><h1>Symbolic constant terminology </h1>
<dl>
<dt>Family </dt>
<dd>A group of related symbolic constants. Typically, within a single family, one function will be used to transform a numeric value to a string equivalent, and another will perform the inverse operation. Families include POSIX signals and Mach exception masks. </dd>
<dt>Full name </dt>
<dd>The normal symbolic name used for a constant. For example, in the family of POSIX signals, the strings <code>"SIGHUP"</code> and <code>"SIGSEGV"</code> are full names. </dd>
<dt>Short name </dt>
<dd>An abbreviated form of symbolic name used for a constant. Short names vary between families, but are commonly constructed by removing a common prefix from full names. For example, in the family of POSIX signals, the prefix is <code>SIG</code>, and short names include <code>"HUP"</code> and <code>"SEGV"</code>. </dd>
<dt>Numeric string </dt>
<dd>A string that does not contain a full or short name, but contains a numeric value that can be interpreted as a symbolic constant. For example, in the family of POSIX signals, <code>SIGKILL</code> generally has value <code>9</code>, so the numeric string <code>"9"</code> would be interpreted equivalently to <code>"SIGKILL"</code>. </dd>
</dl>
</div></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.18
</small></address>
</body>
</html>
