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 <revolution/rso.h> 18#include <revolution/RSOLink.h> 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