pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-pfcp/+/38622?usp=email )
Change subject: pfcp: Add APIs to access struct osmo_pfcp_cp_peer ......................................................................
pfcp: Add APIs to access struct osmo_pfcp_cp_peer
Provide APIs so that users don't need to know the struct layout.
Change-Id: Ic8a5d5ec4237aa8520d426252c924c9617d1d08a --- M TODO-RELEASE M include/osmocom/pfcp/pfcp_cp_peer.h M src/libosmo-pfcp/pfcp_cp_peer.c 3 files changed, 28 insertions(+), 0 deletions(-)
Approvals: osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified pespin: Looks good to me, approved
diff --git a/TODO-RELEASE b/TODO-RELEASE index 8f3b43c..a73a0e0 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -8,3 +8,5 @@ # If any interfaces have been removed or changed since the last public release: c:r:0. #library what description / commit summary line libosmo-pfcp add API osmo_pfcp_cp_peer_set_associated_cb() +libosmo-pfcp add API osmo_pfcp_cp_peer_get_remote_addr(), osmo_pfcp_cp_peer_next_seid() + osmo_pfcp_cp_peer_get_priv(), osmo_pfcp_cp_peer_set_priv() diff --git a/include/osmocom/pfcp/pfcp_cp_peer.h b/include/osmocom/pfcp/pfcp_cp_peer.h index 4f34139..01f0838 100644 --- a/include/osmocom/pfcp/pfcp_cp_peer.h +++ b/include/osmocom/pfcp/pfcp_cp_peer.h @@ -59,6 +59,13 @@ int osmo_pfcp_cp_peer_associate(struct osmo_pfcp_cp_peer *cp_peer); bool osmo_pfcp_cp_peer_is_associated(const struct osmo_pfcp_cp_peer *cp_peer); int osmo_pfcp_cp_peer_set_associated_cb(struct osmo_pfcp_cp_peer *cp_peer, osmo_pfcp_cp_peer_assoc_cb assoc_cb); + +uint64_t osmo_pfcp_cp_peer_next_seid(struct osmo_pfcp_cp_peer *cp_peer); +const struct osmo_sockaddr *osmo_pfcp_cp_peer_get_remote_addr(const struct osmo_pfcp_cp_peer *cp_peer); + +void *osmo_pfcp_cp_peer_get_priv(struct osmo_pfcp_cp_peer *cp_peer); +void osmo_pfcp_cp_peer_set_priv(struct osmo_pfcp_cp_peer *cp_peer, void *priv); + struct osmo_pfcp_msg *osmo_pfcp_cp_peer_new_req(struct osmo_pfcp_cp_peer *cp_peer, enum osmo_pfcp_message_type msg_type); struct osmo_pfcp_msg *osmo_pfcp_cp_peer_new_resp(struct osmo_pfcp_cp_peer *cp_peer, diff --git a/src/libosmo-pfcp/pfcp_cp_peer.c b/src/libosmo-pfcp/pfcp_cp_peer.c index 0fb0f75..b146dad 100644 --- a/src/libosmo-pfcp/pfcp_cp_peer.c +++ b/src/libosmo-pfcp/pfcp_cp_peer.c @@ -145,6 +145,25 @@ return 0; }
+uint64_t osmo_pfcp_cp_peer_next_seid(struct osmo_pfcp_cp_peer *cp_peer) +{ + return osmo_pfcp_next_seid(&cp_peer->next_seid_state); +} + +const struct osmo_sockaddr *osmo_pfcp_cp_peer_get_remote_addr(const struct osmo_pfcp_cp_peer *cp_peer) +{ + return &cp_peer->remote_addr; +} + +void *osmo_pfcp_cp_peer_get_priv(struct osmo_pfcp_cp_peer *cp_peer) +{ + return cp_peer->priv; +} +void osmo_pfcp_cp_peer_set_priv(struct osmo_pfcp_cp_peer *cp_peer, void *priv) +{ + cp_peer->priv = priv; +} + static int pfcp_cp_peer_fsm_timer_cb(struct osmo_fsm_inst *fi) { switch (fi->state) {