free_pktiopb man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

GET_PKTIOPB(9F)						       GET_PKTIOPB(9F)

NAME
       get_pktiopb, free_pktiopb - allocate/free a SCSI packet in the iopb map

SYNOPSIS
       #include <sys/scsi/scsi.h>

       struct scsi_pkt *get_pktiopb(struct scsi_address *ap,
	    caddr_t *datap, int cdblen, int statuslen, int datalen,
	    int readflag, int (*callback);

       void free_pktiopb(struct scsi_pkt *pkt, caddr_t datap, int datalen);

INTERFACE LEVEL
       These   interfaces   are	 obsolete.  Use	 scsi_alloc_consistent_buf(9F)
       instead of get_pktiopb(). Use scsi_free_consistent_buf(9F)  instead  of
       free_pktiopb().

PARAMETERS
       ap
		    Pointer to the target's scsi_address structure.

       datap
		    Pointer  to	 the  address of the packet, set by this func‐
		    tion.

       cdblen
		    Number of bytes required for the SCSI  command  descriptor
		    block (CDB).

       statuslen
		    Number of bytes required for the SCSI status area.

       datalen
		    Number  of	bytes  required	 for the data area of the SCSI
		    command.

       readflag
		    If non-zero, data will be transferred from the  SCSI  tar‐
		    get.

       callback
		    Pointer to a callback function, or NULL_FUNC or SLEEP_FUNC

       pkt
		    Pointer to a scsi_pkt(9S) structure.

DESCRIPTION
       The  get_pktiopb()  function  allocates a scsi_pkt structure that has a
       small data area allocated. It is used by some  SCSI  commands  such  as
       REQUEST_SENSE,  which involve a small amount of data and require cache-
       consistent memory for proper operation. It uses ddi_iopb_alloc(9F)  for
       allocating  the	data area and scsi_resalloc(9F) to allocate the packet
       and DMA resources.

       callback indicates what get_pktiopb() should do when resources are  not
       available:

       NULL_FUNC
		       Do not wait for resources. Return a NULL pointer.

       SLEEP_FUNC
		       Wait indefinitely for resources.

       Other Values
		       callback	 points	 to  a	function  which is called when
		       resources may  have  become  available.	callback  must
		       return  either 0 (indicating that it attempted to allo‐
		       cate resources but failed to do	so  again),  in	 which
		       case it is put back on a list to be called again later,
		       or 1 indicating either success in allocating  resources
		       or indicating that it no longer cares for a retry.

       The  free_pktiopb()  function  is  used	for freeing the packet and its
       associated resources.

RETURN VALUES
       The get_pktiopb() function returns a pointer  to	 the  newly  allocated
       scsi_pkt or a NULL pointer.

CONTEXT
       If  callback  is	 SLEEP_FUNC, then this routine can be called only from
       user or kernel context. Otherwise, it can be called from	 user,	inter‐
       rupt, or kernel context. The callback function should not block or call
       routines that block.

       The free_pktiopb() function can be called from user, interrupt, or ker‐
       nel context.

ATTRIBUTES
       See attributes(5) for a description of the following attributes:

       ┌────────────────┬─────────────────┐
       │ATTRIBUTE TYPE	│ ATTRIBUTE VALUE │
       ├────────────────┼─────────────────┤
       │Stability Level │ Obsolete	  │
       └────────────────┴─────────────────┘

SEE ALSO
       attributes(5),	 ddi_iopb_alloc(9F),	scsi_alloc_consistent_buf(9F),
       scsi_free_consistent_buf(9F),   scsi_pktalloc(9F),   scsi_resalloc(9F),
       scsi_pkt(9S)

       Writing Device Drivers

NOTES
       The get_pktiopb() and free_pktiopb() functions are obsolete and will be
       discontinued in a future release. These functions  have	been  replaced
       by,  respectively,  scsi_alloc_consistent_buf(9F) and scsi_free_consis‐
       tent_buf(9F).

       The get_pktiopb() function uses scarce resources. For this  reason  and
       its obsolescence (see above), its use is discouraged.

				 Jan 16, 2006		       GET_PKTIOPB(9F)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net