'\" te .\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved. .TH ddi_fm_error 9S "13 May 2007" "SunOS 5.11" "Data Structures for Drivers" .SH NAME ddi_fm_error \- I/O error status structure .SH SYNOPSIS .LP .nf #include .fi .SH INTERFACE LEVEL .sp .LP Solaris DDI specific (Solaris DDI) .SH DESCRIPTION .sp .LP A \fBddi_fm_error_t\fR structure contains common data necessary for \fBI/O\fR error handling. A pointer to a \fBddi_fm_error_t\fR structure is passed to error handling callbacks where it can then be used in a call to \fBpci_ereport_post()\fR. The same structure is also returned to callers of \fBddi_fm_acc_err_get()\fR and \fBddi_fm_dma_err_get()\fR. .SH STRUCTURE MEMBERS .sp .in +2 .nf int fme_version; uint64_t fme_ena; int fme_status; int fme_flag; ddi_acc_handle_t fme_acc_handle; ddi_dma_handle_t fme_dma_handle; .fi .in -2 .sp .LP The \fBfme_version\fR is the current version of \fBddi_fm_error_t\fR. Valid values for the version are: \fBDDI_FME_VER0\fR and \fBDDI_FME_VER1\fR. .sp .LP The \fBfme_ena\fR is the \fBFMA\fR event protocol Format 1 Error Numeric Association (\fBENA\fR) for this error condition. .sp .LP The \fBfme_flag\fR field is set to \fBDDI_FM_ERR_EXPECTED\fR if the error is the result of a \fBDDI_ACC_CAUTIOUS\fR protected operation. In this case, \fBfme_acc_handle\fR is valid and the driver should check for and report only errors not associated with the \fBDDI_ACC_CAUTIOUS\fR protected access operation. This field can also be set to \fBDDI_FM_ERR_POKE\fR or \fBDDI_FM_ERR_PEEK\fR if the error is the result of a \fBddi_peek\fR(9F) or \fBddi_poke\fR(9F) operation. The driver should handle these in a similar way to \fBDDI_FM_ERR_EXPECTED\fR. Otherwise, \fBddi_flag\fR is set to \fBDDI_FM_ERR_UNEXPECTED\fR and the driver must perform the full range of error handling tasks. .sp .LP The \fBfme_status\fR indicates current status of an error handler callback or resource handle: .sp .ne 2 .mk .na \fB\fBDDI_FM_OK\fR\fR .ad .RS 19n .rt No errors were detected. .RE .sp .ne 2 .mk .na \fB\fBDDI_FM_FATAL\fR\fR .ad .RS 19n .rt An error which is considered fatal to the operational state of the system was detected. .RE .sp .ne 2 .mk .na \fB\fBDDI_FM_NONFATAL\fR\fR .ad .RS 19n .rt An error which is not considered fatal to the operational state of the system was detected. .RE .sp .ne 2 .mk .na \fB\fBDDI_FM_UNKNOWN\fR\fR .ad .RS 19n .rt An error was detected, but the driver was unable to determine the impact of the error on the operational state of the system. .RE .sp .LP The \fBfme_acc_handle\fR is the valid access handle associated with the error that can be returned from \fBpci_ereport_post()\fR .sp .LP The \fBfme_dma_handle\fR is the valid \fBDMA\fR handle associated with the error that can be returned from \fBpci_ereport_post()\fR .SH ATTRIBUTES .sp .LP See \fBattributes\fR(5) for descriptions of the following attributes: .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . ATTRIBUTE TYPEATTRIBUTE VALUE _ Interface StabilityCommitted .TE .SH SEE ALSO .sp .LP \fBattributes\fR(5), \fBddi_fm_acc_err_get\fR(9F), \fBddi_fm_dma_err_get\fR(9F), \fBddi_fm_handler_register\fR(9F), \fBddi_peek\fR(9F), \fBddi_poke\fR(9F), \fBpci_ereport_post\fR(9F) .sp .LP \fIWriting Device Drivers for Oracle Solaris 11.2\fR