* When this returns the program is to be ended. Before this function can
* be called, one must call silc_schedule_init function.
*
+ * NOTES
+ *
+ * On Windows this will block the program, but will continue dispatching
+ * window messages, and thus can be used as the main loop of the program.
+ *
+ * On Symbian this will return immediately. On Symbian calling
+ * silc_schedule is same as calling silc_schedule_one.
+ *
***/
void silc_schedule(SilcSchedule schedule);
* scheduler. The function will not return in this timeout unless
* some other event occurs.
*
+ * Typically this would be called from a timeout or idle task
+ * periodically (typically from 5-50 ms) to schedule SILC tasks. In
+ * this case the `timeout_usecs' is usually 0.
+ *
***/
SilcBool silc_schedule_one(SilcSchedule schedule, int timeout_usecs);
* Add timeout task to scheduler. The `callback' will be called once
* the specified timeout has elapsed. The task will be removed from the
* scheduler automatically once the task expires. The event returned
- * to the `callback' is SILC_TASK_EXPIRE.
+ * to the `callback' is SILC_TASK_EXPIRE. The task added with zero (0)
+ * timeout will be executed immediately next time tasks are scheduled.
*
***/
#define silc_schedule_task_add_timeout(schedule, callback, context, s, u) \
* the signal call silc_schedule_task_del_by_fd.
*
***/
-#define silc_schedule_task_add_signal(schedule, signal, callback, context) \
- silc_schedule_task_add(schedule, signal, callback, context, 0, 0, \
+#define silc_schedule_task_add_signal(schedule, sig, callback, context) \
+ silc_schedule_task_add(schedule, sig, callback, context, 0, 0, \
SILC_TASK_SIGNAL)
/****f* silcutil/SilcScheduleAPI/silc_schedule_task_del
void silc_schedule_set_listen_fd(SilcSchedule schedule, SilcUInt32 fd,
SilcTaskEvent mask, SilcBool send_events);
+/****f* silcutil/SilcScheduleAPI/silc_schedule_get_fd_events
+ *
+ * SYNOPSIS
+ *
+ * SilcTaskEvent silc_schedule_get_fd_events(SilcSchedule schedule,
+ * SilcUInt32 fd);
+ *
+ * DESCRIPTION
+ *
+ * Returns the file descriptor `fd' current requested events mask,
+ * or 0 on error.
+ *
+ ***/
+SilcTaskEvent silc_schedule_get_fd_events(SilcSchedule schedule,
+ SilcUInt32 fd);
+
/****f* silcutil/SilcScheduleAPI/silc_schedule_unset_listen_fd
*
* SYNOPSIS