ica_get_fips_indicator

Purpose

Returns a FIPS service indicator for each hardware function or any other mechanism, that is, an indication is provided whether this function or mechanism is FIPS-compliant or not. From this information, application developers can figure out, whether a libica API that they want to use is FIPS-compliant or not. This list is a static list and cannot be changed by an application and can only be used for information purposes.

You can use the icainfo -f command to display an output which interprets this FIPS service indicator (see icainfo -f).

Format


unsigned int ica_get_fips_indicator(libica_fips_indicator_element *fips_list,
  unsigned int *fips_list_len);

Parameters

libica_fips_indicator_element *fips_list
NULL or pointer to an array of at least as many libica_fips_indicator_element structures as denoted in the *fips_list_len argument. If the value in the *fips_list_len argument is equal to or greater than the number of mechanisms available in libica, then the libica_fips_indicator_element structures in *fips_list are filled (in the order of the array indices) with information for the FIPS-compliant mechanisms. Otherwise the *fips_list argument remains unchanged.
unsigned int *fips_list_len
Pointer to an integer which contains the actual number of array elements (number of structures). If *fips_list was NULL, the contents of *fips_list_len is replaced by the number of FIPS-compliant mechanisms available in libica.

Return codes

0
Success
EINVAL
If at least one invalid parameter is given or if the application-provided buffer size (given in parameter fips_list_len) is too small for the list to be returned.