|
|
#include <sys/types.h> #include <sys/sdi.h> #include <sys/ddi.h>
sb_type member indicates whether
the sb structure contains an
scb(D4sdi)
(control block) or an
sfb(D4sdi)
(function block) structure.
unsigned long sb_type;
union{
struct scb b_scb;
struct sfb b_sfb;
}sb_b;
sb_typesb_b is an immediate
scb(D4sdi);
used with
sdi_icmd(D3sdi).
sb_b is an
scb(D4sdi);
used with the
sdi_send(D3sdi)
and
sdi_xsend(D3sdi)
functions.
sb_b is an
sfb(D4sdi);
used with the
sdi_icmd(D3sdi)
and
sdi_xicmd(D3sdi)
functions.
b_scbb_sfbThe sb structure itself was frozen at SDI version 1. Beginning with SDI version 2, the sb_extra structure supplements the sb structure; members that need to be added to support new functionality are added to the sb_extra structure. The members of the sb_extra structure should never be accessed directly by an SDI driver, but should be accessed through the kernel functions defined for each.
The method for using the sb structure is:
sb_type member appropriately.
See scb(D4sdi) and sfb(D4sdi) for more information on structure use.
The target driver must only allocate a command block using sdi_getblk(D3sdi).
If one sb structure is copied, the new structure must be processed with the sdi_translate(D3sdi) or sdi_xtranslate(D3sdi) function.
sb_bufp member
was added in SVR5
for SDI version 4.