+void clear_whoqueue(struct ClientSocket *client) {
+ if(!client->whoqueue_first) return;
+ SYNCHRONIZE(whohandler_sync);
+ struct WHOQueueEntry *entry, *next;
+ for(entry = client->whoqueue_first; entry; entry = next) {
+ next = entry->next;
+ free(entry);
+ }
+ client->whoqueue_last = NULL;
+ client->whoqueue_first = NULL;
+ DESYNCHRONIZE(whohandler_sync);
+}
+
+void get_userlist(struct ChanNode *chan, int module_id, userlist_callback_t callback, void *data) {