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

/** @cond */
interface IMinidumpService {
/** @endcond */

  /**
   * @addtogroup IMinidumpService
   * @{
   */

  /**
    Compresses Subsystem Minidump Regions using LZ4 algorithm
    and populates the response buffer with output length.

    @param[in]  compress_region    Subsystem region to compress
    
    @param[in]  destination_region Subsystem region to to store compression output
    
    @param[out] length             Compressed output length.

    @return
    Object_OK on success; otherwise, any other error code on failure.
  */
  method CompressMinidumpRegion(in IMemRegion compress_region, in IMemRegion destination_region,
                                out uint64 length);
  
  /** @} */ /* end_addtogroup IMinidumpService */
};
