]> jfr.im git - irc/quakenet/newserv.git/blame - versionscan/versionscan.h
r591@blue (orig r481): cruicky | 2006-05-04 14:47:19 +0100
[irc/quakenet/newserv.git] / versionscan / versionscan.h
CommitLineData
4c08bc95
CP
1#include "../nick/nick.h"
2#include "../localuser/localuserchannel.h"
3#include "../core/hooks.h"
4#include "../core/schedule.h"
5#include "../lib/array.h"
6#include "../lib/base64.h"
7#include "../lib/irc_string.h"
8#include "../lib/splitline.h"
9
10#include <stdarg.h>
11#include <stdio.h>
12#include <string.h>
13
14#define VS_NICK "V"
15#define VS_IDENT "TheVBot"
16#define VS_HOST "versionscan.quakenet.org"
17#define VS_RNDESC "VersionScan"
18#define VS_AUTHNAME "V"
19
20#define VS_VERSION "1.13"
21
22#define OPER_CHAN "#qnet.support"
23
24#define VSPATTERNLEN 200
25#define VSDATALEN 200
26
27/* modes of operation */
28#define VS_IDLE 0
29#define VS_SCAN 1
30#define VS_STAT 2
31
32/* action types */
33#define VS_WARN 1
34#define VS_KILL 2
35#define VS_GLUSER 3
36#define VS_GLHOST 4
37
38/* user flags */
39#define VS_AUTHED 1
40#define VS_STAFF 2
41#define VS_OPER 4
42#define VS_GLINE 8
43#define VS_ADMIN 16
44
45typedef struct vsstatistic vsstatistic;
46struct vsstatistic {
47 char* reply;
48 unsigned long count;
49 vsstatistic* next;
50};
51
52typedef struct vspattern vspattern;
53struct vspattern {
54 char pattern[VSPATTERNLEN+1];
55 char data[VSDATALEN+1];
56 unsigned char action;
57 unsigned long hitcount;
58 vspattern* next;
59};
60
61typedef struct vsauthdata vsauthdata;
62struct vsauthdata {
63 char account[ACCOUNTLEN+1];
64 unsigned char flags;
65 vsauthdata* next;
66};
67
68unsigned char versionscan_getlevelbyauth(char* auth);
69vsauthdata* versionscan_getauthbyauth(char* auth);
70int IsVersionscanBird(nick* np);
71int IsVersionscanStaff(nick* np);
72int IsVersionscanGlineAccess(nick* np);
73int IsVersionscanAdmin(nick* np);
74const char* versionscan_flagstochar(unsigned char flags);
75void versionscan_addpattern(char* pattern, char* data, unsigned char action);
76void versionscan_delpattern(char* pattern);
77vspattern* versionscan_getpattern(char* pattern);
78void versionscan_newnick(int hooknum, void* arg);
79void versionscan_handler(nick* me, int type, void** args);
80void versionscan_createfakeuser(void* arg);