The following example shows you how to use the entry points when creating a KcsXform derivative.
extern long
KcsDLOpenXfrmCount = 0; /* Global initialization */ KcsStatus
KcsInitXfrm(long libMajor, long libMinor, long *myMajor, long *myMinor) { //
Set up the return values *myMajor = KCS_MAJOR_VERSION; *myMinor =
KCS_MINOR_VERSION; //Check the major version if (libMajor !=
KCS_MAJOR_VERSION) return (KCS_CMM_MAJOR_VERSION_MISMATCH); //Currently,
if minor version of library is less than the KCMS // minor version, return
an error. if (libMinor < KCS_MINOR_VERSION) return
(KCS_CMM_MINOR_VERSION_MISMATCH); //Library guarantees if your minor version
number is greater than //KCMS minor version number, it will handle it. No
more init. return(KCS_SUCCESS); } KcsXform * KcsCreateXfrm(KcsStatus *aStat,
KcsChunkSet *aCS, KcsChunkId aChunkId, KcsAttributeSet *aAttrSet) {
//Create the new derivative return(new KcsTechUCP(aStat, KcsLoadAllow, aCS,
aChunkId, aAttrSet)); } /* Global clean up */ KcsStatus KcsCleanupXfrm() {
KcsStatus sStat; return(KCS_SUCCESS);
}