libosmogsm  1.4.0.171-b3b83
Osmocom GSM library
gsm_49_031.h
Go to the documentation of this file.
1 
5 /*
6  * (C) 2020 by sysmocom - s.f.m.c. GmbH <info@sysmocom.de>
7  * All Rights Reserved
8  *
9  * Author: Neels Hofmeyr <neels@hofmeyr.de>
10  *
11  * SPDX-License-Identifier: GPL-2.0+
12  *
13  * This program is free software; you can redistribute it and/or modify
14  * it under the terms of the GNU General Public License as published by
15  * the Free Software Foundation; either version 2 of the License, or
16  * (at your option) any later version.
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License along
24  * with this program; if not, write to the Free Software Foundation, Inc.,
25  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
26  *
27  */
28 #pragma once
29 
30 #include <stdint.h>
31 #include <stdbool.h>
35 #include <osmocom/gsm/gsm48.h>
36 
38 enum lcs_cause {
55 };
56 
58 struct lcs_cause_ie {
59  bool present;
62  uint8_t diag_val;
63 };
64 
67 };
68 
80 };
81 
123 };
124 
130 };
131 
136 };
137 
143 };
144 
146  enum bssmap_le_location_information location_information;
147  enum bssmap_le_positioning_method positioning_method;
148 };
149 
159 };
160 
162  struct bssmap_le_location_type location_type;
163  struct gsm0808_cell_id cell_id;
164 
166  enum bssmap_le_lcs_client_type lcs_client_type;
167 
168  struct osmo_mobile_identity imsi;
169  struct osmo_mobile_identity imei;
170 
172  struct bsslap_pdu apdu;
173 
174  bool more_items;
175 };
176 
179  union gad_raw location_estimate;
180 
182 
183  bool more_items;
184 };
185 
187  struct bsslap_pdu apdu;
188 
189  bool more_items;
190 };
191 
194  union {
195  enum gsm0808_cause reset;
196  /* reset_ack consists only of the message type */
197  struct bssmap_le_perform_loc_req perform_loc_req;
198  struct bssmap_le_perform_loc_resp perform_loc_resp;
199  struct lcs_cause_ie perform_loc_abort;
200  struct bssmap_le_conn_oriented_info conn_oriented_info;
201  };
202 };
203 
204 struct bssap_le_pdu {
205  enum bssap_le_msg_discr discr;
206  union {
207  struct bssmap_le_pdu bssmap_le;
208  /* future: add DTAP PDU, currently not implemented */
209  };
210 };
211 
uint8_t msg_type
Definition: gsm_04_08.h:589
Definition: gsm_49_031.h:95
Definition: gsm_49_031.h:113
Definition: gsm_49_031.h:111
Definition: gsm_49_031.h:186
Definition: gsm_49_031.h:39
Definition: gsm_49_031.h:74
Definition: gsm_49_031.h:120
Definition: gsm_49_031.h:44
Definition: gsm_49_031.h:41
Definition: gsm_49_031.h:78
Definition: gsm_49_031.h:156
Definition: gsm_49_031.h:53
Definition: gsm_49_031.h:107
bssmap_le_positioning_method
Definition: gsm_49_031.h:138
Definition: gsm_49_031.h:92
bool present
Definition: gsm_49_031.h:59
GAD PDU in network-byte-order according to 3GPP TS 23.032 GAD: Universal Geographical Area Descriptio...
Definition: gsm_23_032.h:159
Definition: gsm_49_031.h:96
bool more_items
always set this to false
Definition: gsm_49_031.h:183
Definition: gsm_49_031.h:204
Definition: gsm_49_031.h:93
bssmap_le_iei
Definition: gsm_49_031.h:82
Definition: gsm_49_031.h:141
Definition: gsm_49_031.h:116
bssmap_le_apdu_proto
Definition: gsm_49_031.h:125
Definition: gsm_49_031.h:47
Definition: gsm_49_031.h:112
Definition: gsm_49_031.h:118
Definition: gsm_49_031.h:89
lcs_cause
3GPP TS 49.031 10.13 LCS Cause, also in 3GPP TS 48.008 3.2.2.66, which simply refers to the former...
Definition: gsm_49_031.h:38
Definition: gsm_49_031.h:133
Definition: gsm_49_031.h:192
Definition: gsm_49_031.h:105
bool apdu_present
Definition: gsm_49_031.h:171
Definition: gsm_49_031.h:52
Definition: gsm_49_031.h:42
Definition: gsm_49_031.h:91
Definition: gsm_49_031.h:145
Definition: gsm_49_031.h:51
Definition: gsm_49_031.h:50
Definition: gsm_49_031.h:117
Definition: gsm_49_031.h:76
Definition: gsm_49_031.h:122
Definition: gsm_49_031.h:85
Definition: gsm_49_031.h:135
Definition: gsm_49_031.h:99
Definition: gsm_49_031.h:54
Definition: gsm_49_031.h:71
Definition: gsm_49_031.h:152
bool diag_val_present
Definition: gsm_49_031.h:61
Definition: gsm_49_031.h:40
Definition: gsm_49_031.h:108
Definition: gsm_49_031.h:121
Definition: gsm_49_031.h:129
Definition: gsm_49_031.h:115
Definition: gsm_49_031.h:126
Definition: gsm_49_031.h:103
Definition: gsm_49_031.h:77
Definition: gsm_49_031.h:100
Definition: gsm_49_031.h:94
Definition: gsm_49_031.h:102
Definition: gsm_49_031.h:97
Definition: gsm_49_031.h:90
Definition: gsm_49_031.h:70
Definition: gsm_49_031.h:86
gsm0808_cause
Definition: gsm_08_08.h:356
3GPP TS 49.031 10.13 LCS Cause, also in 3GPP TS 48.008 3.2.2.66, which simply refers to the former...
Definition: gsm_49_031.h:58
Definition: gsm_49_031.h:73
bssap_le_msg_discr
Definition: gsm_49_031.h:65
Definition: gsm_49_031.h:106
Definition: gsm_49_031.h:104
bssmap_le_msgt
Definition: gsm_49_031.h:69
Definition: gsm_49_031.h:49
Definition: gsm_49_031.h:87
Definition: gsm_49_031.h:79
Definition: gsm_49_031.h:98
Definition: gsm_49_031.h:45
bool location_estimate_present
Definition: gsm_49_031.h:178
Definition: gsm_49_031.h:134
Definition: gsm_49_031.h:66
Definition: gsm_49_031.h:127
Definition: gsm_49_031.h:139
bssmap_le_lcs_client_type
Definition: gsm_49_031.h:150
Definition: gsm_49_031.h:142
Definition: gsm_49_031.h:48
Definition: gsm_49_031.h:154
enum lcs_cause cause_val
Definition: gsm_49_031.h:60
bssmap_le_location_information
Definition: gsm_49_031.h:132
bool lcs_client_type_present
Definition: gsm_49_031.h:165
Definition: gsm_49_031.h:43
Definition: gsm_49_031.h:114
bool more_items
always set this to false
Definition: gsm_49_031.h:189
uint8_t diag_val
Definition: gsm_49_031.h:62
Definition: gsm_49_031.h:119
Definition: gsm_49_031.h:101
Definition: gsm_49_031.h:75
Parsed representation of Cell Identifier IE (3GPP TS 48.008 3.2.2.17)
Definition: gsm0808_utils.h:50
Definition: gsm_49_031.h:110
Definition: gsm_49_031.h:140
Definition: gsm_49_031.h:157
Definition: gsm_49_031.h:155
Definition: gsm_49_031.h:161
Definition: gsm_49_031.h:158
Definition: gsm_49_031.h:109
Definition: gsm_49_031.h:84
Definition: gsm_49_031.h:128
Definition: gsm_49_031.h:46
bool more_items
always set this to false
Definition: gsm_49_031.h:174
Definition: gsm_49_031.h:88
Definition: gsm_49_031.h:177
Definition: gsm_49_031.h:83
Definition: gsm_48_071.h:110
Definition: gsm_49_031.h:72