Attic/kduma/docs/files/paging-h.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html>
<head>
<title>C:\projects\duma\kduma\paging.h</title>
<link rel="stylesheet" type="text/css" href="../styles/main.css" />
<script language="JavaScript" src="../javascript/main.js"></script>
</head>
<body class="UnframedPage" onLoad="NDOnLoad()">
<script language="JavaScript">
<!--
if (browserType) {
document.write("<div class=" + browserType + ">");
if (browserVer) {
document.write("<div class=" + browserVer + ">");
}
} // -->
</script>
<!-- Generated by Natural Docs, version 1.35 -->
<!-- http://www.naturaldocs.org -->
<!-- saved from url=(0026)http://www.naturaldocs.org -->
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td class="MenuSection" valign="top">
<!--START_ND_MENU-->
<div class="MEntry">
<div class="MFile"><a href="README-txt.html">00README</a></div>
</div>
<div class="MEntry">
<div class="MFile">
<a href="duma_config-h.html">duma_config.h</a>
</div>
</div>
<div class="MEntry">
<div class="MFile"><a href="kduma-c.html">kduma.c</a></div>
</div>
<div class="MEntry">
<div class="MFile"><a href="kduma-h.html">kduma.h</a></div>
</div>
<div class="MEntry">
<div class="MFile"><a href="log-h.html">log.h</a></div>
</div>
<div class="MEntry">
<div class="MFile" id="MSelected">paging.h</div>
</div>
<div class="MEntry">
<div class="MGroup">
<a href="javascript:ToggleMenu('MGroupContent1')">Index</a>
<div class="MGroupContent" id="MGroupContent1">
<div class="MEntry">
<div class="MIndex">
<a href="../index/General.html">Everything</a>
</div>
</div>
<div class="MEntry">
<div class="MIndex">
<a href="../index/Classes.html">Classes</a>
</div>
</div>
<div class="MEntry">
<div class="MIndex">
<a href="../index/Files.html">Files</a>
</div>
</div>
<div class="MEntry">
<div class="MIndex">
<a href="../index/Functions.html">Functions</a>
</div>
</div>
<div class="MEntry">
<div class="MIndex">
<a href="../index/Types.html">Types</a>
</div>
</div>
<div class="MEntry">
<div class="MIndex">
<a href="../index/Variables.html">Variables</a>
</div>
</div>
</div>
</div>
</div>
<!--END_ND_MENU-->
</td>
<td class="ContentSection" valign="top">
<div class="CFile" id="MainTopic">
<div class="CTopic">
<h1 class="CTitle"><a name="paging.h"></a>paging.h</h1>
<div class="CBody">
<!--START_ND_SUMMARY-->
<div class="Summary">
<div class="STitle">Summary</div>
<div class="SBorder">
<table
border="0"
cellspacing="0"
cellpadding="0"
class="STable"
>
<tr>
<td class="SEntrySize">
<div class="SMain">
<div class="SEntry">
<a href="#paging.h">paging.h</a>
</div>
</div>
</td>
<td class="SDescriptionSize">
<div class="SMain">
<div class="SDescription"></div>
</div>
</td>
</tr>
<tr>
<td>
<div class="SGroup">
<div class="SEntry">
<a href="#Functions">Functions</a>
</div>
</div>
</td>
<td>
<div class="SGroup">
<div class="SDescription"></div>
</div>
</td>
</tr>
<tr class="SMarked">
<td>
<div class="SFunction">
<div class="SEntry">
<div class="SIndent1">
<a
href="#mprotectFailed"
id="link1"
onMouseOver="ShowTip(event, 'tt1', 'link1')"
onMouseOut="HideTip('tt1')"
>mprotectFailed</a
>
</div>
</div>
</div>
</td>
<td>
<div class="SFunction">
<div class="SDescription">
<div class="SIndent1">
Report that VirtualProtect or mprotect failed
and abort program execution.
</div>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="SFunction">
<div class="SEntry">
<div class="SIndent1">
<a
href="#Page_Create"
id="link2"
onMouseOver="ShowTip(event, 'tt2', 'link2')"
onMouseOut="HideTip('tt2')"
>Page_Create</a
>
</div>
</div>
</div>
</td>
<td>
<div class="SFunction">
<div class="SDescription">
<div class="SIndent1">Create memory.</div>
</div>
</div>
</td>
</tr>
<tr class="SMarked">
<td>
<div class="SFunction">
<div class="SEntry">
<div class="SIndent1">
<a
href="#Page_AllowAccess"
id="link3"
onMouseOver="ShowTip(event, 'tt3', 'link3')"
onMouseOut="HideTip('tt3')"
>Page_AllowAccess</a
>
</div>
</div>
</div>
</td>
<td>
<div class="SFunction">
<div class="SDescription">
<div class="SIndent1">
Allow memory access to allocated memory.
</div>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="SFunction">
<div class="SEntry">
<div class="SIndent1">
<a
href="#Page_DenyAccess"
id="link4"
onMouseOver="ShowTip(event, 'tt4', 'link4')"
onMouseOut="HideTip('tt4')"
>Page_DenyAccess</a
>
</div>
</div>
</div>
</td>
<td>
<div class="SFunction">
<div class="SDescription">
<div class="SIndent1">
Deny access to allocated memory region.
</div>
</div>
</div>
</td>
</tr>
<tr class="SMarked">
<td>
<div class="SFunction">
<div class="SEntry">
<div class="SIndent1">
<a
href="#Page_Delete"
id="link5"
onMouseOver="ShowTip(event, 'tt5', 'link5')"
onMouseOut="HideTip('tt5')"
>Page_Delete</a
>
</div>
</div>
</div>
</td>
<td>
<div class="SFunction">
<div class="SDescription">
<div class="SIndent1">
Free’s DUMA allocated memory.
</div>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="SFunction">
<div class="SEntry">
<div class="SIndent1">
<a
href="#Page_Size"
id="link6"
onMouseOver="ShowTip(event, 'tt6', 'link6')"
onMouseOut="HideTip('tt6')"
>Page_Size</a
>
</div>
</div>
</div>
</td>
<td>
<div class="SFunction">
<div class="SDescription">
<div class="SIndent1">Retrieve page size.</div>
</div>
</div>
</td>
</tr>
</table>
</div>
</div>
<!--END_ND_SUMMARY-->
</div>
</div>
</div>
<div class="CGroup">
<div class="CTopic">
<h3 class="CTitle"><a name="Functions"></a>Functions</h3>
</div>
</div>
<div class="CFunction">
<div class="CTopic">
<h3 class="CTitle">
<a name="mprotectFailed"></a>mprotectFailed
</h3>
<div class="CBody">
<blockquote>
<table
border="0"
cellspacing="0"
cellpadding="0"
class="Prototype"
>
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="PBeforeParameters" nowrap>
static void mprotectFailed(
</td>
<td class="PParameter" nowrap>void</td>
<td class="PAfterParameters" nowrap>)</td>
</tr>
</table>
</td>
</tr>
</table>
</blockquote>
<p class="CParagraph">
Report that VirtualProtect or mprotect failed and abort
program execution.
</p>
</div>
</div>
</div>
<div class="CFunction">
<div class="CTopic">
<h3 class="CTitle"><a name="Page_Create"></a>Page_Create</h3>
<div class="CBody">
<blockquote>
<table
border="0"
cellspacing="0"
cellpadding="0"
class="Prototype"
>
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="PBeforeParameters" nowrap>
static void * Page_Create(
</td>
<td class="PType" nowrap>size_t </td>
<td class="PParameter" nowrap>size,</td>
</tr>
<tr>
<td></td>
<td class="PType" nowrap>int </td>
<td class="PParameter" nowrap>exitonfail,</td>
</tr>
<tr>
<td></td>
<td class="PType" nowrap>int </td>
<td class="PParameter" nowrap>printerror,</td>
</tr>
<tr>
<td></td>
<td class="PType" nowrap>int </td>
<td class="PParameter" nowrap>flags</td>
<td class="PAfterParameters" nowrap>)</td>
</tr>
</table>
</td>
</tr>
</table>
</blockquote>
<p class="CParagraph">
Create memory. Allocates actual memory. Uses
VirtualAlloc on windows and mmap on unix.
</p>
<table
border="0"
cellspacing="0"
cellpadding="0"
class="CDescriptionList"
>
<tr>
<td class="CDLEntry">flags</td>
<td class="CDLDescription">
Passed along from kmalloc (GFP_ATOMIC and the like)
</td>
</tr>
</table>
<h4 class="CHeading">See Also</h4>
<p class="CParagraph">
<a
href="#Page_Delete"
class="LFunction"
id="link7"
onMouseOver="ShowTip(event, 'tt5', 'link7')"
onMouseOut="HideTip('tt5')"
>Page_Delete</a
>
</p>
</div>
</div>
</div>
<div class="CFunction">
<div class="CTopic">
<h3 class="CTitle">
<a name="Page_AllowAccess"></a>Page_AllowAccess
</h3>
<div class="CBody">
<blockquote>
<table
border="0"
cellspacing="0"
cellpadding="0"
class="Prototype"
>
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="PBeforeParameters" nowrap>
void Page_AllowAccess(
</td>
<td class="PType" nowrap>void </td>
<td class="PParameterPrefix" nowrap>*</td>
<td class="PParameter" nowrap>address,</td>
</tr>
<tr>
<td></td>
<td class="PType" nowrap>size_t </td>
<td class="PParameterPrefix" nowrap></td>
<td class="PParameter" nowrap>size</td>
<td class="PAfterParameters" nowrap>)</td>
</tr>
</table>
</td>
</tr>
</table>
</blockquote>
<p class="CParagraph">
Allow memory access to allocated memory.
</p>
<h4 class="CHeading">See Also</h4>
<p class="CParagraph">
<a
href="#Page_DenyAccess"
class="LFunction"
id="link8"
onMouseOver="ShowTip(event, 'tt4', 'link8')"
onMouseOut="HideTip('tt4')"
>Page_DenyAccess</a
>
</p>
</div>
</div>
</div>
<div class="CFunction">
<div class="CTopic">
<h3 class="CTitle">
<a name="Page_DenyAccess"></a>Page_DenyAccess
</h3>
<div class="CBody">
<blockquote>
<table
border="0"
cellspacing="0"
cellpadding="0"
class="Prototype"
>
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="PBeforeParameters" nowrap>
static void Page_DenyAccess(
</td>
<td class="PType" nowrap>void </td>
<td class="PParameterPrefix" nowrap>*</td>
<td class="PParameter" nowrap>address,</td>
</tr>
<tr>
<td></td>
<td class="PType" nowrap>size_t </td>
<td class="PParameterPrefix" nowrap></td>
<td class="PParameter" nowrap>size</td>
<td class="PAfterParameters" nowrap>)</td>
</tr>
</table>
</td>
</tr>
</table>
</blockquote>
<p class="CParagraph">
Deny access to allocated memory region.
</p>
<h4 class="CHeading">See Also</h4>
<p class="CParagraph">
<a
href="#Page_AllowAccess"
class="LFunction"
id="link9"
onMouseOver="ShowTip(event, 'tt3', 'link9')"
onMouseOut="HideTip('tt3')"
>Page_AllowAccess</a
>
</p>
</div>
</div>
</div>
<div class="CFunction">
<div class="CTopic">
<h3 class="CTitle"><a name="Page_Delete"></a>Page_Delete</h3>
<div class="CBody">
<blockquote>
<table
border="0"
cellspacing="0"
cellpadding="0"
class="Prototype"
>
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="PBeforeParameters" nowrap>
static void Page_Delete(
</td>
<td class="PType" nowrap>void </td>
<td class="PParameterPrefix" nowrap>*</td>
<td class="PParameter" nowrap>address,</td>
</tr>
<tr>
<td></td>
<td class="PType" nowrap>size_t </td>
<td class="PParameterPrefix" nowrap></td>
<td class="PParameter" nowrap>size</td>
<td class="PAfterParameters" nowrap>)</td>
</tr>
</table>
</td>
</tr>
</table>
</blockquote>
<p class="CParagraph">
Free’s DUMA allocated memory. This is the real
deal, make sure the page is no longer in our slot list first!
</p>
<h4 class="CHeading">See Also</h4>
<p class="CParagraph">
<a
href="#Page_Create"
class="LFunction"
id="link10"
onMouseOver="ShowTip(event, 'tt2', 'link10')"
onMouseOut="HideTip('tt2')"
>Page_Create</a
>
</p>
</div>
</div>
</div>
<div class="CFunction">
<div class="CTopic">
<h3 class="CTitle"><a name="Page_Size"></a>Page_Size</h3>
<div class="CBody">
<blockquote>
<table
border="0"
cellspacing="0"
cellpadding="0"
class="Prototype"
>
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="PBeforeParameters" nowrap>
static size_t Page_Size(
</td>
<td class="PParameter" nowrap>void</td>
<td class="PAfterParameters" nowrap>)</td>
</tr>
</table>
</td>
</tr>
</table>
</blockquote>
<p class="CParagraph">Retrieve page size.</p>
</div>
</div>
</div>
</td>
</tr>
</table>
<div class="Footer">
<!--START_ND_FOOTER-->Generated by
<a href="http://www.naturaldocs.org">Natural Docs</a
><!--END_ND_FOOTER-->
</div>
<!--START_ND_TOOLTIPS-->
<div class="CToolTip" id="tt1">
<div class="CFunction">
<blockquote>
<table border="0" cellspacing="0" cellpadding="0" class="Prototype">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="PBeforeParameters" nowrap>
static void mprotectFailed(
</td>
<td class="PParameter" nowrap>void</td>
<td class="PAfterParameters" nowrap>)</td>
</tr>
</table>
</td>
</tr>
</table>
</blockquote>
Report that VirtualProtect or mprotect failed and abort program
execution.
</div>
</div>
<div class="CToolTip" id="tt2">
<div class="CFunction">
<blockquote>
<table border="0" cellspacing="0" cellpadding="0" class="Prototype">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="PBeforeParameters" nowrap>
static void * Page_Create(
</td>
<td class="PType" nowrap>size_t </td>
<td class="PParameter" nowrap>size,</td>
</tr>
<tr>
<td></td>
<td class="PType" nowrap>int </td>
<td class="PParameter" nowrap>exitonfail,</td>
</tr>
<tr>
<td></td>
<td class="PType" nowrap>int </td>
<td class="PParameter" nowrap>printerror,</td>
</tr>
<tr>
<td></td>
<td class="PType" nowrap>int </td>
<td class="PParameter" nowrap>flags</td>
<td class="PAfterParameters" nowrap>)</td>
</tr>
</table>
</td>
</tr>
</table>
</blockquote>
Create memory.
</div>
</div>
<div class="CToolTip" id="tt3">
<div class="CFunction">
<blockquote>
<table border="0" cellspacing="0" cellpadding="0" class="Prototype">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="PBeforeParameters" nowrap>
void Page_AllowAccess(
</td>
<td class="PType" nowrap>void </td>
<td class="PParameterPrefix" nowrap>*</td>
<td class="PParameter" nowrap>address,</td>
</tr>
<tr>
<td></td>
<td class="PType" nowrap>size_t </td>
<td class="PParameterPrefix" nowrap></td>
<td class="PParameter" nowrap>size</td>
<td class="PAfterParameters" nowrap>)</td>
</tr>
</table>
</td>
</tr>
</table>
</blockquote>
Allow memory access to allocated memory.
</div>
</div>
<div class="CToolTip" id="tt4">
<div class="CFunction">
<blockquote>
<table border="0" cellspacing="0" cellpadding="0" class="Prototype">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="PBeforeParameters" nowrap>
static void Page_DenyAccess(
</td>
<td class="PType" nowrap>void </td>
<td class="PParameterPrefix" nowrap>*</td>
<td class="PParameter" nowrap>address,</td>
</tr>
<tr>
<td></td>
<td class="PType" nowrap>size_t </td>
<td class="PParameterPrefix" nowrap></td>
<td class="PParameter" nowrap>size</td>
<td class="PAfterParameters" nowrap>)</td>
</tr>
</table>
</td>
</tr>
</table>
</blockquote>
Deny access to allocated memory region.
</div>
</div>
<div class="CToolTip" id="tt5">
<div class="CFunction">
<blockquote>
<table border="0" cellspacing="0" cellpadding="0" class="Prototype">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="PBeforeParameters" nowrap>
static void Page_Delete(
</td>
<td class="PType" nowrap>void </td>
<td class="PParameterPrefix" nowrap>*</td>
<td class="PParameter" nowrap>address,</td>
</tr>
<tr>
<td></td>
<td class="PType" nowrap>size_t </td>
<td class="PParameterPrefix" nowrap></td>
<td class="PParameter" nowrap>size</td>
<td class="PAfterParameters" nowrap>)</td>
</tr>
</table>
</td>
</tr>
</table>
</blockquote>
Free’s DUMA allocated memory.
</div>
</div>
<div class="CToolTip" id="tt6">
<div class="CFunction">
<blockquote>
<table border="0" cellspacing="0" cellpadding="0" class="Prototype">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="PBeforeParameters" nowrap>
static size_t Page_Size(
</td>
<td class="PParameter" nowrap>void</td>
<td class="PAfterParameters" nowrap>)</td>
</tr>
</table>
</td>
</tr>
</table>
</blockquote>
Retrieve page size.
</div>
</div>
<!--END_ND_TOOLTIPS-->
<script language="JavaScript">
<!--
if (browserType) {
if (browserVer) {
document.write("</div>");
}
document.write("</div>");
} // -->
</script>
</body>
</html>