NetWare Loadable Module Programming HOWTO: Introduction

Next Previous Contents

## 1. Introduction

NetWare Loadable Modules (NLMs) are programs which run on Novell NetWare server. NLMs become part of the NetWare OS. You can load and unload NLMs while the server is running.

"Official" compilers for NLMs are:

- Watcom C/C++
- Metrowerks Codewarrior for NetWare (see http://www.metrowerks.com/)
- EPC C/C++ (see http://www.epc.com)
- Novell NLMLINK.EXE

(On a side note, NetWare 5 can also load 32bit DLLs, which can be built using Microsoft Visual C++, Borland C++ and other Windows compilers. For more information see http://developer.novell.com/ndk/dllcomp.htm)

This document describes how to get started with NLM development under Linux (and possibly other Unixes). Please note that this project is in very early stages of development, so a lot of things may not work as you'd expect.

This document assumes that you are familiar with Novell NetWare, and that you have at least basic knowledge of writing NLMs. For more information about writing NLMs, see Novell's developer site, http://developer.novell.com/. You should also have experience with Unix and C/C++ programming with GNU CC. You can find a lot of information about this topic at http://www.linuxdoc.org/.

## 1.1 C++ Development

As far as I know, C++ development with gcc is currently impossible, till somebody ports at least the libstdc++ and libgcc libraries from the gcc package.

## 1.2 Related Documentation

Other documents that might be useful are:

- The IPX-HOWTO, which describes the details of configuring IPX protocol on Linux.
- The Linux GCC HOWTO, which covers how to set up the GNU C compiler and development libraries under Linux, and gives an overview of compiling, linking, running and debugging programs under it.
- The Assembly HOWTO, which describes how to program in assembly language using FREE programming tools, focusing on development for or from the Linux Operating System on the i386 platforms.
- The Creating NLMs on Linux x86, http://home.sch.bme.hu/~keresztg/novell/howto/NLM-Linux-HOWTO.html, by Gabor Keresztvalvi <keresztg@mail.com>. His page describes the same thing as my HOWTO. I found Gabor's page ten days after releasing version 0.1 of this document :( .

## 1.3 Copying

Copyright (c) 2000 Martin Hinner, < martin@hinner.info>, http://martin.hinner.info.

This HOWTO is Free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This document is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details.

You can obtain a copy of the GNU General Public License by writing to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

## 1.4 Contacting the author

You can contact me at martin@hinner.info. I welcome any suggestions and corrections, but please before you ask a question, try searching the internet first. You should also check my homepage ( http://martin.hinner.info/) for any updates or additional information. Please note that I am very busy with my other projects (like automotive diagnostics, ARM-based microprocessors development tools) and I have a full time job (I am working for SECONS Ltd. and Fintera Ltd.).

Next Previous Contents