libosmo-sigtran 2.0.0.50-b59d
Osmocom SIGTRAN library
ss7_internal.h File Reference
#include <stdbool.h>
#include <stdint.h>
#include <osmocom/netif/stream.h>
#include <osmocom/sigtran/osmo_ss7.h>
#include "ss7_instance.h"

Go to the source code of this file.

Macros

#define MAX_PC_STR_LEN   32
 

Functions

bool ss7_ipv6_sctp_supported (const char *host, bool bind)
 
struct osmo_ss7_asss7_as_alloc (struct osmo_ss7_instance *inst, const char *name, enum osmo_ss7_asp_protocol proto)
 Allocate an Application Server. More...
 
struct osmo_ss7_aspss7_asp_find_by_socket_addr (int fd, int trans_proto)
 Find an ASP definition matching the local+remote IP/PORT of given fd. More...
 
bool ss7_asp_protocol_check_trans_proto (enum osmo_ss7_asp_protocol proto, int trans_proto)
 
int ss7_default_trans_proto_for_asp_proto (enum osmo_ss7_asp_protocol proto)
 
int ss7_asp_ipa_srv_conn_rx_cb (struct osmo_stream_srv *conn, int res, struct msgb *msg)
 
int ss7_asp_xua_srv_conn_rx_cb (struct osmo_stream_srv *conn, int res, struct msgb *msg)
 
int ss7_asp_m3ua_tcp_srv_conn_rx_cb (struct osmo_stream_srv *conn, int res, struct msgb *msg)
 
int ss7_asp_xua_srv_conn_closed_cb (struct osmo_stream_srv *srv)
 
int xua_tcp_segmentation_cb (struct msgb *msg)
 

Variables

bool ss7_initialized
 

Macro Definition Documentation

◆ MAX_PC_STR_LEN

#define MAX_PC_STR_LEN   32

Function Documentation

◆ ss7_as_alloc()

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.

Parameters
[in]instSS7 Instance on which we operate
[in]nameName of Application Server
[in]protoProtocol of Application Server
Returns
pointer to Application Server on success; NULL otherwise

References osmo_ss7_instance::as_list, osmo_ss7_as::cfg, osmo_ss7_as::ctrg, osmo_ss7_as::fi, g_ss7_as_rcg_idx, osmo_ss7_as::inst, osmo_ss7_routing_key::l_rk_id, osmo_ss7_as::list, osmo_ss7_as::mode, osmo_ss7_as::name, OSMO_SS7_AS_TMOD_OVERRIDE, osmo_ss7_as::proto, osmo_ss7_as::recovery_timeout_msec, osmo_ss7_as::routing_key, ss7_as_rcgd, ss7_find_free_l_rk_id(), and xua_as_fsm_start().

Referenced by osmo_ss7_as_find_or_create().

◆ ss7_asp_find_by_socket_addr()

struct osmo_ss7_asp * ss7_asp_find_by_socket_addr ( int  fd,
int  trans_proto 
)

Find an ASP definition matching the local+remote IP/PORT of given fd.

Parameters
[in]fdsocket descriptor of given socket
Returns
SS7 ASP in case a matching one is found; NULL otherwise

References osmo_ss7_instance::asp_list, osmo_ss7_asp::cfg, chop_v4_mapped_on_v6_prefix(), get_in_port(), osmo_ss7_asp_peer::host_cnt, osmo_ss7_asp::inst, osmo_ss7_asp::list, osmo_ss7_asp::local, osmo_ss7_instances, osmo_ss7_asp_peer::port, osmo_ss7_asp::remote, ss7_asp_peer_match_host(), ss7_initialized, and osmo_ss7_asp::trans_proto.

Referenced by xua_accept_cb().

◆ ss7_asp_ipa_srv_conn_rx_cb()

int ss7_asp_ipa_srv_conn_rx_cb ( struct osmo_stream_srv *  conn,
int  res,
struct msgb *  msg 
)

◆ ss7_asp_m3ua_tcp_srv_conn_rx_cb()

int ss7_asp_m3ua_tcp_srv_conn_rx_cb ( struct osmo_stream_srv *  conn,
int  res,
struct msgb *  msg 
)

◆ ss7_asp_protocol_check_trans_proto()

bool ss7_asp_protocol_check_trans_proto ( enum osmo_ss7_asp_protocol  proto,
int  trans_proto 
)

◆ ss7_asp_xua_srv_conn_closed_cb()

◆ ss7_asp_xua_srv_conn_rx_cb()

◆ ss7_default_trans_proto_for_asp_proto()

◆ ss7_ipv6_sctp_supported()

bool ss7_ipv6_sctp_supported ( const char *  host,
bool  bind 
)

◆ xua_tcp_segmentation_cb()

int xua_tcp_segmentation_cb ( struct msgb *  msg)

Variable Documentation

◆ ss7_initialized