Sun Java System Web Server 6.1 SP6 NSAPI Programmer's Guide

Privatization of Some Data Structures

In Sun Java System Web Server 4.x, some data structures were moved from nsapi.h to nsapi_pvt.h. The data structures in nsapi_pvt.h are now considered to be private data structures, and you should not write code that accesses them directly. Instead, use accessor functions. We expect that very few people have written plug-ins that access these data structures directly, so this change should have very little impact on customer-defined plug-ins. Look in nsapi_pvt.h to see which data structures have been removed from the public domain, and to see the accessor functions you can use to access them from now on.

Plug-ins written for Enterprise Server 3.x that access contents of data structures defined in nsapi_pvt.h will not be source compatible with Sun Java System Web Server 4.x and 6.x, that is, it will be necessary to #include "nsapi_pvt.h" to build such plug-ins from source. There is also a small chance that these programs will not be binary compatible with Sun Java System Web Server 4.x and 6.x, because some of the data structures in nsapi_pvt.h have changed size. In particular, the directive structure is larger, which means that a plug-in that indexes through the directives in a dtable will not work without being rebuilt (with nsapi_pvt.h included).

We hope that the majority of plug-ins do not reference the internals of data structures in nsapi_pvt.h, and therefore that most existing NSAPI plug-ins will be both binary and source compatible with Sun Java System Web Server 6.1.