view src/doveadm/doveadm-who.h @ 19900:6f760a1def9f

doveadm kick: Don't show who command's help on duplicate network/username masks
author Aki Tuomi <aki.tuomi@dovecot.fi>
date Sun, 28 Feb 2016 18:59:35 +0200
parents 8eae4e205c82
children
line wrap: on
line source

#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 */