blob: e9cc747f8e97a14a631443a8834fe5e1e6c17ecb [file] [log] [blame]
Maxd4bebbd2017-03-02 12:00:19 +01001/* OsmoHLR generic header */
2
3/* (C) 2017 sysmocom s.f.m.c. GmbH <info@sysmocom.de>
4 * All Rights Reserved
5 *
6 * Author: Max Suraev <msuraev@sysmocom.de>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU Affero General Public License as published by
10 * the Free Software Foundation; either version 3 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Affero General Public License for more details.
17 *
18 * You should have received a copy of the GNU Affero General Public License
19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 *
21 */
22
23#pragma once
24
25#include <stdbool.h>
Harald Welte4956ae12018-06-15 22:04:28 +020026#include <osmocom/core/linuxlist.h>
27
28struct hlr_euse;
Maxd4bebbd2017-03-02 12:00:19 +010029
30struct hlr {
31 /* GSUP server pointer */
32 struct osmo_gsup_server *gs;
33
34 /* DB context */
35 struct db_context *dbc;
Max372868b2017-03-02 12:12:00 +010036
37 /* Control Interface */
38 struct ctrl_handle *ctrl;
39 const char *ctrl_bind_addr;
Pau Espin Pedrolce9bc402017-05-31 13:19:22 +020040
41 /* Local bind addr */
42 char *gsup_bind_addr;
Harald Welte4956ae12018-06-15 22:04:28 +020043
44 struct llist_head euse_list;
45 struct hlr_euse *euse_default;
Harald Weltedab544e2018-07-29 16:14:48 +020046 struct llist_head iuse_list;
47
Vadim Yanitskiyd157a562018-12-01 00:03:39 +070048 /* NCSS (call independent) session guard timeout value */
49 int ncss_guard_timeout;
50
Harald Weltedab544e2018-07-29 16:14:48 +020051 struct llist_head ussd_routes;
Harald Weltebb779392018-06-16 20:21:10 +020052
53 struct llist_head ss_sessions;
Maxd4bebbd2017-03-02 12:00:19 +010054};
Stefan Sperlingf1622522018-04-09 11:39:16 +020055
Harald Welted5807b82018-07-29 12:27:41 +020056extern struct hlr *g_hlr;
57
Stefan Sperlingf1622522018-04-09 11:39:16 +020058struct hlr_subscriber;
59
60void osmo_hlr_subscriber_update_notify(struct hlr_subscriber *subscr);