Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

scsi_hba_pkt_alloc(9f) [sunos man page]

scsi_hba_pkt_alloc(9F)					   Kernel Functions for Drivers 				    scsi_hba_pkt_alloc(9F)

NAME
scsi_hba_pkt_alloc, scsi_hba_pkt_free - allocate and free a scsi_pkt structure SYNOPSIS
#include <sys/scsi/scsi.h> struct scsi_pkt *scsi_hba_pkt_alloc(dev_info_t *dip, struct scsi_address *ap, int cmdlen, int statuslen, int tgtlen, int hbalen, int (*callback, caddr_t arg, caddr_t arg); void scsi_hba_pkt_free(struct scsi_address *ap, struct scsi_pkt *pkt); INTERFACE LEVEL
Solaris architecture specific (Solaris DDI). PARAMETERS
dip Pointer to a dev_info_t structure, defining the HBA driver instance. ap Pointer to a scsi_address(9S) structure, defining the target instance. cmdlen Length in bytes to be allocated for the SCSI command descriptor block (CDB). statuslen Length in bytes to be allocated for the SCSI status completion block (SCB). tgtlen Length in bytes to be allocated for a private data area for the target driver's exclusive use. hbalen Length in bytes to be allocated for a private data area for the HBA driver's exclusive use. callback Indicates what scsi_hba_pkt_alloc() should do when resources are not available: NULL_FUNC Do not wait for resources. Return a NULL pointer. SLEEP_FUNC Wait indefinitely for resources. arg Must be NULL. pkt A pointer to a scsi_pkt(9S) structure. DESCRIPTION
For scsi_hba_pkt_alloc(): scsi_hba_pkt_alloc() allocates space for a scsi_pkt structure. HBA drivers must use this interface when allocating a scsi_pkt from their tran_init_pkt(9E) entry point. If callback is NULL_FUNC, scsi_hba_pkt_alloc() may not sleep when allocating resources, and callers should be prepared to deal with allo- cation failures. scsi_hba_pkt_alloc() copies the scsi_address(9S) structure pointed to by ap to the pkt_address field in the scsi_pkt(9S). scsi_hba_pkt_alloc() also allocates memory for these scsi_pkt(9S) data areas, and sets these fields to point to the allocated memory: pkt_ha_private HBA private data area. pkt_private Target driver private data area. pkt_scbp SCSI status completion block. pkt_cdbp SCSI command descriptor block. For scsi_hba_pkt_free(): scsi_hba_pkt_free() frees the space allocated for the scsi_pkt(9S) structure. RETURN VALUES
scsi_hba_pkt_alloc() returns a pointer to the scsi_pkt structure, or NULL if no space is available. CONTEXT
scsi_hba_pkt_alloc() can be called from user or interrupt context. Drivers must not allow scsi_hba_pkt_alloc() to sleep if called from an interrupt routine. scsi_hba_pkt_free() can be called from user or interrupt context. SEE ALSO
tran_init_pkt(9E), scsi_address(9S), scsi_pkt(9S) Writing Device Drivers SunOS 5.10 24 Feb 2003 scsi_hba_pkt_alloc(9F)

Check Out this Related Man Page

scsi_hba_pkt_alloc(9F)					   Kernel Functions for Drivers 				    scsi_hba_pkt_alloc(9F)

NAME
scsi_hba_pkt_alloc, scsi_hba_pkt_free - allocate and free a scsi_pkt structure SYNOPSIS
#include <sys/scsi/scsi.h> struct scsi_pkt *scsi_hba_pkt_alloc(dev_info_t *dip, struct scsi_address *ap, int cmdlen, int statuslen, int tgtlen, int hbalen, int (*callback, caddr_t arg, caddr_t arg); void scsi_hba_pkt_free(struct scsi_address *ap, struct scsi_pkt *pkt); INTERFACE LEVEL
Solaris architecture specific (Solaris DDI). PARAMETERS
dip Pointer to a dev_info_t structure, defining the HBA driver instance. ap Pointer to a scsi_address(9S) structure, defining the target instance. cmdlen Length in bytes to be allocated for the SCSI command descriptor block (CDB). statuslen Length in bytes to be allocated for the SCSI status completion block (SCB). tgtlen Length in bytes to be allocated for a private data area for the target driver's exclusive use. hbalen Length in bytes to be allocated for a private data area for the HBA driver's exclusive use. callback Indicates what scsi_hba_pkt_alloc() should do when resources are not available: NULL_FUNC Do not wait for resources. Return a NULL pointer. SLEEP_FUNC Wait indefinitely for resources. arg Must be NULL. pkt A pointer to a scsi_pkt(9S) structure. DESCRIPTION
For scsi_hba_pkt_alloc(): scsi_hba_pkt_alloc() allocates space for a scsi_pkt structure. HBA drivers must use this interface when allocating a scsi_pkt from their tran_init_pkt(9E) entry point. If callback is NULL_FUNC, scsi_hba_pkt_alloc() may not sleep when allocating resources, and callers should be prepared to deal with allo- cation failures. scsi_hba_pkt_alloc() copies the scsi_address(9S) structure pointed to by ap to the pkt_address field in the scsi_pkt(9S). scsi_hba_pkt_alloc() also allocates memory for these scsi_pkt(9S) data areas, and sets these fields to point to the allocated memory: pkt_ha_private HBA private data area. pkt_private Target driver private data area. pkt_scbp SCSI status completion block. pkt_cdbp SCSI command descriptor block. For scsi_hba_pkt_free(): scsi_hba_pkt_free() frees the space allocated for the scsi_pkt(9S) structure. RETURN VALUES
scsi_hba_pkt_alloc() returns a pointer to the scsi_pkt structure, or NULL if no space is available. CONTEXT
scsi_hba_pkt_alloc() can be called from user or interrupt context. Drivers must not allow scsi_hba_pkt_alloc() to sleep if called from an interrupt routine. scsi_hba_pkt_free() can be called from user or interrupt context. SEE ALSO
tran_init_pkt(9E), scsi_address(9S), scsi_pkt(9S) Writing Device Drivers SunOS 5.10 24 Feb 2003 scsi_hba_pkt_alloc(9F)
Man Page