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.