libosmo-sigtran  1.8.0.19-b24c.202310272026
Osmocom SIGTRAN library
ss7_internal.h
Go to the documentation of this file.
1 #pragma once
2 
3 /* Internal header used by libosmo-sccp, not available publicly for lib users */
4 
5 #include <stdbool.h>
6 #include <stdint.h>
8 
9 extern bool ss7_initialized;
10 uint32_t ss7_find_free_l_rk_id(struct osmo_ss7_instance *inst);
11 
12 bool ss7_ipv6_sctp_supported(const char *host, bool bind);
13 
14 struct osmo_ss7_as *ss7_as_alloc(struct osmo_ss7_instance *inst, const char *name,
16 
17 struct osmo_ss7_asp *ss7_asp_alloc(struct osmo_ss7_instance *inst, const char *name,
18  uint16_t remote_port, uint16_t local_port,
21 bool ss7_asp_is_started(const struct osmo_ss7_asp *asp);
23 
25 int ss7_asp_ipa_srv_conn_cb(struct osmo_stream_srv *conn);
26 int ss7_asp_xua_srv_conn_cb(struct osmo_stream_srv *conn);
27 int ss7_asp_xua_srv_conn_closed_cb(struct osmo_stream_srv *srv);
29 int ss7_asp_apply_primary_address(const struct osmo_ss7_asp *asp);
30 int ss7_asp_apply_new_local_address(const struct osmo_ss7_asp *asp, unsigned int loc_idx);
31 int ss7_asp_apply_drop_local_address(const struct osmo_ss7_asp *asp, unsigned int loc_idx);
32 
33 bool ss7_asp_peer_match_host(const struct osmo_ss7_asp_peer *peer, const char *host, bool host_is_v6);
34 int ss7_asp_peer_find_host(const struct osmo_ss7_asp_peer *peer, const char *host);
35 
37 
38 enum ss7_as_ctr {
41 };
42 
47 };
ss7_asp_ctr
Definition: ss7_internal.h:43
int ss7_asp_ipa_srv_conn_cb(struct osmo_stream_srv *conn)
Definition: osmo_ss7_asp.c:730
int ss7_asp_apply_drop_local_address(const struct osmo_ss7_asp *asp, unsigned int loc_idx)
Definition: osmo_ss7_asp.c:190
bool ss7_xua_server_set_default_local_hosts(struct osmo_xua_server *oxs)
Definition: osmo_ss7_xua_srv.c:298
Definition: ss7_internal.h:45
Definition: osmo_ss7.h:527
Definition: osmo_ss7.h:365
bool ss7_asp_peer_match_host(const struct osmo_ss7_asp_peer *peer, const char *host, bool host_is_v6)
Definition: osmo_ss7_asp_peer.c:266
bool ss7_initialized
Definition: osmo_ss7.c:59
struct osmo_ss7_as * ss7_as_alloc(struct osmo_ss7_instance *inst, const char *name, enum osmo_ss7_asp_protocol proto)
Allocate an Application Server.
Definition: osmo_ss7_as.c:69
enum osmo_ss7_asp_protocol proto
Definition: osmo_ss7.h:320
int ss7_asp_apply_primary_address(const struct osmo_ss7_asp *asp)
Definition: osmo_ss7_asp.c:249
ss7_as_ctr
Definition: ss7_internal.h:38
struct osmo_ss7_asp * ss7_asp_find_by_socket_addr(int fd)
Find an ASP definition matching the local+remote IP/PORT of given fd.
Definition: osmo_ss7_asp.c:426
int ss7_asp_apply_new_local_address(const struct osmo_ss7_asp *asp, unsigned int loc_idx)
Definition: osmo_ss7_asp.c:171
struct osmo_ss7_instance * inst
Definition: osmo_ss7.h:393
osmo_ss7_asp_protocol
Definition: osmo_ss7.h:277
int ss7_asp_apply_peer_primary_address(const struct osmo_ss7_asp *asp)
Definition: osmo_ss7_asp.c:209
Definition: osmo_ss7.h:390
struct osmo_ss7_instance * inst
Definition: osmo_ss7.h:303
bool ss7_asp_set_default_peer_hosts(struct osmo_ss7_asp *asp)
Definition: osmo_ss7_asp.c:358
bool ss7_asp_is_started(const struct osmo_ss7_asp *asp)
Definition: osmo_ss7_asp.c:658
int ss7_asp_proto_to_ip_proto(enum osmo_ss7_asp_protocol proto)
Definition: osmo_ss7_asp.c:130
int ss7_asp_xua_srv_conn_cb(struct osmo_stream_srv *conn)
Definition: osmo_ss7_asp.c:761
uint32_t ss7_find_free_l_rk_id(struct osmo_ss7_instance *inst)
Definition: osmo_ss7.c:83
Definition: osmo_ss7.h:73
enum osmo_ss7_asp_protocol proto
Definition: osmo_ss7.h:431
Definition: ss7_internal.h:44
char * name
Definition: osmo_ss7.h:318
bool ss7_ipv6_sctp_supported(const char *host, bool bind)
Definition: osmo_ss7.c:963
int ss7_asp_peer_find_host(const struct osmo_ss7_asp_peer *peer, const char *host)
Find the exact IP address match and return its index in the array.
Definition: osmo_ss7_asp_peer.c:285
struct osmo_ss7_asp * ss7_asp_alloc(struct osmo_ss7_instance *inst, const char *name, uint16_t remote_port, uint16_t local_port, enum osmo_ss7_asp_protocol proto)
Definition: osmo_ss7_asp.c:494
Definition: osmo_ss7.h:300
Definition: ss7_internal.h:40
char * name
Definition: osmo_ss7.h:429
Definition: ss7_internal.h:39
Definition: ss7_internal.h:46
int ss7_asp_xua_srv_conn_closed_cb(struct osmo_stream_srv *srv)
Definition: osmo_ss7_asp.c:969