1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<html> 3 4<head> 5<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> 6<META http-equiv="Content-Style-Type" content="text/css"> 7<LINK rel="stylesheet" type="text/css" href="../CSS/revolution.css"> 8<title>RSOLinkList</title> 9</head> 10 11<body> 12 13<h1>RSOLinkList</h1> 14 15<h2>Syntax</h2> 16<dl><dd><pre class="construction"> 17#include <revolution/rso.h> 18 19BOOL RSOLinkList(void* i_newRso, void* i_bss); 20 21BOOL RSOLinkListFixed(void* i_newRso, void *i_bss, RSOFixedLevel i_fixed); 22</pre></dd></dl> 23 24<h2>Arguments</h2> 25<TABLE class="arguments" border="1" > 26 <tr> 27<TH>i_newRso</TH> 28<TD>Pointer to the dynamic module information to link.</TD> 29 </tr> 30 <tr> 31<TH>i_bss</TD> 32<TD>Pointer to the available memory space used for the bss section.((Size is allocated by <CODE>RSOObjectHeader.bssSize</CODE>.)</TD> 33 </tr> 34 <tr> 35<TH>i_fixed</TD> 36<TD>Level to release. (<a href="./RSOFixedLevel.html"><code>RSOFixedLevel</code></a>)</TD> 37 </tr> 38</TABLE> 39</p> 40 41<h2>Return Values</h2> 42<p> 43Processing result.<br> Success: <CODE>TRUE</CODE><br> Failure: <CODE>FALSE</CODE><br> 44</p> 45 46<H2>Description</H2> 47<p> 48The <code>RSOLinkList</code> function links the specified module. Once the module is unlinked, the memory copy of the module can be reused with the <code>RSOLinkList</code> function if the module startup code initializes its data section explicitly.<br><br> The <code>RSOLinkListFixed</code> function links the specified module and releases part of the memory occupied by the dynamic module.<br>Once the module is linked using the <CODE>RSOLinkListFixed</CODE> function, the memory space that comes after (specified by <code><a href="./RSOGetFixedSize.html">RSOGetFixedSize</a></code>) can be used for any purpose (for example, for the BSS area).<br><br> If the release level is <code><a href="./RSOFixedLevel.html">RSO_FL_INTERNAL</a></code>, the internal reference information will be released.<br>In this case, the module memory copy cannot be reused, even after being unlinked.<br><br> If the release level is <code><a href="./RSOFixedLevel.html">RSO_FL_EXTERNAL</a></code>, the internal and the external (import) reference information is released.<br>In this case, in addition to the restrictions of <code><a href="./RSOFixedLevel.html">RSO_FL_INTERNAL</a></code>, the following restrictions apply: <br><br>1. When a module referenced by this module is unlinked, the referenced functions do not show as unresolved.<br> 2. The module will not be able to reference the functions on the dynamic module registered after the link.<br><br> <br> <br> Be aware that the location specified by <code><a href="./RSOGetFixedSize.html">RSOGetFixedSize</a></code> is converted from the file offset to the virtual address when the module is linked.<br> 49</p> 50 51<h2>See Also</h2> 52<p class="reference"> 53<a href="./RSOListInit.html">RSOListInit</a>, 54<a href="./RSOUnLinkList.html">RSOUnLinkList</a>, 55<a href="./RSOGetFixedSize.html">RSOGetFixedSize</a> 56</p> 57 58<H2>Revision History</H2> 59<p> 602008/07/10 Removed <CODE>RSOLink.h</CODE> from <B>Syntax</B>.<BR>2007/01/10 Changed argument to <CODE>RSOFixedLevel</CODE>. <br>2006/06/14 Initial version.<BR> 61</p> 62 63<hr><p>CONFIDENTIAL</p></body> 64</html> 65