struct Client;
struct User;
+struct Channel;
+struct MsgBuf;
/*
* Macros
extern struct SLink *opsarray[];
-typedef char* (*InfoFormatter)(struct Client* who, char* buf);
+typedef void (*InfoFormatter)(struct Client* who, struct MsgBuf* buf);
/*
* Prototypes
extern void user_count_memory(size_t* count_out, size_t* bytes_out);
-extern int user_set_away(struct User* user, char* message);
extern int do_nick_name(char* nick);
extern int set_nick_name(struct Client* cptr, struct Client* sptr,
const char* nick, int parc, char* parv[]);
-extern void send_umode_out(struct Client* cptr, struct Client* sptr, int old);
+extern void send_umode_out(struct Client* cptr, struct Client* sptr, int old,
+ int prop);
extern int whisper(struct Client* source, const char* nick,
const char* channel, const char* text, int is_notice);
extern void send_user_info(struct Client* to, char* names, int rpl,
extern int is_silenced(struct Client *sptr, struct Client *acptr);
extern int hunt_server(int, struct Client *cptr, struct Client *sptr,
char *command, int server, int parc, char *parv[]);
+extern int hunt_server_cmd(struct Client *from, const char *cmd,
+ const char *tok, struct Client *one,
+ int MustBeOper, const char *pattern, int server,
+ int parc, char *parv[]);
+extern int hunt_server_prio_cmd(struct Client *from, const char *cmd,
+ const char *tok, struct Client *one,
+ int MustBeOper, const char *pattern,
+ int server, int parc, char *parv[]);
extern struct Client* next_client(struct Client* next, const char* ch);
extern char *umode_str(struct Client *cptr);
extern void send_umode(struct Client *cptr, struct Client *sptr, int old, int sendmask);
extern void add_target(struct Client *sptr, void *target);
extern unsigned int umode_make_snomask(unsigned int oldmask, char *arg,
int what);
+extern int send_supported(struct Client *cptr);
+#define NAMES_ALL 1 /* List all users in channel */
+#define NAMES_VIS 2 /* List only visible users in non-secret channels */
+#define NAMES_EON 4 /* Add an 'End Of Names' reply to the end */
+
+void do_names(struct Client* sptr, struct Channel* chptr, int filter);
#endif /* INCLUDED_s_user_h */