From 9fcc469afa01fc9ea42e4cbb96c5b195c5bcd371 Mon Sep 17 00:00:00 2001 From: Tom Date: Wed, 11 Jan 2012 17:00:30 +0100 Subject: all reupped --- .../libosmocore/include/osmocom/core/select.h | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Src/osmolib/src/shared/libosmocore/include/osmocom/core/select.h (limited to 'Src/osmolib/src/shared/libosmocore/include/osmocom/core/select.h') diff --git a/Src/osmolib/src/shared/libosmocore/include/osmocom/core/select.h b/Src/osmolib/src/shared/libosmocore/include/osmocom/core/select.h new file mode 100644 index 0000000..18aad35 --- /dev/null +++ b/Src/osmolib/src/shared/libosmocore/include/osmocom/core/select.h @@ -0,0 +1,45 @@ +#ifndef _BSC_SELECT_H +#define _BSC_SELECT_H + +#include + +/*! \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 { + /*! 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 */ -- cgit v1.2.3-55-g7522