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 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. <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