Attic/kduma/docs/index/Functions.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html>
<head>
<title>Function Index</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="../files/README-txt.html">00README</a>
</div>
</div>
<div class="MEntry">
<div class="MFile">
<a href="../files/duma_config-h.html">duma_config.h</a>
</div>
</div>
<div class="MEntry">
<div class="MFile"><a href="../files/kduma-c.html">kduma.c</a></div>
</div>
<div class="MEntry">
<div class="MFile"><a href="../files/kduma-h.html">kduma.h</a></div>
</div>
<div class="MEntry">
<div class="MFile"><a href="../files/log-h.html">log.h</a></div>
</div>
<div class="MEntry">
<div class="MFile">
<a href="../files/paging-h.html">paging.h</a>
</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="General.html">Everything</a>
</div>
</div>
<div class="MEntry">
<div class="MIndex"><a href="Classes.html">Classes</a></div>
</div>
<div class="MEntry">
<div class="MIndex"><a href="Files.html">Files</a></div>
</div>
<div class="MEntry">
<div class="MIndex" id="MSelected">Functions</div>
</div>
<div class="MEntry">
<div class="MIndex"><a href="Types.html">Types</a></div>
</div>
<div class="MEntry">
<div class="MIndex">
<a href="Variables.html">Variables</a>
</div>
</div>
</div>
</div>
</div>
<!--END_ND_MENU-->
</td>
<td class="IndexSection" valign="top">
<div class="IPageTitle">Function Index</div>
<div class="INavigationBar">
<a href="#Symbols">$#!</a> · 0-9 ·
<a href="#A">A</a> · B · C ·
<a href="#D">D</a> · E · F · G · H
· <a href="#I">I</a> · J · K · L
· <a href="#M">M</a> · N · O ·
<a href="#P">P</a> · Q · R · S · T
· U · V · W · X · Y · Z
</div>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="IHeading" id="IFirstHeading">
<a name="Symbols"></a>$#!
</td>
<td></td>
</tr>
<tr>
<td class="ISymbolPrefix" id="IFirstSymbolPrefix"> </td>
<td class="IEntry">
<a
href="../files/kduma-c.html#_DUMA_Slot._duma_allocate"
id="link1"
onMouseOver="ShowTip(event, 'tt1', 'link1')"
onMouseOut="HideTip('tt1')"
class="ISymbol"
>_duma_allocate</a
>, <span class="IParent">_DUMA_Slot</span>
</td>
</tr>
<tr>
<td class="ISymbolPrefix"> </td>
<td class="IEntry">
<a
href="../files/kduma-c.html#_DUMA_Slot._duma_assert"
id="link2"
onMouseOver="ShowTip(event, 'tt2', 'link2')"
onMouseOut="HideTip('tt2')"
class="ISymbol"
>_duma_assert</a
>, <span class="IParent">_DUMA_Slot</span>
</td>
</tr>
<tr>
<td class="ISymbolPrefix"> </td>
<td class="IEntry">
<a
href="../files/kduma-c.html#_DUMA_Slot._duma_deallocate"
id="link3"
onMouseOver="ShowTip(event, 'tt3', 'link3')"
onMouseOut="HideTip('tt3')"
class="ISymbol"
>_duma_deallocate</a
>, <span class="IParent">_DUMA_Slot</span>
</td>
</tr>
<tr>
<td class="ISymbolPrefix"> </td>
<td class="IEntry">
<a
href="../files/kduma-c.html#_DUMA_Slot._duma_init"
id="link4"
onMouseOver="ShowTip(event, 'tt4', 'link4')"
onMouseOut="HideTip('tt4')"
class="ISymbol"
>_duma_init</a
>, <span class="IParent">_DUMA_Slot</span>
</td>
</tr>
<tr>
<td class="ISymbolPrefix" id="ILastSymbolPrefix"> </td>
<td class="IEntry">
<a
href="../files/kduma-c.html#_DUMA_Slot._duma_kmalloc"
id="link5"
onMouseOver="ShowTip(event, 'tt5', 'link5')"
onMouseOut="HideTip('tt5')"
class="ISymbol"
>_duma_kmalloc</a
>, <span class="IParent">_DUMA_Slot</span>
</td>
</tr>
<tr>
<td class="IHeading"><a name="A"></a>A</td>
<td></td>
</tr>
<tr>
<td class="ISymbolPrefix" id="IOnlySymbolPrefix"> </td>
<td class="IEntry">
<a
href="../files/kduma-c.html#_DUMA_Slot.allocateMoreSlots"
id="link6"
onMouseOver="ShowTip(event, 'tt6', 'link6')"
onMouseOut="HideTip('tt6')"
class="ISymbol"
>allocateMoreSlots</a
>, <span class="IParent">_DUMA_Slot</span>
</td>
</tr>
<tr>
<td class="IHeading"><a name="D"></a>D</td>
<td></td>
</tr>
<tr>
<td class="ISymbolPrefix" id="IOnlySymbolPrefix"> </td>
<td class="IEntry">
<a
href="../files/kduma-c.html#_DUMA_Slot.duma_init"
id="link7"
onMouseOver="ShowTip(event, 'tt7', 'link7')"
onMouseOut="HideTip('tt7')"
class="ISymbol"
>duma_init</a
>, <span class="IParent">_DUMA_Slot</span>
</td>
</tr>
<tr>
<td class="IHeading"><a name="I"></a>I</td>
<td></td>
</tr>
<tr>
<td class="ISymbolPrefix" id="IOnlySymbolPrefix"> </td>
<td class="IEntry">
<a
href="../files/log-h.html#ilog2"
id="link8"
onMouseOver="ShowTip(event, 'tt8', 'link8')"
onMouseOut="HideTip('tt8')"
class="ISymbol"
>ilog2</a
>
</td>
</tr>
<tr>
<td class="IHeading"><a name="M"></a>M</td>
<td></td>
</tr>
<tr>
<td class="ISymbolPrefix" id="IOnlySymbolPrefix"> </td>
<td class="IEntry">
<a
href="../files/paging-h.html#mprotectFailed"
id="link9"
onMouseOver="ShowTip(event, 'tt9', 'link9')"
onMouseOut="HideTip('tt9')"
class="ISymbol"
>mprotectFailed</a
>
</td>
</tr>
<tr>
<td class="IHeading"><a name="P"></a>P</td>
<td></td>
</tr>
<tr>
<td class="ISymbolPrefix" id="IFirstSymbolPrefix"> </td>
<td class="IEntry">
<a
href="../files/paging-h.html#Page_AllowAccess"
id="link10"
onMouseOver="ShowTip(event, 'tt10', 'link10')"
onMouseOut="HideTip('tt10')"
class="ISymbol"
>Page_AllowAccess</a
>
</td>
</tr>
<tr>
<td class="ISymbolPrefix"> </td>
<td class="IEntry">
<a
href="../files/paging-h.html#Page_Create"
id="link11"
onMouseOver="ShowTip(event, 'tt11', 'link11')"
onMouseOut="HideTip('tt11')"
class="ISymbol"
>Page_Create</a
>
</td>
</tr>
<tr>
<td class="ISymbolPrefix"> </td>
<td class="IEntry">
<a
href="../files/paging-h.html#Page_Delete"
id="link12"
onMouseOver="ShowTip(event, 'tt12', 'link12')"
onMouseOut="HideTip('tt12')"
class="ISymbol"
>Page_Delete</a
>
</td>
</tr>
<tr>
<td class="ISymbolPrefix"> </td>
<td class="IEntry">
<a
href="../files/paging-h.html#Page_DenyAccess"
id="link13"
onMouseOver="ShowTip(event, 'tt13', 'link13')"
onMouseOut="HideTip('tt13')"
class="ISymbol"
>Page_DenyAccess</a
>
</td>
</tr>
<tr>
<td class="ISymbolPrefix" id="ILastSymbolPrefix"> </td>
<td class="IEntry">
<a
href="../files/paging-h.html#Page_Size"
id="link14"
onMouseOver="ShowTip(event, 'tt14', 'link14')"
onMouseOut="HideTip('tt14')"
class="ISymbol"
>Page_Size</a
>
</td>
</tr>
</table>
<!--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>
void * _duma_allocate(
</td>
<td class="PTypePrefix" nowrap></td>
<td class="PType" nowrap>size_t </td>
<td class="PParameter" nowrap>alignment,</td>
</tr>
<tr>
<td></td>
<td class="PTypePrefix" nowrap></td>
<td class="PType" nowrap>size_t </td>
<td class="PParameter" nowrap>userSize,</td>
</tr>
<tr>
<td></td>
<td class="PTypePrefix" nowrap></td>
<td class="PType" nowrap>int </td>
<td class="PParameter" nowrap>protectBelow,</td>
</tr>
<tr>
<td></td>
<td class="PTypePrefix" nowrap></td>
<td class="PType" nowrap>int </td>
<td class="PParameter" nowrap>fillByte,</td>
</tr>
<tr>
<td></td>
<td class="PTypePrefix" nowrap></td>
<td class="PType" nowrap>int </td>
<td class="PParameter" nowrap>protectAllocList,</td>
</tr>
<tr>
<td></td>
<td class="PTypePrefix" nowrap>enum </td>
<td class="PType" nowrap>_DUMA_Allocator </td>
<td class="PParameter" nowrap>allocator,</td>
</tr>
<tr>
<td></td>
<td class="PTypePrefix" nowrap>
enum _DUMA_FailReturn
</td>
<td class="PType" nowrap>fail </td>
<td class="PParameter" nowrap>DUMA_PARAMLIST_FL</td>
<td class="PAfterParameters" nowrap>)</td>
</tr>
</table>
</td>
</tr>
</table>
</blockquote>
This is the memory allocator.
</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>
void _duma_assert(
</td>
<td class="PTypePrefix" nowrap>const </td>
<td class="PType" nowrap>char </td>
<td class="PParameterPrefix" nowrap>*</td>
<td class="PParameter" nowrap>exprstr,</td>
</tr>
<tr>
<td></td>
<td class="PTypePrefix" nowrap>const </td>
<td class="PType" nowrap>char </td>
<td class="PParameterPrefix" nowrap>*</td>
<td class="PParameter" nowrap>filename,</td>
</tr>
<tr>
<td></td>
<td class="PTypePrefix" nowrap></td>
<td class="PType" nowrap>int </td>
<td class="PParameterPrefix" nowrap></td>
<td class="PParameter" nowrap>lineno</td>
<td class="PAfterParameters" nowrap>)</td>
</tr>
</table>
</td>
</tr>
</table>
</blockquote>
Print message and halt program execution in crazy way.
</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 _duma_deallocate(
</td>
<td class="PTypePrefix" nowrap></td>
<td class="PType" nowrap>void </td>
<td class="PParameterPrefix" nowrap>*</td>
<td class="PParameter" nowrap>address,</td>
</tr>
<tr>
<td></td>
<td class="PTypePrefix" nowrap></td>
<td class="PType" nowrap>int </td>
<td class="PParameterPrefix" nowrap></td>
<td class="PParameter" nowrap>protectAllocList,</td>
</tr>
<tr>
<td></td>
<td class="PTypePrefix" nowrap>
enum _DUMA_Allocator
</td>
<td class="PType" nowrap>allocator </td>
<td class="PParameterPrefix" nowrap></td>
<td class="PParameter" nowrap>DUMA_PARAMLIST_FL</td>
<td class="PAfterParameters" nowrap>)</td>
</tr>
</table>
</td>
</tr>
</table>
</blockquote>
Deallocate allocated memory after running some checks, then open
slot for use.
</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>
void _duma_init(
</td>
<td class="PParameter" nowrap>void</td>
<td class="PAfterParameters" nowrap>)</td>
</tr>
</table>
</td>
</tr>
</table>
</blockquote>
_duma_init sets up the memory allocation arena and the run-time
configuration information.
</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>
void * _duma_kmalloc(
</td>
<td class="PTypePrefix" nowrap></td>
<td class="PType" nowrap>size_t </td>
<td class="PParameter" nowrap>size,</td>
</tr>
<tr>
<td></td>
<td class="PTypePrefix" nowrap>int </td>
<td class="PType" nowrap>flags </td>
<td class="PParameter" nowrap>DUMA_PARAMLIST_FL</td>
<td class="PAfterParameters" nowrap>)</td>
</tr>
</table>
</td>
</tr>
</table>
</blockquote>
A version of kmalloc.
</div>
</div>
<!--END_ND_TOOLTIPS-->
<!--START_ND_TOOLTIPS-->
<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 void allocateMoreSlots(
</td>
<td class="PParameter" nowrap>void</td>
<td class="PAfterParameters" nowrap>)</td>
</tr>
</table>
</td>
</tr>
</table>
</blockquote>
allocateMoreSlots is called when there are only enough slot
structures left to support the allocation of a single malloc
buffer.
</div>
</div>
<!--END_ND_TOOLTIPS-->
<!--START_ND_TOOLTIPS-->
<div class="CToolTip" id="tt7">
<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 duma_init(
</td>
<td class="PParameter" nowrap>void</td>
<td class="PAfterParameters" nowrap>)</td>
</tr>
</table>
</td>
</tr>
</table>
</blockquote>
duma_init sets configuration settings.
</div>
</div>
<!--END_ND_TOOLTIPS-->
<!--START_ND_TOOLTIPS-->
<div class="CToolTip" id="tt8">
<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 inline int ilog2(
</td>
<td class="PType" nowrap>int </td>
<td class="PParameter" nowrap>val</td>
<td class="PAfterParameters" nowrap>)</td>
</tr>
</table>
</td>
</tr>
</table>
</blockquote>
Base 2 log computation.
</div>
</div>
<!--END_ND_TOOLTIPS-->
<!--START_ND_TOOLTIPS-->
<div class="CToolTip" id="tt9">
<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>
<!--END_ND_TOOLTIPS-->
<!--START_ND_TOOLTIPS-->
<div class="CToolTip" id="tt10">
<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="tt11">
<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="tt12">
<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="tt13">
<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="tt14">
<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-->
</td>
</tr>
</table>
<div class="Footer">
<!--START_ND_FOOTER-->Generated by
<a href="http://www.naturaldocs.org">Natural Docs</a
><!--END_ND_FOOTER-->
</div>
<script language="JavaScript">
<!--
if (browserType) {
if (browserVer) {
document.write("</div>");
}
document.write("</div>");
} // -->
</script>
</body>
</html>