NPA_HACB_Passthru

Sends a HACB message to a device in order to receive status or diagnostic information about the device. It is used for vendor-specific commands from NLM applications.

Thread Context:Blocking

Syntax

    LONG NPA_HACB_Passthru (
       LONG               adapterObjectID,
       struct HACBStruct *HACB
       );
    
    

Parameters

adapterObjectID
(IN) The Media Manager object ID for the adapter.
HACB
Address of a HACB to be sent.

Return Values

The following table lists return values and descriptions.

zero

Successful

nonzero

Unsuccessful

Remarks

NPA_HACB_Passthru is used to send vendor-specific requests directly to a HAM. The request is sent, and the call returns after the request is complete. The application must have an understanding of the device and handle any errors that occur as a result of the requests. The application must make sure that the HAM is returned to its original condition (i.e., queue frozen or unfrozen) when finished with the requests.

The requests can be hacbType = 0 through 4, or hacbType = novellAssignedModuleID. If the request is not a hacbType = 0 request or the hacbType does not match the adapter haType (see HAMInfoStruct), the hacbType must be the novellAssignedModuleID. The HAM must check this field and report an Unsupported Interface Type (0x00030044) error if the novellAssignedModuleID is not supported. The HAM must otherwise service the request and send the appropriate command to the device as needed.

The Command Block Overlay Area can be used as needed for the request. It is important to remember that the data in this overlay area goes to the HAM only. This data, if changed by the HAM, might not be seen by the application upon return. All data passed from the HAM to the application must go through the buffer addressed by vDataBufferPtr.

See Also

NPA_Return_DeviceHandle