[ Previous | Next | Table of Contents | Index | Library Home | Legal | Search ]

Technical Reference: Base Operating System and Extensions , Volume 2

SpmiGetValue Subroutine


Returns a decoded value based on the type of data value extracted from the data field of an SpmiStatVals structure.


SPMI Library (libSpmi.a)


#include sys/Spmidef.h

float SpmiGetValue(StatSet, StatVal)
struct SpmiStatSet *StatSet;
struct SpmiStatVals *StatVal;


The SpmiGetValue subroutine performs the following steps:

  1. Verifies that an SpmiStatVals structure exists in the set of statistics identified by the StatSet parameter.
  2. Determines the format of the data field as being either SiFloat or SiLong and extracts the data value for further processing.
  3. Determines the data value as being of either type SiQuantity or type SiCounter.
  4. If the data value is of type SiQuantity, returns the val field of the SpmiStatVals structure.
  5. If the data value is of type SiCounter, returns the value of the val_change field of the SpmiStatVals structure divided by the elapsed number of seconds since the previous time a data value was requested for this set of statistics.

This subroutine call should only be issued after an SpmiGetStatSet subroutine has been issued against the statset.



Specifies a pointer to a valid structure of type SpmiStatSet as created by the SpmiCreateStatSet subroutine call.


Specifies a pointer to a valid structure of type SpmiStatVals as created by the SpmiPathAddSetStat subroutine call or returned by the SpmiFirstVals or SpmiNextVals subroutine calls.

Return Values

The SpmiGetValue subroutine returns the decoded value if successful. If unsuccessful, the subroutine returns a negative value that has a numerical value of at least 1.1.

Error Codes

All SPMI subroutines use external variables to provide error information. To access these variables, an application program must define the following external variables:

If the subroutine returns without an error, the SpmiErrno variable is set to 0 and the SpmiErrmsg character array is empty. If an error is detected, the SpmiErrno variable returns an error code, as defined in the sys/Spmidef.h file, and the SpmiErrmsg variable contains text, in English, explaining the cause of the error. See the List of SPMI Error Codes for more information.

Implementation Specifics

This subroutine is part of the server option of the Performance Aide for AIX licensed product and is also included in the Performance Toolbox for AIX licensed product.


/usr/include/sys/Spmidef.h Declares the subroutines, data structures, handles, and macros that an application program can use to access the SPMI.

Related Information

For related information, see:

[ Previous | Next | Table of Contents | Index | Library Home | Legal | Search ]