diff options
| -rw-r--r-- | include/osmocom/core/select.h | 2 | ||||
| -rw-r--r-- | src/select.c | 12 | 
2 files changed, 14 insertions, 0 deletions
| diff --git a/include/osmocom/core/select.h b/include/osmocom/core/select.h index b6b9e821..b9e3b51a 100644 --- a/include/osmocom/core/select.h +++ b/include/osmocom/core/select.h @@ -39,4 +39,6 @@ int osmo_fd_register(struct osmo_fd *fd);  void osmo_fd_unregister(struct osmo_fd *fd);  int osmo_select_main(int polling); +struct osmo_fd *osmo_fd_get_by_fd(int fd); +  /*! @} */ diff --git a/src/select.c b/src/select.c index 5421c773..477ff662 100644 --- a/src/select.c +++ b/src/select.c @@ -170,6 +170,18 @@ restart:  	return work;  } +/*! \brief find an osmo_fd based on the integer fd */ +struct osmo_fd *osmo_fd_get_by_fd(int fd) +{ +	struct osmo_fd *ofd; + +	llist_for_each_entry(ofd, &osmo_fds, list) { +		if (ofd->fd == fd) +			return ofd; +	} +	return NULL; +} +  /*! @} */  #endif /* _HAVE_SYS_SELECT_H */ | 
