author | viric <viriketo@gmail.com> |
Wed, 16 Feb 2011 21:07:11 +0100 | |
branch | saveflie |
changeset 95 | 13360d8af313 |
parent 76 | 5c0b9c9f9801 |
permissions | -rw-r--r-- |
34 | 1 |
struct FilterRules; |
2 |
struct FFilter; |
|
3 |
||
4 |
typedef void (*Fcallback)(struct FilterRules *fr, const struct FFilter *ff, |
|
5 |
char *obuf, int *olen, const char *ibuf, int pos); |
|
6 |
||
7 |
/* TRUE if match */ |
|
8 |
typedef int (*Ffunction)(struct FFilter *ff, unsigned char c); |
|
9 |
||
10 |
typedef void (*Freset)(struct FFilter *ff); |
|
11 |
||
12 |
struct FFilter { |
|
13 |
/* Static */ |
|
14 |
Ffunction function; |
|
15 |
Freset reset; |
|
16 |
Fcallback callback; |
|
17 |
||
18 |
int matched; |
|
19 |
}; |
|
20 |
||
21 |
struct FilterRules { |
|
22 |
int nfilters; |
|
23 |
struct FFilter **filters; |
|
24 |
unsigned char *fbuffer; |
|
25 |
int fbuffer_len; |
|
26 |
int fbuffer_allocated; |
|
27 |
}; |
|
28 |
||
29 |
void add_ffilter(struct FilterRules *fr, struct FFilter *ff); |
|
30 |
struct FilterRules * new_filter_rules(); |
|
31 |
void filter_stream(struct FilterRules *fr, char *obuf, int *olen, const char *buffer, int len); |
|
32 |
void filter_flush(struct FilterRules *fr, char *obuf, int *olen); |
|
33 |
||
34 |
/* filter_string.c */ |
|
35 |
struct FFilter *new_fstring(char *p); |
|
36
da427c23d755
Added dumps, telnet_filter, applied filters in tm, improved telnet experience.
viric@llimona
parents:
34
diff
changeset
|
36 |
struct FFilter *new_fstring_len(char *p, int len); |
da427c23d755
Added dumps, telnet_filter, applied filters in tm, improved telnet experience.
viric@llimona
parents:
34
diff
changeset
|
37 |
|
da427c23d755
Added dumps, telnet_filter, applied filters in tm, improved telnet experience.
viric@llimona
parents:
34
diff
changeset
|
38 |
/* filter_telnet.c */ |
da427c23d755
Added dumps, telnet_filter, applied filters in tm, improved telnet experience.
viric@llimona
parents:
34
diff
changeset
|
39 |
struct FFilter *new_ftelnet(); |
76
5c0b9c9f9801
Fixed filter, and the client now parses ~~~ and ~~. (closing client)
viric@llimona
parents:
36
diff
changeset
|
40 |
|
5c0b9c9f9801
Fixed filter, and the client now parses ~~~ and ~~. (closing client)
viric@llimona
parents:
36
diff
changeset
|
41 |
/* filter_tildes.c */ |
5c0b9c9f9801
Fixed filter, and the client now parses ~~~ and ~~. (closing client)
viric@llimona
parents:
36
diff
changeset
|
42 |
struct FFilter *new_ftildes(); |