Updating a set of supported NR metrics
[ric-app/mc.git] / mc-core / mc / local_datasource / ricgeomessages_pcmdreport.pb-c.h
diff --git a/mc-core/mc/local_datasource/ricgeomessages_pcmdreport.pb-c.h b/mc-core/mc/local_datasource/ricgeomessages_pcmdreport.pb-c.h
new file mode 100644 (file)
index 0000000..b9ea945
--- /dev/null
@@ -0,0 +1,866 @@
+/* Generated by the protocol buffer compiler.  DO NOT EDIT! */
+/* Generated from: ricgeomessages_pcmdreport.proto */
+
+#ifndef PROTOBUF_C_ricgeomessages_5fpcmdreport_2eproto__INCLUDED
+#define PROTOBUF_C_ricgeomessages_5fpcmdreport_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003002 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _PcmdReport PcmdReport;
+typedef struct _PcmdReport__TpUlRadioBearerRlcThroughputRecord PcmdReport__TpUlRadioBearerRlcThroughputRecord;
+typedef struct _PcmdReport__TpDlRadioBearerRlcThroughputRecord PcmdReport__TpDlRadioBearerRlcThroughputRecord;
+typedef struct _PcmdReport__TpDlRadioBearerPdcpThroughputRecord PcmdReport__TpDlRadioBearerPdcpThroughputRecord;
+typedef struct _PcmdReport__StartRecordingSession PcmdReport__StartRecordingSession;
+typedef struct _PcmdReport__StopRecordingSession PcmdReport__StopRecordingSession;
+typedef struct _PcmdReport__SessionInfo PcmdReport__SessionInfo;
+typedef struct _PcmdReport__TpCaRlcThroughputTrace PcmdReport__TpCaRlcThroughputTrace;
+typedef struct _PcmdReport__TpDlRadioBearerPdcpThroughputData PcmdReport__TpDlRadioBearerPdcpThroughputData;
+typedef struct _PcmdReport__TpUlRadioBearerRlcThroughputData PcmdReport__TpUlRadioBearerRlcThroughputData;
+typedef struct _PcmdReport__TpDlRadioBearerRlcThroughputData PcmdReport__TpDlRadioBearerRlcThroughputData;
+typedef struct _PcmdReport__TpCaConfigurationTraceRecord PcmdReport__TpCaConfigurationTraceRecord;
+typedef struct _PcmdReport__TpSCellConfigured PcmdReport__TpSCellConfigured;
+typedef struct _PcmdReport__TpSCellDeconfigured PcmdReport__TpSCellDeconfigured;
+typedef struct _PcmdReport__TpUlSchedulingTraceRecord PcmdReport__TpUlSchedulingTraceRecord;
+typedef struct _PcmdReport__TpDlSchedulingTraceRecord PcmdReport__TpDlSchedulingTraceRecord;
+typedef struct _PcmdReport__TpUeMeasTraceRecord PcmdReport__TpUeMeasTraceRecord;
+typedef struct _PcmdReport__TpMeasResultPCell PcmdReport__TpMeasResultPCell;
+typedef struct _PcmdReport__TpMeasResultEUTRA PcmdReport__TpMeasResultEUTRA;
+typedef struct _PcmdReport__TpDlCaSCellSchedulingTraceRecord PcmdReport__TpDlCaSCellSchedulingTraceRecord;
+typedef struct _PcmdReport__SgNBTraceRecordList PcmdReport__SgNBTraceRecordList;
+typedef struct _PcmdReport__TpUlUeThroughputMeasurements PcmdReport__TpUlUeThroughputMeasurements;
+typedef struct _PcmdReport__TpDlUeThroughputMeasurements PcmdReport__TpDlUeThroughputMeasurements;
+typedef struct _PcmdReport__CellGlobalIdEUTRA PcmdReport__CellGlobalIdEUTRA;
+typedef struct _PcmdReport__GlobalGnbId PcmdReport__GlobalGnbId;
+typedef struct _PcmdReport__AvgWbCqi PcmdReport__AvgWbCqi;
+typedef struct _PcmdReport__AvgSINR PcmdReport__AvgSINR;
+typedef struct _PcmdReport__AvgPhr PcmdReport__AvgPhr;
+typedef struct _PcmdReport__NullableSint32 PcmdReport__NullableSint32;
+typedef struct _PcmdReport__NullableUint32 PcmdReport__NullableUint32;
+typedef struct _PcmdReport__NullableUint64 PcmdReport__NullableUint64;
+
+
+/* --- enums --- */
+
+typedef enum _PcmdReport__Direction {
+  PCMD_REPORT__DIRECTION__UL = 0,
+  PCMD_REPORT__DIRECTION__DL = 1,
+  PCMD_REPORT__DIRECTION__NONE = 2
+    PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PCMD_REPORT__DIRECTION)
+} PcmdReport__Direction;
+typedef enum _PcmdReport__SgNBTraceRecordType {
+  /*
+   * SgNBAdditionTraceRecord
+   */
+  PCMD_REPORT__SG_NBTRACE_RECORD_TYPE__SGNB_ADDITION = 0,
+  /*
+   * MeNBInitiatedSgNBModificationTraceRecord
+   */
+  PCMD_REPORT__SG_NBTRACE_RECORD_TYPE__MENB_INITIATED_SGNB_MODIFICATION = 1,
+  /*
+   * SgNBInitiatedSgNBModificationTraceRecord
+   */
+  PCMD_REPORT__SG_NBTRACE_RECORD_TYPE__SGNB_INITIATED_SGNB_MODIFICATION = 2,
+  /*
+   * MeNBInitiatedSgNBReleaseTraceRecord
+   */
+  PCMD_REPORT__SG_NBTRACE_RECORD_TYPE__MENB_INITIATED_SGNB_RELEASE = 3,
+  /*
+   * SgNBInitiatedSgNBReleaseTraceRecord
+   */
+  PCMD_REPORT__SG_NBTRACE_RECORD_TYPE__SGNB_INITIATED_SGNB_RELEASE = 4
+    PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PCMD_REPORT__SG_NBTRACE_RECORD_TYPE)
+} PcmdReport__SgNBTraceRecordType;
+
+/* --- messages --- */
+
+/*
+ * start of report records
+ */
+struct  _PcmdReport__TpUlRadioBearerRlcThroughputRecord
+{
+  ProtobufCMessage base;
+  size_t n_ulrbrlcthroughputlist;
+  PcmdReport__TpUlRadioBearerRlcThroughputData **ulrbrlcthroughputlist;
+};
+#define PCMD_REPORT__TP_UL_RADIO_BEARER_RLC_THROUGHPUT_RECORD__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__tp_ul_radio_bearer_rlc_throughput_record__descriptor) \
+    , 0,NULL }
+
+
+struct  _PcmdReport__TpDlRadioBearerRlcThroughputRecord
+{
+  ProtobufCMessage base;
+  size_t n_dlrbrlcthroughputlist;
+  PcmdReport__TpDlRadioBearerRlcThroughputData **dlrbrlcthroughputlist;
+};
+#define PCMD_REPORT__TP_DL_RADIO_BEARER_RLC_THROUGHPUT_RECORD__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__tp_dl_radio_bearer_rlc_throughput_record__descriptor) \
+    , 0,NULL }
+
+
+struct  _PcmdReport__TpDlRadioBearerPdcpThroughputRecord
+{
+  ProtobufCMessage base;
+  size_t n_dlradiobearerpdcpthroughputlist;
+  PcmdReport__TpDlRadioBearerPdcpThroughputData **dlradiobearerpdcpthroughputlist;
+};
+#define PCMD_REPORT__TP_DL_RADIO_BEARER_PDCP_THROUGHPUT_RECORD__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__tp_dl_radio_bearer_pdcp_throughput_record__descriptor) \
+    , 0,NULL }
+
+
+struct  _PcmdReport__StartRecordingSession
+{
+  ProtobufCMessage base;
+  uint64_t timestamp;
+};
+#define PCMD_REPORT__START_RECORDING_SESSION__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__start_recording_session__descriptor) \
+    , 0 }
+
+
+struct  _PcmdReport__StopRecordingSession
+{
+  ProtobufCMessage base;
+  uint64_t timestamp;
+};
+#define PCMD_REPORT__STOP_RECORDING_SESSION__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__stop_recording_session__descriptor) \
+    , 0 }
+
+
+struct  _PcmdReport__SessionInfo
+{
+  ProtobufCMessage base;
+  uint64_t timestamp;
+  uint64_t licenseinfo;
+  ProtobufCBinaryData enbipaddress;
+  /*
+   * PLMN for GUMMEI
+   */
+  uint32_t plmn;
+  /*
+   * MMEGI for GUMMEI
+   */
+  uint32_t mmegi;
+  /*
+   * MMEC for GUMMEI
+   */
+  uint32_t mmec;
+  uint64_t imsi;
+  uint64_t imei;
+  /*
+   * no V3 licence
+   */
+  uint32_t nolicenseinfo;
+  PcmdReport__NullableUint64 *licenseinfov5;
+  PcmdReport__NullableUint32 *enbues1apid;
+  PcmdReport__NullableUint32 *mmeues1apid;
+  PcmdReport__NullableUint32 *s1apcause;
+};
+#define PCMD_REPORT__SESSION_INFO__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__session_info__descriptor) \
+    , 0, 0, {0,NULL}, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL }
+
+
+struct  _PcmdReport__TpCaRlcThroughputTrace
+{
+  ProtobufCMessage base;
+  protobuf_c_boolean endmarker;
+  uint32_t recordcollectionduration;
+  uint64_t caactivationrlctxbytes2cc;
+  uint64_t caactivationrlctxbytes3cc;
+  uint64_t caactivationrlctxbytes4cc;
+  uint64_t caactivationrlcretxbytes2cc;
+  uint64_t caactivationrlcretxbytes3cc;
+  uint64_t caactivationrlcretxbytes4cc;
+  PcmdReport__NullableUint64 *caactivationrlctxbytes5cc;
+  PcmdReport__NullableUint64 *caactivationrlcretxbytes5cc;
+  PcmdReport__NullableUint64 *caactivationrlctxbytes6cc;
+  PcmdReport__NullableUint64 *caactivationrlcretxbytes6cc;
+  PcmdReport__NullableUint64 *caactivationrlctxbytes7cc;
+  PcmdReport__NullableUint64 *caactivationrlcretxbytes7cc;
+};
+#define PCMD_REPORT__TP_CA_RLC_THROUGHPUT_TRACE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__tp_ca_rlc_throughput_trace__descriptor) \
+    , 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL }
+
+
+struct  _PcmdReport__TpDlRadioBearerPdcpThroughputData
+{
+  ProtobufCMessage base;
+  protobuf_c_boolean endmarker;
+  uint32_t drb_id;
+  uint32_t datacollectionduration;
+  uint64_t numofpdcppdurcvdfortx;
+  uint64_t numofpdcppdudiscarded;
+};
+#define PCMD_REPORT__TP_DL_RADIO_BEARER_PDCP_THROUGHPUT_DATA__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__tp_dl_radio_bearer_pdcp_throughput_data__descriptor) \
+    , 0, 0, 0, 0, 0 }
+
+
+struct  _PcmdReport__TpUlRadioBearerRlcThroughputData
+{
+  ProtobufCMessage base;
+  protobuf_c_boolean endmarker;
+  uint32_t drb_id;
+  uint32_t datacollectionduration;
+  uint32_t numofttiuepdurcvd;
+  uint64_t sumofrlcpdutxbytes;
+  uint64_t sumofrlcsdutxbytes;
+  /*
+   * TpRadioBearerResidualBlerData
+   */
+  PcmdReport__NullableUint32 *numofbadrlcpdutx;
+  PcmdReport__NullableUint32 *numofrlcpdutx;
+  /*
+   * TpUlRadioBearerDelayHistogram
+   */
+  PcmdReport__NullableUint32 *numofpacketsgap1;
+  PcmdReport__NullableUint32 *numofpacketsgap2;
+  PcmdReport__NullableUint32 *numofpacketsgap3;
+  PcmdReport__NullableUint32 *numofpacketsgap4;
+};
+#define PCMD_REPORT__TP_UL_RADIO_BEARER_RLC_THROUGHPUT_DATA__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__tp_ul_radio_bearer_rlc_throughput_data__descriptor) \
+    , 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL }
+
+
+struct  _PcmdReport__TpDlRadioBearerRlcThroughputData
+{
+  ProtobufCMessage base;
+  protobuf_c_boolean endmarker;
+  uint32_t drb_id;
+  uint32_t datacollectionduration;
+  uint64_t sumof1strlcpdutxbytes;
+  uint64_t sumofrlcretxbytes;
+  uint32_t numofttirlctx;
+  /*
+   * TpDlRadioBearerDelayHistogram
+   */
+  PcmdReport__NullableUint32 *numofpacketsgap1;
+  PcmdReport__NullableUint32 *numofpacketsgap2;
+  PcmdReport__NullableUint32 *numofpacketsgap3;
+  PcmdReport__NullableUint32 *numofpacketsgap4;
+};
+#define PCMD_REPORT__TP_DL_RADIO_BEARER_RLC_THROUGHPUT_DATA__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__tp_dl_radio_bearer_rlc_throughput_data__descriptor) \
+    , 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL }
+
+
+struct  _PcmdReport__TpCaConfigurationTraceRecord
+{
+  ProtobufCMessage base;
+  size_t n_scellsconfiguredlist;
+  PcmdReport__TpSCellConfigured **scellsconfiguredlist;
+  size_t n_scellsdeconfiguredlist;
+  PcmdReport__TpSCellDeconfigured **scellsdeconfiguredlist;
+};
+#define PCMD_REPORT__TP_CA_CONFIGURATION_TRACE_RECORD__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__tp_ca_configuration_trace_record__descriptor) \
+    , 0,NULL, 0,NULL }
+
+
+struct  _PcmdReport__TpSCellConfigured
+{
+  ProtobufCMessage base;
+  uint32_t scellindex;
+  uint64_t eci;
+  PcmdReport__CellGlobalIdEUTRA *ecgi;
+};
+#define PCMD_REPORT__TP_SCELL_CONFIGURED__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__tp_scell_configured__descriptor) \
+    , 0, 0, NULL }
+
+
+struct  _PcmdReport__TpSCellDeconfigured
+{
+  ProtobufCMessage base;
+  uint32_t scellindex;
+  uint64_t eci;
+  PcmdReport__CellGlobalIdEUTRA *ecgi;
+  uint32_t cause;
+};
+#define PCMD_REPORT__TP_SCELL_DECONFIGURED__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__tp_scell_deconfigured__descriptor) \
+    , 0, 0, NULL, 0 }
+
+
+struct  _PcmdReport__TpUlSchedulingTraceRecord
+{
+  ProtobufCMessage base;
+  protobuf_c_boolean endmarker;
+  uint32_t recordcollectionduration;
+  uint32_t numofttiuesched;
+  uint64_t numofprbused;
+  uint32_t numofharq1sttx;
+  uint32_t numofharqretx;
+  uint32_t numofbad1stmacpdutx;
+  uint32_t numofbadlastmacpdutx;
+  PcmdReport__AvgSINR *avgsinr;
+  PcmdReport__AvgPhr *avgphr;
+};
+#define PCMD_REPORT__TP_UL_SCHEDULING_TRACE_RECORD__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__tp_ul_scheduling_trace_record__descriptor) \
+    , 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL }
+
+
+struct  _PcmdReport__TpDlSchedulingTraceRecord
+{
+  ProtobufCMessage base;
+  protobuf_c_boolean endmarker;
+  uint32_t recordcollectionduration;
+  uint32_t numofttiuesched;
+  uint64_t numofprbused;
+  uint32_t numofharq1sttx;
+  PcmdReport__AvgWbCqi *avgcodeword0mimowbcqi;
+  PcmdReport__AvgWbCqi *avgcodeword1mimowbcqi;
+  PcmdReport__AvgWbCqi *avgcodeword0nonmimowbcqi;
+  PcmdReport__AvgSINR *avgsinrnonabs;
+  PcmdReport__AvgSINR *avgsinrabs;
+  PcmdReport__NullableUint32 *numofttiueschedmimo;
+  PcmdReport__NullableUint32 *numofttiindrxoff;
+  PcmdReport__NullableUint32 *numofttiueschedabs;
+  PcmdReport__NullableUint32 *numofharqretx;
+  PcmdReport__NullableUint32 *numofbad1stmacpdutx;
+  PcmdReport__NullableUint32 *numofbadlastmacpdutx;
+};
+#define PCMD_REPORT__TP_DL_SCHEDULING_TRACE_RECORD__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__tp_dl_scheduling_trace_record__descriptor) \
+    , 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
+
+
+struct  _PcmdReport__TpUeMeasTraceRecord
+{
+  ProtobufCMessage base;
+  PcmdReport__NullableUint32 *dl_carrierfreq;
+  /*
+   * typedef EXTENSIBLE_ENUMERATED TpMeasTriggerTypeEUTRA;
+   */
+  uint32_t triggertype;
+  /*
+   * typedef EXTENSIBLE_ENUMERATED TpMeasPurposeEUTRA;
+   */
+  uint32_t purpose;
+  PcmdReport__TpMeasResultPCell *measresultpcell;
+  size_t n_measresultneighcellseutralist;
+  PcmdReport__TpMeasResultEUTRA **measresultneighcellseutralist;
+};
+#define PCMD_REPORT__TP_UE_MEAS_TRACE_RECORD__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__tp_ue_meas_trace_record__descriptor) \
+    , NULL, 0, 0, NULL, 0,NULL }
+
+
+struct  _PcmdReport__TpMeasResultPCell
+{
+  ProtobufCMessage base;
+  uint32_t pci;
+  uint32_t rsrp;
+  int32_t rsrq;
+};
+#define PCMD_REPORT__TP_MEAS_RESULT_PCELL__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__tp_meas_result_pcell__descriptor) \
+    , 0, 0, 0 }
+
+
+struct  _PcmdReport__TpMeasResultEUTRA
+{
+  ProtobufCMessage base;
+  uint32_t pci;
+  PcmdReport__NullableUint32 *rsrp;
+  PcmdReport__NullableSint32 *rsrq;
+  PcmdReport__CellGlobalIdEUTRA *cellid;
+};
+#define PCMD_REPORT__TP_MEAS_RESULT_EUTRA__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__tp_meas_result_eutra__descriptor) \
+    , 0, NULL, NULL, NULL }
+
+
+struct  _PcmdReport__TpDlCaSCellSchedulingTraceRecord
+{
+  ProtobufCMessage base;
+  protobuf_c_boolean endmarker;
+  uint64_t eci;
+  PcmdReport__CellGlobalIdEUTRA *ecgi;
+  uint32_t recordcollectionduration;
+  uint32_t numofttiuesched;
+  uint32_t numofttiueschedmimo;
+  uint64_t numofprbused;
+  uint32_t numofharq1sttx;
+  uint32_t numofharqretx;
+  uint32_t numofbad1stmacpdutx;
+  uint32_t numofbadlastmacpdutx;
+  PcmdReport__AvgWbCqi *avgcodeword0mimowbcqi;
+  PcmdReport__AvgWbCqi *avgcodeword1mimowbcqi;
+  PcmdReport__AvgWbCqi *avgcodeword0nonmimowbcqi;
+};
+#define PCMD_REPORT__TP_DL_CA_SCELL_SCHEDULING_TRACE_RECORD__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__tp_dl_ca_scell_scheduling_trace_record__descriptor) \
+    , 0, 0, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL }
+
+
+struct  _PcmdReport__SgNBTraceRecordList
+{
+  ProtobufCMessage base;
+  PcmdReport__SgNBTraceRecordType endcrecordtype;
+  PcmdReport__GlobalGnbId *globalgnbid;
+  /*
+   * MeNB UE X2AP ID (0..4095)
+   */
+  uint32_t menbuex2apid;
+  /*
+   * MeNB UE X2AP ID extension
+   */
+  PcmdReport__NullableUint32 *menbuex2apidext;
+  /*
+   * SgNB UE X2AP ID
+   */
+  PcmdReport__NullableUint32 *sgnbuex2apid;
+  /*
+   * Generic timestamp - milliseconds since epoch 1970-01-01
+   */
+  uint64_t timestamp;
+  /*
+   * Generic result - 0 (success)
+   */
+  PcmdReport__NullableUint32 *result;
+};
+#define PCMD_REPORT__SG_NBTRACE_RECORD_LIST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__sg_nbtrace_record_list__descriptor) \
+    , PCMD_REPORT__SG_NBTRACE_RECORD_TYPE__SGNB_ADDITION, NULL, 0, NULL, NULL, 0, NULL }
+
+
+struct  _PcmdReport__TpUlUeThroughputMeasurements
+{
+  ProtobufCMessage base;
+  protobuf_c_boolean endmarker;
+  uint32_t datacollectionduration;
+  uint64_t sumofreceivednongbrbytes;
+  uint64_t sumofreceivedgbrbytes;
+  uint32_t maxgbrdelay;
+  uint32_t numofreceivedtx;
+  uint32_t numofreceived1sttx;
+  uint32_t numoffailed1sttx;
+  uint32_t numoffailedlasttx;
+  uint32_t numofttipositiveulbuf;
+  uint32_t meanmcs;
+  int32_t meanpuschrssi;
+  int32_t meanpuschsinr;
+  int32_t meanphr;
+  int32_t meanpucchrssi;
+  uint32_t meanpdcchaggul;
+  uint32_t meanpdcchaggdl;
+};
+#define PCMD_REPORT__TP_UL_UE_THROUGHPUT_MEASUREMENTS__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__tp_ul_ue_throughput_measurements__descriptor) \
+    , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+
+
+struct  _PcmdReport__TpDlUeThroughputMeasurements
+{
+  ProtobufCMessage base;
+  protobuf_c_boolean endmarker;
+  uint32_t datacollectionduration;
+  uint64_t sumofsentnongbrbytes;
+  uint64_t sumofsentgbrbytes;
+  uint32_t maxgbrdelay;
+  uint32_t numofsinglecwtx;
+  uint32_t numofsinglecw1sttx;
+  uint32_t numofsinglecw1sttxfailed;
+  uint32_t numofsinglecwlasttxfailed;
+  uint32_t numofdualcwtx;
+  uint32_t numofdualcw1sttx;
+  uint32_t numofdualcw1sttxfailed;
+  uint32_t numofdualcwlasttxfailed;
+  uint32_t pdcchdtx;
+  uint32_t numofttipositivedlbuf;
+  uint32_t meandeltacqi;
+  uint32_t meanlawbcqi;
+};
+#define PCMD_REPORT__TP_DL_UE_THROUGHPUT_MEASUREMENTS__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__tp_dl_ue_throughput_measurements__descriptor) \
+    , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+
+
+struct  _PcmdReport__CellGlobalIdEUTRA
+{
+  ProtobufCMessage base;
+  uint64_t plmn_identity;
+  uint64_t cell_identity;
+};
+#define PCMD_REPORT__CELL_GLOBAL_ID_EUTRA__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__cell_global_id_eutra__descriptor) \
+    , 0, 0 }
+
+
+struct  _PcmdReport__GlobalGnbId
+{
+  ProtobufCMessage base;
+  uint32_t plmn_identity;
+  uint32_t gnb_id;
+};
+#define PCMD_REPORT__GLOBAL_GNB_ID__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__global_gnb_id__descriptor) \
+    , 0, 0 }
+
+
+struct  _PcmdReport__AvgWbCqi
+{
+  ProtobufCMessage base;
+  uint32_t sumofwbcqi;
+  uint32_t numofwbcqisamples;
+};
+#define PCMD_REPORT__AVG_WB_CQI__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__avg_wb_cqi__descriptor) \
+    , 0, 0 }
+
+
+struct  _PcmdReport__AvgSINR
+{
+  ProtobufCMessage base;
+  uint64_t sumofsinrsamples;
+  uint32_t numofsinrsamples;
+};
+#define PCMD_REPORT__AVG_SINR__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__avg_sinr__descriptor) \
+    , 0, 0 }
+
+
+struct  _PcmdReport__AvgPhr
+{
+  ProtobufCMessage base;
+  int32_t sumofnormalizedphrsamples;
+  uint32_t numofphrsamples;
+};
+#define PCMD_REPORT__AVG_PHR__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__avg_phr__descriptor) \
+    , 0, 0 }
+
+
+struct  _PcmdReport__NullableSint32
+{
+  ProtobufCMessage base;
+  int32_t value;
+};
+#define PCMD_REPORT__NULLABLE_SINT32__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__nullable_sint32__descriptor) \
+    , 0 }
+
+
+struct  _PcmdReport__NullableUint32
+{
+  ProtobufCMessage base;
+  uint32_t value;
+};
+#define PCMD_REPORT__NULLABLE_UINT32__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__nullable_uint32__descriptor) \
+    , 0 }
+
+
+struct  _PcmdReport__NullableUint64
+{
+  ProtobufCMessage base;
+  uint64_t value;
+};
+#define PCMD_REPORT__NULLABLE_UINT64__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__nullable_uint64__descriptor) \
+    , 0 }
+
+
+struct  _PcmdReport
+{
+  ProtobufCMessage base;
+  uint32_t reportversion;
+  uint32_t seqnum;
+  PcmdReport__Direction direction;
+  PcmdReport__StartRecordingSession *startsession;
+  PcmdReport__StopRecordingSession *stopsession;
+  PcmdReport__SessionInfo *sessioninfo;
+  /*
+   * For PDCP uplink estimation
+   */
+  PcmdReport__TpUlRadioBearerRlcThroughputRecord *ulrbrlcthroughputrecord;
+  PcmdReport__TpDlRadioBearerRlcThroughputRecord *dlrbrlcthroughputrecord;
+  /*
+   * For PDCP downlink
+   */
+  PcmdReport__TpDlRadioBearerPdcpThroughputRecord *dlrbpdcpthroughputrecord;
+  PcmdReport__TpCaRlcThroughputTrace *carlcthroughputrecord;
+  /*
+   * PRB Usage
+   */
+  PcmdReport__TpUlSchedulingTraceRecord *ulschedulingrecord;
+  PcmdReport__TpDlSchedulingTraceRecord *dlschedulingrecord;
+  PcmdReport__TpUeMeasTraceRecord *uemeastracerecord;
+  PcmdReport__TpCaConfigurationTraceRecord *caconfigurationrecord;
+  PcmdReport__TpDlCaSCellSchedulingTraceRecord *dlcascellschedulingrecord;
+  /*
+   * to get the gNB ID and details
+   */
+  PcmdReport__SgNBTraceRecordList *sgnbtracerecord;
+  PcmdReport__TpUlUeThroughputMeasurements *uluethroughputmeasurementsrecord;
+  PcmdReport__TpDlUeThroughputMeasurements *dluethroughputmeasurementsrecord;
+};
+#define PCMD_REPORT__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&pcmd_report__descriptor) \
+    , 0, 0, PCMD_REPORT__DIRECTION__UL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
+
+
+/* PcmdReport__TpUlRadioBearerRlcThroughputRecord methods */
+void   pcmd_report__tp_ul_radio_bearer_rlc_throughput_record__init
+                     (PcmdReport__TpUlRadioBearerRlcThroughputRecord         *message);
+/* PcmdReport__TpDlRadioBearerRlcThroughputRecord methods */
+void   pcmd_report__tp_dl_radio_bearer_rlc_throughput_record__init
+                     (PcmdReport__TpDlRadioBearerRlcThroughputRecord         *message);
+/* PcmdReport__TpDlRadioBearerPdcpThroughputRecord methods */
+void   pcmd_report__tp_dl_radio_bearer_pdcp_throughput_record__init
+                     (PcmdReport__TpDlRadioBearerPdcpThroughputRecord         *message);
+/* PcmdReport__StartRecordingSession methods */
+void   pcmd_report__start_recording_session__init
+                     (PcmdReport__StartRecordingSession         *message);
+/* PcmdReport__StopRecordingSession methods */
+void   pcmd_report__stop_recording_session__init
+                     (PcmdReport__StopRecordingSession         *message);
+/* PcmdReport__SessionInfo methods */
+void   pcmd_report__session_info__init
+                     (PcmdReport__SessionInfo         *message);
+/* PcmdReport__TpCaRlcThroughputTrace methods */
+void   pcmd_report__tp_ca_rlc_throughput_trace__init
+                     (PcmdReport__TpCaRlcThroughputTrace         *message);
+/* PcmdReport__TpDlRadioBearerPdcpThroughputData methods */
+void   pcmd_report__tp_dl_radio_bearer_pdcp_throughput_data__init
+                     (PcmdReport__TpDlRadioBearerPdcpThroughputData         *message);
+/* PcmdReport__TpUlRadioBearerRlcThroughputData methods */
+void   pcmd_report__tp_ul_radio_bearer_rlc_throughput_data__init
+                     (PcmdReport__TpUlRadioBearerRlcThroughputData         *message);
+/* PcmdReport__TpDlRadioBearerRlcThroughputData methods */
+void   pcmd_report__tp_dl_radio_bearer_rlc_throughput_data__init
+                     (PcmdReport__TpDlRadioBearerRlcThroughputData         *message);
+/* PcmdReport__TpCaConfigurationTraceRecord methods */
+void   pcmd_report__tp_ca_configuration_trace_record__init
+                     (PcmdReport__TpCaConfigurationTraceRecord         *message);
+/* PcmdReport__TpSCellConfigured methods */
+void   pcmd_report__tp_scell_configured__init
+                     (PcmdReport__TpSCellConfigured         *message);
+/* PcmdReport__TpSCellDeconfigured methods */
+void   pcmd_report__tp_scell_deconfigured__init
+                     (PcmdReport__TpSCellDeconfigured         *message);
+/* PcmdReport__TpUlSchedulingTraceRecord methods */
+void   pcmd_report__tp_ul_scheduling_trace_record__init
+                     (PcmdReport__TpUlSchedulingTraceRecord         *message);
+/* PcmdReport__TpDlSchedulingTraceRecord methods */
+void   pcmd_report__tp_dl_scheduling_trace_record__init
+                     (PcmdReport__TpDlSchedulingTraceRecord         *message);
+/* PcmdReport__TpUeMeasTraceRecord methods */
+void   pcmd_report__tp_ue_meas_trace_record__init
+                     (PcmdReport__TpUeMeasTraceRecord         *message);
+/* PcmdReport__TpMeasResultPCell methods */
+void   pcmd_report__tp_meas_result_pcell__init
+                     (PcmdReport__TpMeasResultPCell         *message);
+/* PcmdReport__TpMeasResultEUTRA methods */
+void   pcmd_report__tp_meas_result_eutra__init
+                     (PcmdReport__TpMeasResultEUTRA         *message);
+/* PcmdReport__TpDlCaSCellSchedulingTraceRecord methods */
+void   pcmd_report__tp_dl_ca_scell_scheduling_trace_record__init
+                     (PcmdReport__TpDlCaSCellSchedulingTraceRecord         *message);
+/* PcmdReport__SgNBTraceRecordList methods */
+void   pcmd_report__sg_nbtrace_record_list__init
+                     (PcmdReport__SgNBTraceRecordList         *message);
+/* PcmdReport__TpUlUeThroughputMeasurements methods */
+void   pcmd_report__tp_ul_ue_throughput_measurements__init
+                     (PcmdReport__TpUlUeThroughputMeasurements         *message);
+/* PcmdReport__TpDlUeThroughputMeasurements methods */
+void   pcmd_report__tp_dl_ue_throughput_measurements__init
+                     (PcmdReport__TpDlUeThroughputMeasurements         *message);
+/* PcmdReport__CellGlobalIdEUTRA methods */
+void   pcmd_report__cell_global_id_eutra__init
+                     (PcmdReport__CellGlobalIdEUTRA         *message);
+/* PcmdReport__GlobalGnbId methods */
+void   pcmd_report__global_gnb_id__init
+                     (PcmdReport__GlobalGnbId         *message);
+/* PcmdReport__AvgWbCqi methods */
+void   pcmd_report__avg_wb_cqi__init
+                     (PcmdReport__AvgWbCqi         *message);
+/* PcmdReport__AvgSINR methods */
+void   pcmd_report__avg_sinr__init
+                     (PcmdReport__AvgSINR         *message);
+/* PcmdReport__AvgPhr methods */
+void   pcmd_report__avg_phr__init
+                     (PcmdReport__AvgPhr         *message);
+/* PcmdReport__NullableSint32 methods */
+void   pcmd_report__nullable_sint32__init
+                     (PcmdReport__NullableSint32         *message);
+/* PcmdReport__NullableUint32 methods */
+void   pcmd_report__nullable_uint32__init
+                     (PcmdReport__NullableUint32         *message);
+/* PcmdReport__NullableUint64 methods */
+void   pcmd_report__nullable_uint64__init
+                     (PcmdReport__NullableUint64         *message);
+/* PcmdReport methods */
+void   pcmd_report__init
+                     (PcmdReport         *message);
+size_t pcmd_report__get_packed_size
+                     (const PcmdReport   *message);
+size_t pcmd_report__pack
+                     (const PcmdReport   *message,
+                      uint8_t             *out);
+size_t pcmd_report__pack_to_buffer
+                     (const PcmdReport   *message,
+                      ProtobufCBuffer     *buffer);
+PcmdReport *
+       pcmd_report__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data);
+void   pcmd_report__free_unpacked
+                     (PcmdReport *message,
+                      ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*PcmdReport__TpUlRadioBearerRlcThroughputRecord_Closure)
+                 (const PcmdReport__TpUlRadioBearerRlcThroughputRecord *message,
+                  void *closure_data);
+typedef void (*PcmdReport__TpDlRadioBearerRlcThroughputRecord_Closure)
+                 (const PcmdReport__TpDlRadioBearerRlcThroughputRecord *message,
+                  void *closure_data);
+typedef void (*PcmdReport__TpDlRadioBearerPdcpThroughputRecord_Closure)
+                 (const PcmdReport__TpDlRadioBearerPdcpThroughputRecord *message,
+                  void *closure_data);
+typedef void (*PcmdReport__StartRecordingSession_Closure)
+                 (const PcmdReport__StartRecordingSession *message,
+                  void *closure_data);
+typedef void (*PcmdReport__StopRecordingSession_Closure)
+                 (const PcmdReport__StopRecordingSession *message,
+                  void *closure_data);
+typedef void (*PcmdReport__SessionInfo_Closure)
+                 (const PcmdReport__SessionInfo *message,
+                  void *closure_data);
+typedef void (*PcmdReport__TpCaRlcThroughputTrace_Closure)
+                 (const PcmdReport__TpCaRlcThroughputTrace *message,
+                  void *closure_data);
+typedef void (*PcmdReport__TpDlRadioBearerPdcpThroughputData_Closure)
+                 (const PcmdReport__TpDlRadioBearerPdcpThroughputData *message,
+                  void *closure_data);
+typedef void (*PcmdReport__TpUlRadioBearerRlcThroughputData_Closure)
+                 (const PcmdReport__TpUlRadioBearerRlcThroughputData *message,
+                  void *closure_data);
+typedef void (*PcmdReport__TpDlRadioBearerRlcThroughputData_Closure)
+                 (const PcmdReport__TpDlRadioBearerRlcThroughputData *message,
+                  void *closure_data);
+typedef void (*PcmdReport__TpCaConfigurationTraceRecord_Closure)
+                 (const PcmdReport__TpCaConfigurationTraceRecord *message,
+                  void *closure_data);
+typedef void (*PcmdReport__TpSCellConfigured_Closure)
+                 (const PcmdReport__TpSCellConfigured *message,
+                  void *closure_data);
+typedef void (*PcmdReport__TpSCellDeconfigured_Closure)
+                 (const PcmdReport__TpSCellDeconfigured *message,
+                  void *closure_data);
+typedef void (*PcmdReport__TpUlSchedulingTraceRecord_Closure)
+                 (const PcmdReport__TpUlSchedulingTraceRecord *message,
+                  void *closure_data);
+typedef void (*PcmdReport__TpDlSchedulingTraceRecord_Closure)
+                 (const PcmdReport__TpDlSchedulingTraceRecord *message,
+                  void *closure_data);
+typedef void (*PcmdReport__TpUeMeasTraceRecord_Closure)
+                 (const PcmdReport__TpUeMeasTraceRecord *message,
+                  void *closure_data);
+typedef void (*PcmdReport__TpMeasResultPCell_Closure)
+                 (const PcmdReport__TpMeasResultPCell *message,
+                  void *closure_data);
+typedef void (*PcmdReport__TpMeasResultEUTRA_Closure)
+                 (const PcmdReport__TpMeasResultEUTRA *message,
+                  void *closure_data);
+typedef void (*PcmdReport__TpDlCaSCellSchedulingTraceRecord_Closure)
+                 (const PcmdReport__TpDlCaSCellSchedulingTraceRecord *message,
+                  void *closure_data);
+typedef void (*PcmdReport__SgNBTraceRecordList_Closure)
+                 (const PcmdReport__SgNBTraceRecordList *message,
+                  void *closure_data);
+typedef void (*PcmdReport__TpUlUeThroughputMeasurements_Closure)
+                 (const PcmdReport__TpUlUeThroughputMeasurements *message,
+                  void *closure_data);
+typedef void (*PcmdReport__TpDlUeThroughputMeasurements_Closure)
+                 (const PcmdReport__TpDlUeThroughputMeasurements *message,
+                  void *closure_data);
+typedef void (*PcmdReport__CellGlobalIdEUTRA_Closure)
+                 (const PcmdReport__CellGlobalIdEUTRA *message,
+                  void *closure_data);
+typedef void (*PcmdReport__GlobalGnbId_Closure)
+                 (const PcmdReport__GlobalGnbId *message,
+                  void *closure_data);
+typedef void (*PcmdReport__AvgWbCqi_Closure)
+                 (const PcmdReport__AvgWbCqi *message,
+                  void *closure_data);
+typedef void (*PcmdReport__AvgSINR_Closure)
+                 (const PcmdReport__AvgSINR *message,
+                  void *closure_data);
+typedef void (*PcmdReport__AvgPhr_Closure)
+                 (const PcmdReport__AvgPhr *message,
+                  void *closure_data);
+typedef void (*PcmdReport__NullableSint32_Closure)
+                 (const PcmdReport__NullableSint32 *message,
+                  void *closure_data);
+typedef void (*PcmdReport__NullableUint32_Closure)
+                 (const PcmdReport__NullableUint32 *message,
+                  void *closure_data);
+typedef void (*PcmdReport__NullableUint64_Closure)
+                 (const PcmdReport__NullableUint64 *message,
+                  void *closure_data);
+typedef void (*PcmdReport_Closure)
+                 (const PcmdReport *message,
+                  void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor pcmd_report__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__tp_ul_radio_bearer_rlc_throughput_record__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__tp_dl_radio_bearer_rlc_throughput_record__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__tp_dl_radio_bearer_pdcp_throughput_record__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__start_recording_session__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__stop_recording_session__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__session_info__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__tp_ca_rlc_throughput_trace__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__tp_dl_radio_bearer_pdcp_throughput_data__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__tp_ul_radio_bearer_rlc_throughput_data__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__tp_dl_radio_bearer_rlc_throughput_data__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__tp_ca_configuration_trace_record__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__tp_scell_configured__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__tp_scell_deconfigured__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__tp_ul_scheduling_trace_record__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__tp_dl_scheduling_trace_record__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__tp_ue_meas_trace_record__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__tp_meas_result_pcell__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__tp_meas_result_eutra__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__tp_dl_ca_scell_scheduling_trace_record__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__sg_nbtrace_record_list__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__tp_ul_ue_throughput_measurements__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__tp_dl_ue_throughput_measurements__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__cell_global_id_eutra__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__global_gnb_id__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__avg_wb_cqi__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__avg_sinr__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__avg_phr__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__nullable_sint32__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__nullable_uint32__descriptor;
+extern const ProtobufCMessageDescriptor pcmd_report__nullable_uint64__descriptor;
+extern const ProtobufCEnumDescriptor    pcmd_report__direction__descriptor;
+extern const ProtobufCEnumDescriptor    pcmd_report__sg_nbtrace_record_type__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif  /* PROTOBUF_C_ricgeomessages_5fpcmdreport_2eproto__INCLUDED */