170 #define ANVIL_IDENT(service, addr) \
171 printable(concatenate(service, ":", addr, (char *) 0), '?')
183 #ifndef VAR_ANVIL_SERVICE
202 const char *addr,
int *count,
int *rate,
203 int *msgs,
int *rcpts,
int *newtls,
int *auths)
232 const char *addr,
int *count,
int *rate)
257 const char *addr,
int *msgs)
281 const char *addr,
int *rcpts)
305 const char *addr,
int *newtls)
329 const char *addr,
int *newtls)
353 const char *addr,
int *auths)
409 static void usage(
void)
422 int main(
int unused_argc,
char **argv)
451 if ((cmd =
mystrtok(&bufp,
" ")) == 0 || *bufp == 0
452 || (service =
mystrtok(&bufp,
" ")) == 0 || *service == 0
453 || (addr =
mystrtok(&bufp,
" ")) == 0 || *addr == 0
460 cmd_len = strlen(cmd);
502 "auths=%d\n", count, rate, msgs, rcpts, newtls,
#define vstring_fgets_nonl(s, p)
void attr_clnt_free(ATTR_CLNT *client)
int anvil_clnt_rcpt(ANVIL_CLNT *anvil_clnt, const char *service, const char *addr, int *rcpts)
#define ATTR_FLAG_MISSING
int main(int argc, char **argv)
#define ANVIL_IDENT(service, addr)
int anvil_clnt_lookup(ANVIL_CLNT *anvil_clnt, const char *service, const char *addr, int *count, int *rate, int *msgs, int *rcpts, int *newtls, int *auths)
#define RECV_ATTR_INT(name, val)
int anvil_clnt_newtls_stat(ANVIL_CLNT *anvil_clnt, const char *service, const char *addr, int *newtls)
int anvil_clnt_auth(ANVIL_CLNT *anvil_clnt, const char *service, const char *addr, int *auths)
char * mystrtok(char **src, const char *sep)
void anvil_clnt_free(ANVIL_CLNT *anvil_clnt)
int anvil_clnt_connect(ANVIL_CLNT *anvil_clnt, const char *service, const char *addr, int *count, int *rate)
ATTR_CLNT * attr_clnt_create(const char *service, int timeout, int max_idle, int max_ttl)
void mail_conf_read(void)
int anvil_clnt_disconnect(ANVIL_CLNT *anvil_clnt, const char *service, const char *addr)
VSTREAM * vstream_printf(const char *fmt,...)
void msg_warn(const char *fmt,...)
VSTRING * vstring_alloc(ssize_t len)
NORETURN msg_fatal(const char *fmt,...)
#define ANVIL_ATTR_STATUS
int vstream_fflush(VSTREAM *stream)
struct ANVIL_CLNT ANVIL_CLNT
int anvil_clnt_newtls(ANVIL_CLNT *anvil_clnt, const char *service, const char *addr, int *newtls)
int attr_clnt_request(ATTR_CLNT *client, int send_flags,...)
int anvil_clnt_mail(ANVIL_CLNT *anvil_clnt, const char *service, const char *addr, int *msgs)
VSTRING * vstring_free(VSTRING *vp)
void msg_vstream_init(const char *name, VSTREAM *vp)
#define ANVIL_REQ_NTLS_STAT
#define SEND_ATTR_STR(name, val)
ANVIL_CLNT * anvil_clnt_create(void)
void msg_info(const char *fmt,...)