/* ********************************************************************************* * * * NOTICE: * * * ********************************************************************************* */ /********************************************************************************* * * This file contain global variable control * * Author Date * ------ ------ * Sam Yao Aug 2008 *********************************************************************************/ /*-----------------------------------------------------------------------*/ /* INCLUDE HEADER FILES */ /*-----------------------------------------------------------------------*/ #include "./include/mgc_ctl.h" MGC_CTL mgcCtl; void mgc_ctl_num_init(WORD sysId , WORD localIp , WORD peerIp) { MGC_CTL *pMgcCtl = NULL; pMgcCtl = &mgcCtl; pMgcCtl->mgcChlAssigned = 0; pMgcCtl->mgcMgCreated = 0; pMgcCtl->mgcMaxChlNo = MGC_MAX_NUM_OF_CHNL; pMgcCtl->mgcMaxMgNo = MGC_MAX_NUM_OF_MG; pMgcCtl->sysId = sysId; pMgcCtl->localIp = localIp; pMgcCtl->peerIp = peerIp; return; } BOOL mgc_ctl_is_mg_full(void) { MGC_CTL *pMgcCtl = NULL; pMgcCtl = &mgcCtl; if((pMgcCtl->mgcMgCreated + 1) > pMgcCtl->mgcMaxMgNo) return TRUE; return FALSE; } void mgc_ctl_mg_add_one(void) { MGC_CTL *pMgcCtl = NULL; pMgcCtl = &mgcCtl; pMgcCtl->mgcMgCreated++; return; } void mgc_ctl_mg_remove_one(void) { MGC_CTL *pMgcCtl = NULL; pMgcCtl = &mgcCtl; pMgcCtl->mgcMgCreated--; return; } BOOL mgc_ctl_is_chnl_full(void) { MGC_CTL *pMgcCtl = NULL; pMgcCtl = &mgcCtl; if((pMgcCtl->mgcChlAssigned+ 1) > pMgcCtl->mgcMaxChlNo) return TRUE; return FALSE; } void mgc_ctl_chnl_add_one(void) { MGC_CTL *pMgcCtl = NULL; pMgcCtl = &mgcCtl; pMgcCtl->mgcChlAssigned++; return; } void mgc_ctl_chnl_remove_one(void) { MGC_CTL *pMgcCtl = NULL; pMgcCtl = &mgcCtl; pMgcCtl->mgcChlAssigned--; return; } int mgc_ctl_set_mg_max_num(int num) { MGC_CTL *pMgcCtl = NULL; pMgcCtl = &mgcCtl; if((num <= 0)||(num>MGC_MAX_NUM_OF_MG)) return -1; pMgcCtl->mgcMaxMgNo = num; return num; } int mgc_ctl_set_chnl_max_num(int num) { MGC_CTL *pMgcCtl = NULL; pMgcCtl = &mgcCtl; if((num <= 0)||( num > MGC_MAX_NUM_OF_CHNL)) return -1; pMgcCtl->mgcMaxChlNo = num; return num; } #ifdef MGC_TEST_ENABLE int mgc_ctl_chnl_num(void) { MGC_CTL *pMgcCtl; pMgcCtl = &mgcCtl; return pMgcCtl->mgcChlAssigned; } int mgc_ctl_mg_num(void) { MGC_CTL *pMgcCtl; pMgcCtl = &mgcCtl; return pMgcCtl->mgcMgCreated; } #endif