Loading...
Searching...
No Matches
ss7_xua_srv.h File Reference
`#include <stdint.h>`
`#include <unistd.h>`
`#include <osmocom/core/defs.h>`
`#include <osmocom/core/linuxlist.h>`
`#include <osmocom/core/prim.h>`
`#include <osmocom/netif/stream.h>`
`#include <osmocom/sigtran/osmo_ss7.h>`

Go to the source code of this file.

## Data Structures

struct | osmo_xua_layer_manager
struct | osmo_xua_server

## Functions

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
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
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
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
int | ss7_xua_server_bind (struct osmo_xua_server *xs)
| Set the xUA server to bind/listen to the currently configured ip/port.
int | ss7_xua_server_set_local_host (struct osmo_xua_server *xs, const char *local_host)
int | ss7_xua_server_set_local_hosts (struct osmo_xua_server *xs, const char **local_hosts, size_t local_host_cnt)
int | ss7_xua_server_add_local_host (struct osmo_xua_server *xs, const char *local_host)
int | ss7_xua_server_del_local_host (struct osmo_xua_server *xs, const char *local_host)
void | ss7_xua_server_destroy (struct osmo_xua_server *xs)
bool | ss7_xua_server_set_default_local_hosts (struct osmo_xua_server *oxs)

## Function Documentation

## ss7_xua_server_add_local_host()

int ss7_xua_server_add_local_host | ( | struct osmo_xua_server * | xs,
|  | const char * | local_host
| ) |  |

References osmo_xua_server::cfg, osmo_ss7_asp_peer::host, osmo_ss7_asp_peer::host_cnt, osmo_xua_server::local, osmo_xua_server::server, and ss7_asp_peer_add_host().

Referenced by DEFUN_ATTR().

## ss7_xua_server_bind()

int ss7_xua_server_bind | ( | struct osmo_xua_server * | xs | ) |

Set the xUA server to bind/listen to the currently configured ip/port.

Parameters

  [in] | xs | xUA server to operate

Returns
  0 on success, negative value on error.

References osmo_xua_server::cfg, osmo_xua_server::local, osmo_xua_server::max_instreams_present, osmo_xua_server::max_instreams_value, osmo_xua_server::num_ostreams_present, osmo_xua_server::num_ostreams_value, osmo_ss7_asp_protocol_vals, osmo_xua_server::proto, osmo_xua_server::sctp_init, osmo_xua_server::server, and ss7_asp_peer_snprintf().

Referenced by osmo_sccp_simple_server_on_ss7_id(), and osmo_ss7_vty_go_parent().

## ss7_xua_server_create()

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
| ) |  |

create a new xUA server configured with given ip/port

Parameters

  [in] | ctx | talloc allocation context
  [in] | proto | protocol (xUA variant) to use
  [in] | local_port | local SCTP port to bind/listen to
  [in] | local_host | local IP address to bind/listen to (optional)

Returns
  callee-allocated osmo_xua_server in case of success

References osmo_xua_server::inst, osmo_xua_server::proto, ss7_default_trans_proto_for_asp_proto(), ss7_xua_server_create2(), and osmo_xua_server::trans_proto.

## ss7_xua_server_create2()

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

Parameters

  [in] | inst | SS7 Instance on which we operate
  [in] | trans_proto | transport protocol to use (one of IPPROTO_*)
  [in] | proto | protocol (xUA variant) to use
  [in] | local_port | local SCTP port to bind/listen to
  [in] | local_host | local IP address to bind/listen to (optional)

Returns
  callee-allocated osmo_xua_server in case of success

References osmo_xua_server::asp_list, osmo_xua_server::cfg, osmo_xua_server::inst, osmo_xua_server::list, osmo_xua_server::local, OSMO_SS7_ASP_PROT_SUA, osmo_ss7_asp_protocol_name(), osmo_ss7_asp_protocol_vals, osmo_ss7_ensure_sccp(), osmo_ss7_asp_peer::port, osmo_xua_server::proto, osmo_xua_server::server, ss7_asp_protocol_check_trans_proto(), ss7_initialized, ss7_xua_server_set_local_host(), osmo_xua_server::trans_proto, xua_accept_cb(), and osmo_ss7_instance::xua_servers.

