diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2020-05-14 15:14:00 +0200 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2020-05-22 23:15:55 +0200 |
commit | d25ba11eef6400ebef2e18fcb7def1df87e31d92 (patch) | |
tree | aea8573b024ec0f3d709c64f548a5cd13375bda3 /src/sccp_user.c | |
parent | 54c62d1d8e1df2478acdeccf17ad2495035582d8 (diff) |
add osmo_sccp_user_find() as public API
To allow osmo-bsc to add more than one MSC peer on a single SCCP instance, it
must add a local SCCP user only once per SCCP instance. The first configured
MSC adds a local user, all subsequent MSC should use the same local SCCP user.
So, it is most convenient to provide a public function to return such user if
it exists.
Add as thin wrapper instead of renaming and moving the internal
sccp_user_find(): to keep the patch smaller, and to match the way
osmo_sccp_user_bind_pc() is a 1:1 wrapper for sccp_user_bind_pc().
Related: OS#3682
Change-Id: I9ecbab16b45268f626950303d6ff8296dd6acda0
Diffstat (limited to 'src/sccp_user.c')
-rw-r--r-- | src/sccp_user.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/sccp_user.c b/src/sccp_user.c index d85fc1d..a36ac93 100644 --- a/src/sccp_user.c +++ b/src/sccp_user.c @@ -39,6 +39,8 @@ #include "xua_internal.h" /*! \brief Find a SCCP User registered for given PC+SSN or SSN only + * First search all users with a valid PC for a full PC+SSN match. + * If no such match was found, search all users with an invalid PC for an SSN-only match. * \param[in] inst SCCP Instance in which to search * \param[in] ssn Sub-System Number to search for * \param[in] pc Point Code to search for @@ -63,6 +65,20 @@ sccp_user_find(struct osmo_sccp_instance *inst, uint16_t ssn, uint32_t pc) return NULL; } +/*! Find a SCCP User registered for given PC+SSN or SSN only. + * First search all users with a valid PC for a full PC+SSN match. + * If no match was found, search all users with an invalid PC for an SSN-only match. + * \param[in] inst SCCP Instance in which to search. + * \param[in] ssn Sub-System Number to search for. + * \param[in] pc Point Code to search for. + * \returns Matching SCCP User; NULL if none found. + */ +struct osmo_sccp_user * +osmo_sccp_user_find(struct osmo_sccp_instance *inst, uint16_t ssn, uint32_t pc) +{ + return sccp_user_find(inst, ssn, pc); +} + /*! \brief Bind a SCCP User to a given Point Code * \param[in] inst SCCP Instance * \param[in] name human-readable name |