X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=control%2Ftypes.go;fp=control%2Ftypes.go;h=c6fef1438ea14226bf098988411e38b3a8862e49;hb=4a8b4de538cb766095326da4a628b5cc01b8c8e7;hp=0000000000000000000000000000000000000000;hpb=6d8c1c849ae686692bcb3efb46b928d75ee8cf0a;p=scp%2Fric-app%2Fkpimon.git diff --git a/control/types.go b/control/types.go new file mode 100644 index 0000000..c6fef14 --- /dev/null +++ b/control/types.go @@ -0,0 +1,374 @@ +package control + +const MAX_SUBSCRIPTION_ATTEMPTS = 100 + +type DecodedIndicationMessage struct { + RequestID int32 + RequestSequenceNumber int32 + FuncID int32 + ActionID int32 + IndSN int32 + IndType int32 + IndHeader []byte + IndHeaderLength int32 + IndMessage []byte + IndMessageLength int32 + CallProcessID []byte + CallProcessIDLength int32 +} + +type CauseItemType struct { + CauseType int32 + CauseID int32 +} + +type ActionAdmittedListType struct { + ActionID [16]int32 + Count int +} + +type ActionNotAdmittedListType struct { + ActionID [16]int32 + Cause [16]CauseItemType + Count int +} + +type DecodedSubscriptionResponseMessage struct { + RequestID int32 + RequestSequenceNumber int32 + FuncID int32 + ActionAdmittedList ActionAdmittedListType + ActionNotAdmittedList ActionNotAdmittedListType +} + +type IntPair64 struct { + DL int64 + UL int64 +} + +type OctetString struct { + Buf []byte + Size int +} + +type Integer OctetString + +type PrintableString OctetString + +type ActionDefinition OctetString + +type BitString struct { + Buf []byte + Size int + BitsUnused int +} + +type SubsequentAction struct { + IsValid int + SubsequentActionType int64 + TimeToWait int64 +} + +type GNBID BitString + +type GlobalgNBIDType struct { + PlmnID OctetString + GnbIDType int + GnbID interface{} +} + +type GlobalKPMnodegNBIDType struct { + GlobalgNBID GlobalgNBIDType + GnbCUUPID *Integer + GnbDUID *Integer +} + +type ENGNBID BitString + +type GlobalKPMnodeengNBIDType struct { + PlmnID OctetString + GnbIDType int + GnbID interface{} +} + +type NGENBID_Macro BitString + +type NGENBID_ShortMacro BitString + +type NGENBID_LongMacro BitString + +type GlobalKPMnodengeNBIDType struct { + PlmnID OctetString + EnbIDType int + EnbID interface{} +} + +type ENBID_Macro BitString + +type ENBID_Home BitString + +type ENBID_ShortMacro BitString + +type ENBID_LongMacro BitString + +type GlobalKPMnodeeNBIDType struct { + PlmnID OctetString + EnbIDType int + EnbID interface{} +} + +type NRCGIType struct { + PlmnID OctetString + NRCellID BitString +} + +type SliceIDType struct { + SST OctetString + SD *OctetString +} + +type GNB_DU_Name PrintableString + +type GNB_CU_CP_Name PrintableString + +type GNB_CU_UP_Name PrintableString + +type IndicationHeaderFormat1 struct { + GlobalKPMnodeIDType int32 + GlobalKPMnodeID interface{} + NRCGI *NRCGIType + PlmnID *OctetString + SliceID *SliceIDType + FiveQI int64 + Qci int64 + UeMessageType int32 + GnbDUID *Integer + GnbNameType int32 + GnbName interface{} + GlobalgNBID *GlobalgNBIDType +} + +type IndicationHeader struct { + IndHdrType int32 + IndHdr interface{} +} + +type FQIPERSlicesPerPlmnPerCellType struct { + FiveQI int64 + PrbUsage IntPair64 +} + +type SlicePerPlmnPerCellType struct { + SliceID SliceIDType + FQIPERSlicesPerPlmnPerCells [64]FQIPERSlicesPerPlmnPerCellType + FQIPERSlicesPerPlmnPerCellCount int +} + +type DUPM5GCContainerType struct { + SlicePerPlmnPerCells [1024]SlicePerPlmnPerCellType + SlicePerPlmnPerCellCount int +} + +type DUPMEPCPerQCIReportType struct { + QCI int64 + PrbUsage IntPair64 +} + +type DUPMEPCContainerType struct { + PerQCIReports [256]DUPMEPCPerQCIReportType + PerQCIReportCount int +} + +type ServedPlmnPerCellType struct { + PlmnID OctetString + DUPM5GC *DUPM5GCContainerType + DUPMEPC *DUPMEPCContainerType +} + +type CellResourceReportType struct { + NRCGI NRCGIType + TotalofAvailablePRBs IntPair64 + ServedPlmnPerCells [12]ServedPlmnPerCellType + ServedPlmnPerCellCount int +} + +type ODUPFContainerType struct { + CellResourceReports [512]CellResourceReportType + CellResourceReportCount int +} + +type CUCPResourceStatusType struct { + NumberOfActiveUEs int64 +} + +type OCUCPPFContainerType struct { + GNBCUCPName *PrintableString + CUCPResourceStatus CUCPResourceStatusType +} + +type FQIPERSlicesPerPlmnType struct { + FiveQI int64 + PDCPBytesDL *Integer + PDCPBytesUL *Integer +} + +type SliceToReportType struct { + SliceID SliceIDType + FQIPERSlicesPerPlmns [64]FQIPERSlicesPerPlmnType + FQIPERSlicesPerPlmnCount int +} + +type CUUPPM5GCType struct { + SliceToReports [1024]SliceToReportType + SliceToReportCount int +} + +type CUUPPMEPCPerQCIReportType struct { + QCI int64 + PDCPBytesDL *Integer + PDCPBytesUL *Integer +} + +type CUUPPMEPCType struct { + CUUPPMEPCPerQCIReports [256]CUUPPMEPCPerQCIReportType + CUUPPMEPCPerQCIReportCount int +} + +type CUUPPlmnType struct { + PlmnID OctetString + CUUPPM5GC *CUUPPM5GCType + CUUPPMEPC *CUUPPMEPCType +} + +type CUUPMeasurementContainerType struct { + CUUPPlmns [12]CUUPPlmnType + CUUPPlmnCount int +} + +type CUUPPFContainerItemType struct { + InterfaceType int64 + OCUUPPMContainer CUUPMeasurementContainerType +} + +type OCUUPPFContainerType struct { + GNBCUUPName *PrintableString + CUUPPFContainerItems [3]CUUPPFContainerItemType + CUUPPFContainerItemCount int +} + +type DUUsageReportUeResourceReportItemType struct { + CRNTI Integer + PRBUsageDL int64 + PRBUsageUL int64 +} + +type DUUsageReportCellResourceReportItemType struct { + NRCGI NRCGIType + UeResourceReportItems [32]DUUsageReportUeResourceReportItemType + UeResourceReportItemCount int +} + +type DUUsageReportType struct { + CellResourceReportItems [512]DUUsageReportCellResourceReportItemType + CellResourceReportItemCount int +} + +type CUCPUsageReportUeResourceReportItemType struct { + CRNTI Integer + ServingCellRF *OctetString + NeighborCellRF *OctetString +} + +type CUCPUsageReportCellResourceReportItemType struct { + NRCGI NRCGIType + UeResourceReportItems [32]CUCPUsageReportUeResourceReportItemType + UeResourceReportItemCount int +} + +type CUCPUsageReportType struct { + CellResourceReportItems [16384]CUCPUsageReportCellResourceReportItemType + CellResourceReportItemCount int +} + +type CUUPUsageReportUeResourceReportItemType struct { + CRNTI Integer + PDCPBytesDL *Integer + PDCPBytesUL *Integer +} + +type CUUPUsageReportCellResourceReportItemType struct { + NRCGI NRCGIType + UeResourceReportItems [32]CUUPUsageReportUeResourceReportItemType + UeResourceReportItemCount int +} + +type CUUPUsageReportType struct { + CellResourceReportItems [512]CUUPUsageReportCellResourceReportItemType + CellResourceReportItemCount int +} + +type PFContainerType struct { + ContainerType int32 + Container interface{} +} + +type RANContainerType struct { + Timestamp OctetString + ContainerType int32 + Container interface{} +} + +type PMContainerType struct { + PFContainer *PFContainerType + RANContainer *RANContainerType +} + +type IndicationMessageFormat1 struct { + PMContainers [8]PMContainerType + PMContainerCount int +} + +type IndicationMessage struct { + StyleType int64 + IndMsgType int32 + IndMsg interface{} +} + +type Timestamp struct { + TVsec int64 `json:"tv_sec"` + TVnsec int64 `json:"tv_nsec"` +} + +type CellMetricsEntry struct { + MeasTimestampPDCPBytes Timestamp `json:"Meas-Timestamp-PDCP-Bytes"` + PDCPBytesDL int64 `json:"PDCP-Bytes-DL"` + PDCPBytesUL int64 `json:"PDCP-Bytes-UL"` + MeasTimestampPRB Timestamp `json:"Meas-Timestamp-PRB"` + AvailPRBDL int64 `json:"Avail-PRB-DL"` + AvailPRBUL int64 `json:"Avail-PRB-UL"` +} + +type CellRFType struct { + RSRP int `json:"rsrp"` + RSRQ int `json:"rsrq"` + RSSINR int `json:"rsSinr"` +} + +type NeighborCellRFType struct { + CellID string `json:"CID"` + CellRF CellRFType `json:"Cell-RF"` +} + +type UeMetricsEntry struct { + UeID string `json:"UE ID"` + ServingCellID string `json:"Serving Cell ID"` + MeasTimestampPDCPBytes Timestamp `json:"Meas-Timestamp-PDCP-Bytes"` + PDCPBytesDL int64 `json:"PDCP-Bytes-DL"` + PDCPBytesUL int64 `json:"PDCP-Bytes-UL"` + MeasTimestampPRB Timestamp `json:"Meas-Timestamp-PRB"` + PRBUsageDL int64 `json:"PRB-Usage-DL"` + PRBUsageUL int64 `json:"PRB-Usage-UL"` + MeasTimeRF Timestamp `json:"Meas-Time-RF"` + ServingCellRF CellRFType `json:"Serving-Cell-RF"` + NeighborCellsRF []NeighborCellRFType `json:"Neighbor-Cell-RF"` +}