/*
 * Copyright (c) 2012, 2017-2019, The Linux Foundation. All rights reserved.
 * Permission to use, copy, modify, and/or distribute this software for
 * any purpose with or without fee is hereby granted, provided that the
 * above copyright notice and this permission notice appear in all copies.
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */


/*qca808x_start*/
#ifndef _FAL_H
#define _FAL_H

#ifdef __cplusplus
extern "C" {
#endif                          /* __cplusplus */
#include "fal_port_ctrl.h"
/*qca808x_end*/
#include "fal_misc.h"
#include "fal_vlan.h"
#include "fal_fdb.h"
#include "fal_portvlan.h"
#include "fal_qos.h"
#include "fal_stp.h"
#include "fal_rate.h"
#include "fal_mirror.h"
#include "fal_leaky.h"
#include "fal_igmp.h"
#include "fal_mib.h"
#include "fal_acl.h"
#include "fal_led.h"
/*qca808x_start*/
#include "fal_reg_access.h"
#include "fal_init.h"
/*qca808x_end*/
#include "fal_cosmap.h"
#include "fal_ip.h"
#include "fal_nat.h"
#include "fal_flow.h"
#include "fal_qm.h"
#include "fal_sec.h"
#include "fal_trunk.h"
#include "fal_interface_ctrl.h"
#include "fal_fdb.h"
#include "fal_multi.h"
#include "fal_ctrlpkt.h"
#include "fal_servcode.h"
#include "fal_rss_hash.h"
#include "fal_vsi.h"
#include "fal_pppoe.h"
#include "fal_bm.h"
#include "fal_shaper.h"
#include "fal_policer.h"
#include "fal_ptp.h"
#include "fal_sfp.h"

/*qca808x_start*/
#ifdef __cplusplus
}
#endif                          /* __cplusplus */
#endif                          /* _FAL_H */
/*qca808x_end*/
