diff options
author | Harald Welte <laforge@gnumonks.org> | 2011-08-16 23:26:52 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2011-08-16 23:26:52 +0200 |
commit | bd598e3c5eff85ed3958909584d3d8e1e2235b41 (patch) | |
tree | 1b47f59c634cc1139be16e4625f7809c4d3e4460 /include/osmocom/core/select.h | |
parent | 300e78d3e5714449e73a056dd5878adab97c6423 (diff) |
start to add doxygen documentation to libosmocore headers
Diffstat (limited to 'include/osmocom/core/select.h')
-rw-r--r-- | include/osmocom/core/select.h | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/include/osmocom/core/select.h b/include/osmocom/core/select.h index 476c564e..b1b82672 100644 --- a/include/osmocom/core/select.h +++ b/include/osmocom/core/select.h @@ -3,20 +3,48 @@ #include <osmocom/core/linuxlist.h> +/*! \file select.h + * \brief select loop abstraction + */ + +/*! \brief Indicate interest in reading from the file descriptor */ #define BSC_FD_READ 0x0001 +/*! \brief Indicate interest in writing to the file descriptor */ #define BSC_FD_WRITE 0x0002 +/*! \brief Indicate interest in exceptions from the file descriptor */ #define BSC_FD_EXCEPT 0x0004 +/*! \brief Structure representing a file dsecriptor */ struct osmo_fd { - struct llist_head list; + /*! linked list for internal management */ + struct llist_head list; + /*! actual operating-system level file decriptor */ int fd; + /*! bit-mask or of \ref BSC_FD_READ, \ref BSC_FD_WRITE and/or + * \ref BSC_FD_EXCEPT */ unsigned int when; + /*! call-back function to be called once file descriptor becomes + * available */ int (*cb)(struct osmo_fd *fd, unsigned int what); + /*! data pointer passed through to call-back function */ void *data; + /*! private number, extending \a data */ unsigned int priv_nr; }; +/*! \brief Register a new file descriptor with select loop abstraction + * \param[in] fd osmocom file descriptor to be registered + */ int osmo_fd_register(struct osmo_fd *fd); + +/*! \brief Unregister a file descriptor from select loop abstraction + * \param[in] fd osmocom file descriptor to be unregistered + */ void osmo_fd_unregister(struct osmo_fd *fd); + +/*! \brief select main loop integration + * \param[in] polling should we pollonly (1) or block on select (0) + */ int osmo_select_main(int polling); + #endif /* _BSC_SELECT_H */ |