- while(true)
- {
- DU_LOG("\nF1AP : Building DU config update\n");
- /* Allocate the memory for F1DuCfg */
- DU_ALLOC(f1apDuCfg, sizeof(F1AP_PDU_t));
- if(f1apDuCfg == NULLP)
- {
- DU_LOG("\nF1AP : Memory allocation for F1AP-PDU failed");
- break;
- }
-
- f1apDuCfg->present = F1AP_PDU_PR_initiatingMessage;
- DU_ALLOC(f1apDuCfg->choice.initiatingMessage,sizeof(InitiatingMessage_t));
- if(f1apDuCfg->choice.initiatingMessage == NULLP)
- {
- DU_LOG("\nF1AP : Memory allocation for F1AP-PDU failed");
- break;
- }
-
- f1apDuCfg->choice.initiatingMessage->procedureCode = \
- ProcedureCode_id_gNBDUConfigurationUpdate;
- f1apDuCfg->choice.initiatingMessage->criticality = Criticality_reject;
- f1apDuCfg->choice.initiatingMessage->value.present = \
- InitiatingMessage__value_PR_GNBDUConfigurationUpdate;
- duCfgUpdate = &f1apDuCfg->choice.initiatingMessage->value.\
- choice.GNBDUConfigurationUpdate;
- elementCnt = 3;
- duCfgUpdate->protocolIEs.list.count = elementCnt;
- duCfgUpdate->protocolIEs.list.size = \
- elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t*);
-
- /* Initialize the F1Setup members */
- DU_ALLOC(duCfgUpdate->protocolIEs.list.array,duCfgUpdate->protocolIEs.list.size);
- if(duCfgUpdate->protocolIEs.list.array == NULLP)
- {
- DU_LOG("F1AP : Memory allocation for F1RequestIEs failed");
- break;
- }
- for(idx=0;idx<elementCnt;idx++)
- {
- DU_ALLOC(duCfgUpdate->protocolIEs.list.array[idx],sizeof(GNBDUConfigurationUpdateIEs_t));
- if(duCfgUpdate->protocolIEs.list.array[idx] == NULLP)
- {
- break;
- }
- }
-
- /*TransactionID*/
- idx1 = 0;
- duCfgUpdate->protocolIEs.list.array[idx1]->id=ProtocolIE_ID_id_TransactionID;
- duCfgUpdate->protocolIEs.list.array[idx1]->criticality= Criticality_reject;
- duCfgUpdate->protocolIEs.list.array[idx1]->value.present = \
- GNBDUConfigurationUpdateIEs__value_PR_TransactionID;
- duCfgUpdate->protocolIEs.list.array[idx1]->value.choice.TransactionID = \
- TRANS_ID;
-
- /*Served Cell to Modify */
- idx1++;
- duCfgUpdate->protocolIEs.list.array[idx1]->id = \
- ProtocolIE_ID_id_Served_Cells_To_Modify_List;
- duCfgUpdate->protocolIEs.list.array[idx1]->criticality =Criticality_reject;
- duCfgUpdate->protocolIEs.list.array[idx1]->value.present = \
- GNBDUConfigurationUpdateIEs__value_PR_Served_Cells_To_Modify_List;
- cellsToModify = &duCfgUpdate->protocolIEs.list.array[idx1]->value.choice.\
- Served_Cells_To_Modify_List;
- modifyCnt = 1;
- cellsToModify->list.count = modifyCnt;
- cellsToModify->list.size = \
- modifyCnt*sizeof(Served_Cells_To_Modify_ItemIEs_t *);
- DU_ALLOC(cellsToModify->list.array,cellsToModify->list.size);
- if(cellsToModify->list.array == NULLP)
- {
- break;
- }
- for(idy=0; idy<modifyCnt ;idy++)
- {
- DU_ALLOC(cellsToModify->list.array[idy],sizeof(\
- Served_Cells_To_Modify_ItemIEs_t));
- if(cellsToModify->list.array[idy] == NULLP)
- {
- break;
- }
- }
- cellsToModify->list.array[0]->id = \
- ProtocolIE_ID_id_Served_Cells_To_Modify_Item;
- cellsToModify->list.array[0]->criticality = Criticality_reject;
- cellsToModify->list.array[0]->value.present =\
- Served_Cells_To_Modify_ItemIEs__value_PR_Served_Cells_To_Modify_Item;
- modifyItem=&cellsToModify->list.array[0]->value.choice.\
- Served_Cells_To_Modify_Item;
-
- /*pLMN_Identity*/
- modifyItem->oldNRCGI.pLMN_Identity.size = 3*sizeof(uint8_t);
- DU_ALLOC(modifyItem->oldNRCGI.pLMN_Identity.buf,modifyItem->oldNRCGI.pLMN_Identity.size);
- if(modifyItem->oldNRCGI.pLMN_Identity.buf == NULLP)
- {
- break;
- }
- buildPlmnId(duCfgParam.srvdCellLst[0].duCellInfo.cellInfo.nrCgi.plmn,\
- &modifyItem->oldNRCGI.pLMN_Identity);
-
- /*nRCellIdentity*/
- modifyItem->oldNRCGI.nRCellIdentity.size = 5*sizeof(uint8_t);
- DU_ALLOC(modifyItem->oldNRCGI.nRCellIdentity.buf,\
- modifyItem->oldNRCGI.nRCellIdentity.size);
- if(modifyItem->oldNRCGI.nRCellIdentity.buf == NULLP)
- {
- break;
- }
- for (int tmp = 0;tmp < modifyItem->oldNRCGI.nRCellIdentity.size-1;tmp++)
- {
- modifyItem->oldNRCGI.nRCellIdentity.buf[tmp] = 0;
- }
- modifyItem->oldNRCGI.nRCellIdentity.buf[4] = 16;
- modifyItem->oldNRCGI.nRCellIdentity.bits_unused = 4;
- /*pLMN_Identity*/
- /*nRCGI*/
- modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.size =3*sizeof(uint8_t);
- DU_ALLOC(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
- modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.size);
- if(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf == NULLP)
- {
- break;
- }
- buildPlmnId(duCfgParam.srvdCellLst[0].duCellInfo.cellInfo.nrCgi.plmn,\
- &modifyItem->served_Cell_Information.nRCGI.pLMN_Identity);
- modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.size =5*sizeof(uint8_t);
- DU_ALLOC(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
- modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.size);
- if(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf == NULLP)
- {
- break;
- }
- for (int tmp = 0 ; tmp < modifyItem->served_Cell_Information.\
- nRCGI.nRCellIdentity.size-1 ; tmp++)
- {
- modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf[tmp] = 0;
- }
- modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf[4] = 16;
- modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.bits_unused =4;
- /*nRPCI*/
- modifyItem->served_Cell_Information.nRPCI = \
- duCfgParam.srvdCellLst[0].duCellInfo.cellInfo.nrPci;
- /*servedPLMNs*/
- servPlmnCnt = 1;
- modifyItem->served_Cell_Information.servedPLMNs.list.count = servPlmnCnt;
- modifyItem->served_Cell_Information.servedPLMNs.list.size = \
- servPlmnCnt*sizeof(ServedPLMNs_Item_t *);
- DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.array,\
- modifyItem->served_Cell_Information.servedPLMNs.list.size);
- if(modifyItem->served_Cell_Information.servedPLMNs.list.array == NULLP)
- {
- break;
- }
- for(idy1=0;idy1<servPlmnCnt;idy1++)
- {
- DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.array[idy1],\
- sizeof(ServedPLMNs_Item_t));
- if(modifyItem->served_Cell_Information.servedPLMNs.list.array[idy1]== NULLP)
- {
- break;
- }
- }
- modifyItem->served_Cell_Information.servedPLMNs.list.\
- array[0]->pLMN_Identity.size = 3*sizeof(uint8_t);
- DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.\
- array[0]->pLMN_Identity.buf,modifyItem->served_Cell_Information.servedPLMNs.list.\
- array[0]->pLMN_Identity.size);
- if(modifyItem->served_Cell_Information.servedPLMNs.list.\
- array[0]->pLMN_Identity.buf == NULLP)
- {
- break;
- }
- buildPlmnId(duCfgParam.srvdCellLst[0].duCellInfo.cellInfo.plmn[0],\
- &modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->pLMN_Identity);
- DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.\
- array[0]->iE_Extensions,sizeof(ProtocolExtensionContainer_4624P3_t));
- if(modifyItem->served_Cell_Information.servedPLMNs.list.\
- array[0]->iE_Extensions == NULLP)
- {
- break;
- }
- extensionCnt=1;
- modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.count = extensionCnt;
- modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.size = extensionCnt *sizeof(ServedPLMNs_ItemExtIEs_t *);
- DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.\
- array[0]->iE_Extensions->list.array,modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.size);
- if(modifyItem->served_Cell_Information.servedPLMNs.list.\
- array[0]->iE_Extensions->list.array == NULLP)
- {
- break;
- }
- for(idy2=0;idy2<extensionCnt;idy2++)
- {
- DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.\
- array[0]->iE_Extensions->list.array[idy2],\
- sizeof(ServedPLMNs_ItemExtIEs_t));
- if(modifyItem->served_Cell_Information.servedPLMNs.list.\
- array[0]->iE_Extensions->list.array[idy2] == NULLP)
- {
- break;
- }
- }
- modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->id =ProtocolIE_ID_id_TAISliceSupportList;
- modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->criticality = Criticality_ignore;
- modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->extensionValue.present = \
- ServedPLMNs_ItemExtIEs__extensionValue_PR_SliceSupportList;
- modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
- list.count = 1;
- modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
- list.size = sizeof(SliceSupportItem_t *);
- DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
- list.array,modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.list.size);
- if(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
- list.array == NULLP)
- {
- break;
- }
-
- DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
- list.array[0],sizeof( SliceSupportItem_t));
- if(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
- list.array[0] == NULLP)
- {
- break;
- }
- modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
- list.array[0]->sNSSAI.sST.size = sizeof(uint8_t);
- DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
- list.array[0]->sNSSAI.sST.buf,modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.list.array[0]->sNSSAI.sST.size);
- if(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
- list.array[0]->sNSSAI.sST.buf == NULLP)
- {
- break;
- }
- modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
- list.array[0]->sNSSAI.sST.buf[0] = 3;
- DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
- list.array[0]->sNSSAI.sD,sizeof(OCTET_STRING_t));
- if(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
- list.array[0]->sNSSAI.sD == NULLP)
- {
- break;
- }
- modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
- list.array[0]->sNSSAI.sD->size = 3*sizeof(uint8_t);
- DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
- list.array[0]->sNSSAI.sD->buf,modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
- list.array[0]->sNSSAI.sD->size);
- if(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
- list.array[0]->sNSSAI.sD->buf == NULLP)
- {
- break;
- }
- modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
- list.array[0]->sNSSAI.sD->buf[0] = 3;
- modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
- list.array[0]->sNSSAI.sD->buf[1] = 6;
- modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
- iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
- list.array[0]->sNSSAI.sD->buf[2] = 9;
-
- /*nR Mode Info with FDD*/
- modifyItem->served_Cell_Information.nR_Mode_Info.present = \
- NR_Mode_Info_PR_fDD;
- DU_ALLOC(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD,\
- sizeof(FDD_Info_t));
- if(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD == NULLP)
- {
- break;
- }
- modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
- uL_NRFreqInfo.nRARFCN = duCfgParam.srvdCellLst[0].duCellInfo.\
- f1Mode.mode.fdd.ulNrFreqInfo.nrArfcn;
- modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
- uL_NRFreqInfo.freqBandListNr.list.count = 1;
- modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
- uL_NRFreqInfo.freqBandListNr.list.size = sizeof(FreqBandNrItem_t*);
- DU_ALLOC(modifyItem->served_Cell_Information.nR_Mode_Info.choice.\
- fDD->uL_NRFreqInfo.freqBandListNr.list.\
- array, modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
- uL_NRFreqInfo.freqBandListNr.list.size);
- if(modifyItem->served_Cell_Information.nR_Mode_Info.choice.\
- fDD->uL_NRFreqInfo.freqBandListNr.list.array == NULLP)
- {
- break;
- }
- DU_ALLOC(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
- uL_NRFreqInfo.freqBandListNr.list.array[0],sizeof(FreqBandNrItem_t));
- if(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->
- uL_NRFreqInfo.freqBandListNr.list.array[0] == NULLP)
- {
- break;
- }
- modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->uL_NRFreqInfo.\
- freqBandListNr.list.array[0]->freqBandIndicatorNr = \
- duCfgParam.srvdCellLst[0].duCellInfo.f1Mode.mode.fdd.ulNrFreqInfo.\
- freqBand[0].nrFreqBand;
- modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->uL_NRFreqInfo.\
- freqBandListNr.list.array[0]->supportedSULBandList.list.count=0;
- modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->dL_NRFreqInfo.\
- nRARFCN = duCfgParam.srvdCellLst[0].duCellInfo.f1Mode.mode.fdd.\
- dlNrFreqInfo.nrArfcn;
- modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->dL_NRFreqInfo.\
- freqBandListNr.list.count = 1;
- modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->dL_NRFreqInfo.\
- freqBandListNr.list.size = sizeof(FreqBandNrItem_t *);
- DU_ALLOC(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
- dL_NRFreqInfo.freqBandListNr.list.array,modifyItem->served_Cell_Information.nR_Mode_Info.\
- choice.fDD->dL_NRFreqInfo.freqBandListNr.list.size);
- if(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
- dL_NRFreqInfo.freqBandListNr.list.array == NULLP)
- {
- break;
- }
- DU_ALLOC(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
- dL_NRFreqInfo.freqBandListNr.list.array[0],\
- sizeof(FreqBandNrItem_t));
- if(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
- dL_NRFreqInfo.freqBandListNr.list.array[0] == NULLP)
- {
- break;
- }
- modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->dL_NRFreqInfo.\
- freqBandListNr.list.array[0]->freqBandIndicatorNr = \
- duCfgParam.srvdCellLst[0].duCellInfo.f1Mode.mode.fdd.dlNrFreqInfo.\
- freqBand[0].nrFreqBand;
- modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->dL_NRFreqInfo.\
- freqBandListNr.list.array[0]->supportedSULBandList.list.count=0;
-
- /*Transmission Bandwidth*/
- modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
- uL_Transmission_Bandwidth.nRSCS = duCfgParam.srvdCellLst[0].duCellInfo.\
- f1Mode.mode.fdd.ulTxBw.nrScs;
- modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
- uL_Transmission_Bandwidth.nRNRB = duCfgParam.srvdCellLst[0].duCellInfo.\
- f1Mode.mode.fdd.ulTxBw.nrb;
- modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
- dL_Transmission_Bandwidth.nRSCS = duCfgParam.srvdCellLst[0].duCellInfo.\
- f1Mode.mode.fdd.dlTxBw.nrScs;
- modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
- dL_Transmission_Bandwidth.nRNRB = duCfgParam.srvdCellLst[0].duCellInfo.\
- f1Mode.mode.fdd.dlTxBw.nrb;
- /*Measurement timing Config*/
- modifyItem->served_Cell_Information.measurementTimingConfiguration.size = \
- sizeof(uint8_t);
- DU_ALLOC(modifyItem->served_Cell_Information.measurementTimingConfiguration.\
- buf,modifyItem->served_Cell_Information.measurementTimingConfiguration.size);
- if(modifyItem->served_Cell_Information.measurementTimingConfiguration.buf == NULLP)
- {
- break;
- }
- modifyItem->served_Cell_Information.measurementTimingConfiguration.\
- buf[0] = duCfgParam.srvdCellLst[0].duCellInfo.measTimeCfg;
-
- // NOTE :GNB DU SYS INFO:MIB AND SIB1 INFORMATION TO BE BUILT AND FILLED HERE
- /*GNB DU ID */
- idx1++;
- duCfgUpdate->protocolIEs.list.array[idx1]->id = ProtocolIE_ID_id_gNB_DU_ID;
- duCfgUpdate->protocolIEs.list.array[idx1]->criticality = Criticality_reject;
- duCfgUpdate->protocolIEs.list.array[idx1]->value.present = \
- GNBDUConfigurationUpdateIEs__value_PR_GNB_DU_ID;
- duCfgUpdate->protocolIEs.list.array[idx1]->value.choice.GNB_DU_ID.size = \
- sizeof(uint8_t);
- DU_ALLOC(duCfgUpdate->protocolIEs.list.array[idx1]->value.choice.GNB_DU_ID.buf,\
- duCfgUpdate->protocolIEs.list.array[idx1]->value.choice.GNB_DU_ID.size);
- if(duCfgUpdate->protocolIEs.list.array[idx1]->value.choice.GNB_DU_ID.buf == NULLP)
- {
- break;
- }
- duCfgUpdate->protocolIEs.list.array[idx1]->value.choice.GNB_DU_ID.buf[0] = \
- duCfgParam.duId;
-
- xer_fprint(stdout, &asn_DEF_F1AP_PDU, f1apDuCfg);
-
- /* Encode the DU Config Update type as APER */
- memset((uint8_t *)encBuf, 0, ENC_BUF_MAX_LEN);
- encBufSize = 0;
- encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apDuCfg, PrepFinalEncBuf, encBuf);
-
- /* Checking encode results */
- if(encRetVal.encoded == ENCODE_FAIL)
- {
- DU_LOG("F1AP : Could not encode DUConfigUpdate structure (at %s)\n",encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
- break;
- }
- else
- {
- DU_LOG("\nF1AP : Created APER encoded buffer for DUConfigUpdate\n");
- for(i=0; i< encBufSize; i++)
- {
- printf("%x",encBuf[i]);
- }
- }
- /* Sending msg */
- if(SendF1APMsg(DU_APP_MEM_REGION, DU_POOL) != ROK)
- {
- DU_LOG("\nF1AP : Sending GND-DU Config Update failed");
- break;
- }
-
- ret = ROK;
- break;