libosmo-sigtran 2.2.1
Osmocom SIGTRAN library
Loading...
Searching...
No Matches
ss7_internal.h File Reference
#include <stdbool.h>
#include <stdint.h>
#include <osmocom/core/linuxlist.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
#define ss7_llist_round_robin(list, state, struct_type, entry_name)
#define XUA_VAR_STR   "(sua|m3ua|ipa)"

Functions

bool ss7_ipv6_sctp_supported (const char *host, bool bind)
uint32_t ss7_pc_full_mask (const struct osmo_ss7_pc_fmt *pc_fmt)
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.
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)
static struct llist_head * _ss7_llist_round_robin (struct llist_head *list, void **state)
static uint32_t load_24be (const void *ptr)
 load a 24bit value as big-endian

Variables

bool ss7_initialized

Macro Definition Documentation

◆ MAX_PC_STR_LEN

◆ ss7_llist_round_robin

#define ss7_llist_round_robin ( list,
state,
struct_type,
entry_name )
Value:
llist_entry(_ss7_llist_round_robin(list, state), struct_type, entry_name)
static struct llist_head * _ss7_llist_round_robin(struct llist_head *list, void **state)
Definition ss7_internal.h:33

Referenced by ss7_combined_linkset_assign_route_roundrobin(), ss7_combined_linkset_del_route(), and ss7_combined_linkset_select_route_roundrobin().

◆ XUA_VAR_STR

#define XUA_VAR_STR   "(sua|m3ua|ipa)"

Function Documentation

◆ _ss7_llist_round_robin()

struct llist_head * _ss7_llist_round_robin ( struct llist_head * list,
void ** state )
inlinestatic

References NULL.

◆ load_24be()

uint32_t load_24be ( const void * ptr)
inlinestatic

◆ 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, NULL, 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 )

◆ ss7_pc_full_mask()

uint32_t ss7_pc_full_mask ( const struct osmo_ss7_pc_fmt * pc_fmt)

◆ xua_tcp_segmentation_cb()

int xua_tcp_segmentation_cb ( struct msgb * msg)

Variable Documentation

◆ ss7_initialized