/** @file  ISwFec.idl */

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

/** @cond */
interface ISwFec {
/** @endcond */

  /**
   * @addtogroup ISwFec
   * @{
   */

  /**
   * This service is used for Forward Error Correction.
   *
   * @param[in] dataInfo         Input information of 56bits. The remaining
   *                              MSB bits are padded with 0s.
   * @param[in] fecValue         FEC value of 7bits, 8th bit will be discarded or don't care.
   * @param[out] correctedInfo   Holds corrected FEC value of 56 bits, if fec_status returns FEC_ONE_BIT_CORRUPTION.
   *                              No value if fec_status return FEC_MULTI_BIT_CORRUPTION.
   * @param[out] fecStatus       Indicates the FEC operation status.
   * @return
   * Object_OK if successful.
   */
  method fecCorrection(in uint64 dataInfo,
                       in uint8 fecValue,
                       out uint64 correctedInfo,
                       out uint32 fecStatus);

  /** @} */ /* end_addtogroup ISwFec */
};
