sdi_getbcb(D3I) sdi_getbcb(D3I)
NAME
sdi_getbcb - get a breakup control block for the HBA device
SYNOPSIS
#include <sys/sdi.h>
bcb_t *sdi_getbcb(struct scsi_ad *addr, int flag)
Arguments
addr Pointer to the SCSI address of the device.
flag Indicates whether the allocation may sleep or not, and
is set to either KM_SLEEP or KM_NOSLEEP.
DESCRIPTION
sdi_getbcb allocates breakup control block structures and
calls the HBA getinfo(D2I) routine, which initializes the
breakup control blocks.
Return Values
Upon successful completion, sdi_getbcb returns the address of
the initialized breakup control block. A NULL return
indicates failure.
USAGE
The sdi_getbcb routine is called by the target drivers when a
new device is claimed by the target drivers. The pointer to
the allocated breakup control block, bcb(D4), is passed to the
HBA getinfo in the hbagetinfo(D4I) structure.
sdi_getbcb also calls physreq_alloc(D3) to get a physreq(D4)
physical requirements structure, and initializes bcb_physreqp
with the pointer to the structure.
The bcb and physreq structures are freed using the
sdi_freebcb(D3I) routine.
Level
Base or Interrupt.
REFERENCES
bcb(D4), getinfo(D2I), hbagetinfo(D4I), physreq(D4),
physreq_alloc(D3), sdi_freebcb(D3I)
NOTICES
Copyright 1994 Novell, Inc. Page 1
sdi_getbcb(D3I) sdi_getbcb(D3I)
Applicability
sdi: 2
Copyright 1994 Novell, Inc. Page 2