Intro -- Introduction to SDI driver entry point routines


   #include <sys/types.h>
   #include <sys/ddi.h>
   #include <sys/sdi.h>


This section describes the entry-point routines that can be used in SDI HBA, target, and layered drivers. Some of these are DDI routines that are also documented in Section D2 manual pages in Section D2 manual pages, while others are defined only for SDI drivers.

Note that many of the DDI entry point routines take an idata argument in DDI 8 and later versions. This refers to the idata value that is returned by the CFG_ADD subfunction to the config(D2) entry point routine, and not the SDI hba_idata_v5(D4sdi) structure that is often referred to as the SDI idata structure. See ``idata (instance data)'' in HDK Technical Reference.


Each entry point executes in a specific context which is indentified on the man page for the routine. See ``Context of a driver'' in HDK Technical Reference. When coding the entry-point routine, use only the kernel functions from Section D3sdi manual pages in Section D3sdi manual pages and Section D3 manual pages in Section D3 manual pages that are valid for that context.

With the exception of the _load(D2sdi) and _unload(D2sdi) entry points, each routine is uniquely identified by a prefix(D1) string that is identified in the driver configuration files. This reduces the change of a symbol collision with another driver or module.

Entry points for HBA drivers are declared in the driver's hba_info(D4sdi) structure.

Any number of instances of the same driver entry point routine can be running concurrently. It is the responsibility of the driver to synchronize access to its private data structures with the standard DDI synchronization primitives in HDK Technical Reference.


Section D2 manual pages in Section D2 manual pages

``DDI interface versioning'' in HDK Technical Reference
``Context of a driver'' in HDK Technical Reference
``Entry-point routines'' in HDK Technical Reference

19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005