/** @file  ICertification.idl */

// Copyright (c) 2021 Qualcomm Technologies, Inc.
// All Rights Reserved.
// Confidential and Proprietary - Qualcomm Technologies, Inc.

// This interface defines functions to get certification related information

/** @cond */
interface ICertification {
/** @endcond */

  /**
   * @addtogroup ICertification
   * @{
   */

  /** @cond */

  /** Error codes */
  error ERROR_UNSUPPORTED_INFO;

  /* info_type */
  const int32 TYPE_MODULE_VERSION_HASH = 1;
  const int32 TYPE_MODULE_ID           = 2;
  const int32 TYPE_FIPS_MODE           = 3;

  /* info_buf_len */
  const int32 LEN_MODULE_VERSION_HASH  = 64;
  const int32 LEN_MODULE_ID             = 4;
  const int32 LEN_FIPS_MODE             = 4;

  /** @endcond */


  /**
    Get Hybrid PRNG Module info

    @param[in]  info_type   Type of information requested
    @param[out] info_buf    Buffer to write requested information

    @return
    Object_OK if successful.
   */
  method getHybridPrngInfo(in uint32 info_type, out buffer info_buf);


  /** @} */ /* end_addtogroup ICertification */
};
