* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
#define MODE_HALFOP 0x00800000 /* +h USER */
#define MODE_EXEMPT 0x01000000 /* +e exempt */
#define MODE_HIDEMODE 0x02000000 /* +L hide modes */
#define MODE_HALFOP 0x00800000 /* +h USER */
#define MODE_EXEMPT 0x01000000 /* +e exempt */
#define MODE_HIDEMODE 0x02000000 /* +L hide modes */
char info[REALLEN + 1]; /* Free form additional client information */
char hostname[HOSTLEN + 1]; /* DNS name or IP address */
char fakehost[HOSTLEN + 1]; /* Assigned fake host */
char info[REALLEN + 1]; /* Free form additional client information */
char hostname[HOSTLEN + 1]; /* DNS name or IP address */
char fakehost[HOSTLEN + 1]; /* Assigned fake host */
#ifdef WITH_PROTOCOL_P10
char numeric[COMBO_NUMERIC_LEN+1];
unsigned int num_local : 18;
#endif
unsigned int loc; /* Is user connecting via LOC? */
unsigned int dead : 1; /* Is user waiting to be recycled? */
#ifdef WITH_PROTOCOL_P10
char numeric[COMBO_NUMERIC_LEN+1];
unsigned int num_local : 18;
#endif
unsigned int loc; /* Is user connecting via LOC? */
unsigned int dead : 1; /* Is user waiting to be recycled? */
typedef int (*topic_func_t)(struct userNode *who, struct chanNode *chan, const char *old_topic);
void reg_topic_func(topic_func_t handler);
typedef int (*topic_func_t)(struct userNode *who, struct chanNode *chan, const char *old_topic);
void reg_topic_func(topic_func_t handler);
-void SetChannelTopic(struct chanNode *channel, struct userNode *user, const char *topic, int announce);
+void SetChannelTopic(struct chanNode *channel, struct userNode *service, struct userNode *user, const char *topic, int announce);