Set up the development environment as with Section 1.6, Writing a Basic NLM.
Plan the threads of execution your NLM will run.
All NLMs have at least one thread contained in one thread group to accommodate the main function. You can set up other threads to accomplish different tasks. For example, you might set up a thread for each incoming client request.
NOTE:Threads and thread groups are discussed in Section 3.2, Threads, Multithreaded Programming, and Context.
Organize the threads into groups.
For example, you can place threads that use the same current screen and current working directory in the same thread group.
Write the NLM source code as a server program, using the rules for NLMs in the nonpreemptive environment (see Preemptive and Nonpreemptive Environment).
The NetWare API contains functions you can use in writing your NLM.
Compile, link, and debug the NLM using the procedures discussed in NLM Development Tool Concepts.