#ifndef _MGC_PHY_PORT_H
#define _MGC_PHY_PORT_H
#include "mgc_struct.h"


void mgc_phy_port_setup(void);
void mgc_phy_port_init(PHY_PORT_INFO *pPhyPort , int id);
void mgc_phy_port_clear(PHY_PORT_INFO *pPhyPort);
PHY_PORT_INFO *mgc_phy_port_get_unused_phy(void);
PHY_PORT_INFO *mgc_phy_port_find_port_of_mg(MG_INFO *pMgInfo , int portNo);
PHY_PORT_INFO *mgc_phy_port_find_port_of_mg_by_index(MG_INFO *pMgInfo , int index);
void mgc_phy_port_set_chnl_num(PHY_PORT_INFO *pPhyPort , MGC_PHY_PORT_TYPE portType);
BOOL mgc_phy_port_attach_chnl(PHY_PORT_INFO *pPhyPort);
void mgc_phy_port_update_status(PHY_PORT_INFO *pPhyPort , BOOL status);


CHNL_INFO *mgc_phy_port_find_idle_chnl(PHY_PORT_INFO *pPhyPort);
CONNECT_INFO *mgc_phy_port_assign_idle_connection(PHY_PORT_INFO *pPhyPort);
void mgc_phy_port_set_mon(int id, BOOL enalbe);
BYTE *mgc_phy_port_get_res_addr(void);

void mgc_phy_port_print(PHY_PORT_INFO *pPhyPort);

#endif
