libosmogsm 1.10.0.57-8972
Osmocom GSM library
|
#include <stddef.h>
#include <stdint.h>
#include <stdbool.h>
Go to the source code of this file.
Data Structures | |
struct | osmo_plmn_id |
struct | osmo_location_area_id |
struct | osmo_routing_area_id |
struct | osmo_cell_global_id |
struct | osmo_cell_global_id_ps |
struct | osmo_lac_and_ci_id |
struct | osmo_rnc_id |
struct | osmo_service_area_id |
struct | osmo_shared_network_area_id |
struct | osmo_gsn_address |
struct | osmo_tracking_area_id |
struct | osmo_eutran_cell_global_id |
struct | osmo_mme_id |
struct | osmo_gummei |
struct | osmo_guti |
Enumerations | |
enum | osmo_cgi_part { OSMO_CGI_PART_PLMN = 1 , OSMO_CGI_PART_LAC = 2 , OSMO_CGI_PART_CI = 4 , OSMO_CGI_PART_RAC = 8 } |
Bitmask of items contained in a struct osmo_cell_global_id. More... | |
enum | osmo_gsn_addr_type { GSN_ADDR_TYPE_IPV4 = 0 , GSN_ADDR_TYPE_IPV6 = 1 } |
Functions | |
bool | osmo_imsi_str_valid (const char *imsi) |
Determine whether the given IMSI is valid according to 3GPP TS 23.003. More... | |
bool | osmo_msisdn_str_valid (const char *msisdn) |
Determine whether the given MSISDN is valid according to 3GPP TS 23.003. More... | |
bool | osmo_imei_str_valid (const char *imei, bool with_15th_digit) |
Determine whether the given IMEI is valid according to 3GPP TS 23.003, Section 6.2.1. More... | |
const char * | osmo_mcc_name (uint16_t mcc) |
Return MCC string as standardized 3-digit with leading zeros. More... | |
char * | osmo_mcc_name_buf (char *buf, size_t buf_len, uint16_t mcc) |
Return MCC string as standardized 3-digit with leading zeros. More... | |
const char * | osmo_mcc_name_c (const void *ctx, uint16_t mcc) |
Return MCC string as standardized 3-digit with leading zeros, into a talloc-allocated buffer. More... | |
const char * | osmo_mnc_name (uint16_t mnc, bool mnc_3_digits) |
Return MNC string as standardized 2- or 3-digit with leading zeros. More... | |
char * | osmo_mnc_name_buf (char *buf, size_t buf_len, uint16_t mnc, bool mnc_3_digits) |
Return MNC string as standardized 2- or 3-digit with leading zeros. More... | |
char * | osmo_mnc_name_c (const void *ctx, uint16_t mnc, bool mnc_3_digits) |
Return MNC string as standardized 2- or 3-digit with leading zeros, into a talloc-allocated buffer. More... | |
const char * | osmo_plmn_name (const struct osmo_plmn_id *plmn) |
Return MCC-MNC string as standardized 3-digit-dash-2/3-digit with leading zeros. More... | |
const char * | osmo_plmn_name2 (const struct osmo_plmn_id *plmn) |
Same as osmo_plmn_name(), but returning in a different static buffer. More... | |
char * | osmo_plmn_name_buf (char *buf, size_t buf_len, const struct osmo_plmn_id *plmn) |
Return MCC-MNC string as standardized 3-digit-dash-2/3-digit with leading zeros. More... | |
char * | osmo_plmn_name_c (const void *ctx, const struct osmo_plmn_id *plmn) |
Return MCC-MNC string as standardized 3-digit-dash-2/3-digit with leading zeros, into a dynamically-allocated output buffer. More... | |
const char * | osmo_lai_name (const struct osmo_location_area_id *lai) |
Return MCC-MNC-LAC as string, in a static buffer. More... | |
char * | osmo_lai_name_buf (char *buf, size_t buf_len, const struct osmo_location_area_id *lai) |
Return MCC-MNC-LAC as string, in caller-provided output buffer. More... | |
char * | osmo_lai_name_c (const void *ctx, const struct osmo_location_area_id *lai) |
Return MCC-MNC-LAC as string, in a talloc-allocated output buffer. More... | |
const char * | osmo_rai_name2 (const struct osmo_routing_area_id *rai) |
Return MCC-MNC-LAC-RAC as string, in a static buffer. More... | |
char * | osmo_rai_name2_buf (char *buf, size_t buf_len, const struct osmo_routing_area_id *rai) |
Return MCC-MNC-LAC-RAC as string, in caller-provided output buffer. More... | |
char * | osmo_rai_name2_c (const void *ctx, const struct osmo_routing_area_id *rai) |
Return MCC-MNC-LAC-RAC as string, in a talloc-allocated output buffer. More... | |
const char * | osmo_cgi_name (const struct osmo_cell_global_id *cgi) |
Return MCC-MNC-LAC-CI as string, in a static buffer. More... | |
const char * | osmo_cgi_name2 (const struct osmo_cell_global_id *cgi) |
Same as osmo_cgi_name(), but uses a different static buffer. More... | |
char * | osmo_cgi_name_buf (char *buf, size_t buf_len, const struct osmo_cell_global_id *cgi) |
Return MCC-MNC-LAC-CI as string, in caller-provided output buffer. More... | |
char * | osmo_cgi_name_c (const void *ctx, const struct osmo_cell_global_id *cgi) |
Return MCC-MNC-LAC-CI as string, in a talloc-allocated output buffer. More... | |
const char * | osmo_cgi_ps_name (const struct osmo_cell_global_id_ps *cgi_ps) |
Return MCC-MNC-LAC-RAC-CI as string, in a static buffer. More... | |
const char * | osmo_cgi_ps_name2 (const struct osmo_cell_global_id_ps *cgi_ps) |
Same as osmo_cgi_ps_name(), but uses a different static buffer. More... | |
char * | osmo_cgi_ps_name_buf (char *buf, size_t buf_len, const struct osmo_cell_global_id_ps *cgi_ps) |
Return MCC-MNC-LAC-RAC-CI as string, in caller-provided output buffer. More... | |
char * | osmo_cgi_ps_name_c (const void *ctx, const struct osmo_cell_global_id_ps *cgi_ps) |
Return MCC-MNC-LAC-RAC-CI as string, in a talloc-allocated output buffer. More... | |
const char * | osmo_rnc_id_name (const struct osmo_rnc_id *rnc_id) |
Return string representation of RNC in static output buffer. More... | |
char * | osmo_rnc_id_name_buf (char *buf, size_t buf_len, const struct osmo_rnc_id *rnc_id) |
Return string representation of RNC in caller-provided output buffer. More... | |
char * | osmo_rnc_id_name_c (const void *ctx, const struct osmo_rnc_id *rnc_id) |
Return string representation of RNC in static output buffer. More... | |
const char * | osmo_sai_name (const struct osmo_service_area_id *sai) |
Return MCC-MNC-LAC-SAC as string, in a static buffer. More... | |
const char * | osmo_sai_name2 (const struct osmo_service_area_id *sai) |
Same as osmo_cgi_name(), but uses a different static buffer. More... | |
char * | osmo_sai_name_buf (char *buf, size_t buf_len, const struct osmo_service_area_id *sai) |
Return MCC-MNC-LAC-SAC as string, in caller-provided output buffer. More... | |
char * | osmo_sai_name_c (const void *ctx, const struct osmo_service_area_id *sai) |
Return MCC-MNC-LAC-SAC as string, in a talloc-allocated output buffer. More... | |
const char * | osmo_gummei_name (const struct osmo_gummei *gummei) |
Return string representation of GUMMEI in static output buffer. More... | |
char * | osmo_gummei_name_buf (char *buf, size_t buf_len, const struct osmo_gummei *gummei) |
Return string representation of GUMMEI in caller-provided output buffer. More... | |
char * | osmo_gummei_name_c (const void *ctx, const struct osmo_gummei *gummei) |
Return string representation of GUMMEI in static output buffer. More... | |
void | osmo_plmn_to_bcd (uint8_t *bcd_dst, const struct osmo_plmn_id *plmn) |
void | osmo_plmn_from_bcd (const uint8_t *bcd_src, struct osmo_plmn_id *plmn) |
int | osmo_mnc_from_str (const char *mnc_str, uint16_t *mnc, bool *mnc_3_digits) |
static int | osmo_mcc_from_str (const char *mcc_str, uint16_t *mcc) |
int | osmo_mnc_cmp (uint16_t a_mnc, bool a_mnc_3_digits, uint16_t b_mnc, bool b_mnc_3_digits) |
int | osmo_plmn_cmp (const struct osmo_plmn_id *a, const struct osmo_plmn_id *b) |
int | osmo_lai_cmp (const struct osmo_location_area_id *a, const struct osmo_location_area_id *b) |
int | osmo_rai_cmp (const struct osmo_routing_area_id *a, const struct osmo_routing_area_id *b) |
int | osmo_cgi_cmp (const struct osmo_cell_global_id *a, const struct osmo_cell_global_id *b) |
int | osmo_cgi_ps_cmp (const struct osmo_cell_global_id_ps *a, const struct osmo_cell_global_id_ps *b) |
int | osmo_rnc_id_cmp (const struct osmo_rnc_id *a, const struct osmo_rnc_id *b) |
int | osmo_mme_id_cmp (const struct osmo_mme_id *a, const struct osmo_mme_id *b) |
int | osmo_gummei_cmp (const struct osmo_gummei *a, const struct osmo_gummei *b) |
int | osmo_gen_home_network_domain (char *out, const struct osmo_plmn_id *plmn) |
Generate TS 23.003 Section 19.2 Home Network Realm/Domain (text form) More... | |
int | osmo_parse_home_network_domain (struct osmo_plmn_id *out, const char *in) |
Parse a TS 23.003 Section 19.2 Home Network Realm/Domain (text form) into a osmo_plmn_id. More... | |
int | osmo_gen_mme_domain (char *out, const struct osmo_gummei *gummei) |
Generate TS 23.003 Section 19.4.2.4 MME Domain (text form) More... | |
int | osmo_gen_mme_group_domain (char *out, uint16_t mmegi, const struct osmo_plmn_id *plmn) |
Generate TS 23.003 Section 19.4.2.4 MME Group Domain (text form) More... | |
int | osmo_parse_mme_domain (struct osmo_gummei *out, const char *in) |
Parse a TS 23.003 Section 19.4.2.4 MME Domain (text form) into a osmo_gummei. More... | |
enum osmo_cgi_part |
Bitmask of items contained in a struct osmo_cell_global_id.
See also gsm0808_cell_id_to_cgi().
Enumerator | |
---|---|
OSMO_CGI_PART_PLMN | |
OSMO_CGI_PART_LAC | |
OSMO_CGI_PART_CI | |
OSMO_CGI_PART_RAC |
enum osmo_gsn_addr_type |
int osmo_cgi_cmp | ( | const struct osmo_cell_global_id * | a, |
const struct osmo_cell_global_id * | b | ||
) |
References osmo_cell_global_id::cell_identity, osmo_cell_global_id::lai, and osmo_lai_cmp().
Referenced by gsm0808_cell_id_u_match().
const char * osmo_cgi_name | ( | const struct osmo_cell_global_id * | cgi | ) |
Return MCC-MNC-LAC-CI as string, in a static buffer.
[in] | cgi | CGI to encode. |
References osmo_cgi_name_buf().
Referenced by gsm0808_cell_id_u_name().
const char * osmo_cgi_name2 | ( | const struct osmo_cell_global_id * | cgi | ) |
Same as osmo_cgi_name(), but uses a different static buffer.
Useful for printing two distinct CGIs in the same printf format.
[in] | cgi | CGI to encode. |
References osmo_cgi_name_buf().
char * osmo_cgi_name_buf | ( | char * | buf, |
size_t | buf_len, | ||
const struct osmo_cell_global_id * | cgi | ||
) |
Return MCC-MNC-LAC-CI as string, in caller-provided output buffer.
[out] | buf | caller-allocated output buffer |
[in] | buf_len | size of buf in bytes |
[in] | cgi | CGI to encode. |
References osmo_cell_global_id::cell_identity, osmo_cell_global_id::lai, and osmo_lai_name().
Referenced by osmo_cgi_name(), osmo_cgi_name2(), and osmo_cgi_name_c().
char * osmo_cgi_name_c | ( | const void * | ctx, |
const struct osmo_cell_global_id * | cgi | ||
) |
Return MCC-MNC-LAC-CI as string, in a talloc-allocated output buffer.
[in] | ctx | talloc context from which to allocate output buffer |
[in] | cgi | CGI to encode. |
References osmo_cgi_name_buf().
int osmo_cgi_ps_cmp | ( | const struct osmo_cell_global_id_ps * | a, |
const struct osmo_cell_global_id_ps * | b | ||
) |
References osmo_cell_global_id_ps::cell_identity, osmo_rai_cmp(), and osmo_cell_global_id_ps::rai.
const char * osmo_cgi_ps_name | ( | const struct osmo_cell_global_id_ps * | cgi_ps | ) |
Return MCC-MNC-LAC-RAC-CI as string, in a static buffer.
[in] | cgi_ps | CGI-PS to encode. |
References osmo_cgi_ps_name_buf().
Referenced by gsm0808_cell_id_u_name().
const char * osmo_cgi_ps_name2 | ( | const struct osmo_cell_global_id_ps * | cgi_ps | ) |
Same as osmo_cgi_ps_name(), but uses a different static buffer.
Useful for printing two distinct CGI-PSs in the same printf format.
[in] | cgi | CGI-PS to encode. |
References osmo_cgi_ps_name_buf().
char * osmo_cgi_ps_name_buf | ( | char * | buf, |
size_t | buf_len, | ||
const struct osmo_cell_global_id_ps * | cgi_ps | ||
) |
Return MCC-MNC-LAC-RAC-CI as string, in caller-provided output buffer.
[out] | buf | caller-allocated output buffer |
[in] | buf_len | size of buf in bytes |
[in] | cgi_ps | CGI-PS to encode. |
References osmo_cell_global_id_ps::cell_identity, osmo_rai_name2(), and osmo_cell_global_id_ps::rai.
Referenced by osmo_cgi_ps_name(), osmo_cgi_ps_name2(), and osmo_cgi_ps_name_c().
char * osmo_cgi_ps_name_c | ( | const void * | ctx, |
const struct osmo_cell_global_id_ps * | cgi_ps | ||
) |
Return MCC-MNC-LAC-RAC-CI as string, in a talloc-allocated output buffer.
[in] | ctx | talloc context from which to allocate output buffer |
[in] | cgi_ps | CGI-PS to encode. |
References osmo_cgi_ps_name_buf().
int osmo_gen_home_network_domain | ( | char * | out, |
const struct osmo_plmn_id * | plmn | ||
) |
Generate TS 23.003 Section 19.2 Home Network Realm/Domain (text form)
out[out] | caller-provided output buffer, at least 33 bytes long |
plmn[in] | Osmocom representation of PLMN ID (MCC + MNC) |
References osmo_plmn_id::mcc, and osmo_plmn_id::mnc.
Referenced by osmo_gen_mme_domain(), and osmo_gen_mme_group_domain().
int osmo_gen_mme_domain | ( | char * | out, |
const struct osmo_gummei * | gummei | ||
) |
Generate TS 23.003 Section 19.4.2.4 MME Domain (text form)
out[out] | caller-provided output buffer, at least 56 bytes long |
gummei[in] | Structure representing the Globally Unique MME Identifier |
References osmo_mme_id::code, osmo_mme_id::group_id, GSM23003_HOME_NETWORK_DOMAIN_LEN, osmo_gummei::mme, osmo_gen_home_network_domain(), and osmo_gummei::plmn.
int osmo_gen_mme_group_domain | ( | char * | out, |
uint16_t | mmegi, | ||
const struct osmo_plmn_id * | plmn | ||
) |
Generate TS 23.003 Section 19.4.2.4 MME Group Domain (text form)
out[out] | caller-provided output buffer, at least 56 bytes long |
mmegi[in] | MME Group Identifier |
plmn[in] | Osmocom representation of PLMN ID (MCC + MNC) |
References GSM23003_HOME_NETWORK_DOMAIN_LEN, and osmo_gen_home_network_domain().
int osmo_gummei_cmp | ( | const struct osmo_gummei * | a, |
const struct osmo_gummei * | b | ||
) |
References osmo_gummei::mme, osmo_mme_id_cmp(), osmo_plmn_cmp(), and osmo_gummei::plmn.
const char * osmo_gummei_name | ( | const struct osmo_gummei * | gummei | ) |
Return string representation of GUMMEI in static output buffer.
[in] | gummei | GUMMEI to be stringified |
References osmo_gummei_name_buf().
char * osmo_gummei_name_buf | ( | char * | buf, |
size_t | buf_len, | ||
const struct osmo_gummei * | gummei | ||
) |
Return string representation of GUMMEI in caller-provided output buffer.
[out] | buf | pointer to caller-provided output buffer |
[in] | buf_len | size of buf in bytes |
[in] | gummei | GUMMEI to be stringified |
References osmo_mme_id::code, osmo_mme_id::group_id, osmo_gummei::mme, osmo_plmn_name_buf(), and osmo_gummei::plmn.
Referenced by osmo_gummei_name(), and osmo_gummei_name_c().
char * osmo_gummei_name_c | ( | const void * | ctx, |
const struct osmo_gummei * | gummei | ||
) |
Return string representation of GUMMEI in static output buffer.
[out] | buf | pointer to caller-provided output buffer |
[in] | buf_len | size of buf in bytes |
[in] | gummei | GUMMEI to be stringified |
References osmo_gummei_name_buf().
bool osmo_imei_str_valid | ( | const char * | imei, |
bool | with_15th_digit | ||
) |
Determine whether the given IMEI is valid according to 3GPP TS 23.003, Section 6.2.1.
It consists of 14 digits, the 15th check digit is not intended for digital transmission.
imei | IMEI digits in ASCII string representation. |
with_15th_digit | when true, expect the 15th digit to be present and verify it. |
References is_n_digits(), and osmo_luhn().
bool osmo_imsi_str_valid | ( | const char * | imsi | ) |
Determine whether the given IMSI is valid according to 3GPP TS 23.003.
imsi | IMSI digits in ASCII string representation. |
References GSM23003_IMSI_MAX_DIGITS, GSM23003_IMSI_MIN_DIGITS, and is_n_digits().
int osmo_lai_cmp | ( | const struct osmo_location_area_id * | a, |
const struct osmo_location_area_id * | b | ||
) |
References osmo_location_area_id::lac, osmo_plmn_cmp(), and osmo_location_area_id::plmn.
Referenced by osmo_cgi_cmp(), and osmo_rai_cmp().
const char * osmo_lai_name | ( | const struct osmo_location_area_id * | lai | ) |
Return MCC-MNC-LAC as string, in a static buffer.
[in] | lai | LAI to encode, the rac member is ignored. |
References lai, and osmo_lai_name_buf().
Referenced by gsm0808_cell_id_u_name(), osmo_cgi_name_buf(), and osmo_sai_name_buf().
char * osmo_lai_name_buf | ( | char * | buf, |
size_t | buf_len, | ||
const struct osmo_location_area_id * | lai | ||
) |
Return MCC-MNC-LAC as string, in caller-provided output buffer.
[out] | buf | caller-allocated output buffer |
[in] | buf_len | size of buf in bytes |
[in] | lai | LAI to encode, the rac member is ignored. |
References gsm48_loc_area_id::lac, lai, and osmo_plmn_name_buf().
Referenced by osmo_lai_name(), and osmo_lai_name_c().
char * osmo_lai_name_c | ( | const void * | ctx, |
const struct osmo_location_area_id * | lai | ||
) |
Return MCC-MNC-LAC as string, in a talloc-allocated output buffer.
[in] | ctx | talloc context from which to allocate output buffer |
[in] | lai | LAI to encode, the rac member is ignored. |
References lai, and osmo_lai_name_buf().
|
inlinestatic |
References osmo_mnc_from_str().
const char * osmo_mcc_name | ( | uint16_t | mcc | ) |
Return MCC string as standardized 3-digit with leading zeros.
[in] | mcc | MCC value. |
References osmo_mcc_name_buf().
Referenced by osmo_rai_name_buf().
char * osmo_mcc_name_buf | ( | char * | buf, |
size_t | buf_len, | ||
uint16_t | mcc | ||
) |
Return MCC string as standardized 3-digit with leading zeros.
[out] | buf | caller-allocated output buffer |
[in] | buf_len | size of buf in bytes |
[in] | mcc | MCC value. |
Referenced by osmo_mcc_name(), osmo_mcc_name_c(), and osmo_plmn_name_buf().
const char * osmo_mcc_name_c | ( | const void * | ctx, |
uint16_t | mcc | ||
) |
Return MCC string as standardized 3-digit with leading zeros, into a talloc-allocated buffer.
[in] | ctx | talloc context from which to allocate output buffer |
[in] | mcc | MCC value. |
References osmo_mcc_name_buf().
int osmo_mme_id_cmp | ( | const struct osmo_mme_id * | a, |
const struct osmo_mme_id * | b | ||
) |
References osmo_mme_id::code, and osmo_mme_id::group_id.
Referenced by osmo_gummei_cmp().
int osmo_mnc_cmp | ( | uint16_t | a_mnc, |
bool | a_mnc_3_digits, | ||
uint16_t | b_mnc, | ||
bool | b_mnc_3_digits | ||
) |
Referenced by osmo_plmn_cmp().
int osmo_mnc_from_str | ( | const char * | mnc_str, |
uint16_t * | mnc, | ||
bool * | mnc_3_digits | ||
) |
References osmo_str_to_int().
Referenced by osmo_mcc_from_str().
const char * osmo_mnc_name | ( | uint16_t | mnc, |
bool | mnc_3_digits | ||
) |
Return MNC string as standardized 2- or 3-digit with leading zeros.
[in] | mnc | MNC value. |
[in] | mnc_3_digits | True if an MNC should fill three digits, only has an effect if MNC < 100. |
References osmo_mnc_name_buf().
Referenced by osmo_rai_name_buf().
char * osmo_mnc_name_buf | ( | char * | buf, |
size_t | buf_len, | ||
uint16_t | mnc, | ||
bool | mnc_3_digits | ||
) |
Return MNC string as standardized 2- or 3-digit with leading zeros.
[out] | buf | caller-allocated output buffer |
[in] | buf_len | size of buf in bytes |
[in] | mnc | MNC value. |
[in] | mnc_3_digits | True if an MNC should fill three digits, only has an effect if MNC < 100. |
Referenced by osmo_mnc_name(), osmo_mnc_name_c(), and osmo_plmn_name_buf().
char * osmo_mnc_name_c | ( | const void * | ctx, |
uint16_t | mnc, | ||
bool | mnc_3_digits | ||
) |
Return MNC string as standardized 2- or 3-digit with leading zeros, into a talloc-allocated buffer.
[in] | ctx | talloc context from which to allocate output buffer |
[in] | mnc | MNC value. |
[in] | mnc_3_digits | True if an MNC should fill three digits, only has an effect if MNC < 100. |
References osmo_mnc_name_buf().
bool osmo_msisdn_str_valid | ( | const char * | msisdn | ) |
Determine whether the given MSISDN is valid according to 3GPP TS 23.003.
msisdn | MSISDN digits in ASCII string representation. |
References GSM23003_MSISDN_MAX_DIGITS, GSM23003_MSISDN_MIN_DIGITS, and is_n_digits().
int osmo_parse_home_network_domain | ( | struct osmo_plmn_id * | out, |
const char * | in | ||
) |
Parse a TS 23.003 Section 19.2 Home Network Realm/Domain (text form) into a osmo_plmn_id.
out[out] | caller-allocated output structure |
in[in] | character string representation to be parsed |
References osmo_plmn_id::mcc, and osmo_plmn_id::mnc.
int osmo_parse_mme_domain | ( | struct osmo_gummei * | out, |
const char * | in | ||
) |
Parse a TS 23.003 Section 19.4.2.4 MME Domain (text form) into a osmo_gummei.
out[out] | caller-allocated output GUMMEI structure |
in[in] | character string representation to be parsed |
References osmo_mme_id::code, osmo_mme_id::group_id, osmo_plmn_id::mcc, osmo_gummei::mme, osmo_plmn_id::mnc, and osmo_gummei::plmn.
int osmo_plmn_cmp | ( | const struct osmo_plmn_id * | a, |
const struct osmo_plmn_id * | b | ||
) |
References osmo_plmn_id::mcc, osmo_plmn_id::mnc, osmo_plmn_id::mnc_3_digits, and osmo_mnc_cmp().
Referenced by osmo_gummei_cmp(), osmo_lai_cmp(), and osmo_rnc_id_cmp().
void osmo_plmn_from_bcd | ( | const uint8_t * | bcd_src, |
struct osmo_plmn_id * | plmn | ||
) |
References osmo_plmn_id::mcc, osmo_plmn_id::mnc, and osmo_plmn_id::mnc_3_digits.
Referenced by gsm48_decode_lai2(), and gsm48_mcc_mnc_from_bcd().
const char * osmo_plmn_name | ( | const struct osmo_plmn_id * | plmn | ) |
Return MCC-MNC string as standardized 3-digit-dash-2/3-digit with leading zeros.
[in] | plmn | MCC-MNC value. |
References osmo_plmn_name_buf().
const char * osmo_plmn_name2 | ( | const struct osmo_plmn_id * | plmn | ) |
Same as osmo_plmn_name(), but returning in a different static buffer.
[in] | plmn | MCC-MNC value. |
References osmo_plmn_name_buf().
char * osmo_plmn_name_buf | ( | char * | buf, |
size_t | buf_len, | ||
const struct osmo_plmn_id * | plmn | ||
) |
Return MCC-MNC string as standardized 3-digit-dash-2/3-digit with leading zeros.
[out] | buf | caller-allocated output buffer |
[in] | buf_len | size of buf in bytes |
[in] | plmn | MCC-MNC value. |
References osmo_plmn_id::mcc, osmo_plmn_id::mnc, osmo_plmn_id::mnc_3_digits, osmo_mcc_name_buf(), and osmo_mnc_name_buf().
Referenced by osmo_gummei_name_buf(), osmo_lai_name_buf(), osmo_plmn_name(), osmo_plmn_name2(), osmo_plmn_name_c(), osmo_rai_name2_buf(), and osmo_rnc_id_name_buf().
char * osmo_plmn_name_c | ( | const void * | ctx, |
const struct osmo_plmn_id * | plmn | ||
) |
Return MCC-MNC string as standardized 3-digit-dash-2/3-digit with leading zeros, into a dynamically-allocated output buffer.
[in] | ctx | talloc context from which to allocate output buffer |
[in] | plmn | MCC-MNC value. |
References osmo_plmn_name_buf().
void osmo_plmn_to_bcd | ( | uint8_t * | bcd_dst, |
const struct osmo_plmn_id * | plmn | ||
) |
References osmo_plmn_id::mcc, osmo_plmn_id::mnc, osmo_plmn_id::mnc_3_digits, and to_bcd().
Referenced by gsm0808_create_common_id(), gsm48_generate_lai2(), gsm48_mcc_mnc_to_bcd(), and put_old_bss_to_new_bss_information().
int osmo_rai_cmp | ( | const struct osmo_routing_area_id * | a, |
const struct osmo_routing_area_id * | b | ||
) |
References osmo_routing_area_id::lac, osmo_lai_cmp(), and osmo_routing_area_id::rac.
Referenced by osmo_cgi_ps_cmp().
const char * osmo_rai_name2 | ( | const struct osmo_routing_area_id * | rai | ) |
Return MCC-MNC-LAC-RAC as string, in a static buffer.
[in] | rai | RAI to encode, the rac member is ignored. |
References osmo_rai_name2_buf().
Referenced by osmo_cgi_ps_name_buf().
char * osmo_rai_name2_buf | ( | char * | buf, |
size_t | buf_len, | ||
const struct osmo_routing_area_id * | rai | ||
) |
Return MCC-MNC-LAC-RAC as string, in caller-provided output buffer.
[out] | buf | caller-allocated output buffer |
[in] | buf_len | size of buf in bytes |
[in] | rai | RAI to encode, the rac member is ignored. |
References osmo_location_area_id::lac, osmo_routing_area_id::lac, osmo_plmn_name_buf(), osmo_location_area_id::plmn, and osmo_routing_area_id::rac.
Referenced by osmo_rai_name2(), and osmo_rai_name2_c().
char * osmo_rai_name2_c | ( | const void * | ctx, |
const struct osmo_routing_area_id * | rai | ||
) |
Return MCC-MNC-LAC-RAC as string, in a talloc-allocated output buffer.
[in] | ctx | talloc context from which to allocate output buffer |
[in] | rai | RAI to encode, the rac member is ignored. |
References osmo_rai_name2_buf().
int osmo_rnc_id_cmp | ( | const struct osmo_rnc_id * | a, |
const struct osmo_rnc_id * | b | ||
) |
References osmo_plmn_cmp(), osmo_rnc_id::plmn, and osmo_rnc_id::rnc_id.
const char * osmo_rnc_id_name | ( | const struct osmo_rnc_id * | rnc | ) |
Return string representation of RNC in static output buffer.
[in] | rnc | RNC to be stringified |
References osmo_rnc_id_name_buf().
char * osmo_rnc_id_name_buf | ( | char * | buf, |
size_t | buf_len, | ||
const struct osmo_rnc_id * | rnc | ||
) |
Return string representation of RNC in caller-provided output buffer.
[out] | buf | pointer to caller-provided output buffer |
[in] | buf_len | size of buf in bytes |
[in] | rnc | RNC to be stringified |
References osmo_plmn_name_buf(), osmo_rnc_id::plmn, and osmo_rnc_id::rnc_id.
Referenced by osmo_rnc_id_name(), and osmo_rnc_id_name_c().
char * osmo_rnc_id_name_c | ( | const void * | ctx, |
const struct osmo_rnc_id * | rnc | ||
) |
Return string representation of RNC in static output buffer.
[out] | buf | pointer to caller-provided output buffer |
[in] | buf_len | size of buf in bytes |
[in] | rnc | RNC to be stringified |
References osmo_rnc_id_name_buf().
const char * osmo_sai_name | ( | const struct osmo_service_area_id * | sai | ) |
Return MCC-MNC-LAC-SAC as string, in a static buffer.
[in] | sai | SAI to encode. |
References osmo_sai_name_buf().
Referenced by gsm0808_cell_id_u_name().
const char * osmo_sai_name2 | ( | const struct osmo_service_area_id * | sai | ) |
Same as osmo_cgi_name(), but uses a different static buffer.
Useful for printing two distinct CGIs in the same printf format.
[in] | sai | SAI to encode. |
References osmo_sai_name_buf().
char * osmo_sai_name_buf | ( | char * | buf, |
size_t | buf_len, | ||
const struct osmo_service_area_id * | sai | ||
) |
Return MCC-MNC-LAC-SAC as string, in caller-provided output buffer.
[out] | buf | caller-allocated output buffer |
[in] | buf_len | size of buf in bytes |
[in] | sai | SAI to encode. |
References osmo_service_area_id::lai, osmo_lai_name(), and osmo_service_area_id::sac.
Referenced by osmo_sai_name(), osmo_sai_name2(), and osmo_sai_name_c().
char * osmo_sai_name_c | ( | const void * | ctx, |
const struct osmo_service_area_id * | sai | ||
) |
Return MCC-MNC-LAC-SAC as string, in a talloc-allocated output buffer.
[in] | ctx | talloc context from which to allocate output buffer |
[in] | sai | SAI to encode. |
References osmo_sai_name_buf().