blob: 57c663a95da70c08b81ed7a9974425d1afaded6a (
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
34
35
36
37
|
#ifndef DOVEADM_WHO_H
#define DOVEADM_WHO_H
struct who_line {
const char *username;
const char *service;
struct ip_addr ip;
pid_t pid;
unsigned int refcount;
};
struct who_filter {
const char *username;
struct ip_addr net_ip;
unsigned int net_bits;
};
struct who_context {
const char *anvil_path;
struct who_filter filter;
pool_t pool;
HASH_TABLE(struct who_user *, struct who_user *) users;
};
typedef void who_callback_t(struct who_context *ctx,
const struct who_line *line);
int who_parse_args(struct who_context *ctx, const char *const *masks);
void who_lookup(struct who_context *ctx, who_callback_t *callback);
bool who_line_filter_match(const struct who_line *line,
const struct who_filter *filter);
#endif /* DOVEADM_WHO_H */
|