Postfix3.3.1
anvil_clnt.h
[詳解]
1 #ifndef _ANVIL_CLNT_H_INCLUDED_
2 #define _ANVIL_CLNT_H_INCLUDED_
3 
4 /*++
5 /* NAME
6 /* anvil_clnt 3h
7 /* SUMMARY
8 /* connection count and rate management client interface
9 /* SYNOPSIS
10 /* #include <anvil_clnt.h>
11 /* DESCRIPTION
12 /* .nf
13 
14  /*
15  * System library.
16  */
17 #include <stdarg.h>
18 
19  /*
20  * Utility library.
21  */
22 #include <attr_clnt.h>
23 
24  /*
25  * Protocol interface: requests and endpoints.
26  */
27 #define ANVIL_SERVICE "anvil"
28 #define ANVIL_CLASS "private"
29 
30 #define ANVIL_ATTR_REQ "request"
31 #define ANVIL_REQ_CONN "connect"
32 #define ANVIL_REQ_DISC "disconnect"
33 #define ANVIL_REQ_MAIL "message"
34 #define ANVIL_REQ_RCPT "recipient"
35 #define ANVIL_REQ_NTLS "newtls"
36 #define ANVIL_REQ_NTLS_STAT "newtls_status"
37 #define ANVIL_REQ_AUTH "auth"
38 #define ANVIL_REQ_LOOKUP "lookup"
39 #define ANVIL_ATTR_IDENT "ident"
40 #define ANVIL_ATTR_COUNT "count"
41 #define ANVIL_ATTR_RATE "rate"
42 #define ANVIL_ATTR_MAIL "mail"
43 #define ANVIL_ATTR_RCPT "rcpt"
44 #define ANVIL_ATTR_NTLS "newtls"
45 #define ANVIL_ATTR_AUTH "auth"
46 #define ANVIL_ATTR_STATUS "status"
47 
48 #define ANVIL_STAT_OK 0
49 #define ANVIL_STAT_FAIL (-1)
50 
51  /*
52  * Functional interface.
53  */
54 typedef struct ANVIL_CLNT ANVIL_CLNT;
55 
56 extern ANVIL_CLNT *anvil_clnt_create(void);
57 extern int anvil_clnt_connect(ANVIL_CLNT *, const char *, const char *, int *, int *);
58 extern int anvil_clnt_mail(ANVIL_CLNT *, const char *, const char *, int *);
59 extern int anvil_clnt_rcpt(ANVIL_CLNT *, const char *, const char *, int *);
60 extern int anvil_clnt_newtls(ANVIL_CLNT *, const char *, const char *, int *);
61 extern int anvil_clnt_newtls_stat(ANVIL_CLNT *, const char *, const char *, int *);
62 extern int anvil_clnt_auth(ANVIL_CLNT *, const char *, const char *, int *);
63 extern int anvil_clnt_lookup(ANVIL_CLNT *, const char *, const char *, int *, int *, int *, int *, int *, int *);
64 extern int anvil_clnt_disconnect(ANVIL_CLNT *, const char *, const char *);
65 extern void anvil_clnt_free(ANVIL_CLNT *);
66 
67 /* LICENSE
68 /* .ad
69 /* .fi
70 /* The Secure Mailer license must be distributed with this software.
71 /* AUTHOR(S)
72 /* Wietse Venema
73 /* IBM T.J. Watson Research
74 /* P.O. Box 704
75 /* Yorktown Heights, NY 10598, USA
76 /*
77 /* Wietse Venema
78 /* Google, Inc.
79 /* 111 8th Avenue
80 /* New York, NY 10011, USA
81 /*--*/
82 
83 #endif
int anvil_clnt_lookup(ANVIL_CLNT *, const char *, const char *, int *, int *, int *, int *, int *, int *)
Definition: anvil_clnt.c:201
int anvil_clnt_disconnect(ANVIL_CLNT *, const char *, const char *)
Definition: anvil_clnt.c:376
void anvil_clnt_free(ANVIL_CLNT *)
Definition: anvil_clnt.c:194
int anvil_clnt_newtls_stat(ANVIL_CLNT *, const char *, const char *, int *)
Definition: anvil_clnt.c:328
ANVIL_CLNT * anvil_clnt_create(void)
Definition: anvil_clnt.c:175
int anvil_clnt_newtls(ANVIL_CLNT *, const char *, const char *, int *)
Definition: anvil_clnt.c:304
int anvil_clnt_auth(ANVIL_CLNT *, const char *, const char *, int *)
Definition: anvil_clnt.c:352
int anvil_clnt_connect(ANVIL_CLNT *, const char *, const char *, int *, int *)
Definition: anvil_clnt.c:231
struct ANVIL_CLNT ANVIL_CLNT
Definition: anvil_clnt.h:54
int anvil_clnt_rcpt(ANVIL_CLNT *, const char *, const char *, int *)
Definition: anvil_clnt.c:280
int anvil_clnt_mail(ANVIL_CLNT *, const char *, const char *, int *)
Definition: anvil_clnt.c:256