text: /*! \file bcmltx_lb_flex_field_select.h
   *
   * Load balance hashing Flex Field Select Transform Handler.
   */
  /*
   * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
   * 
   * Copyright 2007-2020 Broadcom Inc. All rights reserved.
   */
  
  #ifndef BCMLTX_LB_FLEX_FIELD_SELECT_H
  #define BCMLTX_LB_FLEX_FIELD_SELECT_H
  
  #include <bcmltd/bcmltd_handler.h>
  
  /*!
   * \brief LB_FLEX_FIELD_SELECT transform.
   *
   * \param [in]  unit          Unit Number.
   * \param [in]  in            Input field values.
   * \param [out] out           Output field values.
   * \param [in]  arg           Transform arguments.
   *
   * \retval SHR_E_NONE         No errors.
   * \retval !SHR_E_NONE        Failure.
   */
  extern int
  bcmltx_lb_flex_field_select_transform(
      int unit,
      const bcmltd_fields_t *in,
      bcmltd_fields_t *out,
      const bcmltd_transform_arg_t *arg);
  
  /*!
   * \brief LB_FLEX_FIELD_SELECT reverse transform.
   *
   * \param [in]  unit          Unit Number.
   * \param [in]  in            Input field values.
   * \param [out] out           Output field values.
   * \param [in]  arg           Transform arguments.
   *
   * \retval SHR_E_NONE         No errors.
   * \retval !SHR_E_NONE        Failure.
   */
  extern int
  bcmltx_lb_flex_field_select_rev_transform(
      int unit,
      const bcmltd_fields_t *in,
      bcmltd_fields_t *out,
      const bcmltd_transform_arg_t *arg);
  
  #endif /* BCMLTX_LB_FLEX_FIELD_SELECT_H */
  