diff options
author | Harald Welte <laforge@gnumonks.org> | 2016-05-11 09:13:08 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2016-06-16 21:25:26 +0000 |
commit | bda26c09019310dd25a2e7671f362cf2c26a3aff (patch) | |
tree | d1799f207a8ad76c3cd85718311048f95ee853ac /include/osmocom/gsm/gsm23003.h | |
parent | de960cbc0cc6c02139d2a9be954219420cc81650 (diff) |
Add structures defining decoded TS 23.003 identities
Change-Id: I6423f8d75bb3e7aeca285854ab3232a087d62b57
Reviewed-on: https://gerrit.osmocom.org/304
Reviewed-by: Harald Welte <laforge@gnumonks.org>
Tested-by: Jenkins Builder
Diffstat (limited to 'include/osmocom/gsm/gsm23003.h')
-rw-r--r-- | include/osmocom/gsm/gsm23003.h | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/include/osmocom/gsm/gsm23003.h b/include/osmocom/gsm/gsm23003.h new file mode 100644 index 00000000..29e646cc --- /dev/null +++ b/include/osmocom/gsm/gsm23003.h @@ -0,0 +1,80 @@ +#pragma once +#include <stdint.h> + +/* 23.003 Chapter 12.1 */ +struct osmo_plmn_id { + uint16_t mcc; + uint16_t mnc; +}; + +/* 4.1 */ +struct osmo_location_area_id { + struct osmo_plmn_id plmn; + uint16_t lac; +}; + +/* 4.2 */ +struct osmo_routing_area_id { + struct osmo_location_area_id lac; + uint8_t rac; +}; + +/* 4.3.1 */ +struct osmo_cell_global_id { + struct osmo_location_area_id lai; + uint16_t cell_identity; +}; + +/* 12.5 */ +struct osmo_service_area_id { + struct osmo_location_area_id lai; + uint16_t sac; +}; + +/* 12.6 */ +struct osmo_shared_network_area_id { + struct osmo_plmn_id plmn; + uint32_t snac; +}; + +/* 5.1 */ +enum osmo_gsn_addr_type { + GSN_ADDR_TYPE_IPV4 = 0, + GSN_ADDR_TYPE_IPV6 = 1, +}; + +/* 5.1 */ +struct osmo_gsn_address { + enum osmo_gsn_addr_type type; + uint8_t length; + uint8_t addr[16]; +}; + +/* 19.4.2.3 */ +struct osmo_tracking_area_id { + struct osmo_plmn_id plmn; + uint16_t tac; +}; + +struct osmo_eutran_cell_global_id { + struct osmo_plmn_id plmn; + uint32_t eci; /* FIXME */ +}; + +/* 2.8.1 */ +struct osmo_mme_id { + uint16_t group_id; + uint8_t code; +}; + +/* 2.8.1 */ +struct osmo_gummei { + struct osmo_plmn_id plmn; + struct osmo_mme_id mme; +}; + +/* 2.8.1 */ +struct osmo_guti { + struct osmo_gummei gummei; + uint32_t mtmsi; +}; |