Novell Home

TID102135 (NDS ITR1) - NDS Iterator sample code for NLM development

From Developer Community

This TID contains sample iterator code for NDS development.

DETAILED DESCRIPTION

With the release of NDS 8, Novell has introduced the concept of an NDS iterator. An iterator is an object created to access a virtual list of NDS objects. The motivation behind creating an iterator for accessing NDS objects is as follows: with NDS 8, a tree can now contain in excess of 500 million objects. The API calls which previously were used to access objects in the DS tree, such as NWDSSearch(), were not designed to handle searches in large trees.

The April 1999 release of the Novell Developer Kit (NDK) contains a document describing NDS Iterator Services - this document is a good starting point for understanding the key concepts.

This sample code consists of 9 C programs, each of which demonstrates a separate iterator operation. Each of these programs was compiled as an NLM, using version 2 of CodeWarrior IDE. To successfully compile these programs on CW, please note the following:

- You must have the April 1999 (or later) version of Novell Developer Kit

- In Generic NLM Build Settings of CW, under Access Paths -> System Paths, you must have the following paths:

(Compiler)Novell SupportMetrowerks Support (Compiler)Novell SupportNetware SDK C:NovellNWSDKinclude lm C:NovellNWSDKinclude C:NovellNWSDKimports

NOTE: The paths listed above may vary, depending upon where you elected to install the NDK.

Once you have compiled one of the sample apps, you're ready to run the NLM on a server. You need to be aware of how the Iterator APIs work in mixed server environments (with servers running NDS 8, and servers not running NDS 8). If your NetWare 5 server has NDS 8 installed, then you're ready to run your NLM. However, if your NW5 server is not running NDS 8, then you need to copy 4 NLM libraries from the April 1999 NDK to the SYS:/system directory on your NW5 server. These files are located under (Novell)/NDK/NWSDK/lib/nlm/5_x:

calnlm32.nlm dsevent.nlm ncpnlm32.nlm netnlm32.nlm

Note that the updated versions of these library files will be provided in future Novell Support Packs.

These libraries allow a NetWare 5 server to execute NDS iterator code - essentially the libraries provide iterator wrappers, which translate the iterator calls to their corresponding equivalents from the older NDS API calls. Note that future support packs will also contain these libraries for NW4.x environments, as well.

nds_itr1.exe

nds_itr1.exe42.0 K2005-04-06

--devsup

Novell® Making IT Work As One

© 2008 Novell, Inc. All Rights Reserved.