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:

(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

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

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:

1.3 Copying

Copyright (c) 2000 Martin Hinner, <>,

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 I welcome any suggestions and corrections, but please before you ask a question, try searching the internet first. You should also check my homepage ( 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