/**
 * @file IxAssert.h
 *
 * @date 21-MAR-2002 (replaced by OSAL)
 *
 * @brief This file contains assert and ensure macros used by the IXP400 software
 *
 * 
 * @par
 * IXP400 SW Release version 2.0
 * 
 * -- Copyright Notice --
 * 
 * @par
 * Copyright 2001-2005, Intel Corporation.
 * All rights reserved.
 * 
 * @par
 * SPDX-License-Identifier:	BSD-3-Clause
 * @par
 * -- End of Copyright Notice --
 */

/**
 * @defgroup IxAssert IXP400 Assertion Macros (IxAssert) API
 *
 * @brief Assertion support
 *
 * @{
 */

#ifndef IXASSERT_H

#ifndef __doxygen_HIDE
#define IXASSERT_H
#endif /* __doxygen_HIDE */

#include "IxOsalBackward.h"

#endif /* IXASSERT_H */

/**
 * @} addtogroup IxAssert
 */



