diff options
Diffstat (limited to 'src/shared/libosmocore/include/osmocom/core/select.h')
-rw-r--r-- | src/shared/libosmocore/include/osmocom/core/select.h | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/shared/libosmocore/include/osmocom/core/select.h b/src/shared/libosmocore/include/osmocom/core/select.h index 476c564e..18aad35f 100644 --- a/src/shared/libosmocore/include/osmocom/core/select.h +++ b/src/shared/libosmocore/include/osmocom/core/select.h @@ -3,20 +3,43 @@ #include <osmocom/core/linuxlist.h> +/*! \defgroup select Select loop abstraction + * @{ + */ + +/*! \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; }; int osmo_fd_register(struct osmo_fd *fd); void osmo_fd_unregister(struct osmo_fd *fd); int osmo_select_main(int polling); + +/*! }@ */ + #endif /* _BSC_SELECT_H */ |