summaryrefslogtreecommitdiff
path: root/src/irc/core/irc-chatnets.h
blob: 25ce05e81e5fcb52d0f6aa565a1c46579336c74b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef __IRC_CHATNETS_H
#define __IRC_CHATNETS_H

#define IS_IRC_CHATNET(chatnet) \
	((chatnet) != NULL && \
	 module_find_id("IRC CHATNET", (chatnet)->chat_type) != -1)

/* returns IRC_CHATNET_REC if it's IRC network, NULL if it isn't */
#define IRC_CHATNET(chatnet) \
	(IS_IRC_CHATNET(chatnet) ? (IRC_CHATNET_REC *) (chatnet) : NULL)

#define IS_IRCNET(ircnet) IS_IRC_CHATNET(ircnet)
#define IRCNET(ircnet) IRC_CHATNET(ircnet)

typedef struct {
#include "chatnet-rec.h"
	int max_cmds_at_once;
	int cmd_queue_speed;

	/* max. number of kicks/msgs/mode/whois per command */
	int max_kicks, max_msgs, max_modes, max_whois;
} IRC_CHATNET_REC;

void ircnet_create(IRC_CHATNET_REC *rec);

#define irc_chatnet_find(name) \
	IRC_CHATNET(chatnet_find(name))
#define ircnet_find(name) irc_chatnet_find(name)

void irc_chatnets_init(void);
void irc_chatnets_deinit(void);

#endif