librepsheet  6.2.0
TheRepsheetcorelogiclibrary
 All Data Structures Files Functions Pages
repsheet.h
1 #ifndef __REPSHEET_H
2 #define __REPSHEET_H
3 
4 #define TRUE 1
5 #define FALSE 0
6 
7 #define WHITELISTED 2
8 #define MARKED 3
9 #define BLACKLISTED 4
10 #define UNSUPPORTED 5
11 #define LIBREPSHEET_OK 6
12 
13 #define IP 7
14 #define USER 8
15 #define BLOCK 9
16 
17 #define DISCONNECTED -1
18 #define NIL -2
19 
20 #define MAX_REASON_LENGTH 1024
21 
22 #include "hiredis/hiredis.h"
23 
24 redisContext *get_redis_context(const char *host, int port, int timeout);
25 redisContext *repsheet_connect(const char *host, int port, int connect_timeout, int read_timeout);
26 int repsheet_reconnect(redisContext *context);
27 int check_connection(redisContext *context);
28 
29 int actor_status(redisContext *context, const char *actor, int type, char *reason);
30 
31 int remote_address(char *connected_address, char *xff_header, char *address);
32 
33 int blacklist(redisContext *context, const char *actor, int type, const char *reason);
34 int is_ip_blacklisted(redisContext *context, const char *actor, char *reason);
35 int is_user_blacklisted(redisContext *context, const char *actor, char *reason);
36 
37 int whitelist(redisContext *context, const char *actor, int type, const char *reason);
38 int is_ip_whitelisted(redisContext *context, const char *actor, char *reason);
39 int is_user_whitelisted(redisContext *context, const char *actor, char *reason);
40 int is_country_whitelisted(redisContext *context, const char *country_code);
41 
42 int mark(redisContext *context, const char *actor, int type, const char *reason);
43 int is_ip_marked(redisContext *context, const char *actor, char *reason);
44 int is_user_marked(redisContext *context, const char *actor, char *reason);
45 
46 void set_initial_whitelist_size(int new_size);
47 void set_initial_blacklist_size(int new_size);
48 void set_cache_expiry(unsigned int new_expiry);
49 
50 #endif
int is_user_blacklisted(redisContext *context, const char *actor, char *reason)
Definition: blacklist.c:100
int is_user_marked(redisContext *context, const char *actor, char *reason)
Definition: marked.c:76
redisContext * repsheet_connect(const char *host, int port, int connect_timeout, int read_timeout)
Definition: librepsheet.c:90
int mark(redisContext *context, const char *actor, int type, const char *reason)
Definition: marked.c:20
redisContext * get_redis_context(const char *host, int port, int timeout)
Definition: librepsheet.c:60
int is_ip_blacklisted(redisContext *context, const char *actor, char *reason)
Definition: blacklist.c:67
int is_user_whitelisted(redisContext *context, const char *actor, char *reason)
Definition: whitelist.c:96
int remote_address(char *connected_address, char *xff_header, char *address)
Definition: xff.c:24
int actor_status(redisContext *context, const char *actor, int type, char *reason)
Definition: librepsheet.c:175
void set_initial_blacklist_size(int new_size)
Definition: blacklist.c:22
int is_ip_marked(redisContext *context, const char *actor, char *reason)
Definition: marked.c:48
int is_ip_whitelisted(redisContext *context, const char *actor, char *reason)
Definition: whitelist.c:63
int check_connection(redisContext *context)
Definition: librepsheet.c:118
int repsheet_reconnect(redisContext *context)
Definition: librepsheet.c:146
int whitelist(redisContext *context, const char *actor, int type, const char *reason)
Definition: whitelist.c:33
int blacklist(redisContext *context, const char *actor, int type, const char *reason)
Definition: blacklist.c:36