old-www/HOWTO/NLM-HOWTO-4.html

373 lines
8.4 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
<TITLE>NetWare Loadable Module Programming HOWTO: NLM Header file</TITLE>
<LINK HREF="NLM-HOWTO-5.html" REL=next>
<LINK HREF="NLM-HOWTO-3.html" REL=previous>
<LINK HREF="NLM-HOWTO.html#toc4" REL=contents>
</HEAD>
<BODY>
<A HREF="NLM-HOWTO-5.html">Next</A>
<A HREF="NLM-HOWTO-3.html">Previous</A>
<A HREF="NLM-HOWTO.html#toc4">Contents</A>
<HR>
<H2><A NAME="s4">4.</A> <A HREF="NLM-HOWTO.html#toc4">NLM Header file</A></H2>
<P>The NLM header file contains information for <EM>nlmconv(1)</EM>. Each
line contains one option or directive; everything after "#" is comment.
This chapter describes all options and directives.</P>
<P>This chapter is not yet finished, sorry.</P>
<H2><A NAME="ss4.1">4.1</A> <A HREF="NLM-HOWTO.html#toc4.1">AUTOUNLOAD</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>AUTOUNLOAD</B></P>
<H2><A NAME="ss4.2">4.2</A> <A HREF="NLM-HOWTO.html#toc4.2">CHECK</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>CHECK &lt;check procedure name&gt;</B></P>
<P>This directive specifies the function to be
executed when the NLM is unloaded using the <EM>UNLOAD</EM> Server console
command. If this function returns zero, the NLM can be unloaded, else
the NLM is not ready to be unloaded. </P>
<P><EM>Example</EM>:
<HR>
<PRE>
CHECK CheckUnload
</PRE>
<HR>
</P>
<H2><A NAME="ss4.3">4.3</A> <A HREF="NLM-HOWTO.html#toc4.3">CODESTART</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>CODESTART &lt;map file code start offset&gt;</B></P>
<P>Map file start offset may be decimal or Xhex.</P>
<H2><A NAME="ss4.4">4.4</A> <A HREF="NLM-HOWTO.html#toc4.4">COPYRIGHT</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>COPYRIGHT ["Copyright string"]</B></P>
<P>The copyright string is displayed on the server console screen when the
NLM is loaded. If this option is not used, no copyright information is
displayed.</P>
<P><EM>Example</EM>:
<HR>
<PRE>
COPYRIGHT "Copyright (c) 1998 ABC Inc."
</PRE>
<HR>
</P>
<H2><A NAME="ss4.5">4.5</A> <A HREF="NLM-HOWTO.html#toc4.5">CUSTOM</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>CUSTOM &lt;custom data file path&gt;</B></P>
<H2><A NAME="ss4.6">4.6</A> <A HREF="NLM-HOWTO.html#toc4.6">DATASTART</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>DATASTART &lt;map file data start offset&gt;</B></P>
<P>Map file data start offset may be decimal or Xhex.</P>
<H2><A NAME="ss4.7">4.7</A> <A HREF="NLM-HOWTO.html#toc4.7">DATE</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>DATE &lt;month, day, year&gt;</B></P>
<H2><A NAME="ss4.8">4.8</A> <A HREF="NLM-HOWTO.html#toc4.8">DEBUG</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>DEBUG</B></P>
<P>This directive tells the nlmconv(1) to include debugging information in
the NLM file.</P>
<P><EM>Example</EM>:
<HR>
<PRE>
DEBUG
</PRE>
<HR>
</P>
<H2><A NAME="ss4.9">4.9</A> <A HREF="NLM-HOWTO.html#toc4.9">DESCRIPTION</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>DESCRIPTION "NLM Description String"</B></P>
<H2><A NAME="ss4.10">4.10</A> <A HREF="NLM-HOWTO.html#toc4.10">EXIT</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>EXIT &lt;exit procedure name&gt;</B></P>
<H2><A NAME="ss4.11">4.11</A> <A HREF="NLM-HOWTO.html#toc4.11">EXPORT</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>EXPORT &lt;symbol list&gt;</B></P>
<P><B>EXPORT @&lt;symbol list file&gt;</B></P>
<H2><A NAME="ss4.12">4.12</A> <A HREF="NLM-HOWTO.html#toc4.12">FLAG_OFF</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>FLAG_OFF &lt;decimal number&gt;</B></P>
<H2><A NAME="ss4.13">4.13</A> <A HREF="NLM-HOWTO.html#toc4.13">FLAG_ON</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>FLAG_ON &lt;decimal number&gt;</B></P>
<H2><A NAME="ss4.14">4.14</A> <A HREF="NLM-HOWTO.html#toc4.14">HELP</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>HELP &lt;help file path&gt;</B></P>
<H2><A NAME="ss4.15">4.15</A> <A HREF="NLM-HOWTO.html#toc4.15">IMPORT</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>IMPORT &lt;symbol list&gt; </B></P>
<P><B>IMPORT @&lt;symbol list file&gt;</B></P>
<H2><A NAME="ss4.16">4.16</A> <A HREF="NLM-HOWTO.html#toc4.16">INPUT</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>INPUT &lt;object file&gt; [, &lt;object file&gt; [, ...] ]</B></P>
<P><B>INPUT @&lt;object list file&gt;</B></P>
<P>This directive lists the input ELF (.o) object files that are to be linked.
You can also list the object files in the list file, each object file on
one line.</P>
<P><EM>Example</EM>:</P>
<P>
<HR>
<PRE>
INPUT @objectfiles.txt
INPUT main.o
INPUT /usr/nwsdk/lib/prelude.o
</PRE>
<HR>
</P>
<H2><A NAME="ss4.17">4.17</A> <A HREF="NLM-HOWTO.html#toc4.17">MAP</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>MAP [map file name]</B></P>
<H2><A NAME="ss4.18">4.18</A> <A HREF="NLM-HOWTO.html#toc4.18">MESSAGES</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>MESSAGES &lt;message file path&gt;</B></P>
<H2><A NAME="ss4.19">4.19</A> <A HREF="NLM-HOWTO.html#toc4.19">MODULE</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>MODULE &lt;autoload NLM list&gt;</B></P>
<H2><A NAME="ss4.20">4.20</A> <A HREF="NLM-HOWTO.html#toc4.20">MULTIPLE</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>MULTIPLE</B></P>
<H2><A NAME="ss4.21">4.21</A> <A HREF="NLM-HOWTO.html#toc4.21">NAMELEN</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>NAMELEN &lt;decimal number&gt;</B></P>
<P>Default is 31. Zero is no limit.</P>
<H2><A NAME="ss4.22">4.22</A> <A HREF="NLM-HOWTO.html#toc4.22">OS_DOMAIN</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>OS_DOMAIN</B></P>
<H2><A NAME="ss4.23">4.23</A> <A HREF="NLM-HOWTO.html#toc4.23">OUTPUT</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>OUTPUT &lt;target file name&gt;</B></P>
<H2><A NAME="ss4.24">4.24</A> <A HREF="NLM-HOWTO.html#toc4.24">PATH</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>PATH [search path;...]</B></P>
<P>for following CUSTOM, HELP, INPUT, MESSAGES, SHARELIB, STAMPEDDATA and XDCDATA.</P>
<H2><A NAME="ss4.25">4.25</A> <A HREF="NLM-HOWTO.html#toc4.25">PSEUDOPREEMPTION</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>PSEUDOPREEMPTION</B></P>
<H2><A NAME="ss4.26">4.26</A> <A HREF="NLM-HOWTO.html#toc4.26">REENTRANT</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>REENTRANT</B></P>
<H2><A NAME="ss4.27">4.27</A> <A HREF="NLM-HOWTO.html#toc4.27">SCREENNAME</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>SCREENNAME "Initial Screen Name (CLIB)"</B></P>
<H2><A NAME="ss4.28">4.28</A> <A HREF="NLM-HOWTO.html#toc4.28">SHARELIB</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>SHARELIB &lt;shared library path&gt;</B></P>
<H2><A NAME="ss4.29">4.29</A> <A HREF="NLM-HOWTO.html#toc4.29">STACK</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>STACK &lt;stack size&gt;</B></P>
<H2><A NAME="ss4.30">4.30</A> <A HREF="NLM-HOWTO.html#toc4.30">STACKSIZE</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>STACKSIZE &lt;stack size&gt;</B></P>
<H2><A NAME="ss4.31">4.31</A> <A HREF="NLM-HOWTO.html#toc4.31">STAMPEDDATA</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>STAMPEDDATA "Stamp" &lt;data file path&gt;</B></P>
<P>Stamp is 8 char max.</P>
<H2><A NAME="ss4.32">4.32</A> <A HREF="NLM-HOWTO.html#toc4.32">START</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>START &lt;start procedure name&gt;</B></P>
<P>Default is _Prelude.</P>
<H2><A NAME="ss4.33">4.33</A> <A HREF="NLM-HOWTO.html#toc4.33">SYNCHRONIZE</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>SYNCHRONIZE</B></P>
<H2><A NAME="ss4.34">4.34</A> <A HREF="NLM-HOWTO.html#toc4.34">THREADNAME</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>THREADNAME "Initial Process Name (CLIB)"</B></P>
<H2><A NAME="ss4.35">4.35</A> <A HREF="NLM-HOWTO.html#toc4.35">TYPE</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B> TYPE &lt;version&gt;</B></P>
<P>This directive specifies the format (NLM, LAN, DSK, NAM) of
the NLM file to be generated. Valid values are:</P>
<P>
<UL>
<LI> 0 - NLM</LI>
<LI> 1 - LAN</LI>
<LI> 2 - DSK</LI>
<LI> 3 - NAM</LI>
</UL>
</P>
<P><EM>Example</EM>:</P>
<P>
<HR>
<PRE>
TYPE 0
</PRE>
<HR>
</P>
<H2><A NAME="ss4.36">4.36</A> <A HREF="NLM-HOWTO.html#toc4.36">VERSION</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>VERSION &lt;major version&gt;, &lt;minor version&gt;
[, &lt;revision&gt;]</B></P>
<P>The version information is displayed on the server system console when the NLM
loads. The major and minor version numbers can be 0 - 99. The revision
can be 0 - 26 ("a" - "z") and is optional. <B>The version directive is
required.</B></P>
<P><EM>Example</EM>:</P>
<P>
<HR>
<PRE>
VERSION 1,5
</PRE>
<HR>
</P>
<H2><A NAME="ss4.37">4.37</A> <A HREF="NLM-HOWTO.html#toc4.37">XDCDATA</A>
</H2>
<P><EM>Syntax</EM>:</P>
<P><B>XDCDATA &lt;XDC data file path&gt;</B></P>
<HR>
<A HREF="NLM-HOWTO-5.html">Next</A>
<A HREF="NLM-HOWTO-3.html">Previous</A>
<A HREF="NLM-HOWTO.html#toc4">Contents</A>
</BODY>
</HTML>