libosmo-sigtran  2.0.0.52-6412.202412092026
Osmocom SIGTRAN library
ss7_instance.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <stdint.h>
4 #include <stdbool.h>
5 #include <osmocom/core/linuxlist.h>
6 
7 /***********************************************************************
8  * SS7 Instances
9  ***********************************************************************/
10 
11 struct osmo_ss7_user;
13 struct osmo_sccp_instance;
14 
16  char delimiter;
17  uint8_t component_len[3];
18 };
19 
22  struct llist_head list;
24  struct llist_head linksets;
26  struct llist_head as_list;
28  struct llist_head asp_list;
30  struct llist_head rtable_list;
32  struct llist_head xua_servers;
33  /* array for faster lookup of user (indexed by service
34  * indicator) */
35  const struct osmo_ss7_user *user[16];
36 
38 
40 
41  struct {
42  uint32_t id;
43  char *name;
44  char *description;
45  uint32_t primary_pc;
46  /* capability PCs */
48  struct osmo_ss7_pc_fmt pc_fmt;
50  struct llist_head sccp_address_book;
51  uint32_t secondary_pc;
52  } cfg;
53 };
54 
55 struct osmo_ss7_instance *
56 ss7_instance_alloc(void *ctx, uint32_t id);
57 
58 uint32_t ss7_find_free_l_rk_id(struct osmo_ss7_instance *inst);
59 
60 #define _LOGSS7(inst, subsys, level, fmt, args ...) \
61  LOGP(subsys, level, "%u: " fmt, inst ? (inst)->cfg.id : 0, ## args)
62 #define LOGSS7(inst, level, fmt, args ...) \
63  _LOGSS7(inst, DLSS7, level, fmt, ## args)
struct osmo_ss7_instance * ss7_instance_alloc(void *ctx, uint32_t id)
Definition: osmo_ss7_instance.c:52
uint32_t ss7_find_free_l_rk_id(struct osmo_ss7_instance *inst)
Definition: osmo_ss7_instance.c:194
Definition: sccp_internal.h:39
Definition: ss7_instance.h:20
struct osmo_sccp_instance * sccp
Definition: ss7_instance.h:39
uint32_t secondary_pc
Definition: ss7_instance.h:51
struct osmo_ss7_route_table * rtable_system
Definition: ss7_instance.h:37
struct llist_head linksets
list of osmo_ss7_linkset
Definition: ss7_instance.h:24
char * name
Definition: ss7_instance.h:43
uint32_t primary_pc
Definition: ss7_instance.h:45
struct osmo_ss7_pc_fmt pc_fmt
Definition: ss7_instance.h:48
struct osmo_ss7_instance::@26 cfg
struct llist_head as_list
list of osmo_ss7_as
Definition: ss7_instance.h:26
struct llist_head rtable_list
list of osmo_ss7_route_table
Definition: ss7_instance.h:30
uint8_t network_indicator
Definition: ss7_instance.h:47
char * description
Definition: ss7_instance.h:44
uint32_t id
Definition: ss7_instance.h:42
struct llist_head asp_list
list of osmo_ss7_asp
Definition: ss7_instance.h:28
const struct osmo_ss7_user * user[16]
Definition: ss7_instance.h:35
bool permit_dyn_rkm_alloc
Definition: ss7_instance.h:49
struct llist_head sccp_address_book
Definition: ss7_instance.h:50
struct llist_head list
member of global list of instances
Definition: ss7_instance.h:22
struct llist_head xua_servers
list of osmo_xua_servers
Definition: ss7_instance.h:32
Definition: ss7_instance.h:15
char delimiter
Definition: ss7_instance.h:16
uint8_t component_len[3]
Definition: ss7_instance.h:17
Definition: ss7_route_table.h:12
Definition: ss7_user.h:13