diff options
author | Harald Welte <laforge@osmocom.org> | 2024-02-23 12:07:03 +0100 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2024-02-29 09:15:43 +0100 |
commit | f574aea38fdaf09d8ede887fc748e43b00e7c42d (patch) | |
tree | 2ec48963a055b2466b1cf77aacb092e2d39658f4 | |
parent | 3c0d5001a53a6083944d964d34e44a8b7ba4d44f (diff) |
osmo_io: Add osmo_io_get_ioops() function
This function can be used by user code to obtain the currently-set io
operations, it's the inverse of osmo_io_set_ioops().
Change-Id: I03398c811b9534f50c6644b21eea89a04be29fb0
-rw-r--r-- | include/osmocom/core/osmo_io.h | 1 | ||||
-rw-r--r-- | src/core/libosmocore.map | 1 | ||||
-rw-r--r-- | src/core/osmo_io.c | 8 |
3 files changed, 10 insertions, 0 deletions
diff --git a/include/osmocom/core/osmo_io.h b/include/osmocom/core/osmo_io.h index dda9e6d7..8a7e53ab 100644 --- a/include/osmocom/core/osmo_io.h +++ b/include/osmocom/core/osmo_io.h @@ -109,3 +109,4 @@ const char *osmo_iofd_get_name(const struct osmo_io_fd *iofd); void osmo_iofd_set_name(struct osmo_io_fd *iofd, const char *name); int osmo_iofd_set_ioops(struct osmo_io_fd *iofd, const struct osmo_io_ops *ioops); +void osmo_iofd_get_ioops(struct osmo_io_fd *iofd, struct osmo_io_ops *ioops); diff --git a/src/core/libosmocore.map b/src/core/libosmocore.map index a50a9ed4..72a6038e 100644 --- a/src/core/libosmocore.map +++ b/src/core/libosmocore.map @@ -258,6 +258,7 @@ osmo_io_backend_names; osmo_iofd_close; osmo_iofd_free; osmo_iofd_get_data; +osmo_iofd_get_ioops; osmo_iofd_get_fd; osmo_iofd_get_name; osmo_iofd_set_name; diff --git a/src/core/osmo_io.c b/src/core/osmo_io.c index b6b59087..7ea959b2 100644 --- a/src/core/osmo_io.c +++ b/src/core/osmo_io.c @@ -896,6 +896,14 @@ int osmo_iofd_set_ioops(struct osmo_io_fd *iofd, const struct osmo_io_ops *ioops return 0; } +/*! Get the osmo_io_ops for an iofd. + * \param[in] iofd Target iofd file descriptor + * \param[in] ioops caller-allocated osmo_io_ops structure to be filled */ +void osmo_iofd_get_ioops(struct osmo_io_fd *iofd, struct osmo_io_ops *ioops) +{ + *ioops = iofd->io_ops; +} + /*! Notify the user if/when the socket is connected. * When the socket is connected the write_cb will be called. * \param[in] iofd the file descriptor */ |