start to add doxygen documentation to libosmocore headers
diff --git a/include/osmocom/core/select.h b/include/osmocom/core/select.h
index 476c564..b1b8267 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 */