Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ scsi_hba_tran_alloc(9F) — SunOS 5.5.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

scsi_hba_attach_setup(9F)

scsi_hba_tran(9S)

scsi_hba_tran_alloc(9F)

NAME

scsi_hba_tran_alloc, scsi_hba_tran_free − allocate and free transport structures

SYNOPSIS

#include <sys/scsi/scsi.h>

scsi_hba_tran_t ∗scsi_hba_tran_alloc(dev_info_t ∗dip, int flags);

void scsi_hba_tran_free(scsi_hba_tran_t ∗hba_tran);

INTERFACE LEVEL

Solaris architecture specific (Solaris DDI). 

ARGUMENTS

dip Pointer to a dev_info structure, defining the HBA driver instance. 

flag Flag modifiers.  The only possible flag value is SCSI_HBA_CANSLEEP (memory allocation may sleep). 

hba_tran Pointer to a scsi_hba_tran(9S) structure. 

DESCRIPTION

scsi_hba_tran_alloc()

scsi_hba_tran_alloc() allocates a scsi_hba_tran(9S) structure for a HBA driver.  The HBA must use this structure to register its transport vectors with the system by using scsi_hba_attach_setup(9F). 

If the flag SCSI_HBA_CANSLEEP is set in flags, scsi_hba_tran_alloc() may sleep when allocating resources; otherwise it may not sleep, and callers should be prepared to deal with allocation failures. 

scsi_hba_tran_free()

scsi_hba_tran_free() is used to free the scsi_hba_tran(9S) structure allocated by scsi_hba_tran_alloc(). 

RETURN VALUES

scsi_hba_tran_alloc() returns a pointer to the allocated transport structure, or NULL if no space is available. 

CONTEXT

scsi_hba_tran_alloc() can be called from user or interrupt context. Drivers must not allow scsi_hba_tran_alloc() to sleep if called from an interrupt routine. 

scsi_hba_tran_free() can be called from user or interrupt context. 

SEE ALSO

scsi_hba_attach_setup(9F), scsi_hba_tran(9S)

Writing Device Drivers

SunOS 5.5.1  —  Last change: 30 Aug 1995

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026