blob: 68da0df0e8be7020e64e9bc12998a70200c0666d [file] [log] [blame]
/******************************************************************************
*
* <:copyright-BRCM:2016:DUAL/GPL:standard
*
* Copyright (c) 2016 Broadcom
* All Rights Reserved
*
* Unless you and Broadcom execute a separate written software license
* agreement governing use of this software, this software is licensed
* to you under the terms of the GNU General Public License version 2
* (the "GPL"), available at http://www.broadcom.com/licenses/GPLv2.php,
* with the following added to such license:
*
* As a special exception, the copyright holders of this software give
* you permission to link this software with independent modules, and
* to copy and distribute the resulting executable under terms of your
* choice, provided that you also meet, for each linked independent
* module, the terms and conditions of the license of that module.
* An independent module is a module which is not derived from this
* software. The special exception does not apply to any modifications
* of the software.
*
* Not withstanding the above, under no circumstances may you combine
* this software in any way with any other Broadcom software provided
* under a license other than the GPL, without Broadcom's express prior
* written consent.
*
* :>
*
*****************************************************************************/
/**
* @file bal_mac_util_epon.h
*
* @brief mac util interfaces definition used by Bal Core, for EPON
*
* This file expose the APIs to the core to configure the mac
* with regarding to the operation of access terminal, interface, subscriber terminal and flow.
*
* @addtogroup mac_util
*/
/*@{*/
#include <bal_mac_util.h>
/* Temporarily exclude some code to get this module compiling again - we should get rid of this ASAP */
#define BAL_EPON_EXCLUDE 0
#if BAL_EPON_EXCLUDE
bcmos_errno mac_util_handle_all_olt_ind_for_epon (bcmolt_devid device_id, bcmolt_msg *p_msg);
bcmos_errno mac_util_register_for_epon_auto_indications(struct bcmolt_rx_cfg *p_rx_cfg, bcmolt_devid device_id);
#endif /* BAL_EPON_EXCLUDE */
bcmos_errno mac_util_access_terminal_set_for_epon_8_tdma(
acc_term_inst *p_acc_term,
bal_util_oper_acc_term op_type,
bcmolt_devid device_id);
bcmos_errno mac_util_access_terminal_set_for_epon_4_tdma(
acc_term_inst *p_acc_term,
bal_util_oper_acc_term op_type,
bcmolt_devid device_id);
bcmos_errno mac_util_access_terminal_set_for_epon_16_1g(
acc_term_inst *p_acc_term,
bal_util_oper_acc_term op_type,
bcmolt_devid device_id);
bcmos_errno mac_util_access_terminal_set_for_epon_8_1g(
acc_term_inst *p_acc_term,
bal_util_oper_acc_term op_type,
bcmolt_devid device_id);
bcmos_errno mac_util_access_terminal_set_for_epon_4_1g(
acc_term_inst *p_acc_term,
bal_util_oper_acc_term op_type,
bcmolt_devid device_id);
bcmos_errno mac_util_access_terminal_set_for_epon_8_10g(
acc_term_inst *p_acc_term,
bal_util_oper_acc_term op_type,
bcmolt_devid device_id);
bcmos_errno mac_util_access_terminal_set_for_epon_4_10g(
acc_term_inst *p_acc_term,
bal_util_oper_acc_term op_type,
bcmolt_devid device_id);
bcmos_errno mac_util_access_terminal_set_for_epon_2_10g(
acc_term_inst *p_acc_term,
bal_util_oper_acc_term op_type,
bcmolt_devid device_id);
bcmos_errno mac_util_interface_set_for_epon(acc_term_interface *p_interface_inst, bal_util_oper_if op_type);
#if BAL_EPON_EXCLUDE
bcmos_errno mac_util_validate_subscriber_terminal_info_for_epon(const bcmbal_subscriber_terminal_cfg *p_sub_term_req);
bcmos_errno mac_util_subscriber_terminal_set_for_epon(sub_term_inst *p_sub_term_inst, bal_util_oper_sub_term op_type, bcmos_bool is_post_discovery);
bcmos_errno mac_util_flow_set_for_epon (bcmbal_flow_cfg *p_flow_req, bal_util_oper_flow op_type, flow_inst *p_flow_core);
void bal_proxy_rx_cb_for_epon (bcmolt_devid device_id, bcmolt_msg *p_msg);
#endif /* BAL_EPON_EXCLUDE */
/*@}*/