mirror of https://gerrit.osmocom.org/libosmocore
import gsm48_decode_lai() function from osmocom-bb/mobile sysinfo.c
This commit is contained in:
parent
e30b6ac5d1
commit
774a9de8b3
|
@ -20,6 +20,8 @@ const char *gsm48_cc_state_name(uint8_t state);
|
|||
const char *gsm48_cc_msg_name(uint8_t msgtype);
|
||||
const char *rr_cause_name(uint8_t cause);
|
||||
|
||||
int gsm48_decode_lai(struct gsm48_loc_area_id *lai, uint16_t *mcc,
|
||||
uint16_t *mnc, uint16_t *lac);
|
||||
void gsm48_generate_lai(struct gsm48_loc_area_id *lai48, uint16_t mcc,
|
||||
uint16_t mnc, uint16_t lac);
|
||||
int gsm48_generate_mid_from_tmsi(uint8_t *buf, uint32_t tmsi);
|
||||
|
|
|
@ -285,6 +285,20 @@ void gsm48_generate_lai(struct gsm48_loc_area_id *lai48, uint16_t mcc,
|
|||
lai48->lac = htons(lac);
|
||||
}
|
||||
|
||||
int gsm48_decode_lai(struct gsm48_loc_area_id *lai, uint16_t *mcc,
|
||||
uint16_t *mnc, uint16_t *lac)
|
||||
{
|
||||
*mcc = ((lai->digits[0] & 0x0f) << 8)
|
||||
| (lai->digits[0] & 0xf0)
|
||||
| (lai->digits[1] & 0x0f);
|
||||
*mnc = ((lai->digits[2] & 0x0f) << 8)
|
||||
| (lai->digits[2] & 0xf0)
|
||||
| ((lai->digits[1] & 0xf0) >> 4);
|
||||
*lac = ntohs(lai->lac);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int gsm48_generate_mid_from_tmsi(uint8_t *buf, uint32_t tmsi)
|
||||
{
|
||||
uint32_t *tptr = (uint32_t *) &buf[3];
|
||||
|
|
Loading…
Reference in New Issue