+/* WHOHandler.h - NeonServ v5.2
+ * Copyright (C) 2011 Philipp Kreil (pk910)
+ *
+ * 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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
#ifndef _WHOHandler_h
#define _WHOHandler_h
void recv_whohandler_354(struct ClientSocket *client, char **argv, unsigned int argc);
void recv_whohandler_315(struct ClientSocket *client, char **argv, unsigned int argc);
void get_userlist(struct ChanNode *chan, userlist_callback_t callback, void *data);
-void get_userlist_with_invisible(struct ChanNode *chan, userlist_callback_t callback, void *data);
+#define get_userlist_if_invisible(CHAN, CALLBACK, DATA) _get_userlist_with_invisible(CHAN, CALLBACK, DATA, 0)
+#define get_userlist_with_invisible(CHAN, CALLBACK, DATA) _get_userlist_with_invisible(CHAN, CALLBACK, DATA, 1)
+void _get_userlist_with_invisible(struct ChanNode *chan, userlist_callback_t callback, void *data, int force);
void get_userauth(struct UserNode *user, userauth_callback_t callback, void *data);
void free_whoqueue();