00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __CTRLPROXY_ISUPPORT_H__
00021 #define __CTRLPROXY_ISUPPORT_H__
00022
00023 #ifndef G_GNUC_NULL_TERMINATED
00024 #define G_GNUC_NULL_TERMINATED
00025 #endif
00026
00027 #ifndef G_GNUC_WARN_UNUSED_RESULT
00028 #define G_GNUC_WARN_UNUSED_RESULT
00029 #endif
00030
00036 enum casemapping {
00037 CASEMAP_UNKNOWN = 0,
00038 CASEMAP_RFC1459,
00039 CASEMAP_ASCII,
00040 CASEMAP_STRICT_RFC1459
00041 };
00042
00047 struct irc_network_info
00048 {
00050 char *name;
00051
00052 char *server;
00053
00055 char *supported_user_modes;
00056
00058 char *supported_channel_modes;
00059
00061 enum casemapping casemapping;
00062
00065 char *prefix;
00066
00068 char *chantypes;
00069
00071 char *charset;
00072
00080 char **chanmodes;
00081
00083
00084 char *chanlimit;
00085
00087
00088 char *maxlist;
00089
00093 gboolean elist_mask_search;
00094 gboolean elist_inverse_mask_search;
00095 gboolean elist_usercount_search;
00096 gboolean elist_creation_time_search;
00097 gboolean elist_topic_search;
00098
00103 char *extban_prefix;
00104 char *extban_supported;
00105
00109
00110 char *idchan;
00111
00114 char excepts_mode;
00115
00118 char invex_mode;
00119
00121 char deaf_mode;
00122
00126 char *statusmsg;
00127
00129 char *ircd;
00130
00132 int keylen;
00133
00135 gboolean ssl;
00136
00138 gboolean silence;
00139
00141 gboolean hcn;
00142
00146 int silence_limit;
00147
00149 int channellen;
00150
00152 int awaylen;
00153
00155 int kicklen;
00156
00158 int maxtargets;
00159
00161 int nicklen;
00162
00164 int userlen;
00165
00167 int hostlen;
00168
00170 int maxchannels;
00171
00173 int topiclen;
00174
00176 int maxbans;
00177
00180 int maxmodes;
00181
00183 gboolean wallchops;
00184
00186 gboolean wallvoices;
00187
00189 gboolean rfc2812;
00190
00193 gboolean penalty;
00194
00197 gboolean forced_nick_changes;
00198
00201 gboolean safelist;
00202
00204 gboolean userip;
00205
00208 gboolean cprivmsg;
00209
00211 gboolean cnotice;
00212
00214 gboolean knock;
00215
00217 gboolean vchannels;
00218
00220 gboolean whox;
00221
00223 gboolean callerid;
00224
00226 gboolean accept;
00227
00231 gboolean capab;
00232
00234 int maxpara;
00235
00238 gboolean namesx;
00239
00243 gboolean securelist;
00244
00246 int watch;
00247
00249 gboolean remove;
00250
00252 gboolean map;
00253
00255 gboolean operoverride;
00256
00258 gboolean vbanlist;
00259 };
00260
00261 G_GNUC_WARN_UNUSED_RESULT G_MODULE_EXPORT char *network_info_string(struct irc_network_info *info);
00262 G_MODULE_EXPORT gboolean is_channelname(const char *name, const struct irc_network_info *s);
00263 G_MODULE_EXPORT gboolean is_prefix(char p, const struct irc_network_info *n);
00264 G_MODULE_EXPORT char get_prefix_by_mode(char p, const struct irc_network_info *n);
00265 G_MODULE_EXPORT int irccmp(const struct irc_network_info *n, const char *a, const char *b);
00266 G_GNUC_WARN_UNUSED_RESULT G_MODULE_EXPORT const char *get_charset(const struct irc_network_info *n);
00267 G_MODULE_EXPORT void network_info_parse(struct irc_network_info *info, const char *parameter);
00268 G_MODULE_EXPORT int network_chanmode_type(char m, struct irc_network_info *n);
00269 G_MODULE_EXPORT struct irc_network_info *network_info_init(void);
00270 G_MODULE_EXPORT void free_network_info(struct irc_network_info *info);
00271
00272 #endif