Allow !trim (for users) to work for helpers.
[srvx.git] / src / proto.h
index 04ccb78171ad0cfd5fb3312e1549f245aa2a6c89..99ca1099703fddf03aa3fd6b69d0e93de99dea48 100644 (file)
@@ -90,7 +90,7 @@ void init_parse(void);
 int parse_line(char *line, int recursive);
 
 /* Callback notifications for protocol support. */
-typedef void (*chanmsg_func_t) (struct userNode *user, struct chanNode *chan, const char *text, struct userNode *bot);
+typedef void (*chanmsg_func_t) (struct userNode *user, struct chanNode *chan, const char *text, struct userNode *bot, unsigned int is_notice);
 void reg_chanmsg_func(unsigned char prefix, struct userNode *service, chanmsg_func_t handler);
 void reg_allchanmsg_func(struct userNode *service, chanmsg_func_t handler);
 struct userNode *get_chanmsg_bot(unsigned char prefix);
@@ -144,9 +144,9 @@ void irc_stats(struct userNode *from, struct server *target, char type);
 void irc_svsnick(struct userNode *from, struct userNode *target, const char *newnick);
 
 /* account maintenance */
-void irc_account(struct userNode *user, const char *stamp);
+void irc_account(struct userNode *user, const char *stamp, unsigned long timestamp, unsigned long serial);
 void irc_regnick(struct userNode *user);
-void irc_fakehost(struct userNode *user, const char *host);
+void irc_fakehost(struct userNode *user, const char *host, const char *ident, int force);
 
 /* numeric messages */
 void irc_numeric(struct userNode *user, unsigned int num, const char *format, ...);
@@ -175,7 +175,9 @@ void DelUser(struct userNode* user, struct userNode *killer, int announce, const
 /* Most protocols will want to make an AddUser helper function. */
 
 /* User modes */
+extern const char irc_user_mode_chars[];
 void mod_usermode(struct userNode *user, const char *modes);
+unsigned int irc_user_modes(const struct userNode *user, char modes[], size_t length);
 
 /* Channel mode manipulation */
 #define KEYLEN          23
@@ -208,6 +210,7 @@ struct mod_chanmode {
 #define MCP_REGISTERED    0x0008 /* chan is already registered; do not allow changes to MODE_REGISTERED */
 #define MCP_UPASS_FREE    0x0010 /* -U without a key argument */
 #define MCP_APASS_FREE    0x0020 /* -A without a key argument */
+#define MCP_NO_APASS      0x0040 /* Do not allow +/-A or +/-U */
 #define MC_ANNOUNCE       0x0100 /* send a mod_chanmode() change out */
 #define MC_NOTIFY         0x0200 /* make local callbacks to announce */
 #ifdef NDEBUG