/*===========================================================================
  Copyright (c) 2022 QUALCOMM Technologies Incorporated.
  All Rights Reserved.
  Qualcomm Confidential and Proprietary
=============================================================================*/
include "IMemRegion.idl"

/** @cond */
interface IDecryptImageService {
/** @endcond */

  /**
   * @addtogroup IDecryptImageService
   * @{
   */

  /**
    This service perform inline decryption for the subsytem image region

    @param[in] swId          Software ID for the image to be decrypted.

    @param[in] elfPgmHdr     elf/pgm header region.

    @param[in] imageRegion   Image region to be decrypted (inplace).

    @return

    Object_OK on success; otherwise, any other error code on failure.
  */
  method decryptImageRegion(in uint32 swId,
                            in IMemRegion elfPgmHdr,
                            in IMemRegion imageRegion);
  
  /** @} */ /* end_addtogroup IDecryptImageService */
};
