| Current File : //usr/share/man/man9f/scsi_poll.9f |
'\" te
.\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved
.TH scsi_poll 9F "16 Jan 2006" "SunOS 5.11" "Kernel Functions for Drivers"
.SH NAME
scsi_poll \- run a polled SCSI command on behalf of a target driver
.SH SYNOPSIS
.LP
.nf
#include <sys/scsi/scsi.h>
\fBint\fR \fBscsi_poll\fR(\fBstruct scsi_pkt *\fR\fIpkt\fR);
.fi
.SH INTERFACE LEVEL
.sp
.LP
Solaris DDI specific (Solaris DDI).
.SH PARAMETERS
.sp
.ne 2
.mk
.na
\fB\fIpkt\fR\fR
.ad
.RS 7n
.rt
Pointer to the \fBscsi_pkt\fR(9S) structure.
.RE
.SH DESCRIPTION
.sp
.LP
The \fBscsi_poll()\fR function requests the host adapter driver to run a polled command. Unlike \fBscsi_transport\fR(9F) which runs commands asynchronously, \fBscsi_poll()\fR runs commands to completion before returning. If the \fBpkt_time\fR member of \fIpkt\fR is \fB0\fR, the value of \fBpkt_time\fR is defaulted to \fBSCSI_POLL_TIMEOUT\fR to prevent an indefinite hang of the system.
.SH RETURN VALUES
.sp
.LP
The \fBscsi_poll()\fR function returns:
.sp
.ne 2
.mk
.na
\fB\fB0\fR\fR
.ad
.RS 6n
.rt
command completed successfully.
.RE
.sp
.ne 2
.mk
.na
\fB\fB-1\fR\fR
.ad
.RS 6n
.rt
command failed.
.RE
.SH CONTEXT
.sp
.LP
The \fBscsi_poll()\fR function can be called from user, interrupt, or kernel context. This function should not be called when the caller is executing \fBtimeout\fR(9F) in the context of a thread.
.SH SEE ALSO
.sp
.LP
\fBmakecom\fR(9F), \fBscsi_transport\fR(9F), \fBscsi_pkt\fR(9S)
.sp
.LP
\fIWriting Device Drivers for Oracle Solaris 11.2\fR
.SH WARNINGS
.sp
.LP
Since \fBscsi_poll()\fR runs commands to completion before returning, it may require more time than is desirable when called from interrupt context. Therefore, calling \fBscsi_poll\fR from interrupt context is not recommended.