libosmogsm 1.9.0.196-9975
Osmocom GSM library
gsm_49_031.h
Go to the documentation of this file.
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 */
24#pragma once
25
26#include <stdint.h>
27#include <stdbool.h>
28
29#include <osmocom/core/endian.h>
33#include <osmocom/gsm/gsm48.h>
34
53};
54
57 bool present;
60 uint8_t diag_val;
61};
62
63/* 3GPP TS 49.031 10.16 LCS QoS IE */
65#if OSMO_IS_LITTLE_ENDIAN
66 uint8_t vert:1, vel:1, spare1:6;
67 uint8_t ha_val:7, ha_ind:1;
68 uint8_t va_val:7, va_ind:1;
69 uint8_t spare3:6, rt:2;
70#elif OSMO_IS_BIG_ENDIAN
71/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianness.py) */
72 uint8_t spare1:6, vel:1, vert:1;
73 uint8_t ha_ind:1, ha_val:7;
74 uint8_t va_ind:1, va_val:7;
75 uint8_t rt:2, spare3:6;
76#endif
77} __attribute__ ((packed));
78
81};
82
94};
95
137};
138
144};
145
150};
151
157};
158
162};
163
173};
174
178
181
182 struct osmo_mobile_identity imsi;
183 struct osmo_mobile_identity imei;
184
187
191 uint8_t lcs_priority;
195
197};
198
202
204
206};
207
210
212};
213
216 union {
218 /* reset_ack consists only of the message type */
223 };
224};
225
228 union {
230 /* future: add DTAP PDU, currently not implemented */
231 };
232};
233
bssmap_le_apdu_proto
Definition: gsm_49_031.h:139
bssmap_le_lcs_client_type
Definition: gsm_49_031.h:164
bssmap_le_positioning_method
Definition: gsm_49_031.h:152
enum bssap_le_msg_discr __attribute__
bssmap_le_msgt
Definition: gsm_49_031.h:83
bssmap_le_iei
Definition: gsm_49_031.h:96
bssmap_le_location_information
Definition: gsm_49_031.h:146
bssap_le_msg_discr
Definition: gsm_49_031.h:79
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:36
@ BSSMAP_LE_APDU_PROT_BSSLAP
Definition: gsm_49_031.h:141
@ BSSMAP_LE_APDU_PROT_RESERVED
Definition: gsm_49_031.h:140
@ BSSMAP_LE_APDU_PROT_LLP
Definition: gsm_49_031.h:142
@ BSSMAP_LE_APDU_PROT_SMLCPP
Definition: gsm_49_031.h:143
@ BSSMAP_LE_LCS_CTYPE_PLMN_OPER_OAM
Definition: gsm_49_031.h:168
@ BSSMAP_LE_LCS_CTYPE_LI_UNSPECIFIED
Definition: gsm_49_031.h:172
@ BSSMAP_LE_LCS_CTYPE_PLMN_OPER_TGT_MS_SVC
Definition: gsm_49_031.h:170
@ BSSMAP_LE_LCS_CTYPE_PLMN_OPER_UNSPECIFIED
Definition: gsm_49_031.h:166
@ BSSMAP_LE_LCS_CTYPE_EMERG_SVC_UNSPECIFIED
Definition: gsm_49_031.h:171
@ BSSMAP_LE_LCS_CTYPE_VALUE_ADDED_UNSPECIFIED
Definition: gsm_49_031.h:165
@ BSSMAP_LE_LCS_CTYPE_PLMN_OPER_ANON_STATS
Definition: gsm_49_031.h:169
@ BSSMAP_LE_LCS_CTYPE_PLMN_OPER_BCAST_SERVICE
Definition: gsm_49_031.h:167
@ BSSMAP_LE_POS_METHOD_MOBILE_ASSISTED_E_OTD
Definition: gsm_49_031.h:154
@ BSSMAP_LE_POS_METHOD_OMITTED
Definition: gsm_49_031.h:153
@ BSSMAP_LE_POS_METHOD_MOBILE_BASED_E_OTD
Definition: gsm_49_031.h:155
@ BSSMAP_LE_POS_METHOD_ASSISTED_GPS
Definition: gsm_49_031.h:156
@ BSSMAP_LE_MSGT_CONN_LESS_INFO
Definition: gsm_49_031.h:91
@ BSSMAP_LE_MSGT_RESET
Definition: gsm_49_031.h:92
@ BSSMAP_LE_MSGT_ASSIST_INFO_REQ
Definition: gsm_49_031.h:88
@ BSSMAP_LE_MSGT_PERFORM_LOC_REQ
Definition: gsm_49_031.h:84
@ BSSMAP_LE_MSGT_PERFORM_LOC_ABORT
Definition: gsm_49_031.h:86
@ BSSMAP_LE_MSGT_RESET_ACK
Definition: gsm_49_031.h:93
@ BSSMAP_LE_MSGT_PERFORM_LOC_INFO
Definition: gsm_49_031.h:87
@ BSSMAP_LE_MSGT_ASSIST_INFO_RESP
Definition: gsm_49_031.h:89
@ BSSMAP_LE_MSGT_PERFORM_LOC_RESP
Definition: gsm_49_031.h:85
@ BSSMAP_LE_MSGT_CONN_ORIENTED_INFO
Definition: gsm_49_031.h:90
@ BSSMAP_LE_IEI_REQ_GANSS_ASS_D
Definition: gsm_49_031.h:110
@ BSSMAP_LE_IEI_CELL_ID_LIST
Definition: gsm_49_031.h:122
@ BSSMAP_LE_IEI_LCS_CAPABILITY
Definition: gsm_49_031.h:120
@ BSSMAP_LE_IEI_REQ_GPS_ASS_D
Definition: gsm_49_031.h:109
@ BSSMAP_LE_IEI_IMSI
Definition: gsm_49_031.h:119
@ BSSMAP_LE_IEI_SHORT_ID_SET
Definition: gsm_49_031.h:130
@ BSSMAP_LE_IEI_SEGMENTATION
Definition: gsm_49_031.h:114
@ BSSMAP_LE_IEI_RANDOM_ID
Definition: gsm_49_031.h:133
@ BSSMAP_LE_IEI_LCS_CAUSE
Definition: gsm_49_031.h:105
@ BSSMAP_LE_IEI_MLAT_METHOD
Definition: gsm_49_031.h:127
@ BSSMAP_LE_IEI_COVERAGE_CLASS
Definition: gsm_49_031.h:135
@ BSSMAP_LE_IEI_GANSS_POS_DATA
Definition: gsm_49_031.h:103
@ BSSMAP_LE_IEI_CLASSMARK3_INFO
Definition: gsm_49_031.h:115
@ BSSMAP_LE_IEI_SHORT_ID
Definition: gsm_49_031.h:134
@ BSSMAP_LE_IEI_LCS_CLIENT_TYPE
Definition: gsm_49_031.h:106
@ BSSMAP_LE_IEI_CELL_INFO_LIST
Definition: gsm_49_031.h:125
@ BSSMAP_LE_IEI_GANSS_LOCATION_TYPE
Definition: gsm_49_031.h:100
@ BSSMAP_LE_IEI_IMEI
Definition: gsm_49_031.h:123
@ BSSMAP_LE_IEI_RANDOM_ID_SET
Definition: gsm_49_031.h:131
@ BSSMAP_LE_IEI_PKT_MEAS_REP
Definition: gsm_49_031.h:121
@ BSSMAP_LE_IEI_APDU
Definition: gsm_49_031.h:107
@ BSSMAP_LE_IEI_POSITIONING_DATA
Definition: gsm_49_031.h:102
@ BSSMAP_LE_IEI_MTA_ACC_SEC_RQD
Definition: gsm_49_031.h:136
@ BSSMAP_LE_IEI_RET_ERR_CAUSE
Definition: gsm_49_031.h:113
@ BSSMAP_LE_IEI_BTS_RX_ACC_LVL
Definition: gsm_49_031.h:126
@ BSSMAP_LE_IEI_GEO_LOCATION
Definition: gsm_49_031.h:101
@ BSSMAP_LE_IEI_SHORT_BSS_ID
Definition: gsm_49_031.h:132
@ BSSMAP_LE_IEI_LCS_QoS
Definition: gsm_49_031.h:97
@ BSSMAP_LE_IEI_LCS_PRIORITY
Definition: gsm_49_031.h:98
@ BSSMAP_LE_IEI_BSS_MLAT_CAP
Definition: gsm_49_031.h:124
@ BSSMAP_LE_IEI_VELOCITY_DATA
Definition: gsm_49_031.h:104
@ BSSMAP_LE_IEI_DECIPH_KEYS
Definition: gsm_49_031.h:111
@ BSSMAP_LE_IEI_MLAT_TA
Definition: gsm_49_031.h:128
@ BSSMAP_LE_IEI_CELL_ID
Definition: gsm_49_031.h:117
@ BSSMAP_LE_IEI_LOCATION_TYPE
Definition: gsm_49_031.h:99
@ BSSMAP_LE_IEI_NET_ELEM_ID
Definition: gsm_49_031.h:108
@ BSSMAP_LE_IEI_RET_ERR_REQ
Definition: gsm_49_031.h:112
@ BSSMAP_LE_IEI_CHOSEN_CHAN
Definition: gsm_49_031.h:118
@ BSSMAP_LE_IEI_MS_SYNC_ACC
Definition: gsm_49_031.h:129
@ BSSMAP_LE_IEI_CAUSE
Definition: gsm_49_031.h:116
@ BSSMAP_LE_LOC_INFO_BC_DECIPHER_KEYS
Definition: gsm_49_031.h:149
@ BSSMAP_LE_LOC_INFO_ASSIST_TARGET_MS
Definition: gsm_49_031.h:148
@ BSSMAP_LE_LOC_INFO_CURRENT_GEOGRAPHIC
Definition: gsm_49_031.h:147
@ BSSAP_LE_MSG_DISCR_BSSMAP_LE
Definition: gsm_49_031.h:80
@ LCS_CAUSE_INTRA_BSC_HO
Definition: gsm_49_031.h:47
@ LCS_CAUSE_DATA_MISSING_IN_REQ
Definition: gsm_49_031.h:40
@ LCS_CAUSE_PROTOCOL_ERROR
Definition: gsm_49_031.h:39
@ LCS_CAUSE_CONGESTION
Definition: gsm_49_031.h:48
@ LCS_CAUSE_UNEXP_DATA_IN_REQ
Definition: gsm_49_031.h:41
@ LCS_CAUSE_TGT_MS_UNREACHABLE
Definition: gsm_49_031.h:43
@ LCS_CAUSE_RA_UPDAT
Definition: gsm_49_031.h:50
@ LCS_CAUSE_GPRS_SUSPENSION
Definition: gsm_49_031.h:52
@ LCS_CAUSE_SYSTEM_FAILURE
Definition: gsm_49_031.h:38
@ LCS_CAUSE_UNSPECIFIED
Definition: gsm_49_031.h:37
@ LCS_CAUSE_POS_METH_FAILURE
Definition: gsm_49_031.h:42
@ LCS_CAUSE_REQUEST_ABORTED
Definition: gsm_49_031.h:44
@ LCS_CAUSE_INTER_NSE_CHG
Definition: gsm_49_031.h:49
@ LCS_CAUSE_INTER_BSC_HO
Definition: gsm_49_031.h:46
@ LCS_CAUSE_FACILITY_NOTSUPP
Definition: gsm_49_031.h:45
@ LCS_CAUSE_PTMSI_REALLOC
Definition: gsm_49_031.h:51
gsm0808_cause
Definition: gsm_08_08.h:366
Definition: gsm_49_031.h:226
enum bssap_le_msg_discr discr
Definition: gsm_49_031.h:227
struct bssmap_le_pdu bssmap_le
Definition: gsm_49_031.h:229
Definition: gsm_48_071.h:106
Definition: gsm_49_031.h:208
bool more_items
always set this to false
Definition: gsm_49_031.h:211
struct bsslap_pdu apdu
Definition: gsm_49_031.h:209
Definition: gsm_49_031.h:159
enum bssmap_le_location_information location_information
Definition: gsm_49_031.h:160
enum bssmap_le_positioning_method positioning_method
Definition: gsm_49_031.h:161
Definition: gsm_49_031.h:214
struct bssmap_le_perform_loc_req perform_loc_req
Definition: gsm_49_031.h:219
struct bssmap_le_conn_oriented_info conn_oriented_info
Definition: gsm_49_031.h:222
enum gsm0808_cause reset
Definition: gsm_49_031.h:217
struct bssmap_le_perform_loc_resp perform_loc_resp
Definition: gsm_49_031.h:220
enum bssmap_le_msgt msg_type
Definition: gsm_49_031.h:215
struct lcs_cause_ie perform_loc_abort
Definition: gsm_49_031.h:221
Definition: gsm_49_031.h:175
struct bssmap_le_location_type location_type
Definition: gsm_49_031.h:176
struct osmo_mobile_identity imsi
Definition: gsm_49_031.h:182
enum bssmap_le_lcs_client_type lcs_client_type
Definition: gsm_49_031.h:180
struct osmo_mobile_identity imei
Definition: gsm_49_031.h:183
struct gsm0808_cell_id cell_id
Definition: gsm_49_031.h:177
uint8_t lcs_priority
see in 3GPP TS 29.002
Definition: gsm_49_031.h:191
bool apdu_present
Definition: gsm_49_031.h:185
bool lcs_priority_present
Definition: gsm_49_031.h:190
bool more_items2
always set this to false
Definition: gsm_49_031.h:196
bool lcs_client_type_present
Definition: gsm_49_031.h:179
struct osmo_bssmap_le_lcs_qos lcs_qos
Definition: gsm_49_031.h:194
bool lcs_qos_present
Definition: gsm_49_031.h:193
bool more_items
set this to true iff any fields below are used
Definition: gsm_49_031.h:188
struct bsslap_pdu apdu
Definition: gsm_49_031.h:186
Definition: gsm_49_031.h:199
bool location_estimate_present
Definition: gsm_49_031.h:200
union gad_raw location_estimate
Definition: gsm_49_031.h:201
bool more_items
always set this to false
Definition: gsm_49_031.h:205
Parsed representation of Cell Identifier IE (3GPP TS 48.008 3.2.2.17)
Definition: gsm0808_utils.h:55
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:56
bool present
Definition: gsm_49_031.h:57
uint8_t diag_val
Definition: gsm_49_031.h:60
bool diag_val_present
Definition: gsm_49_031.h:59
enum lcs_cause cause_val
Definition: gsm_49_031.h:58
Definition: gsm_49_031.h:64
GAD PDU in network-byte-order according to 3GPP TS 23.032 GAD: Universal Geographical Area Descriptio...
Definition: gsm_23_032.h:239