johnsonjh/duma

View on GitHub
Attic/kduma/docs/files/paging-h.html

Summary

Maintainability
Test Coverage
<!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&rsquo;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&nbsp;</td>
                            <td class="PParameter" nowrap>size,</td>
                          </tr>
                          <tr>
                            <td></td>
                            <td class="PType" nowrap>int&nbsp;</td>
                            <td class="PParameter" nowrap>exitonfail,</td>
                          </tr>
                          <tr>
                            <td></td>
                            <td class="PType" nowrap>int&nbsp;</td>
                            <td class="PParameter" nowrap>printerror,</td>
                          </tr>
                          <tr>
                            <td></td>
                            <td class="PType" nowrap>int&nbsp;</td>
                            <td class="PParameter" nowrap>flags</td>
                            <td class="PAfterParameters" nowrap>)</td>
                          </tr>
                        </table>
                      </td>
                    </tr>
                  </table>
                </blockquote>
                <p class="CParagraph">
                  Create memory.&nbsp; Allocates actual memory.&nbsp; 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&nbsp;</td>
                            <td class="PParameterPrefix" nowrap>*</td>
                            <td class="PParameter" nowrap>address,</td>
                          </tr>
                          <tr>
                            <td></td>
                            <td class="PType" nowrap>size_t&nbsp;</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&nbsp;</td>
                            <td class="PParameterPrefix" nowrap>*</td>
                            <td class="PParameter" nowrap>address,</td>
                          </tr>
                          <tr>
                            <td></td>
                            <td class="PType" nowrap>size_t&nbsp;</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&nbsp;</td>
                            <td class="PParameterPrefix" nowrap>*</td>
                            <td class="PParameter" nowrap>address,</td>
                          </tr>
                          <tr>
                            <td></td>
                            <td class="PType" nowrap>size_t&nbsp;</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&rsquo;s DUMA allocated memory.&nbsp; 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&nbsp;</td>
                    <td class="PParameter" nowrap>size,</td>
                  </tr>
                  <tr>
                    <td></td>
                    <td class="PType" nowrap>int&nbsp;</td>
                    <td class="PParameter" nowrap>exitonfail,</td>
                  </tr>
                  <tr>
                    <td></td>
                    <td class="PType" nowrap>int&nbsp;</td>
                    <td class="PParameter" nowrap>printerror,</td>
                  </tr>
                  <tr>
                    <td></td>
                    <td class="PType" nowrap>int&nbsp;</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&nbsp;</td>
                    <td class="PParameterPrefix" nowrap>*</td>
                    <td class="PParameter" nowrap>address,</td>
                  </tr>
                  <tr>
                    <td></td>
                    <td class="PType" nowrap>size_t&nbsp;</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&nbsp;</td>
                    <td class="PParameterPrefix" nowrap>*</td>
                    <td class="PParameter" nowrap>address,</td>
                  </tr>
                  <tr>
                    <td></td>
                    <td class="PType" nowrap>size_t&nbsp;</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&nbsp;</td>
                    <td class="PParameterPrefix" nowrap>*</td>
                    <td class="PParameter" nowrap>address,</td>
                  </tr>
                  <tr>
                    <td></td>
                    <td class="PType" nowrap>size_t&nbsp;</td>
                    <td class="PParameterPrefix" nowrap></td>
                    <td class="PParameter" nowrap>size</td>
                    <td class="PAfterParameters" nowrap>)</td>
                  </tr>
                </table>
              </td>
            </tr>
          </table>
        </blockquote>
        Free&rsquo;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>