NPAB_Get_Unique_Identifier

Returns a bus-specific value that uniquely identifies a specific device (such as an OEM chip set) on an adapter.

Thread Context:Non-Blocking

Syntax

    LONG NPAB_Get_Unique_Identifier (
       LONG   npaHandle,
       LONG   busTag,
       LONG  *parameters,
       LONG   parameterCount,
       LONG  *uniqueID
       );
    
    

Parameters

npaHandle
The HAM's handle for using the NPA APIs, assigned during NPA_Register_HAM_Module.
busTag
An architecture-dependent value returned by NPAB_Search_Adapter or by parsing the Product ID option of the NPAOptionStruct. This value specifies the bus on which the operation is to be performed.
parameters
A bus architecture-dependent array of parameters needed by the system to generate the unique identifier. These parameters specify values such as slot and function.

Novell provides a registry of the meanings of these parameters for each bus.

The following are the parameter values for each bus type:

CardBus Bus

Parameter

Value

parameterCount

2

parameters[0]

Physical socket number (1 based) for single function cards. Function number (1 based) is in the least significant byte and the physical socket number is in the next byte for multiple function cards

parameters[1]

Bus/device/function number combination equivalent to the value returned from the PCI BIOS FindDevice function.

EISA Bus

Parameter

Value

parameterCount

1

parameters[0]

Physical slot number (1 based)

MCA Bus

Parameter

Value

parameterCount

1

parameters[0]

Physical slot number (1 based)

PC Card (PCMCIA) Bus

Parameter

Value

parameterCount

1

parameters[0]

Physical socket number (1 based) for single function cards. Function number (1 based) is in the least significant byte and the physical socket number is in the next byte for multiple function cards.

PCI Bus

Parameter

Value

parameterCount

2

parameters[0]

0 (PCI BIOS version 2.0)

Physical slot number (PCI BIOS version 2.1)

parameters[1]

Bus/device/function number combination equivalent to the 16-bit value returned from the PCIBIOSFindPCIDevice function in the lower word. This combination is packed as defined in the PCI specification.

PnP ISA Bus

Parameter

Value

parameterCount

2

parameters[0]

CSN (Least significant byte), Logical Device Number (Next least significant byte), MSW = 0

parameters[1]

Read Data Port Value (LSW), MSW = 0

parameters[1] is not used (set to 0) in NPAB_Get_Unique_Identifier, but is required by NPAB_Get_Unique_Identifier_Parameters

parameterCount
The number of elements in the input parameter array, parameters.
uniqueID
(OUT) Receives the architecture-dependent value that uniquely identifies a specific device on an adapter.

Return Values

The following table lists return values and descriptions.

0

Successful

4

A parameter was invalid.

5

The function is not available.

Remarks

This function allows for parameters used in identifying adapters placed in physical slots and the functions on the adapter to be converted to system architecture-dependent values required in the operation of the adapter. Unique identifiers are interpreted only by other HAI/NBI functions. To the caller they are a token with no predefined format.