You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

571 lines
30 KiB

<!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>Pin: SEC: Section Object</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">Pin
</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>
</div><!-- top -->
<!-- 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 class="header">
<div class="summary">
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">SEC: Section Object</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gaad6b98908d8b9094c9b748d05835e95f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC__BASIC__API.html#gaad6b98908d8b9094c9b748d05835e95f">LEVEL_CORE::SEC_TYPE</a> { <br />
&#160;&#160;<b>SEC_TYPE_INVALID</b>,
<br />
&#160;&#160;<b>SEC_TYPE_UNUSED</b>,
<br />
&#160;&#160;<a class="el" href="group__SEC__BASIC__API.html#ggaad6b98908d8b9094c9b748d05835e95fa6583c1d4d4956c19e8ef5b3259b6632e">LEVEL_CORE::SEC_TYPE_REGREL</a>,
<br />
&#160;&#160;<a class="el" href="group__SEC__BASIC__API.html#ggaad6b98908d8b9094c9b748d05835e95fada82f4f118232d732e20590cc9301aa4">LEVEL_CORE::SEC_TYPE_DYNREL</a>,
<br />
&#160;&#160;<a class="el" href="group__SEC__BASIC__API.html#ggaad6b98908d8b9094c9b748d05835e95fabf3e5f813d91ccdac1ab9ee3f8138b34">LEVEL_CORE::SEC_TYPE_EXEC</a>,
<br />
&#160;&#160;<a class="el" href="group__SEC__BASIC__API.html#ggaad6b98908d8b9094c9b748d05835e95fa072c554c7b138dc682c2e8d252570994">LEVEL_CORE::SEC_TYPE_DATA</a>,
<br />
&#160;&#160;<a class="el" href="group__SEC__BASIC__API.html#ggaad6b98908d8b9094c9b748d05835e95faa545081808dee4d28e8efd66dce8416e">LEVEL_CORE::SEC_TYPE_DYNAMIC</a>,
<br />
&#160;&#160;<b>SEC_TYPE_OPD</b>,
<br />
&#160;&#160;<b>SEC_TYPE_GOT</b>,
<br />
&#160;&#160;<b>SEC_TYPE_STACK</b>,
<br />
&#160;&#160;<b>SEC_TYPE_PLTOFF</b>,
<br />
&#160;&#160;<b>SEC_TYPE_HASH</b>,
<br />
&#160;&#160;<a class="el" href="group__SEC__BASIC__API.html#ggaad6b98908d8b9094c9b748d05835e95fadad1d36c6997aaaf14c61ad907f5d65b">LEVEL_CORE::SEC_TYPE_LSDA</a>,
<br />
&#160;&#160;<b>SEC_TYPE_UNWIND</b>,
<br />
&#160;&#160;<b>SEC_TYPE_UNWINDINFO</b>,
<br />
&#160;&#160;<b>SEC_TYPE_REGSYM</b>,
<br />
&#160;&#160;<b>SEC_TYPE_DYNSYM</b>,
<br />
&#160;&#160;<b>SEC_TYPE_DEBUG</b>,
<br />
&#160;&#160;<a class="el" href="group__SEC__BASIC__API.html#ggaad6b98908d8b9094c9b748d05835e95fa254c2f2466a1360e290ebf4460c56b23">LEVEL_CORE::SEC_TYPE_BSS</a>,
<br />
&#160;&#160;<b>SEC_TYPE_SYMSTR</b>,
<br />
&#160;&#160;<b>SEC_TYPE_DYNSTR</b>,
<br />
&#160;&#160;<b>SEC_TYPE_SECSTR</b>,
<br />
&#160;&#160;<b>SEC_TYPE_COMMENT</b>,
<br />
&#160;&#160;<a class="el" href="group__SEC__BASIC__API.html#ggaad6b98908d8b9094c9b748d05835e95fa80124fac9c53e57d9ff808221ee9615d">LEVEL_CORE::SEC_TYPE_LOOS</a>,
<br />
&#160;&#160;<a class="el" href="group__SEC__BASIC__API.html#ggaad6b98908d8b9094c9b748d05835e95fa907a518b7b228021ce28e35bdbc9928e">LEVEL_CORE::SEC_TYPE_USER</a>,
<br />
&#160;&#160;<a class="el" href="group__SEC__BASIC__API.html#ggaad6b98908d8b9094c9b748d05835e95fab72e3e26d505252d4e96edb542cf0620">LEVEL_CORE::SEC_TYPE_PROC</a>,
<br />
&#160;&#160;<b>SEC_TYPE_LAST</b>
<br />
}</td></tr>
<tr class="separator:gaad6b98908d8b9094c9b748d05835e95f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gac57c906aeabfa47c07300e6a70d70c05"><td class="memItemLeft" align="right" valign="top">IMG&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC__BASIC__API.html#gac57c906aeabfa47c07300e6a70d70c05">LEVEL_PINCLIENT::SEC_Img</a> (SEC sec)</td></tr>
<tr class="separator:gac57c906aeabfa47c07300e6a70d70c05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0f20232da7164c5a2bd7a484218cfa36"><td class="memItemLeft" align="right" valign="top">SEC&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC__BASIC__API.html#ga0f20232da7164c5a2bd7a484218cfa36">LEVEL_PINCLIENT::SEC_Next</a> (SEC sec)</td></tr>
<tr class="separator:ga0f20232da7164c5a2bd7a484218cfa36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf1b1ecd1d013d0c960929881a2c81d72"><td class="memItemLeft" align="right" valign="top">SEC&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC__BASIC__API.html#gaf1b1ecd1d013d0c960929881a2c81d72">LEVEL_PINCLIENT::SEC_Prev</a> (SEC sec)</td></tr>
<tr class="separator:gaf1b1ecd1d013d0c960929881a2c81d72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf0fea51106fcabe3752c03052159d0b"><td class="memItemLeft" align="right" valign="top">SEC&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC__BASIC__API.html#gaaf0fea51106fcabe3752c03052159d0b">LEVEL_PINCLIENT::SEC_Invalid</a> ()</td></tr>
<tr class="separator:gaaf0fea51106fcabe3752c03052159d0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga584ce38ee42410cf65bb5c7201760663"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC__BASIC__API.html#ga584ce38ee42410cf65bb5c7201760663">LEVEL_PINCLIENT::SEC_Valid</a> (SEC x)</td></tr>
<tr class="separator:ga584ce38ee42410cf65bb5c7201760663"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b837186aae0819ca2389253438d22b9"><td class="memItemLeft" align="right" valign="top">RTN&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC__BASIC__API.html#ga2b837186aae0819ca2389253438d22b9">LEVEL_PINCLIENT::SEC_RtnHead</a> (SEC sec)</td></tr>
<tr class="separator:ga2b837186aae0819ca2389253438d22b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaafd10f481120aea485de5af8436c8158"><td class="memItemLeft" align="right" valign="top">RTN&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC__BASIC__API.html#gaafd10f481120aea485de5af8436c8158">LEVEL_PINCLIENT::SEC_RtnTail</a> (SEC sec)</td></tr>
<tr class="separator:gaafd10f481120aea485de5af8436c8158"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga74bebcb2322b4ee13da039c43040c363"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC__BASIC__API.html#ga74bebcb2322b4ee13da039c43040c363">LEVEL_PINCLIENT::SEC_Name</a> (SEC sec)</td></tr>
<tr class="separator:ga74bebcb2322b4ee13da039c43040c363"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaca496c584d38d1f27f3e6144eca81d3c"><td class="memItemLeft" align="right" valign="top">SEC_TYPE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC__BASIC__API.html#gaca496c584d38d1f27f3e6144eca81d3c">LEVEL_PINCLIENT::SEC_Type</a> (SEC sec)</td></tr>
<tr class="separator:gaca496c584d38d1f27f3e6144eca81d3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga823cc57ab85dd3f1313e452236ccceec"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC__BASIC__API.html#ga823cc57ab85dd3f1313e452236ccceec">LEVEL_PINCLIENT::SEC_Mapped</a> (SEC sec)</td></tr>
<tr class="separator:ga823cc57ab85dd3f1313e452236ccceec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabb32012ee0f7b436ee1fc9b7beec102f"><td class="memItemLeft" align="right" valign="top">const VOID *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC__BASIC__API.html#gabb32012ee0f7b436ee1fc9b7beec102f">LEVEL_PINCLIENT::SEC_Data</a> (SEC sec)</td></tr>
<tr class="separator:gabb32012ee0f7b436ee1fc9b7beec102f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeaf8824c1817dbd47764dc61703b409b"><td class="memItemLeft" align="right" valign="top">ADDRINT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC__BASIC__API.html#gaeaf8824c1817dbd47764dc61703b409b">LEVEL_PINCLIENT::SEC_Address</a> (SEC sec)</td></tr>
<tr class="separator:gaeaf8824c1817dbd47764dc61703b409b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa22bf6cb0666d1c1861d7742ad9ac4db"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC__BASIC__API.html#gaa22bf6cb0666d1c1861d7742ad9ac4db">LEVEL_PINCLIENT::SEC_IsReadable</a> (SEC sec)</td></tr>
<tr class="separator:gaa22bf6cb0666d1c1861d7742ad9ac4db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga65221462de831ab90631f2712e617810"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC__BASIC__API.html#ga65221462de831ab90631f2712e617810">LEVEL_PINCLIENT::SEC_IsWriteable</a> (SEC sec)</td></tr>
<tr class="separator:ga65221462de831ab90631f2712e617810"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga25886aa281f8ba375da93621c6c26315"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC__BASIC__API.html#ga25886aa281f8ba375da93621c6c26315">LEVEL_PINCLIENT::SEC_IsExecutable</a> (SEC sec)</td></tr>
<tr class="separator:ga25886aa281f8ba375da93621c6c26315"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga757392dabac8e8f072edd00259702c58"><td class="memItemLeft" align="right" valign="top">USIZE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC__BASIC__API.html#ga757392dabac8e8f072edd00259702c58">LEVEL_PINCLIENT::SEC_Size</a> (SEC sec)</td></tr>
<tr class="separator:ga757392dabac8e8f072edd00259702c58"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>A SEC is modeled after the sections found inside elf images. Can be accessed at instrumentation time and analysis time.</p>
<p>SECs can be mapped or unmapped, a mapped SEC occupies address space inside the IMG. Unmapped SECs often contain debug and relocation information.<br />
APIs from this group are available in any thread, including any internal thread spawned by the tool.</p>
<p>Iteration idioms:</p>
<div class="fragment"><div class="line"><span class="comment">// Forward pass over all sections in an image</span></div><div class="line"><span class="keywordflow">for</span>( SEC sec= <a class="code" href="group__IMG__BASIC__API.html#gaa9597e002a76d7a5e5e1b530bb263aad">IMG_SecHead</a>(img); <a class="code" href="group__SEC__BASIC__API.html#ga584ce38ee42410cf65bb5c7201760663">SEC_Valid</a>(sec); sec = <a class="code" href="group__SEC__BASIC__API.html#ga0f20232da7164c5a2bd7a484218cfa36">SEC_Next</a>(sec) )</div><div class="line"></div><div class="line"><span class="comment">// Reverse pass over all sections in animage</span></div><div class="line"><span class="keywordflow">for</span>( SEC sec= <a class="code" href="group__IMG__BASIC__API.html#gaf1dd3caa46530d580d28259df2cf6f60">IMG_SecTail</a>(img); <a class="code" href="group__SEC__BASIC__API.html#ga584ce38ee42410cf65bb5c7201760663">SEC_Valid</a>(sec); sec = <a class="code" href="group__SEC__BASIC__API.html#gaf1b1ecd1d013d0c960929881a2c81d72">SEC_Prev</a>(sec) )</div></div><!-- fragment --><dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br />
<b>O/S</b>: Linux &amp; Windows<br />
<b>CPU:</b> All<br />
</dd></dl>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="gaad6b98908d8b9094c9b748d05835e95f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaad6b98908d8b9094c9b748d05835e95f">&#9670;&nbsp;</a></span>SEC_TYPE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__SEC__BASIC__API.html#gaad6b98908d8b9094c9b748d05835e95f">LEVEL_CORE::SEC_TYPE</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>SEC types </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggaad6b98908d8b9094c9b748d05835e95fa6583c1d4d4956c19e8ef5b3259b6632e"></a>SEC_TYPE_REGREL&#160;</td><td class="fielddoc"><p>relocations </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaad6b98908d8b9094c9b748d05835e95fada82f4f118232d732e20590cc9301aa4"></a>SEC_TYPE_DYNREL&#160;</td><td class="fielddoc"><p>dynamic relocations </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaad6b98908d8b9094c9b748d05835e95fabf3e5f813d91ccdac1ab9ee3f8138b34"></a>SEC_TYPE_EXEC&#160;</td><td class="fielddoc"><p>contains code </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaad6b98908d8b9094c9b748d05835e95fa072c554c7b138dc682c2e8d252570994"></a>SEC_TYPE_DATA&#160;</td><td class="fielddoc"><p>contains initialized data </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaad6b98908d8b9094c9b748d05835e95faa545081808dee4d28e8efd66dce8416e"></a>SEC_TYPE_DYNAMIC&#160;</td><td class="fielddoc"><p>contains dynamic code </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaad6b98908d8b9094c9b748d05835e95fadad1d36c6997aaaf14c61ad907f5d65b"></a>SEC_TYPE_LSDA&#160;</td><td class="fielddoc"><p>old exception_info (obsolete) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaad6b98908d8b9094c9b748d05835e95fa254c2f2466a1360e290ebf4460c56b23"></a>SEC_TYPE_BSS&#160;</td><td class="fielddoc"><p>contains uninitialized data </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaad6b98908d8b9094c9b748d05835e95fa80124fac9c53e57d9ff808221ee9615d"></a>SEC_TYPE_LOOS&#160;</td><td class="fielddoc"><p>OS specific. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaad6b98908d8b9094c9b748d05835e95fa907a518b7b228021ce28e35bdbc9928e"></a>SEC_TYPE_USER&#160;</td><td class="fielddoc"><p>Application specific. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaad6b98908d8b9094c9b748d05835e95fab72e3e26d505252d4e96edb542cf0620"></a>SEC_TYPE_PROC&#160;</td><td class="fielddoc"><p>Processor specific. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="gaeaf8824c1817dbd47764dc61703b409b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaeaf8824c1817dbd47764dc61703b409b">&#9670;&nbsp;</a></span>SEC_Address()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ADDRINT LEVEL_PINCLIENT::SEC_Address </td>
<td>(</td>
<td class="paramtype">SEC&#160;</td>
<td class="paramname"><em>sec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Address in memory of sec</dd></dl>
<p>If image is loaded by system loader, the real virtual address of section will be returned. If the image is mapped by <a class="el" href="group__IMG__BASIC__API.html#ga2da1b7ebafc13579407199ef026adbc6">IMG_Open()</a> the address will be inside the mapped image. On Unix, if the section is not loadable, 0 will be returned in the both cases. </p>
</div>
</div>
<a id="gabb32012ee0f7b436ee1fc9b7beec102f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabb32012ee0f7b436ee1fc9b7beec102f">&#9670;&nbsp;</a></span>SEC_Data()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const VOID* LEVEL_PINCLIENT::SEC_Data </td>
<td>(</td>
<td class="paramtype">SEC&#160;</td>
<td class="paramname"><em>sec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Return a pointer to the raw data for the section</dd></dl>
<p>On Linux, Pin maps the whole image file for processing. The pointer returned by <a class="el" href="group__SEC__BASIC__API.html#gabb32012ee0f7b436ee1fc9b7beec102f">SEC_Data()</a> points inside the mapped file. Note, <a class="el" href="group__SEC__BASIC__API.html#gabb32012ee0f7b436ee1fc9b7beec102f">SEC_Data()</a> pointer is always between <a class="el" href="group__IMG__BASIC__API.html#gad194d40eeeff2afd8a3ae0c6ade3359c">IMG_StartAddress()</a> and <a class="el" href="group__IMG__BASIC__API.html#gad194d40eeeff2afd8a3ae0c6ade3359c">IMG_StartAddress()</a> + <a class="el" href="group__IMG__BASIC__API.html#gafb2f9299a425268ad06747da54d40418">IMG_SizeMapped()</a>. If you are analyzing image in image-load callback, please remember that the image will be unmapped after the callback returns and the pointer provided by <a class="el" href="group__SEC__BASIC__API.html#gabb32012ee0f7b436ee1fc9b7beec102f">SEC_Data()</a> becomes invalid. If you are working with <a class="el" href="group__IMG__BASIC__API.html#ga2da1b7ebafc13579407199ef026adbc6">IMG_Open()</a> the pointer is valid until <a class="el" href="group__IMG__BASIC__API.html#gabc73d2aa6dcfec0e2fe57b602905c0b8">IMG_Close()</a>.</p>
<p>If section does not have raw data the function returns 0.</p>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br />
<b>O/S</b>: Linux, Windows &amp; macOS*<br />
<b>CPU:</b> All<br />
</dd></dl>
</div>
</div>
<a id="gac57c906aeabfa47c07300e6a70d70c05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac57c906aeabfa47c07300e6a70d70c05">&#9670;&nbsp;</a></span>SEC_Img()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">IMG LEVEL_PINCLIENT::SEC_Img </td>
<td>(</td>
<td class="paramtype">SEC&#160;</td>
<td class="paramname"><em>sec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Image that contains this section</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br />
<b>O/S</b>: Linux, Windows &amp; macOS*<br />
<b>CPU:</b> All<br />
</dd></dl>
</div>
</div>
<a id="gaaf0fea51106fcabe3752c03052159d0b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaaf0fea51106fcabe3752c03052159d0b">&#9670;&nbsp;</a></span>SEC_Invalid()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SEC LEVEL_PINCLIENT::SEC_Invalid </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Invalid section value</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br />
<b>O/S</b>: Linux, Windows &amp; macOS*<br />
<b>CPU:</b> All<br />
</dd></dl>
</div>
</div>
<a id="ga25886aa281f8ba375da93621c6c26315"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga25886aa281f8ba375da93621c6c26315">&#9670;&nbsp;</a></span>SEC_IsExecutable()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">BOOL LEVEL_PINCLIENT::SEC_IsExecutable </td>
<td>(</td>
<td class="paramtype">SEC&#160;</td>
<td class="paramname"><em>sec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>TRUE if section is executable </dd></dl>
</div>
</div>
<a id="gaa22bf6cb0666d1c1861d7742ad9ac4db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa22bf6cb0666d1c1861d7742ad9ac4db">&#9670;&nbsp;</a></span>SEC_IsReadable()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">BOOL LEVEL_PINCLIENT::SEC_IsReadable </td>
<td>(</td>
<td class="paramtype">SEC&#160;</td>
<td class="paramname"><em>sec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>TRUE if section is readable </dd></dl>
</div>
</div>
<a id="ga65221462de831ab90631f2712e617810"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga65221462de831ab90631f2712e617810">&#9670;&nbsp;</a></span>SEC_IsWriteable()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">BOOL LEVEL_PINCLIENT::SEC_IsWriteable </td>
<td>(</td>
<td class="paramtype">SEC&#160;</td>
<td class="paramname"><em>sec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>TRUE if section is writable </dd></dl>
</div>
</div>
<a id="ga823cc57ab85dd3f1313e452236ccceec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga823cc57ab85dd3f1313e452236ccceec">&#9670;&nbsp;</a></span>SEC_Mapped()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">BOOL LEVEL_PINCLIENT::SEC_Mapped </td>
<td>(</td>
<td class="paramtype">SEC&#160;</td>
<td class="paramname"><em>sec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if section is mapped in memory, unmapped section contain data not needed at run time, like debug information</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br />
<b>O/S</b>: Linux, Windows &amp; macOS*<br />
<b>CPU:</b> All<br />
</dd></dl>
</div>
</div>
<a id="ga74bebcb2322b4ee13da039c43040c363"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga74bebcb2322b4ee13da039c43040c363">&#9670;&nbsp;</a></span>SEC_Name()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::string&amp; LEVEL_PINCLIENT::SEC_Name </td>
<td>(</td>
<td class="paramtype">SEC&#160;</td>
<td class="paramname"><em>sec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Section name</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br />
<b>O/S</b>: Linux, Windows &amp; macOS*<br />
<b>CPU:</b> All<br />
</dd></dl>
</div>
</div>
<a id="ga0f20232da7164c5a2bd7a484218cfa36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0f20232da7164c5a2bd7a484218cfa36">&#9670;&nbsp;</a></span>SEC_Next()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SEC LEVEL_PINCLIENT::SEC_Next </td>
<td>(</td>
<td class="paramtype">SEC&#160;</td>
<td class="paramname"><em>sec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Section that follows x, or <a class="el" href="group__SEC__BASIC__API.html#gaaf0fea51106fcabe3752c03052159d0b">SEC_Invalid()</a> is x is last section in the image</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br />
<b>O/S</b>: Linux, Windows &amp; macOS*<br />
<b>CPU:</b> All<br />
</dd></dl>
</div>
</div>
<a id="gaf1b1ecd1d013d0c960929881a2c81d72"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf1b1ecd1d013d0c960929881a2c81d72">&#9670;&nbsp;</a></span>SEC_Prev()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SEC LEVEL_PINCLIENT::SEC_Prev </td>
<td>(</td>
<td class="paramtype">SEC&#160;</td>
<td class="paramname"><em>sec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Previous section of x, or <a class="el" href="group__SEC__BASIC__API.html#gaaf0fea51106fcabe3752c03052159d0b">SEC_Invalid()</a> if x is the first in the image</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br />
<b>O/S</b>: Linux, Windows &amp; macOS*<br />
<b>CPU:</b> All<br />
</dd></dl>
</div>
</div>
<a id="ga2b837186aae0819ca2389253438d22b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2b837186aae0819ca2389253438d22b9">&#9670;&nbsp;</a></span>SEC_RtnHead()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">RTN LEVEL_PINCLIENT::SEC_RtnHead </td>
<td>(</td>
<td class="paramtype">SEC&#160;</td>
<td class="paramname"><em>sec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>First RTN of x, or <a class="el" href="group__RTN__BASIC__API.html#ga8499bc83ee010e62a121237ee277224d">RTN_Invalid()</a> if no RTNs</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br />
<b>O/S</b>: Linux, Windows &amp; macOS*<br />
<b>CPU:</b> All<br />
</dd></dl>
</div>
</div>
<a id="gaafd10f481120aea485de5af8436c8158"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaafd10f481120aea485de5af8436c8158">&#9670;&nbsp;</a></span>SEC_RtnTail()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">RTN LEVEL_PINCLIENT::SEC_RtnTail </td>
<td>(</td>
<td class="paramtype">SEC&#160;</td>
<td class="paramname"><em>sec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Last RTN of x, or <a class="el" href="group__RTN__BASIC__API.html#ga8499bc83ee010e62a121237ee277224d">RTN_Invalid()</a> if no RTNs</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br />
<b>O/S</b>: Linux, Windows &amp; macOS*<br />
<b>CPU:</b> All<br />
</dd></dl>
</div>
</div>
<a id="ga757392dabac8e8f072edd00259702c58"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga757392dabac8e8f072edd00259702c58">&#9670;&nbsp;</a></span>SEC_Size()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">USIZE LEVEL_PINCLIENT::SEC_Size </td>
<td>(</td>
<td class="paramtype">SEC&#160;</td>
<td class="paramname"><em>sec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Size of section </dd></dl>
</div>
</div>
<a id="gaca496c584d38d1f27f3e6144eca81d3c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaca496c584d38d1f27f3e6144eca81d3c">&#9670;&nbsp;</a></span>SEC_Type()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SEC_TYPE LEVEL_PINCLIENT::SEC_Type </td>
<td>(</td>
<td class="paramtype">SEC&#160;</td>
<td class="paramname"><em>sec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Section type</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br />
<b>O/S</b>: Linux, Windows &amp; macOS*<br />
<b>CPU:</b> All<br />
</dd></dl>
</div>
</div>
<a id="ga584ce38ee42410cf65bb5c7201760663"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga584ce38ee42410cf65bb5c7201760663">&#9670;&nbsp;</a></span>SEC_Valid()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">BOOL LEVEL_PINCLIENT::SEC_Valid </td>
<td>(</td>
<td class="paramtype">SEC&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if x is not <a class="el" href="group__SEC__BASIC__API.html#gaaf0fea51106fcabe3752c03052159d0b">SEC_Invalid()</a></dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br />
<b>O/S</b>: Linux, Windows &amp; macOS*<br />
<b>CPU:</b> All<br />
</dd></dl>
</div>
</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.13
</small></address>
</body>
</html>