pdiag_diagnose_multifunc_state
Purpose
Puts a single function device, a multifunction non-bridged device, and a bridged device under test, into the correct state for testing.
Syntax
#include <sys/pdiag_def.h>
int32 pdiag_diagnose_multifunc_state (char *device_instance, int eeh_activate)
Description
The pdiag_diagnose_multifunc_state subroutine unconfigures the device, and its children if necessary, to set the device into the DIAGNOSE state. The original states of all changed devices will be saved. Use pdiag_restore_multifunc_state to put the changed devices back to their original states.
This function is platform-implementation specific. Its main purpose is to make sure that the target device is in the correct state for diagnostic purposes, and that the Enhanced Error Handling (EEH) option is enabled during test. If the device is already in a diagnostic state, or any state allowed by the operating system for this purpose, this function should return successful status. If an error occurs, this function should return a non-zero.
The global variable, diag_cfg_errno, will be set to the return value of the method invoked for the device.
Parameters
Parameter | Description |
---|---|
device_instance | Name of device under test. |
eeh_activate |
|
Return Value
The pdiag_diagnose_multifunc_state subroutine function returns one of the following values:
Return Value | Description |
---|---|
0 | Successful return |
-1 | Software error |
1 | Error returned from device method. The diag_cfg_errno variable contains the error code from the device method. Refer to the/usr/include/cf.h file. The E_FINDCHILD and E_NEWCHILD values are not failures. |
-2 | Hardware error |