* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* @file
+/** @file
* @brief Interface and public definitions for event loop.
* @version $Id$
*/
/** List of all event generators. */
struct Generators {
- struct Socket* g_socket; /**< list of socket generators */
- struct Signal* g_signal; /**< list of signal generators */
- struct Timer* g_timer; /**< list of timer generators */
+ struct GenHeader* g_socket; /**< list of socket generators */
+ struct GenHeader* g_signal; /**< list of signal generators */
+ struct GenHeader* g_timer; /**< list of timer generators */
};
/** Returns 1 if successfully initialized, 0 if not.
void timer_chg(struct Timer* timer, enum TimerType type, time_t value);
void timer_run(void);
/** Retrieve the next timer's expiration time from Generators \a gen. */
-#define timer_next(gen) ((gen)->g_timer ? (gen)->g_timer->t_expire : 0)
+#define timer_next(gen) ((gen)->g_timer ? ((struct Timer*)(gen)->g_timer)->t_expire : 0)
void signal_add(struct Signal* signal, EventCallBack call, void* data,
int sig);