syntax = "proto2"; package chre_cross_validation_wwan; option java_package = "com.google.android.chre.nanoapp.proto"; option java_outer_classname = "ChreCrossValidationWwan"; enum MessageType { // Reserved for corrupted messages UNDEFINED = 0; // CHRE to Host: Indicates an error occurred in the nanoapp. The payload is // in the format of ChreTestCommon.TestResult WWAN_NANOAPP_ERROR = 1; // Host to CHRE: Requests CHRE to provide the WWAN Capabilities. No payload. WWAN_CAPABILITIES_REQUEST = 2; // CHRE to Host: Nanoapp response to WWAN_CAPABILITIES_REQUEST. The payload // must be a WwanCapabilities message. WWAN_CAPABILITIES = 3; // Host to CHRE: Requests Cell Info. No payload. WWAN_CELL_INFO_REQUEST = 4; // CHRE to Host: Nanoapp response to WWAN_CELL_INFO_REQUEST. The payload must // be a WwanScanResult WWAN_CELL_INFO_RESULTS = 5; } /* * The wwan capabilities listed in * //system/chre/chre_api/include/chre_api/chre/wwan.h */ message WwanCapabilities { optional uint32 wwanCapabilities = 1; } // From chreWwanCellTimeStampType in /chre_api/chre/wwan.h enum CellTimestampType { CELL_TIMESTAMP_TYPE_UNKNOWN = 0; CELL_TIMESTAMP_TYPE_ANTENNA = 1; CELL_TIMESTAMP_TYPE_MODEM = 2; CELL_TIMESTAMP_TYPE_OEM_RIL = 3; CELL_TIMESTAMP_TYPE_JAVA_RIL = 4; } // From chreWwanCellInfoType in /chre_api/chre/wwan.h enum WwanCellInfoType { WWAN_CELL_INFO_TYPE_UNKNOWN = 0; WWAN_CELL_INFO_TYPE_GSM = 1; WWAN_CELL_INFO_TYPE_CDMA = 2; WWAN_CELL_INFO_TYPE_LTE = 3; WWAN_CELL_INFO_TYPE_WCDMA = 4; WWAN_CELL_INFO_TYPE_TD_SCDMA = 5; WWAN_CELL_INFO_TYPE_NR = 6; } /* * Derived from the chreWwanCellInfoResult in the wwan CHRE API @ * //system/chre/chre_api/include/chre_api/chre/wwan.h */ message WwanCellInfoResult { // Version of the struct, for compatibility purposes. optional uint32 version = 1; // The error code taken from the chreWwanCellInfoResult optional uint32 errorCode = 2; // The list of cell info results. repeated WwanCellInfo cell_info = 3; } message WwanCellInfo { optional uint64 timestamp_ns = 1; optional WwanCellInfoType cell_info_type = 2; optional CellTimestampType timestamp_type = 3; optional bool is_registered = 4; oneof cell_info { CellInfoGsm gsm = 5; CellInfoWcdma wcdma = 6; CellInfoCdma cdma = 7; CellInfoLte lte = 8; CellInfoTdscdma tdscdma = 9; CellInfoNr nr = 10; } } message CellInfoGsm { optional CellIdentityGsm cell_identity = 1; optional SignalStrengthGsm signal_strength = 2; } message CellInfoWcdma { optional CellIdentityWcdma cell_identity = 1; optional SignalStrengthWcdma signal_strength = 2; } message CellInfoCdma { optional CellIdentityCdma cell_identity = 1; optional SignalStrengthCdma signal_strength_cdma = 2; optional SignalStrengthEvdo signal_strength_evdo = 3; } message CellInfoLte { optional CellIdentityLte cell_identity = 1; optional SignalStrengthLte signal_strength = 2; } message CellInfoTdscdma { optional CellIdentityTdscdma cell_identity = 1; optional SignalStrengthTdscdma signal_strength = 2; } message CellInfoNr { optional CellIdentityNr cell_identity = 1; optional SignalStrengthNr signal_strength = 2; } message CellIdentityGsm { optional int32 mcc = 1; optional int32 mnc = 2; optional int32 lac = 3; optional int32 cid = 4; optional int32 arfcn = 5; optional int32 bsic = 6; } message CellIdentityWcdma { optional int32 mcc = 1; optional int32 mnc = 2; optional int32 lac = 3; optional int32 cid = 4; optional int32 psc = 5; optional int32 uarfcn = 6; } message CellIdentityCdma { optional int32 network_id = 1; optional int32 system_id = 2; optional int32 basestation_id = 3; optional int32 longitude = 4; optional int32 latitude = 5; } message CellIdentityLte { optional int32 mcc = 1; optional int32 mnc = 2; optional int32 ci = 3; optional int32 pci = 4; optional int32 tac = 5; optional int32 earfcn = 6; } message CellIdentityTdscdma { optional int32 mcc = 1; optional int32 mnc = 2; optional int32 lac = 3; optional int32 cid = 4; optional int32 cpid = 5; } message CellIdentityNr { optional int32 mcc = 1; optional int32 mnc = 2; optional int64 nci = 3; optional int32 pci = 4; optional int32 tac = 5; optional int32 nrarfcn = 6; } message SignalStrengthGsm { optional int32 signal_strength = 1; optional int32 bit_error_rate = 2; optional int32 timing_advance = 3; } message SignalStrengthWcdma { optional int32 signal_strength = 1; optional int32 bit_error_rate = 2; } message SignalStrengthCdma { optional int32 dbm = 1; optional int32 ecio = 2; } message SignalStrengthEvdo { optional int32 dbm = 1; optional int32 ecio = 2; optional int32 signal_noise_ratio = 3; } message SignalStrengthLte { optional int32 signal_strength = 1; optional int32 rsrp = 2; optional int32 rsrq = 3; optional int32 rssnr = 4; optional int32 cqi = 5; optional int32 timing_advance = 6; } message SignalStrengthTdscdma { optional int32 rscp = 1; } message SignalStrengthNr { optional int32 ss_rsrp = 1; optional int32 ss_rsrq = 2; optional int32 ss_sinr = 3; optional int32 csi_rsrp = 4; optional int32 csi_rsrq = 5; optional int32 csi_sinr = 6; }