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 &lt;revolution/rso.h&gt;
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