KCMS CMM Developer's Guide

KcsIO Example

If you derive from the KcsIO class, you need to provide a KcsIO class entry such as the example entries below:

#KcsIO class, Solaris profiles 
class="KCS_IO" name="solf"
    kcsLoadableModule="KcsSUNWIOsolf.so.1";  

#KcsIO class, X11 
window system profiles 
class="KCS_IO" name="xwin"
    kcsLoadableModule="kcsSUNWIOxwin.so.1";

Note the name strings in the above examples. The KcsProfileType enumeration in kcstypes.h contains a type field that is a 4-character array described in hexadecimal form as a long, for example:

typedef enum {
    KcsFileProfile                    = 0x46696C65, /*File*/ 
    KcsMemoryProfile                  = 0x4D426C00, /*MBl*/ 
#ifdef KCS_ON_SOLARI
    KcsWindowProfile                  = 0x7877696E, /*xwin*/
    KcsSolarisProfile                 = 0x736F6C66, /*solf*/ #else
    KcsWindowProfile                  = 0x57696E64, /*Wind*/ 
#endif /* KCS_ON_SOLARIS */
    KcsProfileTypeEnd                 = 0x7FFFFFFF,
    KcsProfileTypeMax                 = KcsForceAlign
}KcsProfileType;

The OWconfig library turns the type field back into a string corresponding to the name field entry and searches all of the appropriate OWconfig class entries for that string.