CLIB is a collection of libraries that provide core server-side functions.
These libraries load automatically when the server is started. You can also load them manually by typing load clib at the command prompt (simply clib for NetWare 5.x or 6.x servers).
When CLIB.NLM is loaded, its dependency NLM libraries, as listed below, also load automatically unless they are already loaded:
These modules collectively contain NetWare server API functions. Your NLMs can call these functions to perform a wide variety of services, including the following:
Network security, management, and accounting
High- and low-level I/O
String and file manipulations
Memory allocation
Thread control, synchronization, and communication
Data conversion
Mathematical calculations
Screen management
In addition, the library contains a set of Advanced Services that include functions for dynamic arrays, event reporting and management, extended attributes, complex memory allocation, and console command registration.
In addition to the CLib modules, the CLib SDK also includes cross platform (XPlat) libraries for NLM development. They are called XPlat because these libraries also are available for Windows client development. These library modules include the following:
The CLib imports directory contains the following prelude files.
Basically, clibpre.obj is nwpre.obj with a call to the following functions that vendor runtime libraries implement to perform their C++ initialization and clean-up.
int __init_environment( void *reserved )
{
return 0;
}
int __deinit_environment( void *reserved )
{
return 0;
}
Since the CLIB libraries allow for development of a cross-platform NLM, cross-platform Windows application, and server-only NLM development, the information about these libraries has been divided into the following manuals:
|
Manual |
Cross-Platform |
NLM-Only |
|---|---|---|
|
NLM Development Concepts, Tools, and Functions |
None. |
NetWare operating system functions for events, resource tags, symbols, screen handling, debugging, settable parameters, etc. |
|
Getting Started with NetWare Cross-Platform Libraries for C |
Information about using the Cross-Platform libraries for client and server development. |
None. |
|
NLM and NetWare C Program Management |
A few date/time and data manipulation functions. |
Bit, character type, data manipulation, library, math, memory, string, and time functions. |
|
NLM Threads Management |
None. |
Thread, semaphore, and process (such as abort and system) functions. |
|
Connection, Message, and NCP Extension |
Connection, message, and NCP extension functions. |
Connection and message functions. |
|
Multiple and Inter-File Management |
Data migration, deleted file, file system manipulation, file system monitoring, name space, path and drive functions. |
File engine (FE*) I/O functions, file system manipulation functions, name space functions, path and drive functions, and NIT functions for data migration and file system manipulation. |
|
Single and Intra-File Management |
AFP, file locking, semaphores, and extended attribute functions. |
Direct file system functions, DOS partition functions, file I/O functions, stream I/O functions, and NIT functions for file locking, semaphores, and extended attributes. |
|
Volume Management |
Volume information functions for name, number, statistics, and restrictions. |
Volume information functions for name, number, and statistics. |
|
Client Management |
Requester version and NWCalls management functions. |
None. |
|
Network Management |
Accounting functions, auditing functions, and name retrieval functions (for servers and trees). |
Accounting and auditing functions. |
|
Server Management |
Server information functions including statistics, console privileges, version. Management functions for logins, set commands, NCF files, loading/unloading NLMs, mounting/dismounting volumes, and TTS. |
NIT functions for server information and management. Most NIT functions have an equivalent Cross-Platform function. |
|
Internationalization |
Locale and multi-byte functions. |
Locale functions. |
|
Unicode |
Unicode functions. |
None. |
|
Bindery |
Bindery functions |
NIT bindery functions |
|
Sample Code |
Examples of creating CLIB NLMs, with only a few cross-platform examples. Many of these examples are no longer available in the ...\ndk\samples\clib_sample directory. To see what is available as sample code and to access more cross-platform examples, see NLM and NetWare Libraries for C. |
|
Even though the software for the Novell eDirectory functions is included with the CLIB SDK, the documentation for these functions is in the eDirectory Libraries for C.