Using Kernel Services

The kernel provides a set of base kernel services to be used by kernel extensions. Kernel extensions can export new kernel services, which can then be used by subsequently loaded kernel extensions.

Base kernel services, which are described in the services documentation, are made available to a kernel extension by specifying the /usr/lib/kernex.imp import file during the link-edit of the extension.

Note: Link-editing of a kernel extension should always be performed by using the ld command. Do not use the compiler to create a kernel extension.

If a kernel extension depends on kernel services provided by other kernel extensions, an additional import file must be specified when link-editing. An import file lists additional kernel services, with each service listed on its own line. An import file must contain the line #!/unix before any services are listed. The same file can be used both as an import file and an export file. The #!/unix line is ignored when a file is used as an export file.