Referenced by DEFUN_ATTR(), osmo_sccp_simple_server_on_ss7_id(), and ss7_xua_server_create().

## ss7_xua_server_del_local_host()

int ss7_xua_server_del_local_host | ( | struct osmo_xua_server * | xs,
|  | const char * | local_host
| ) |  |

References osmo_xua_server::cfg, osmo_ss7_asp_peer::host, osmo_ss7_asp_peer::host_cnt, osmo_xua_server::local, osmo_xua_server::server, and ss7_asp_peer_del_host().

Referenced by DEFUN_ATTR().

## ss7_xua_server_destroy()

void ss7_xua_server_destroy | ( | struct osmo_xua_server * | xs | ) |

References osmo_xua_server::asp_list, osmo_xua_server::list, osmo_ss7_asp_destroy(), osmo_xua_server::server, and osmo_ss7_asp::siblings.

Referenced by DEFUN_ATTR(), and osmo_sccp_simple_server_on_ss7_id().

## ss7_xua_server_find()

struct osmo_xua_server * ss7_xua_server_find | ( | struct osmo_ss7_instance * | inst,
|  | enum osmo_ss7_asp_protocol | proto,
|  | uint16_t | local_port
| ) |  |

find an xUA server with the given parameters

Parameters

  [in] | inst | SS7 Instance on which we operate
  [in] | proto | protocol (xUA variant) in use
  [in] | local_port | local port of the server

Returns
  osmo_xua_server or NULL (not found)

References osmo_xua_server::inst, osmo_xua_server::proto, ss7_default_trans_proto_for_asp_proto(), ss7_xua_server_find2(), and osmo_xua_server::trans_proto.

## ss7_xua_server_find2()

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

Parameters

  [in] | inst | SS7 Instance on which we operate
  [in] | trans_proto | transport protocol in use (one of IPPROTO_*)
  [in] | proto | protocol (xUA variant) in use
  [in] | local_port | local port of the server

Returns
  osmo_xua_server or NULL (not found)

References osmo_xua_server::cfg, osmo_xua_server::inst, osmo_xua_server::list, osmo_xua_server::local, osmo_ss7_asp_peer::port, osmo_xua_server::proto, ss7_initialized, osmo_xua_server::trans_proto, and osmo_ss7_instance::xua_servers.

Referenced by DEFUN_ATTR(), DEFUN_ATTR(), osmo_sccp_simple_client_on_ss7_id(), osmo_sccp_simple_server_add_clnt(), and ss7_xua_server_find().

## ss7_xua_server_set_default_local_hosts()

bool ss7_xua_server_set_default_local_hosts | ( | struct osmo_xua_server * | oxs | ) |

References osmo_xua_server::cfg, osmo_ss7_asp_peer::host_cnt, osmo_xua_server::local, ss7_ipv6_sctp_supported(), and ss7_xua_server_set_local_host().

Referenced by osmo_ss7_vty_go_parent().

## ss7_xua_server_set_local_host()

int ss7_xua_server_set_local_host | ( | struct osmo_xua_server * | xs,
|  | const char * | local_host
| ) |  |

References ss7_xua_server_set_local_hosts().

Referenced by ss7_xua_server_create2(), and ss7_xua_server_set_default_local_hosts().

## ss7_xua_server_set_local_hosts()

int ss7_xua_server_set_local_hosts | ( | struct osmo_xua_server * | xs,
|  | const char ** | local_hosts,
|  | size_t | local_host_cnt
| ) |  |

References osmo_xua_server::cfg, osmo_ss7_asp_peer::host, osmo_ss7_asp_peer::host_cnt, osmo_xua_server::local, osmo_xua_server::server, ss7_asp_peer_set_hosts(), and ss7_initialized.

Referenced by DEFUN_ATTR(), and ss7_xua_server_set_local_host().