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 bss 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 relocatable module.<br> Once the module is linked using <code><a href="./RSOLinkList.html">RSOLinkListFixed</a></code>, the remaining 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 <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 is 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 are applied: <br>1. When a module referenced by this module is unlinked, the referenced functions will 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> <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.&nbsp;<br>
53</p>
54
55<h2>See Also</h2>
56<p>
57<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>,
58</p>
59<H2>Revision History</H2>
60<p>06/14/2006 Initial version. </p>
61
62<hr>
63<p align="right"><strong>CONFIDENTIAL</strong></p>
64
65</BODY>
66</HTML>
67