diff options
Diffstat (limited to 'chpp/common/wwan_convert.c')
-rw-r--r-- | chpp/common/wwan_convert.c | 649 |
1 files changed, 0 insertions, 649 deletions
diff --git a/chpp/common/wwan_convert.c b/chpp/common/wwan_convert.c deleted file mode 100644 index 9cf7872f..00000000 --- a/chpp/common/wwan_convert.c +++ /dev/null @@ -1,649 +0,0 @@ -/* - * Copyright (C) 2020 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// This file was automatically generated by chre_api_to_chpp.py -// Date: 2021-05-24 15:46:25 UTC -// Source: chre_api/include/chre_api/chre/wwan.h @ commit 833a6241 - -// DO NOT modify this file directly, as those changes will be lost the next -// time the script is executed - -#include "chpp/common/wwan_types.h" -#include "chpp/macros.h" -#include "chpp/memory.h" - -#include <stddef.h> -#include <stdint.h> -#include <string.h> - -// Encoding (CHRE --> CHPP) size functions - -//! @return number of bytes required to represent the given -//! chreWwanCellInfoResult along with the CHPP header as -//! struct ChppWwanCellInfoResultWithHeader -static size_t chppWwanSizeOfCellInfoResultFromChre( - const struct chreWwanCellInfoResult *cellInfoResult) { - size_t encodedSize = sizeof(struct ChppWwanCellInfoResultWithHeader); - encodedSize += - cellInfoResult->cellInfoCount * sizeof(struct ChppWwanCellInfo); - return encodedSize; -} - -// Encoding (CHRE --> CHPP) conversion functions - -static void chppWwanConvertCellIdentityCdmaFromChre( - const struct chreWwanCellIdentityCdma *in, - struct ChppWwanCellIdentityCdma *out) { - out->networkId = in->networkId; - out->systemId = in->systemId; - out->basestationId = in->basestationId; - out->longitude = in->longitude; - out->latitude = in->latitude; -} - -static void chppWwanConvertSignalStrengthCdmaFromChre( - const struct chreWwanSignalStrengthCdma *in, - struct ChppWwanSignalStrengthCdma *out) { - out->dbm = in->dbm; - out->ecio = in->ecio; -} - -static void chppWwanConvertSignalStrengthEvdoFromChre( - const struct chreWwanSignalStrengthEvdo *in, - struct ChppWwanSignalStrengthEvdo *out) { - out->dbm = in->dbm; - out->ecio = in->ecio; - out->signalNoiseRatio = in->signalNoiseRatio; -} - -static void chppWwanConvertCellInfoCdmaFromChre( - const struct chreWwanCellInfoCdma *in, struct ChppWwanCellInfoCdma *out) { - chppWwanConvertCellIdentityCdmaFromChre(&in->cellIdentityCdma, - &out->cellIdentityCdma); - chppWwanConvertSignalStrengthCdmaFromChre(&in->signalStrengthCdma, - &out->signalStrengthCdma); - chppWwanConvertSignalStrengthEvdoFromChre(&in->signalStrengthEvdo, - &out->signalStrengthEvdo); -} - -static void chppWwanConvertCellIdentityGsmFromChre( - const struct chreWwanCellIdentityGsm *in, - struct ChppWwanCellIdentityGsm *out) { - out->mcc = in->mcc; - out->mnc = in->mnc; - out->lac = in->lac; - out->cid = in->cid; - out->arfcn = in->arfcn; - out->bsic = in->bsic; - memset(&out->reserved, 0, sizeof(out->reserved)); -} - -static void chppWwanConvertSignalStrengthGsmFromChre( - const struct chreWwanSignalStrengthGsm *in, - struct ChppWwanSignalStrengthGsm *out) { - out->signalStrength = in->signalStrength; - out->bitErrorRate = in->bitErrorRate; - out->timingAdvance = in->timingAdvance; -} - -static void chppWwanConvertCellInfoGsmFromChre( - const struct chreWwanCellInfoGsm *in, struct ChppWwanCellInfoGsm *out) { - chppWwanConvertCellIdentityGsmFromChre(&in->cellIdentityGsm, - &out->cellIdentityGsm); - chppWwanConvertSignalStrengthGsmFromChre(&in->signalStrengthGsm, - &out->signalStrengthGsm); -} - -static void chppWwanConvertCellIdentityLteFromChre( - const struct chreWwanCellIdentityLte *in, - struct ChppWwanCellIdentityLte *out) { - out->mcc = in->mcc; - out->mnc = in->mnc; - out->ci = in->ci; - out->pci = in->pci; - out->tac = in->tac; - out->earfcn = in->earfcn; -} - -static void chppWwanConvertSignalStrengthLteFromChre( - const struct chreWwanSignalStrengthLte *in, - struct ChppWwanSignalStrengthLte *out) { - out->signalStrength = in->signalStrength; - out->rsrp = in->rsrp; - out->rsrq = in->rsrq; - out->rssnr = in->rssnr; - out->cqi = in->cqi; - out->timingAdvance = in->timingAdvance; -} - -static void chppWwanConvertCellInfoLteFromChre( - const struct chreWwanCellInfoLte *in, struct ChppWwanCellInfoLte *out) { - chppWwanConvertCellIdentityLteFromChre(&in->cellIdentityLte, - &out->cellIdentityLte); - chppWwanConvertSignalStrengthLteFromChre(&in->signalStrengthLte, - &out->signalStrengthLte); -} - -static void chppWwanConvertCellIdentityNrFromChre( - const struct chreWwanCellIdentityNr *in, - struct ChppWwanCellIdentityNr *out) { - out->mcc = in->mcc; - out->mnc = in->mnc; - out->nci0 = in->nci0; - out->nci1 = in->nci1; - out->pci = in->pci; - out->tac = in->tac; - out->nrarfcn = in->nrarfcn; -} - -static void chppWwanConvertSignalStrengthNrFromChre( - const struct chreWwanSignalStrengthNr *in, - struct ChppWwanSignalStrengthNr *out) { - out->ssRsrp = in->ssRsrp; - out->ssRsrq = in->ssRsrq; - out->ssSinr = in->ssSinr; - out->csiRsrp = in->csiRsrp; - out->csiRsrq = in->csiRsrq; - out->csiSinr = in->csiSinr; -} - -static void chppWwanConvertCellInfoNrFromChre( - const struct chreWwanCellInfoNr *in, struct ChppWwanCellInfoNr *out) { - chppWwanConvertCellIdentityNrFromChre(&in->cellIdentityNr, - &out->cellIdentityNr); - chppWwanConvertSignalStrengthNrFromChre(&in->signalStrengthNr, - &out->signalStrengthNr); -} - -static void chppWwanConvertCellIdentityTdscdmaFromChre( - const struct chreWwanCellIdentityTdscdma *in, - struct ChppWwanCellIdentityTdscdma *out) { - out->mcc = in->mcc; - out->mnc = in->mnc; - out->lac = in->lac; - out->cid = in->cid; - out->cpid = in->cpid; -} - -static void chppWwanConvertSignalStrengthTdscdmaFromChre( - const struct chreWwanSignalStrengthTdscdma *in, - struct ChppWwanSignalStrengthTdscdma *out) { - out->rscp = in->rscp; -} - -static void chppWwanConvertCellInfoTdscdmaFromChre( - const struct chreWwanCellInfoTdscdma *in, - struct ChppWwanCellInfoTdscdma *out) { - chppWwanConvertCellIdentityTdscdmaFromChre(&in->cellIdentityTdscdma, - &out->cellIdentityTdscdma); - chppWwanConvertSignalStrengthTdscdmaFromChre(&in->signalStrengthTdscdma, - &out->signalStrengthTdscdma); -} - -static void chppWwanConvertCellIdentityWcdmaFromChre( - const struct chreWwanCellIdentityWcdma *in, - struct ChppWwanCellIdentityWcdma *out) { - out->mcc = in->mcc; - out->mnc = in->mnc; - out->lac = in->lac; - out->cid = in->cid; - out->psc = in->psc; - out->uarfcn = in->uarfcn; -} - -static void chppWwanConvertSignalStrengthWcdmaFromChre( - const struct chreWwanSignalStrengthWcdma *in, - struct ChppWwanSignalStrengthWcdma *out) { - out->signalStrength = in->signalStrength; - out->bitErrorRate = in->bitErrorRate; -} - -static void chppWwanConvertCellInfoWcdmaFromChre( - const struct chreWwanCellInfoWcdma *in, struct ChppWwanCellInfoWcdma *out) { - chppWwanConvertCellIdentityWcdmaFromChre(&in->cellIdentityWcdma, - &out->cellIdentityWcdma); - chppWwanConvertSignalStrengthWcdmaFromChre(&in->signalStrengthWcdma, - &out->signalStrengthWcdma); -} - -static void chppWwanConvertCellInfoFromChre(const struct chreWwanCellInfo *in, - struct ChppWwanCellInfo *out) { - out->timeStamp = in->timeStamp; - out->cellInfoType = in->cellInfoType; - out->timeStampType = in->timeStampType; - out->registered = in->registered; - out->reserved = 0; - memset(&out->CellInfo, 0, sizeof(out->CellInfo)); - switch (in->cellInfoType) { - case CHRE_WWAN_CELL_INFO_TYPE_GSM: - chppWwanConvertCellInfoGsmFromChre(&in->CellInfo.gsm, &out->CellInfo.gsm); - break; - case CHRE_WWAN_CELL_INFO_TYPE_CDMA: - chppWwanConvertCellInfoCdmaFromChre(&in->CellInfo.cdma, - &out->CellInfo.cdma); - break; - case CHRE_WWAN_CELL_INFO_TYPE_LTE: - chppWwanConvertCellInfoLteFromChre(&in->CellInfo.lte, &out->CellInfo.lte); - break; - case CHRE_WWAN_CELL_INFO_TYPE_WCDMA: - chppWwanConvertCellInfoWcdmaFromChre(&in->CellInfo.wcdma, - &out->CellInfo.wcdma); - break; - case CHRE_WWAN_CELL_INFO_TYPE_TD_SCDMA: - chppWwanConvertCellInfoTdscdmaFromChre(&in->CellInfo.tdscdma, - &out->CellInfo.tdscdma); - break; - case CHRE_WWAN_CELL_INFO_TYPE_NR: - chppWwanConvertCellInfoNrFromChre(&in->CellInfo.nr, &out->CellInfo.nr); - break; - default: - CHPP_ASSERT(false); - } -} - -static void chppWwanConvertCellInfoResultFromChre( - const struct chreWwanCellInfoResult *in, struct ChppWwanCellInfoResult *out, - uint8_t *payload, size_t payloadSize, uint16_t *vlaOffset) { - out->version = CHRE_WWAN_CELL_INFO_RESULT_VERSION; - out->errorCode = in->errorCode; - out->cellInfoCount = in->cellInfoCount; - out->reserved = 0; - out->cookie = 0; - - struct ChppWwanCellInfo *cells = - (struct ChppWwanCellInfo *)&payload[*vlaOffset]; - out->cells.length = in->cellInfoCount * sizeof(struct ChppWwanCellInfo); - CHPP_ASSERT((size_t)(*vlaOffset + out->cells.length) <= payloadSize); - if (out->cells.length > 0 && *vlaOffset + out->cells.length <= payloadSize) { - for (size_t i = 0; i < in->cellInfoCount; i++) { - chppWwanConvertCellInfoFromChre(&in->cells[i], &cells[i]); - } - out->cells.offset = *vlaOffset; - *vlaOffset += out->cells.length; - } else { - out->cells.offset = 0; - } -} - -// Encoding (CHRE --> CHPP) top-level functions - -bool chppWwanCellInfoResultFromChre( - const struct chreWwanCellInfoResult *in, - struct ChppWwanCellInfoResultWithHeader **out, size_t *outSize) { - CHPP_NOT_NULL(out); - CHPP_NOT_NULL(outSize); - - size_t payloadSize = chppWwanSizeOfCellInfoResultFromChre(in); - *out = chppMalloc(payloadSize); - if (*out != NULL) { - uint8_t *payload = (uint8_t *)&(*out)->payload; - uint16_t vlaOffset = sizeof(struct ChppWwanCellInfoResult); - chppWwanConvertCellInfoResultFromChre(in, &(*out)->payload, payload, - payloadSize, &vlaOffset); - *outSize = payloadSize; - return true; - } - return false; -} - -// Decoding (CHPP --> CHRE) conversion functions - -static bool chppWwanConvertCellIdentityCdmaToChre( - const struct ChppWwanCellIdentityCdma *in, - struct chreWwanCellIdentityCdma *out) { - out->networkId = in->networkId; - out->systemId = in->systemId; - out->basestationId = in->basestationId; - out->longitude = in->longitude; - out->latitude = in->latitude; - - return true; -} - -static bool chppWwanConvertSignalStrengthCdmaToChre( - const struct ChppWwanSignalStrengthCdma *in, - struct chreWwanSignalStrengthCdma *out) { - out->dbm = in->dbm; - out->ecio = in->ecio; - - return true; -} - -static bool chppWwanConvertSignalStrengthEvdoToChre( - const struct ChppWwanSignalStrengthEvdo *in, - struct chreWwanSignalStrengthEvdo *out) { - out->dbm = in->dbm; - out->ecio = in->ecio; - out->signalNoiseRatio = in->signalNoiseRatio; - - return true; -} - -static bool chppWwanConvertCellInfoCdmaToChre( - const struct ChppWwanCellInfoCdma *in, struct chreWwanCellInfoCdma *out) { - if (!chppWwanConvertCellIdentityCdmaToChre(&in->cellIdentityCdma, - &out->cellIdentityCdma)) { - return false; - } - if (!chppWwanConvertSignalStrengthCdmaToChre(&in->signalStrengthCdma, - &out->signalStrengthCdma)) { - return false; - } - if (!chppWwanConvertSignalStrengthEvdoToChre(&in->signalStrengthEvdo, - &out->signalStrengthEvdo)) { - return false; - } - - return true; -} - -static bool chppWwanConvertCellIdentityGsmToChre( - const struct ChppWwanCellIdentityGsm *in, - struct chreWwanCellIdentityGsm *out) { - out->mcc = in->mcc; - out->mnc = in->mnc; - out->lac = in->lac; - out->cid = in->cid; - out->arfcn = in->arfcn; - out->bsic = in->bsic; - memset(&out->reserved, 0, sizeof(out->reserved)); - - return true; -} - -static bool chppWwanConvertSignalStrengthGsmToChre( - const struct ChppWwanSignalStrengthGsm *in, - struct chreWwanSignalStrengthGsm *out) { - out->signalStrength = in->signalStrength; - out->bitErrorRate = in->bitErrorRate; - out->timingAdvance = in->timingAdvance; - - return true; -} - -static bool chppWwanConvertCellInfoGsmToChre( - const struct ChppWwanCellInfoGsm *in, struct chreWwanCellInfoGsm *out) { - if (!chppWwanConvertCellIdentityGsmToChre(&in->cellIdentityGsm, - &out->cellIdentityGsm)) { - return false; - } - if (!chppWwanConvertSignalStrengthGsmToChre(&in->signalStrengthGsm, - &out->signalStrengthGsm)) { - return false; - } - - return true; -} - -static bool chppWwanConvertCellIdentityLteToChre( - const struct ChppWwanCellIdentityLte *in, - struct chreWwanCellIdentityLte *out) { - out->mcc = in->mcc; - out->mnc = in->mnc; - out->ci = in->ci; - out->pci = in->pci; - out->tac = in->tac; - out->earfcn = in->earfcn; - - return true; -} - -static bool chppWwanConvertSignalStrengthLteToChre( - const struct ChppWwanSignalStrengthLte *in, - struct chreWwanSignalStrengthLte *out) { - out->signalStrength = in->signalStrength; - out->rsrp = in->rsrp; - out->rsrq = in->rsrq; - out->rssnr = in->rssnr; - out->cqi = in->cqi; - out->timingAdvance = in->timingAdvance; - - return true; -} - -static bool chppWwanConvertCellInfoLteToChre( - const struct ChppWwanCellInfoLte *in, struct chreWwanCellInfoLte *out) { - if (!chppWwanConvertCellIdentityLteToChre(&in->cellIdentityLte, - &out->cellIdentityLte)) { - return false; - } - if (!chppWwanConvertSignalStrengthLteToChre(&in->signalStrengthLte, - &out->signalStrengthLte)) { - return false; - } - - return true; -} - -static bool chppWwanConvertCellIdentityNrToChre( - const struct ChppWwanCellIdentityNr *in, - struct chreWwanCellIdentityNr *out) { - out->mcc = in->mcc; - out->mnc = in->mnc; - out->nci0 = in->nci0; - out->nci1 = in->nci1; - out->pci = in->pci; - out->tac = in->tac; - out->nrarfcn = in->nrarfcn; - - return true; -} - -static bool chppWwanConvertSignalStrengthNrToChre( - const struct ChppWwanSignalStrengthNr *in, - struct chreWwanSignalStrengthNr *out) { - out->ssRsrp = in->ssRsrp; - out->ssRsrq = in->ssRsrq; - out->ssSinr = in->ssSinr; - out->csiRsrp = in->csiRsrp; - out->csiRsrq = in->csiRsrq; - out->csiSinr = in->csiSinr; - - return true; -} - -static bool chppWwanConvertCellInfoNrToChre(const struct ChppWwanCellInfoNr *in, - struct chreWwanCellInfoNr *out) { - if (!chppWwanConvertCellIdentityNrToChre(&in->cellIdentityNr, - &out->cellIdentityNr)) { - return false; - } - if (!chppWwanConvertSignalStrengthNrToChre(&in->signalStrengthNr, - &out->signalStrengthNr)) { - return false; - } - - return true; -} - -static bool chppWwanConvertCellIdentityTdscdmaToChre( - const struct ChppWwanCellIdentityTdscdma *in, - struct chreWwanCellIdentityTdscdma *out) { - out->mcc = in->mcc; - out->mnc = in->mnc; - out->lac = in->lac; - out->cid = in->cid; - out->cpid = in->cpid; - - return true; -} - -static bool chppWwanConvertSignalStrengthTdscdmaToChre( - const struct ChppWwanSignalStrengthTdscdma *in, - struct chreWwanSignalStrengthTdscdma *out) { - out->rscp = in->rscp; - - return true; -} - -static bool chppWwanConvertCellInfoTdscdmaToChre( - const struct ChppWwanCellInfoTdscdma *in, - struct chreWwanCellInfoTdscdma *out) { - if (!chppWwanConvertCellIdentityTdscdmaToChre(&in->cellIdentityTdscdma, - &out->cellIdentityTdscdma)) { - return false; - } - if (!chppWwanConvertSignalStrengthTdscdmaToChre( - &in->signalStrengthTdscdma, &out->signalStrengthTdscdma)) { - return false; - } - - return true; -} - -static bool chppWwanConvertCellIdentityWcdmaToChre( - const struct ChppWwanCellIdentityWcdma *in, - struct chreWwanCellIdentityWcdma *out) { - out->mcc = in->mcc; - out->mnc = in->mnc; - out->lac = in->lac; - out->cid = in->cid; - out->psc = in->psc; - out->uarfcn = in->uarfcn; - - return true; -} - -static bool chppWwanConvertSignalStrengthWcdmaToChre( - const struct ChppWwanSignalStrengthWcdma *in, - struct chreWwanSignalStrengthWcdma *out) { - out->signalStrength = in->signalStrength; - out->bitErrorRate = in->bitErrorRate; - - return true; -} - -static bool chppWwanConvertCellInfoWcdmaToChre( - const struct ChppWwanCellInfoWcdma *in, struct chreWwanCellInfoWcdma *out) { - if (!chppWwanConvertCellIdentityWcdmaToChre(&in->cellIdentityWcdma, - &out->cellIdentityWcdma)) { - return false; - } - if (!chppWwanConvertSignalStrengthWcdmaToChre(&in->signalStrengthWcdma, - &out->signalStrengthWcdma)) { - return false; - } - - return true; -} - -static bool chppWwanConvertCellInfoToChre(const struct ChppWwanCellInfo *in, - struct chreWwanCellInfo *out) { - out->timeStamp = in->timeStamp; - out->cellInfoType = in->cellInfoType; - out->timeStampType = in->timeStampType; - out->registered = in->registered; - out->reserved = 0; - memset(&out->CellInfo, 0, sizeof(out->CellInfo)); - switch (in->cellInfoType) { - case CHRE_WWAN_CELL_INFO_TYPE_GSM: - if (!chppWwanConvertCellInfoGsmToChre(&in->CellInfo.gsm, - &out->CellInfo.gsm)) { - return false; - } - break; - case CHRE_WWAN_CELL_INFO_TYPE_CDMA: - if (!chppWwanConvertCellInfoCdmaToChre(&in->CellInfo.cdma, - &out->CellInfo.cdma)) { - return false; - } - break; - case CHRE_WWAN_CELL_INFO_TYPE_LTE: - if (!chppWwanConvertCellInfoLteToChre(&in->CellInfo.lte, - &out->CellInfo.lte)) { - return false; - } - break; - case CHRE_WWAN_CELL_INFO_TYPE_WCDMA: - if (!chppWwanConvertCellInfoWcdmaToChre(&in->CellInfo.wcdma, - &out->CellInfo.wcdma)) { - return false; - } - break; - case CHRE_WWAN_CELL_INFO_TYPE_TD_SCDMA: - if (!chppWwanConvertCellInfoTdscdmaToChre(&in->CellInfo.tdscdma, - &out->CellInfo.tdscdma)) { - return false; - } - break; - case CHRE_WWAN_CELL_INFO_TYPE_NR: - if (!chppWwanConvertCellInfoNrToChre(&in->CellInfo.nr, - &out->CellInfo.nr)) { - return false; - } - break; - default: - CHPP_ASSERT(false); - } - - return true; -} - -static bool chppWwanConvertCellInfoResultToChre( - const struct ChppWwanCellInfoResult *in, struct chreWwanCellInfoResult *out, - size_t inSize) { - out->version = CHRE_WWAN_CELL_INFO_RESULT_VERSION; - out->errorCode = in->errorCode; - out->cellInfoCount = in->cellInfoCount; - out->reserved = 0; - out->cookie = 0; - - if (in->cells.length == 0) { - out->cells = NULL; - } else { - if (in->cells.offset + in->cells.length > inSize || - in->cells.length != - in->cellInfoCount * sizeof(struct ChppWwanCellInfo)) { - return false; - } - - const struct ChppWwanCellInfo *cellsIn = (const struct ChppWwanCellInfo *)&( - (const uint8_t *)in)[in->cells.offset]; - - struct chreWwanCellInfo *cellsOut = - chppMalloc(in->cellInfoCount * sizeof(struct chreWwanCellInfo)); - if (cellsOut == NULL) { - return false; - } - - for (size_t i = 0; i < in->cellInfoCount; i++) { - if (!chppWwanConvertCellInfoToChre(&cellsIn[i], &cellsOut[i])) { - return false; - } - } - out->cells = cellsOut; - } - - return true; -} - -// Decoding (CHPP --> CHRE) top-level functions - -struct chreWwanCellInfoResult *chppWwanCellInfoResultToChre( - const struct ChppWwanCellInfoResult *in, size_t inSize) { - struct chreWwanCellInfoResult *out = NULL; - - if (inSize >= sizeof(struct ChppWwanCellInfoResult)) { - out = chppMalloc(sizeof(struct chreWwanCellInfoResult)); - if (out != NULL) { - if (!chppWwanConvertCellInfoResultToChre(in, out, inSize)) { - CHPP_FREE_AND_NULLIFY(out); - } - } - } - - return out; -} |