libosmo-sigtran: src/xua_lm_sap.c File Reference

libosmo-sigtran 2.2.1.95-893c Osmocom SIGTRAN library

Functions
xua_lm_sap.c File Reference
`#include <errno.h>`
`#include <osmocom/core/logging.h>`
`#include <osmocom/core/msgb.h>`
`#include <osmocom/core/prim.h>`
`#include <osmocom/sigtran/osmo_ss7.h>`
`#include <osmocom/sigtran/sigtran_sap.h>`
`#include "xua_asp_fsm.h"`
`#include "xua_internal.h"`
`#include "ss7_asp.h"`

## Functions
struct osmo_xlm_prim * | xua_xlm_prim_alloc (enum osmo_xlm_prim_type prim_type, enum osmo_prim_operation op)
struct osmo_xlm_prim * | xua_xlm_prim_alloc_m_rk_reg_req (const struct osmo_ss7_routing_key *rkey, enum osmo_ss7_as_traffic_mode mode)
struct osmo_xlm_prim * | xua_xlm_prim_alloc_m_rk_reg_cfm (const struct osmo_ss7_routing_key *rkey, uint32_t status)
struct osmo_xlm_prim * | xua_xlm_prim_alloc_m_rk_dereg_cfm (uint32_t route_ctx, uint32_t status)
struct osmo_xlm_prim * | xua_xlm_prim_alloc_m_error_ind (uint32_t err_code)
struct osmo_xlm_prim * | xua_xlm_prim_alloc_m_notify_ind (const struct osmo_xlm_prim_notify *ntfy)
void | xua_asp_send_xlm_prim (struct osmo_ss7_asp *asp, struct osmo_xlm_prim *prim)
void | xua_asp_send_xlm_prim_simple (struct osmo_ss7_asp *asp, enum osmo_xlm_prim_type prim_type, enum osmo_prim_operation op)
int | osmo_xlm_sap_down (struct osmo_ss7_asp *asp, struct osmo_prim_hdr *oph)
int | xlm_sap_down_simple (struct osmo_ss7_asp *asp, enum osmo_xlm_prim_type prim_type, enum osmo_prim_operation op)

## Function Documentation

## ◆ osmo_xlm_sap_down()

int osmo_xlm_sap_down | ( | struct osmo_ss7_asp * | asp,
|  | struct osmo_prim_hdr * | oph
| ) |  |

References osmo_ss7_asp::fi, osmo_xlm_prim_rk_reg::key, LOGPASP, NULL, osmo_xlm_prim::oph, OSMO_XLM_PRIM_M_ASP_ACTIVE, OSMO_XLM_PRIM_M_ASP_UP, OSMO_XLM_PRIM_M_RK_DEREG, OSMO_XLM_PRIM_M_RK_REG, OSMO_XLM_PRIM_M_SCTP_RELEASE, osmo_xlm_prim_name(), osmo_xlm_prim::rk_dereg, osmo_xlm_prim::rk_reg, osmo_xlm_prim_rk_dereg::route_ctx, ss7_asp_disconnect_stream(), osmo_xlm_prim_rk_reg::traf_mode, osmo_xlm_prim::u, XUA_ASP_E_M_ASP_ACTIVE_REQ, XUA_ASP_E_M_ASP_UP_REQ, xua_rkm_send_dereg_req(), and xua_rkm_send_reg_req().

Referenced by reg_req_all_assoc_as(), and xlm_sap_down_simple().

## ◆ xlm_sap_down_simple()

int xlm_sap_down_simple | ( | struct osmo_ss7_asp * | asp,
|  | enum osmo_xlm_prim_type | prim_type,
|  | enum osmo_prim_operation | op
| ) |  |

References osmo_xlm_prim::oph, osmo_xlm_sap_down(), and xua_xlm_prim_alloc().

Referenced by lm_rkm_reg(), lm_timer_cb(), lm_wait_asp_up_on_enter(), and submit_m_asp_active_req_if_needed().

## ◆ xua_asp_send_xlm_prim()

void xua_asp_send_xlm_prim | ( | struct osmo_ss7_asp * | asp,
|  | struct osmo_xlm_prim * | prim
| ) |  |

References osmo_ss7_asp::fi, osmo_ss7_asp::lm, osmo_xlm_prim::oph, osmo_xlm_prim_name(), and osmo_xua_layer_manager::prim_cb.

