This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.orgHarald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13106 Change subject: rspro_util: Add rspro_comp_id_retrieve() ...................................................................... rspro_util: Add rspro_comp_id_retrieve() This function can be used to obtain an 'sturct app_comp_id' from received/decoded asn1c ComponentIdentity_t. Change-Id: I7c68cee171a65cb83a802285531b677cdf37108b --- M src/rspro_util.c M src/rspro_util.h 2 files changed, 28 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/06/13106/1 diff --git a/src/rspro_util.c b/src/rspro_util.c index 7001db8..efcc848 100644 --- a/src/rspro_util.c +++ b/src/rspro_util.c @@ -88,6 +88,32 @@ out->fwVersion = OCTET_STRING_new_fromBuf(&asn_DEF_ComponentName, in->fw_version, -1); } +void string_fromOCTET_STRING(char *out, size_t out_size, const OCTET_STRING_t *in) +{ + if (!in) + out[0] = '\0'; + memcpy(out, in->buf, out_size < in->size ? out_size : in->size); + if (in->size < out_size) + out[in->size] = '\0'; + else + out[out_size-1] = '\0'; +} +#define string_fromOCTET_STRING_ARRAY(out, in) string_fromOCTET_STRING(out, ARRAY_SIZE(out), in) + + +void rspro_comp_id_retrieve(struct app_comp_id *out, const ComponentIdentity_t *in) +{ + memset(out, 0, sizeof(*out)); + out->type = in->type; + string_fromOCTET_STRING_ARRAY(out->name, &in->name); + string_fromOCTET_STRING_ARRAY(out->software, &in->software); + string_fromOCTET_STRING_ARRAY(out->sw_version, &in->swVersion); + string_fromOCTET_STRING_ARRAY(out->hw_manufacturer, in->hwManufacturer); + string_fromOCTET_STRING_ARRAY(out->hw_serial_nr, in->hwSerialNr); + string_fromOCTET_STRING_ARRAY(out->hw_version, in->hwVersion); + string_fromOCTET_STRING_ARRAY(out->fw_version, in->fwVersion); +} + static void fill_ip4_port(IpPort_t *out, uint32_t ip, uint16_t port) { uint32_t ip_n = htonl(ip); diff --git a/src/rspro_util.h b/src/rspro_util.h index 0e9a026..7a0c8ed 100644 --- a/src/rspro_util.h +++ b/src/rspro_util.h @@ -36,3 +36,5 @@ const uint8_t *tpdu, unsigned int tpdu_len); RsproPDU_t *rspro_gen_TpduCard2Modem(const BankSlot_t *bank, const ClientSlot_t *client, const uint8_t *tpdu, unsigned int tpdu_len); + +void rspro_comp_id_retrieve(struct app_comp_id *out, const ComponentIdentity_t *in); -- To view, visit https://gerrit.osmocom.org/13106 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I7c68cee171a65cb83a802285531b677cdf37108b Gerrit-Change-Number: 13106 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte <laforge at gnumonks.org> -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190303/62a7c8aa/attachment.htm>