|
libosmogsm
0.12.0
Osmocom GSM library
|
#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_lac_and_ci_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_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... | |
| const char * | osmo_mcc_name (uint16_t mcc) |
| Return MCC string as standardized 3-digit with leading zeros. 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... | |
| 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_mcc_mnc_name(), but returning in a different static 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... | |
| 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... | |
| 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) |
| enum osmo_gsn_addr_type |
| 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 _cgi_name().
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 _cgi_name().
| 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().
| 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 gsm48_loc_area_id::lac, lai, and osmo_plmn_name().
Referenced by _cgi_name(), and gsm0808_cell_id_u_name().
|
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. |
Referenced by osmo_rai_name(), and plmn_name().
| 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 | ||
| ) |
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. |
Referenced by osmo_rai_name(), and plmn_name().
| 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 is_n_digits().
| 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().
| 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 plmn_name().
Referenced by osmo_lai_name().
| const char* osmo_plmn_name2 | ( | const struct osmo_plmn_id * | plmn | ) |
Same as osmo_mcc_mnc_name(), but returning in a different static buffer.
| [in] | plmn | MCC-MNC value. |
References plmn_name().
| 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 gsm48_generate_lai2(), and gsm48_mcc_mnc_to_bcd().