Referenced by handle_rkey_dereg_resp(), handle_rkey_reg_resp(), m3ua_rx_mgmt_ntfy(), xua_asp_allstate(), and xua_asp_send_xlm_prim_simple().

## ◆ xua_asp_send_xlm_prim_simple()

void xua_asp_send_xlm_prim_simple | ( | struct osmo_ss7_asp * | asp,
|  | enum osmo_xlm_prim_type | prim_type,
|  | enum osmo_prim_operation | op
| ) |  |

References xua_asp_send_xlm_prim(), and xua_xlm_prim_alloc().

Referenced by send_xlm_prim_simple(), ss7_asp_xua_srv_conn_closed_cb(), ss7_asp_xua_srv_conn_rx_cb(), xua_accept_cb(), xua_cli_close(), xua_cli_connect_cb(), and xua_cli_read_cb().

## ◆ xua_xlm_prim_alloc()

struct osmo_xlm_prim * xua_xlm_prim_alloc | ( | enum osmo_xlm_prim_type | prim_type,
|  | enum osmo_prim_operation | op
| ) |  |

References NULL, osmo_xlm_prim::oph, and XUA_SAP_LM.

Referenced by xlm_sap_down_simple(), xua_asp_send_xlm_prim_simple(), xua_xlm_prim_alloc_m_error_ind(), xua_xlm_prim_alloc_m_notify_ind(), xua_xlm_prim_alloc_m_rk_dereg_cfm(), xua_xlm_prim_alloc_m_rk_reg_cfm(), and xua_xlm_prim_alloc_m_rk_reg_req().

## ◆ xua_xlm_prim_alloc_m_error_ind()

struct osmo_xlm_prim * xua_xlm_prim_alloc_m_error_ind | ( | uint32_t | err_code | ) |

References osmo_xlm_prim_error::code, osmo_xlm_prim::error, OSMO_XLM_PRIM_M_ERROR, osmo_xlm_prim::u, and xua_xlm_prim_alloc().

Referenced by xua_asp_allstate().

## ◆ xua_xlm_prim_alloc_m_notify_ind()

struct osmo_xlm_prim * xua_xlm_prim_alloc_m_notify_ind | ( | const struct osmo_xlm_prim_notify * | ntfy | ) |

References osmo_xlm_prim::notify, OSMO_XLM_PRIM_M_NOTIFY, osmo_xlm_prim::u, and xua_xlm_prim_alloc().

Referenced by m3ua_rx_mgmt_ntfy().

## ◆ xua_xlm_prim_alloc_m_rk_dereg_cfm()

struct osmo_xlm_prim * xua_xlm_prim_alloc_m_rk_dereg_cfm | ( | uint32_t | route_ctx,
|  | uint32_t | status
| ) |  |

References OSMO_XLM_PRIM_M_RK_DEREG, osmo_xlm_prim::rk_dereg, osmo_xlm_prim_rk_dereg::route_ctx, osmo_xlm_prim_rk_dereg::status, osmo_xlm_prim::u, and xua_xlm_prim_alloc().

Referenced by handle_rkey_dereg_resp().

## ◆ xua_xlm_prim_alloc_m_rk_reg_cfm()

struct osmo_xlm_prim * xua_xlm_prim_alloc_m_rk_reg_cfm | ( | const struct osmo_ss7_routing_key * | rkey,
|  | uint32_t | status
| ) |  |

References osmo_xlm_prim_rk_reg::key, OSMO_XLM_PRIM_M_RK_REG, osmo_xlm_prim::rk_reg, osmo_xlm_prim_rk_reg::status, osmo_xlm_prim::u, and xua_xlm_prim_alloc().

Referenced by handle_rkey_reg_resp().

## ◆ xua_xlm_prim_alloc_m_rk_reg_req()

struct osmo_xlm_prim * xua_xlm_prim_alloc_m_rk_reg_req | ( | const struct osmo_ss7_routing_key * | rkey,
|  | enum osmo_ss7_as_traffic_mode | mode
| ) |  |

References osmo_xlm_prim_rk_reg::key, OSMO_XLM_PRIM_M_RK_REG, osmo_xlm_prim::rk_reg, osmo_xlm_prim_rk_reg::traf_mode, osmo_xlm_prim::u, and xua_xlm_prim_alloc().

Referenced by reg_req_all_assoc_as().