1syntax = "proto2"; 2 3package chre_cross_validation_wwan; 4 5option java_package = "com.google.android.chre.nanoapp.proto"; 6option java_outer_classname = "ChreCrossValidationWwan"; 7 8enum MessageType { 9 // Reserved for corrupted messages 10 UNDEFINED = 0; 11 12 // CHRE to Host: Indicates an error occurred in the nanoapp. The payload is 13 // in the format of ChreTestCommon.TestResult 14 WWAN_NANOAPP_ERROR = 1; 15 16 // Host to CHRE: Requests CHRE to provide the WWAN Capabilities. No payload. 17 WWAN_CAPABILITIES_REQUEST = 2; 18 19 // CHRE to Host: Nanoapp response to WWAN_CAPABILITIES_REQUEST. The payload 20 // must be a WwanCapabilities message. 21 WWAN_CAPABILITIES = 3; 22 23 // Host to CHRE: Requests Cell Info. No payload. 24 WWAN_CELL_INFO_REQUEST = 4; 25 26 // CHRE to Host: Nanoapp response to WWAN_CELL_INFO_REQUEST. The payload must 27 // be a WwanScanResult 28 WWAN_CELL_INFO_RESULTS = 5; 29} 30 31/* 32 * The wwan capabilities listed in 33 * //system/chre/chre_api/include/chre_api/chre/wwan.h 34 */ 35message WwanCapabilities { 36 optional uint32 wwanCapabilities = 1; 37} 38 39// From chreWwanCellTimeStampType in /chre_api/chre/wwan.h 40enum CellTimestampType { 41 CELL_TIMESTAMP_TYPE_UNKNOWN = 0; 42 CELL_TIMESTAMP_TYPE_ANTENNA = 1; 43 CELL_TIMESTAMP_TYPE_MODEM = 2; 44 CELL_TIMESTAMP_TYPE_OEM_RIL = 3; 45 CELL_TIMESTAMP_TYPE_JAVA_RIL = 4; 46} 47 48// From chreWwanCellInfoType in /chre_api/chre/wwan.h 49enum WwanCellInfoType { 50 WWAN_CELL_INFO_TYPE_UNKNOWN = 0; 51 WWAN_CELL_INFO_TYPE_GSM = 1; 52 WWAN_CELL_INFO_TYPE_CDMA = 2; 53 WWAN_CELL_INFO_TYPE_LTE = 3; 54 WWAN_CELL_INFO_TYPE_WCDMA = 4; 55 WWAN_CELL_INFO_TYPE_TD_SCDMA = 5; 56 WWAN_CELL_INFO_TYPE_NR = 6; 57} 58 59/* 60 * Derived from the chreWwanCellInfoResult in the wwan CHRE API @ 61 * //system/chre/chre_api/include/chre_api/chre/wwan.h 62 */ 63message WwanCellInfoResult { 64 // Version of the struct, for compatibility purposes. 65 optional uint32 version = 1; 66 // The error code taken from the chreWwanCellInfoResult 67 optional uint32 errorCode = 2; 68 // The list of cell info results. 69 repeated WwanCellInfo cell_info = 3; 70} 71 72message WwanCellInfo { 73 optional uint64 timestamp_ns = 1; 74 optional WwanCellInfoType cell_info_type = 2; 75 optional CellTimestampType timestamp_type = 3; 76 optional bool is_registered = 4; 77 oneof cell_info { 78 CellInfoGsm gsm = 5; 79 CellInfoWcdma wcdma = 6; 80 CellInfoCdma cdma = 7; 81 CellInfoLte lte = 8; 82 CellInfoTdscdma tdscdma = 9; 83 CellInfoNr nr = 10; 84 } 85} 86 87message CellInfoGsm { 88 optional CellIdentityGsm cell_identity = 1; 89 optional SignalStrengthGsm signal_strength = 2; 90} 91 92message CellInfoWcdma { 93 optional CellIdentityWcdma cell_identity = 1; 94 optional SignalStrengthWcdma signal_strength = 2; 95} 96 97message CellInfoCdma { 98 optional CellIdentityCdma cell_identity = 1; 99 optional SignalStrengthCdma signal_strength_cdma = 2; 100 optional SignalStrengthEvdo signal_strength_evdo = 3; 101} 102 103message CellInfoLte { 104 optional CellIdentityLte cell_identity = 1; 105 optional SignalStrengthLte signal_strength = 2; 106} 107 108message CellInfoTdscdma { 109 optional CellIdentityTdscdma cell_identity = 1; 110 optional SignalStrengthTdscdma signal_strength = 2; 111} 112 113message CellInfoNr { 114 optional CellIdentityNr cell_identity = 1; 115 optional SignalStrengthNr signal_strength = 2; 116} 117 118message CellIdentityGsm { 119 optional int32 mcc = 1; 120 optional int32 mnc = 2; 121 optional int32 lac = 3; 122 optional int32 cid = 4; 123 optional int32 arfcn = 5; 124 optional int32 bsic = 6; 125} 126 127message CellIdentityWcdma { 128 optional int32 mcc = 1; 129 optional int32 mnc = 2; 130 optional int32 lac = 3; 131 optional int32 cid = 4; 132 optional int32 psc = 5; 133 optional int32 uarfcn = 6; 134} 135 136message CellIdentityCdma { 137 optional int32 network_id = 1; 138 optional int32 system_id = 2; 139 optional int32 basestation_id = 3; 140 optional int32 longitude = 4; 141 optional int32 latitude = 5; 142} 143 144message CellIdentityLte { 145 optional int32 mcc = 1; 146 optional int32 mnc = 2; 147 optional int32 ci = 3; 148 optional int32 pci = 4; 149 optional int32 tac = 5; 150 optional int32 earfcn = 6; 151} 152 153message CellIdentityTdscdma { 154 optional int32 mcc = 1; 155 optional int32 mnc = 2; 156 optional int32 lac = 3; 157 optional int32 cid = 4; 158 optional int32 cpid = 5; 159} 160 161message CellIdentityNr { 162 optional int32 mcc = 1; 163 optional int32 mnc = 2; 164 optional int64 nci = 3; 165 optional int32 pci = 4; 166 optional int32 tac = 5; 167 optional int32 nrarfcn = 6; 168} 169 170message SignalStrengthGsm { 171 optional int32 signal_strength = 1; 172 optional int32 bit_error_rate = 2; 173 optional int32 timing_advance = 3; 174} 175 176message SignalStrengthWcdma { 177 optional int32 signal_strength = 1; 178 optional int32 bit_error_rate = 2; 179} 180 181message SignalStrengthCdma { 182 optional int32 dbm = 1; 183 optional int32 ecio = 2; 184} 185 186message SignalStrengthEvdo { 187 optional int32 dbm = 1; 188 optional int32 ecio = 2; 189 optional int32 signal_noise_ratio = 3; 190} 191 192message SignalStrengthLte { 193 optional int32 signal_strength = 1; 194 optional int32 rsrp = 2; 195 optional int32 rsrq = 3; 196 optional int32 rssnr = 4; 197 optional int32 cqi = 5; 198 optional int32 timing_advance = 6; 199} 200 201message SignalStrengthTdscdma { 202 optional int32 rscp = 1; 203} 204 205message SignalStrengthNr { 206 optional int32 ss_rsrp = 1; 207 optional int32 ss_rsrq = 2; 208 optional int32 ss_sinr = 3; 209 optional int32 csi_rsrp = 4; 210 optional int32 csi_rsrq = 5; 211 optional int32 csi_sinr = 6; 212}