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>C Specification</h2>
16<dl><dd><pre><code>
17#include &lt;revolution/rso.h&gt;
18#include &lt;revolution/RSOLink.h&gt;
19
20BOOL RSOLinkList(void* i_newRso, void* i_bss);
21
22BOOL RSOLinkListFixed(void* i_newRso, void *i_bss, int i_fixed);
23</code></pre></dd></dl>
24
25<h2>Arguments</h2>
26<p>
27<TABLE border="1" >
28  <tr>
29<TD valign="top" width="120" bgcolor="#ffffe8"><CODE><STRONG><EM>i_newRso</EM></STRONG></CODE></TD>
30<TD width="520">Pointer to the dynamic module information to link.</TD>
31  </tr>
32
33  <tr>
34<TD valign="top" width="120" bgcolor="#ffffe8"><CODE><STRONG><EM>i_bss</EM></STRONG></CODE></TD>
35<TD width="520">Pointer to the available memory space used for the <CODE>bss</CODE> section.<br>(Size is allocated by <CODE>RSOObjectHeader.bssSize</CODE>.)</TD>
36  </tr>
37  <tr>
38<TD valign="top" width="120" bgcolor="#ffffe8"><CODE><STRONG><EM>i_fixed</EM></STRONG></CODE></TD>
39<TD width="520">Release level:<code><a href="./RSOFixedLevel.html">RSOFixedLevel</a></code>.</TD>
40  </tr>
41</TABLE>
42</p>
43
44<h2>Return Values</h2>
45<p>
46Returns success or failure of the operation.<br> Success: TRUE<br> Fail: FALSE<br>
47</p>
48
49
50<H2>Description</H2>
51<p>
52<code>RSOLinkList()</code> links the specified module. Once the module is unlinked, the memory copy of the module can be reused with <code>RSOLinkList()</code> if the module startup code initializes its data section explicitly.<br><br> <code>RSOLinkListFixed()</code>links the specified module and releases part of the memory occupied by the dynamic module. Once the module is linked using <code><a href="./RSOLinkList.html">RSOLinkListFixed</a></code>, the remaining memory that comes after (specified by <code><a href="./RSOGetFixedSize.html">RSOGetFixedSize</a></code>) can be used for any purpose (for example, for the <CODE>bss</CODE> 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 deallocated stage is <code><a href="./RSOFixedLevel.html">RSO_FL_EXTERNAL</a></code>, the internal and external (import) reference information is deallocated.<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>
53<ul>
54<li>When a module referenced by this module is unlinked, the referenced functions do not show as unresolved.</li>
55<li>The module cannot reference the functions on the dynamic module registered after the link.</li>
56</ul>
57<B>Note:</B> The location specified by <code>RSOGetFixedSize</code> is converted from the file offset to the virtual address when the module is linked.<br>
58</p>
59
60<h2>See Also</h2>
61<p>
62<code><a href="./intro.html">RSO API Introduction</a></code><br> <code><a href="./RSOListInit.html">RSOListInit</a></code>, <code><a href="./RSOUnLinkList.html">RSOUnLinkList</a></code>, <code><a href="./RSOGetFixedSize.html">RSOGetFixedSize</a></code>
63</p>
64<H2>Revision History</H2>
65<p>2006/06/14 Initial version. </p>
66
67
68<hr><p>CONFIDENTIAL</p></body>
69</html>
70