libosmo-sigtran  2.3.0
Osmocom SIGTRAN library
ss7_xua_srv.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <stdint.h>
4 #include <unistd.h>
5 #include <osmocom/core/defs.h>
6 #include <osmocom/core/linuxlist.h>
7 #include <osmocom/core/prim.h>
8 #include <osmocom/netif/stream.h>
9 
11 
12 /***********************************************************************
13  * xUA Servers
14  ***********************************************************************/
15 
16 struct osmo_ss7_instance;
17 
19  struct llist_head list;
21 
22  /* list of ASPs established via this server */
23  struct llist_head asp_list;
24 
25  struct osmo_stream_srv_link *server;
26 
27  struct {
29  struct osmo_ss7_asp_peer local;
30  uint8_t ip_dscp;
32  struct {
38 
41  } cfg;
42 };
43 
44 struct osmo_xua_server *
47  uint16_t local_port)
48  OSMO_DEPRECATED("Use ss7_xua_server_find2() instead");
49 struct osmo_xua_server *
51  int trans_proto,
53  uint16_t local_port);
54 
55 struct osmo_xua_server *
58  uint16_t local_port, const char *local_host)
59  OSMO_DEPRECATED("Use ss7_xua_server_create2() instead");
60 struct osmo_xua_server *
63  uint16_t local_port, const char *local_host);
64 
65 int
67 
68 int
69 ss7_xua_server_set_local_host(struct osmo_xua_server *xs, const char *local_host);
70 int
71 ss7_xua_server_set_local_hosts(struct osmo_xua_server *xs, const char **local_hosts, size_t local_host_cnt);
72 int ss7_xua_server_add_local_host(struct osmo_xua_server *xs, const char *local_host);
73 int ss7_xua_server_del_local_host(struct osmo_xua_server *xs, const char *local_host);
76 
osmo_ss7_asp_protocol
Definition: osmo_ss7.h:157
int ss7_xua_server_add_local_host(struct osmo_xua_server *xs, const char *local_host)
Definition: ss7_xua_srv.c:373
struct osmo_xua_server * ss7_xua_server_create(struct osmo_ss7_instance *inst, enum osmo_ss7_asp_protocol proto, uint16_t local_port, const char *local_host) OSMO_DEPRECATED("Use ss7_xua_server_create2() instead")
create a new xUA server configured with given ip/port
Definition: ss7_xua_srv.c:294
int ss7_xua_server_set_local_hosts(struct osmo_xua_server *xs, const char **local_hosts, size_t local_host_cnt)
Definition: ss7_xua_srv.c:361
int ss7_xua_server_bind(struct osmo_xua_server *xs)
Set the xUA server to bind/listen to the currently configured ip/port.
Definition: ss7_xua_srv.c:331
int ss7_xua_server_del_local_host(struct osmo_xua_server *xs, const char *local_host)
Definition: ss7_xua_srv.c:384
struct osmo_xua_server * ss7_xua_server_create2(struct osmo_ss7_instance *inst, int trans_proto, enum osmo_ss7_asp_protocol proto, uint16_t local_port, const char *local_host)
create a new xUA server configured with given ip/port
Definition: ss7_xua_srv.c:235
bool ss7_xua_server_set_default_local_hosts(struct osmo_xua_server *oxs)
Definition: ss7_xua_srv.c:394
struct osmo_xua_server * ss7_xua_server_find(struct osmo_ss7_instance *inst, enum osmo_ss7_asp_protocol proto, uint16_t local_port) OSMO_DEPRECATED("Use ss7_xua_server_find2() instead")
find an xUA server with the given parameters
Definition: ss7_xua_srv.c:472
void ss7_xua_server_destroy(struct osmo_xua_server *xs)
Definition: ss7_xua_srv.c:417
int ss7_xua_server_set_local_host(struct osmo_xua_server *xs, const char *local_host)
Definition: ss7_xua_srv.c:355
struct osmo_xua_server * ss7_xua_server_find2(struct osmo_ss7_instance *inst, int trans_proto, enum osmo_ss7_asp_protocol proto, uint16_t local_port)
find an xUA server with the given parameters
Definition: ss7_xua_srv.c:444
bool ss7_xua_server_set_ip_dscp(struct osmo_xua_server *oxs)
Definition: ss7_xua_srv.c:408
Definition: ss7_asp_peer.h:11
Definition: ss7_instance.h:47
Definition: ss7_xua_srv.h:18
struct osmo_stream_srv_link * server
Definition: ss7_xua_srv.h:25
uint16_t max_instreams_value
Definition: ss7_xua_srv.h:36
enum osmo_ss7_asp_protocol proto
Definition: ss7_xua_srv.h:31
bool num_ostreams_present
Definition: ss7_xua_srv.h:33
struct osmo_xua_server::@39::@40 sctp_init
struct osmo_ss7_instance * inst
Definition: ss7_xua_srv.h:20
uint8_t ip_dscp
Definition: ss7_xua_srv.h:30
struct osmo_xua_server::@39 cfg
struct llist_head asp_list
Definition: ss7_xua_srv.h:23
bool accept_dyn_reg
Definition: ss7_xua_srv.h:28
uint16_t num_ostreams_value
Definition: ss7_xua_srv.h:35
struct llist_head list
Definition: ss7_xua_srv.h:19
struct osmo_ss7_asp_peer local
Definition: ss7_xua_srv.h:29
bool max_instreams_present
Definition: ss7_xua_srv.h:34
int trans_proto
The underlaying transport protocol (one of IPPROTO_*)
Definition: ss7_xua_srv.h:40