Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 1998 - 2006 Pekka Riikonen
+ Copyright (C) 1998 - 2007 Pekka Riikonen
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
* 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);
* handle. To receive events for the file descriptor set the correct
* request events with silc_schedule_set_listen_fd function.
*
+ * The task will be initially set for SILC_TASK_READ events. Setting that
+ * event immediately after this call returns is not necessary.
+ *
+ * This returns the new task or NULL on error. If a task with `fd' has
+ * already been added this will return the existing task pointer.
+ *
***/
#define silc_schedule_task_add_fd(schedule, fd, callback, context) \
silc_schedule_task_add(schedule, fd, callback, context, 0, 0, SILC_TASK_FD)
*
* SYNOPSIS
*
- * void silc_schedule_set_listen_fd(SilcSchedule schedule, SilcUInt32 fd,
- * SilcTaskEvent mask,
- * SilcBool send_events);
+ * SilcBool silc_schedule_set_listen_fd(SilcSchedule schedule,
+ * SilcUInt32 fd,
+ * SilcTaskEvent mask,
+ * SilcBool send_events);
*
* DESCRIPTION
*
* after the event occurs in reality. In normal cases the `send_events'
* is set to FALSE.
*
+ * Returns FALSE if the operation could not performed and TRUE if it
+ * was a success.
+ *
***/
-void silc_schedule_set_listen_fd(SilcSchedule schedule, SilcUInt32 fd,
- SilcTaskEvent mask, SilcBool send_events);
+SilcBool silc_schedule_set_listen_fd(SilcSchedule schedule, SilcUInt32 fd,
+ SilcTaskEvent mask, SilcBool send_events);
/****f* silcutil/SilcScheduleAPI/silc_schedule_get_fd_events
*