This chapter describes Calendar Server API (CSAPI), a high performance programmatic interface that enables you to modify or enhance the feature set of iPlanet Calendar Server. CSAPI allows you to create very fast runtime shared objects that outperform both system executables and scripts in any language, with respect to speed, memory footprint, and load. All of these factors contribute to scalability issues in high-end systems.
Figure 3.1    CSAPI architecture
For documentation on XPCOM, see:
You must use NSPR for platform-independent C data types and runtime functions in implementations that need to run on different platforms. Calendar Server uses the XPCOM C++ API (QueryInterface) to discover the exact interfaces a specific module implements.
Figure 3.2    CSAPI directory structure
The server invokes this method immediately after it registers the interface in a newly loaded module. In the module, you can bind the parameter that the server returns, aServer, and use it to refer to the server instance. Use this object's QueryInterface method to find the following server interfaces:
In a Unix command shell, type the following: cd server_root/csapi/samples
make -f Makefile
In a DOS command shell, type the following: cd server_root/csapi/samples
nmake -f makefile.win
Parameters The method has the following parameters:
Parameters The method has the following parameter: