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=utf-8">
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 follows (specified by <code><a href="./RSOGetFixedSize.html">RSOGetFixedSize</a></code>) can be used for any purpose, such as for BSS.<br><br> If the release level is <code><a href="./RSOFixedLevel.html">RSO_FL_INTERNAL</a></code>, the internal reference information is 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>, then the internal information and the import information (for external referencing) are 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 is not able to reference the functions on the dynamic module registered after the link.<br><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><BR><a href="./RSOUnLinkList.html">RSOUnLinkList</a><BR><a href="./RSOGetFixedSize.html">RSOGetFixedSize</a>
54</p>
55
56<H2>Revision History</H2>
57<p>
582008/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>
59</p>
60
61<hr><p>CONFIDENTIAL</p></body>
62</html>
63