| /******************************************************************************* |
| Copyright (C) Marvell International Ltd. and its affiliates |
| |
| This software file (the "File") is owned and distributed by Marvell |
| International Ltd. and/or its affiliates ("Marvell") under the following |
| alternative licensing terms. Once you have made an election to distribute the |
| File under one of the following license alternatives, please (i) delete this |
| introductory statement regarding license alternatives, (ii) delete the two |
| license alternatives that you have not elected to use and (iii) preserve the |
| Marvell copyright notice above. |
| |
| ******************************************************************************** |
| Marvell Commercial License Option |
| |
| If you received this File from Marvell and you have entered into a commercial |
| license agreement (a "Commercial License") with Marvell, the File is licensed |
| to you under the terms of the applicable Commercial License. |
| |
| ******************************************************************************** |
| Marvell GPL License Option |
| |
| If you received this File from Marvell, you may opt to use, redistribute and/or |
| modify this File in accordance with the terms and conditions of the General |
| Public License Version 2, June 1991 (the "GPL License"), a copy of which is |
| available along with the File in the license.txt file or by writing to the Free |
| Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or |
| on the worldwide web at http://www.gnu.org/licenses/gpl.txt. |
| |
| THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED |
| WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY |
| DISCLAIMED. The GPL License provides additional details about this warranty |
| disclaimer. |
| ******************************************************************************** |
| Marvell BSD License Option |
| |
| If you received this File from Marvell, you may opt to use, redistribute and/or |
| modify this File under the following licensing terms. |
| Redistribution and use in source and binary forms, with or without modification, |
| are permitted provided that the following conditions are met: |
| |
| * Redistributions of source code must retain the above copyright notice, |
| this list of conditions and the following disclaimer. |
| |
| * Redistributions in binary form must reproduce the above copyright |
| notice, this list of conditions and the following disclaimer in the |
| documentation and/or other materials provided with the distribution. |
| |
| * Neither the name of Marvell nor the names of its contributors may be |
| used to endorse or promote products derived from this software without |
| specific prior written permission. |
| |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND |
| ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
| WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
| DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR |
| ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
| (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
| LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON |
| ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
| SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| ******************************************************************************** |
| * mv_cph_app.h |
| * |
| * DESCRIPTION: Marvell CPH(CPH Packet Handler) application module to implement |
| * CPH main logic and handle application packets such as OMCI, eOAM, |
| * IGMP packets. |
| * |
| * DEPENDENCIES: |
| * None |
| * |
| * CREATED BY: VictorGu |
| * |
| * DATE CREATED: 22Jan2013 |
| * |
| * FILE REVISION NUMBER: |
| * Revision: 1.0 |
| * |
| * |
| *******************************************************************************/ |
| #ifndef _MV_CPH_APP_H_ |
| #define _MV_CPH_APP_H_ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| |
| /****************************************************************************** |
| * Type Definition |
| ******************************************************************************/ |
| #define MV_VALID_MH_MASK 0x007F /* Valid MH filed in CPH */ |
| #define MV_VALID_GH_MASK 0x0FFF /* Valid MH filed in CPH */ |
| |
| |
| /* CPH application packets parsing field definition |
| ------------------------------------------------------------------------------*/ |
| typedef enum |
| { |
| CPH_APP_PARSE_FIELD_DIR = 0x1, |
| CPH_APP_PARSE_FIELD_RX_TX = 0x2, |
| CPH_APP_PARSE_FIELD_MH = 0x4, |
| CPH_APP_PARSE_FIELD_ETH_TYPE = 0x8, |
| CPH_APP_PARSE_FIELD_ETH_SUBTYPE = 0x10, |
| CPH_APP_PARSE_FIELD_IPV4_TYPE = 0x20, |
| CPH_APP_PARSE_FIELD_IPV6_NH1 = 0x40, |
| CPH_APP_PARSE_FIELD_IPV6_NH2 = 0x80, |
| CPH_APP_PARSE_FIELD_ICMPV6_TYPE = 0x100, |
| CPH_APP_PARSE_FIELD_END = 0x200 |
| } CPH_APP_PARSE_FIELD_E; |
| |
| typedef enum |
| { |
| CPH_DIR_US = 0, |
| CPH_DIR_DS = 1, |
| CPH_DIR_NOT_CARE = 2, |
| CPH_DIR_NUM = 2, |
| CPH_DIR_INVALID = 3 |
| } CPH_DIR_E; |
| |
| typedef enum |
| { |
| CPH_DIR_RX = 0, |
| CPH_DIR_TX = 1, |
| CPH_RX_TX_NOT_CARE = 2, |
| } CPH_RX_TX_E; |
| |
| typedef struct |
| { |
| CPH_DIR_E dir; |
| CPH_RX_TX_E rx_tx; |
| UINT16 mh; |
| UINT16 eth_type; |
| UINT8 eth_subtype; |
| UINT8 ipv4_type; |
| UINT8 ipv6_nh1; |
| UINT8 ipv6_nh2; |
| UINT32 icmpv6_type; |
| } CPH_APP_PARSE_T; |
| |
| /* CPH application packets modification field definition |
| ------------------------------------------------------------------------------*/ |
| typedef enum |
| { |
| CPH_APP_RX_MOD_ADD_GMAC = 0x1, |
| CPH_APP_RX_MOD_REPLACE_PROTO_TYPE = 0x2, |
| CPH_APP_RX_MOD_STRIP_MH = 0x4, |
| CPH_APP_TX_MOD_ADD_MH_BY_DRIVER = 0x8, |
| CPH_APP_TX_MOD_NO_PAD = 0x10, |
| CPH_APP_MOD_CHANGE_STATE = 0x20, |
| CPH_APP_MOD_FIELD_END = 0x40 |
| } CPH_APP_MOD_FIELD_E; |
| |
| typedef struct |
| { |
| UINT16 proto_type; |
| BOOL state; |
| } CPH_APP_MOD_T; |
| |
| /* CPH application packets forwarding field definition |
| ------------------------------------------------------------------------------*/ |
| typedef enum |
| { |
| CPH_APP_FRWD_SET_TRG_PORT = 0x1, |
| CPH_APP_FRWD_SET_TRG_QUEUE = 0x2, |
| CPH_APP_FRWD_SET_GEM_PORT = 0x4, |
| CPH_APP_FRWD_FIELD_END = 0x8 |
| } CPH_APP_FRWD_FIELD_E; |
| |
| typedef struct |
| { |
| UINT8 trg_port; |
| UINT8 trg_queue; |
| UINT16 gem_port; |
| } CPH_APP_FRWD_T; |
| |
| /* TPM connection profile definition from "tpm_types.h" |
| ------------------------------------------------------------------------------*/ |
| typedef enum { |
| TPM_PON_WAN_DUAL_MAC_INT_SWITCH = 1, |
| TPM_PON_WAN_G0_INT_SWITCH, |
| TPM_PON_WAN_G1_LAN_G0_INT_SWITCH, |
| TPM_G0_WAN_G1_INT_SWITCH, |
| TPM_G1_WAN_G0_INT_SWITCH, |
| TPM_PON_G1_WAN_G0_INT_SWITCH, |
| TPM_PON_G0_WAN_G1_INT_SWITCH, |
| TPM_PON_WAN_DUAL_MAC_EXT_SWITCH, |
| TPM_PON_WAN_G1_MNG_EXT_SWITCH, |
| TPM_PON_WAN_G0_SINGLE_PORT, |
| TPM_PON_WAN_G1_SINGLE_PORT, |
| TPM_PON_G1_WAN_G0_SINGLE_PORT, |
| TPM_PON_G0_WAN_G1_SINGLE_PORT, |
| TPM_PON_WAN_G0_G1_LPBK, |
| TPM_PON_WAN_G0_G1_DUAL_LAN |
| } tpm_eth_complex_profile_t; |
| |
| /* PON type definition |
| ------------------------------------------------------------------------------*/ |
| typedef enum |
| { |
| CPH_PON_TYPE_EPON = 0, |
| CPH_PON_TYPE_GPON, |
| CPH_PON_TYPE_GBE, |
| CPH_PON_TYPE_P2P, |
| CPH_PON_TYPE_MAX |
| } CPH_PON_TYPE_E; |
| |
| |
| /* CPH feature flag |
| ------------------------------------------------------------------------------*/ |
| typedef enum |
| { |
| CPH_APP_FEATURE_APP = 0, |
| CPH_APP_FEATURE_IGMP, |
| CPH_APP_FEATURE_BC, |
| CPH_APP_FEATURE_FLOW, |
| CPH_APP_FEATURE_UDP, |
| } CPH_APP_FEATURE_E; |
| |
| |
| /* CPH parse/modification field definition for bc/igmp |
| ------------------------------------------------------------------------------*/ |
| typedef struct |
| { |
| CPH_DIR_E dir; |
| UINT32 src_port; |
| UINT16 vid; |
| UINT8 pbits; |
| UINT8 dscp; |
| } CPH_PACKET_PARSE_T; |
| |
| |
| typedef struct |
| { |
| CPH_DIR_E dir; |
| UINT32 src_port; |
| UINT16 vid; |
| UINT8 pbits; |
| UINT8 dscp; |
| } CPH_PACKET_MOD_T; |
| |
| /* GMAC port state definition |
| ------------------------------------------------------------------------------*/ |
| typedef struct |
| { |
| MV_APP_PORT_TYPE_E port_type; |
| MV_GE_PORT_STATE_E port_state; |
| } CPH_PORT_STATE_T; |
| |
| /* Debug related definition |
| ------------------------------------------------------------------------------*/ |
| extern UINT32 g_cph_global_trace; |
| |
| #define CPH_GLOBAL_TRACE g_cph_global_trace |
| #define CPH_DEBUG_LEVEL 0x00000001 |
| #define CPH_INFO_LEVEL 0x00000002 |
| #define CPH_WARN_LEVEL 0x00000004 |
| #define CPH_ERR_LEVEL 0x00000008 |
| |
| #define MV_CPH_PRINT(level, format, ...) \ |
| { \ |
| if (level & CPH_GLOBAL_TRACE) \ |
| printk(KERN_INFO "%s(line:%d) "format, __FUNCTION__, __LINE__, ##__VA_ARGS__); \ |
| } |
| |
| #define MV_CPH_CLEAN_PRINT(level, format, ...) \ |
| { \ |
| if (level & CPH_GLOBAL_TRACE) \ |
| printk(KERN_INFO format, ##__VA_ARGS__); \ |
| } |
| |
| /****************************************************************************** |
| * Function Declaration |
| ******************************************************************************/ |
| /****************************************************************************** |
| * cph_app_set_complex_profile() |
| * _____________________________________________________________________________ |
| * |
| * DESCRIPTION: Set TPM complex profile ID |
| * |
| * INPUTS: |
| * profile_id - TPM complex profile ID |
| * active_port - Active WAN port |
| * |
| * OUTPUTS: |
| * None. |
| * |
| * RETURNS: |
| * On success, the function returns MV_OK. |
| * On error returns error code accordingly. |
| *******************************************************************************/ |
| MV_STATUS cph_app_set_complex_profile (tpm_eth_complex_profile_t profile_id, MV_APP_GMAC_PORT_E active_port); |
| |
| /****************************************************************************** |
| * cph_app_set_feature_flag() |
| * _____________________________________________________________________________ |
| * |
| * DESCRIPTION: Enable or disable feature support in CPH |
| * |
| * INPUTS: |
| * feature - CPH supported features |
| * state - Enable or disable this feature in CPH |
| * |
| * OUTPUTS: |
| * None. |
| * |
| * RETURNS: |
| * On success, the function returns MV_OK. |
| * On error returns error code accordingly. |
| *******************************************************************************/ |
| MV_STATUS cph_app_set_feature_flag (CPH_APP_FEATURE_E feature, BOOL state); |
| |
| /****************************************************************************** |
| * cph_app_add_rule() |
| * _____________________________________________________________________________ |
| * |
| * DESCRIPTION: Add CPH rule |
| * |
| * INPUTS: |
| * parse_bm - Parsing bitmap |
| * parse_key - Parsing key |
| * mod_bm - Modification bitmap |
| * mod_value - Modification value |
| * frwd_bm - Forwarding bitmap |
| * frwd_value - Forwarding value |
| * |
| * OUTPUTS: |
| * None. |
| * |
| * RETURNS: |
| * On success, the function returns MV_OK. |
| * On error returns error code accordingly. |
| *******************************************************************************/ |
| MV_STATUS cph_app_add_rule ( |
| CPH_APP_PARSE_FIELD_E parse_bm, |
| CPH_APP_PARSE_T *parse_key, |
| CPH_APP_MOD_FIELD_E mod_bm, |
| CPH_APP_MOD_T *mod_value, |
| CPH_APP_FRWD_FIELD_E frwd_bm, |
| CPH_APP_FRWD_T *frwd_value); |
| |
| /****************************************************************************** |
| * cph_app_del_rule() |
| * _____________________________________________________________________________ |
| * |
| * DESCRIPTION: Del CPH rule |
| * |
| * INPUTS: |
| * parse_bm - Parsing bitmap |
| * parse_key - Parsing key |
| * |
| * OUTPUTS: |
| * None. |
| * |
| * RETURNS: |
| * On success, the function returns MV_OK. |
| * On error returns error code accordingly. |
| *******************************************************************************/ |
| MV_STATUS cph_app_del_rule ( |
| CPH_APP_PARSE_FIELD_E parse_bm, |
| CPH_APP_PARSE_T *parse_key); |
| |
| /****************************************************************************** |
| * cph_app_update_rule() |
| * _____________________________________________________________________________ |
| * |
| * DESCRIPTION: Update CPH rule |
| * |
| * INPUTS: |
| * parse_bm - Parsing bitmap |
| * parse_key - Parsing key |
| * mod_bm - Modification bitmap |
| * mod_value - Modification value |
| * frwd_bm - Forwarding bitmap |
| * frwd_value - Forwarding value |
| * |
| * OUTPUTS: |
| * None. |
| * |
| * RETURNS: |
| * On success, the function returns MV_OK. |
| * On error returns error code accordingly. |
| *******************************************************************************/ |
| MV_STATUS cph_app_update_rule ( |
| CPH_APP_PARSE_FIELD_E parse_bm, |
| CPH_APP_PARSE_T *parse_key, |
| CPH_APP_MOD_FIELD_E mod_bm, |
| CPH_APP_MOD_T *mod_value, |
| CPH_APP_FRWD_FIELD_E frwd_bm, |
| CPH_APP_FRWD_T *frwd_value); |
| |
| /****************************************************************************** |
| * cph_app_get_rule() |
| * _____________________________________________________________________________ |
| * |
| * DESCRIPTION: Get CPH rule |
| * |
| * INPUTS: |
| * parse_bm - Parsing bitmap |
| * parse_key - Parsing key |
| * |
| * OUTPUTS: |
| * mod_bm - Modification bitmap |
| * mod_value - Modification value |
| * frwd_bm - Forwarding bitmap |
| * frwd_value - Forwarding value |
| * |
| * RETURNS: |
| * On success, the function returns MV_OK. |
| * On error returns error code accordingly. |
| *******************************************************************************/ |
| MV_STATUS cph_app_get_rule ( |
| CPH_APP_PARSE_FIELD_E parse_bm, |
| CPH_APP_PARSE_T *parse_key, |
| CPH_APP_MOD_FIELD_E *mod_bm, |
| CPH_APP_MOD_T *mod_value, |
| CPH_APP_FRWD_FIELD_E *frwd_bm, |
| CPH_APP_FRWD_T *frwd_value); |
| |
| /****************************************************************************** |
| * cph_app_get_rule_by_dir_proto() |
| * _____________________________________________________________________________ |
| * |
| * DESCRIPTION: Get CPH rule according to protocol type |
| * |
| * INPUTS: |
| * dir - Direction |
| * proto_type - SKB protocol type |
| * |
| * OUTPUTS: |
| * parse_bm - Parsing bitmap |
| * parse_key - Parsing key |
| * mod_bm - Modification bitmap |
| * mod_value - Modification value |
| * frwd_bm - Forwarding bitmap |
| * frwd_value - Forwarding value |
| * |
| * RETURNS: |
| * On success, the function returns MV_OK. |
| * On error returns error code accordingly. |
| *******************************************************************************/ |
| MV_STATUS cph_app_get_rule_by_dir_proto ( |
| CPH_DIR_E dir, |
| UINT16 proto_type, |
| CPH_APP_PARSE_FIELD_E *parse_bm, |
| CPH_APP_PARSE_T *parse_key, |
| CPH_APP_MOD_FIELD_E *mod_bm, |
| CPH_APP_MOD_T *mod_value, |
| CPH_APP_FRWD_FIELD_E *frwd_bm, |
| CPH_APP_FRWD_T *frwd_value); |
| |
| /****************************************************************************** |
| * cph_app_increase_counter() |
| * _____________________________________________________________________________ |
| * |
| * DESCRIPTION: Increase RX counter |
| * |
| * INPUTS: |
| * parse_bm - Parsing bitmap |
| * parse_key - Parsing key |
| * |
| * OUTPUTS: |
| * None. |
| * |
| * RETURNS: |
| * On success, the function returns MV_OK. |
| * On error returns error code accordingly. |
| *******************************************************************************/ |
| MV_STATUS cph_app_increase_counter ( |
| CPH_APP_PARSE_FIELD_E parse_bm, |
| CPH_APP_PARSE_T *parse_key); |
| |
| /****************************************************************************** |
| * cph_app_increase_counter_by_dir_proto() |
| * _____________________________________________________________________________ |
| * |
| * DESCRIPTION: Increase RX counter according to protocol type |
| * |
| * INPUTS: |
| * dir - Direction |
| * proto_type - SKB protocol type |
| * |
| * OUTPUTS: |
| * None. |
| * |
| * RETURNS: |
| * On success, the function returns MV_OK. |
| * On error returns error code accordingly. |
| *******************************************************************************/ |
| MV_STATUS cph_app_increase_counter_by_dir_proto ( |
| CPH_DIR_E dir, |
| UINT16 proto_type); |
| |
| /****************************************************************************** |
| * cph_app_parse_ge_port_type() |
| * _____________________________________________________________________________ |
| * |
| * DESCRIPTION: Get GEMAC port type by profile ID |
| * |
| * INPUTS: |
| * None. |
| * |
| * OUTPUTS: |
| * port_type - Modification bitmap |
| * |
| * RETURNS: |
| * On success, the function returns MV_OK. |
| * On error returns error code accordingly. |
| *******************************************************************************/ |
| MV_STATUS cph_app_parse_ge_port_type ( |
| CPH_PORT_STATE_T *port_type); |
| |
| /****************************************************************************** |
| * cph_app_parse_dir() |
| * _____________________________________________________________________________ |
| * |
| * DESCRIPTION: Parse application packet to output parse bitmap and value |
| * |
| * INPUTS: |
| * port - GE MAC port |
| * rx - Whether RX path |
| * |
| * OUTPUTS: |
| * None. |
| * |
| * RETURNS: |
| * Return direction. |
| *******************************************************************************/ |
| CPH_DIR_E cph_app_parse_dir ( |
| INT32 port, |
| BOOL rx); |
| |
| /****************************************************************************** |
| * cph_app_parse_packet() |
| * _____________________________________________________________________________ |
| * |
| * DESCRIPTION: Parse application packet to output parse bitmap and value |
| * |
| * INPUTS: |
| * port - GE MAC port |
| * skb_data - Pointer to SKB data holding application packet |
| * |
| * OUTPUTS: |
| * parse_bm - Parsing bitmap |
| * parse_key - Parsing key |
| * |
| * RETURNS: |
| * On success, the function returns MV_OK. |
| * On error returns error code accordingly. |
| *******************************************************************************/ |
| MV_STATUS cph_app_parse_packet ( |
| INT32 port, |
| UINT8 *skb_data, |
| CPH_APP_PARSE_FIELD_E *parse_bm, |
| CPH_APP_PARSE_T *parse_key); |
| |
| /****************************************************************************** |
| * cph_app_mod_rx_packet() |
| * _____________________________________________________________________________ |
| * |
| * DESCRIPTION: Modify RX application packet |
| * |
| * INPUTS: |
| * port - Gmac port the packet from |
| * dev - Net device |
| * skb - SKB buffer to receive packet |
| * rx_desc - RX descriptor |
| * mod_bm - Modification bitmap |
| * mod_value - Modification value |
| * |
| * OUTPUTS: |
| * None. |
| * |
| * RETURNS: |
| * On success, the function returns MV_OK. |
| * On error returns error code accordingly. |
| *******************************************************************************/ |
| MV_STATUS cph_app_mod_rx_packet ( |
| INT32 port, |
| struct net_device *dev, |
| struct sk_buff *skb, |
| struct neta_rx_desc *rx_desc, |
| CPH_APP_MOD_FIELD_E mod_bm, |
| CPH_APP_MOD_T *mod_value); |
| |
| /****************************************************************************** |
| * cph_app_mod_tx_packet() |
| * _____________________________________________________________________________ |
| * |
| * DESCRIPTION: Modify TX application packet |
| * |
| * INPUTS: |
| * skb - Pointer to SKB data hoding application packet |
| * tx_spec_out - TX descriptor |
| * mod_bm - Modification bitmap |
| * mod_value - Modification value |
| * |
| * OUTPUTS: |
| * None. |
| * |
| * RETURNS: |
| * On success, the function returns MV_OK. |
| * On error returns error code accordingly. |
| *******************************************************************************/ |
| MV_STATUS cph_app_mod_tx_packet ( |
| struct sk_buff *skb, |
| struct mv_eth_tx_spec *tx_spec_out, |
| CPH_APP_MOD_FIELD_E mod_bm, |
| CPH_APP_MOD_T *mod_value); |
| |
| /****************************************************************************** |
| * cph_app_set_frwd() |
| * _____________________________________________________________________________ |
| * |
| * DESCRIPTION: Set packet forwarding information |
| * |
| * INPUTS: |
| * skb - Pointer to SKB data hoding application packet |
| * tx_spec_out - TX descriptor |
| * frwd_bm - Forwarding bitmap |
| * frwd_value - Forwarding value |
| * |
| * OUTPUTS: |
| * None. |
| * |
| * RETURNS: |
| * On success, the function returns MV_OK. |
| * On error returns error code accordingly. |
| *******************************************************************************/ |
| MV_STATUS cph_app_set_frwd ( |
| struct sk_buff *skb, |
| struct mv_eth_tx_spec *tx_spec_out, |
| CPH_APP_FRWD_FIELD_E frwd_bm, |
| CPH_APP_FRWD_T *frwd_value); |
| |
| /****************************************************************************** |
| * cph_app_rx_bc() |
| * _____________________________________________________________________________ |
| * |
| * DESCRIPTION: CPH function to handle the received broadcast packets |
| * |
| * INPUTS: |
| * port - Gmac port the packet from |
| * dev - Net device |
| * pkt - Marvell packet information |
| * rx_desc - RX descriptor |
| * |
| * OUTPUTS: |
| * None. |
| * |
| * RETURNS: |
| * On success, the function returns 1. |
| * On error returns 0. |
| *******************************************************************************/ |
| INT32 cph_app_rx_bc(INT32 port, struct net_device *dev, struct eth_pbuf *pkt, struct neta_rx_desc *rx_desc); |
| |
| /****************************************************************************** |
| * cph_app_lookup_profile_id() |
| * |
| * DESCRIPTION:lookup profile ID string according to value |
| * |
| * INPUTS: |
| * enum_value - The enum value to be matched |
| * |
| * OUTPUTS: |
| * None |
| * |
| * RETURNS: |
| * Enum string |
| *******************************************************************************/ |
| CHAR *cph_app_lookup_profile_id(INT32 enum_value); |
| |
| /****************************************************************************** |
| * cph_app_lookup_pon_type() |
| * |
| * DESCRIPTION:lookup PON type string according to value |
| * |
| * INPUTS: |
| * enum_value - The enum value to be matched |
| * |
| * OUTPUTS: |
| * None |
| * |
| * RETURNS: |
| * Enum string |
| *******************************************************************************/ |
| CHAR *cph_app_lookup_pon_type(INT32 enum_value); |
| |
| /****************************************************************************** |
| * cph_app_lookup_dir() |
| * |
| * DESCRIPTION:lookup direction string according to value |
| * |
| * INPUTS: |
| * enum_value - The enum value to be matched |
| * |
| * OUTPUTS: |
| * None |
| * |
| * RETURNS: |
| * Enum string |
| *******************************************************************************/ |
| CHAR *cph_app_lookup_dir(INT32 enum_value); |
| |
| /****************************************************************************** |
| * cph_app_lookup_rx_tx() |
| * _____________________________________________________________________________ |
| * |
| * DESCRIPTION:lookup RX/TX direction string according to value |
| * |
| * INPUTS: |
| * enum_value - The enum value to be matched |
| * |
| * OUTPUTS: |
| * None |
| * |
| * RETURNS: |
| * Enum string |
| *******************************************************************************/ |
| CHAR *cph_app_lookup_rx_tx(INT32 enum_value); |
| |
| /****************************************************************************** |
| * cph_app_lookup_gmac() |
| * _____________________________________________________________________________ |
| * |
| * DESCRIPTION:lookup GMAC string according to value |
| * |
| * INPUTS: |
| * enum_value - The enum value to be matched |
| * |
| * OUTPUTS: |
| * None |
| * |
| * RETURNS: |
| * Enum string |
| *******************************************************************************/ |
| CHAR *cph_app_lookup_gmac(INT32 enum_value); |
| |
| /****************************************************************************** |
| * cph_app_init() |
| * _____________________________________________________________________________ |
| * |
| * DESCRIPTION: Initializes CPH application module. |
| * |
| * INPUTS: |
| * None. |
| * |
| * OUTPUTS: |
| * None. |
| * |
| * RETURNS: |
| * On success, the function returns MV_OK. |
| * On error returns error code accordingly. |
| *******************************************************************************/ |
| INT32 cph_app_init(VOID); |
| |
| /****************************************************************************** |
| * cph_set_trace_flag() |
| * _____________________________________________________________________________ |
| * |
| * DESCRIPTION:sets cph trace flag. |
| * |
| * INPUTS: |
| * enum_value - The enum value to be matched |
| * |
| * OUTPUTS: |
| * None |
| * |
| * RETURNS: |
| * On success, the function returns MV_OK. |
| * On error returns error code accordingly. |
| *******************************************************************************/ |
| MV_STATUS cph_set_trace_flag(UINT32 flag); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* _MV_CPH_APP_H_ */ |