libosmogsm  0.10.2
Osmocom GSM library
gsm23003.h
Go to the documentation of this file.
1 
3 #pragma once
4 
5 #include <stdint.h>
6 #include <stdbool.h>
7 
8 /* 23.003 Chapter 12.1 */
9 struct osmo_plmn_id {
10  uint16_t mcc;
11  uint16_t mnc;
12 };
13 
14 /* 4.1 */
16  struct osmo_plmn_id plmn;
17  uint16_t lac;
18 };
19 
20 /* 4.2 */
23  uint8_t rac;
24 };
25 
26 /* 4.3.1 */
29  uint16_t cell_identity;
30 };
31 
32 /* 12.5 */
35  uint16_t sac;
36 };
37 
38 /* 12.6 */
40  struct osmo_plmn_id plmn;
41  uint32_t snac;
42 };
43 
44 /* 5.1 */
48 };
49 
50 /* 5.1 */
53  uint8_t length;
54  uint8_t addr[16];
55 };
56 
57 /* 19.4.2.3 */
59  struct osmo_plmn_id plmn;
60  uint16_t tac;
61 };
62 
64  struct osmo_plmn_id plmn;
65  uint32_t eci; /* FIXME */
66 };
67 
68 /* 2.8.1 */
69 struct osmo_mme_id {
70  uint16_t group_id;
71  uint8_t code;
72 };
73 
74 /* 2.8.1 */
75 struct osmo_gummei {
76  struct osmo_plmn_id plmn;
77  struct osmo_mme_id mme;
78 };
79 
80 /* 2.8.1 */
81 struct osmo_guti {
82  struct osmo_gummei gummei;
83  uint32_t mtmsi;
84 };
85 
86 bool osmo_imsi_str_valid(const char *imsi);
87 bool osmo_msisdn_str_valid(const char *msisdn);
osmo_gsn_addr_type
Definition: gsm23003.h:45
Definition: gsm23003.h:47
Definition: gsm23003.h:75
uint16_t cell_identity
Definition: gsm23003.h:29
bool osmo_msisdn_str_valid(const char *msisdn)
Determine whether the given MSISDN is valid according to 3GPP TS 23.003.
Definition: gsm23003.c:64
uint8_t rac
Definition: gsm23003.h:23
Definition: gsm23003.h:21
uint16_t tac
Definition: gsm23003.h:60
bool osmo_imsi_str_valid(const char *imsi)
Determine whether the given IMSI is valid according to 3GPP TS 23.003.
Definition: gsm23003.c:54
uint8_t type
Definition: gsm_04_08.h:91
Definition: gsm23003.h:9
uint16_t sac
Definition: gsm23003.h:35
Definition: gsm23003.h:63
Definition: gsm23003.h:39
Definition: gsm23003.h:69
Definition: gsm23003.h:46
Definition: gsm23003.h:51
Definition: gsm23003.h:81
uint16_t group_id
Definition: gsm23003.h:70
uint16_t mnc
Definition: gsm23003.h:11
uint16_t mcc
Definition: gsm23003.h:10
uint8_t length
Definition: gsm23003.h:53
uint32_t eci
Definition: gsm23003.h:65
Definition: gsm23003.h:27
Definition: gsm23003.h:33
uint32_t snac
Definition: gsm23003.h:41
Definition: gsm23003.h:15
uint8_t code
Definition: gsm23003.h:71
uint16_t lac
Definition: gsm23003.h:17
struct gsm48_loc_area_id lai
Definition: gsm_04_08.h:93
uint16_t lac
Definition: gsm_04_08.h:92
Definition: gsm23003.h:58
uint32_t mtmsi
Definition: gsm23003.h:83