xref: /netbsd-src/external/ibm-public/postfix/dist/src/util/auto_clnt.h (revision 67b9b338a7386232ac596b5fd0cd5a9cc8a03c71)
1 /*	$NetBSD: auto_clnt.h,v 1.2 2022/10/08 16:12:50 christos Exp $	*/
2 
3 #ifndef _AUTO_CLNT_H_INCLUDED_
4 #define _AUTO_CLNT_H_INCLUDED_
5 
6 /*++
7 /* NAME
8 /*	auto_clnt 3h
9 /* SUMMARY
10 /*	client endpoint maintenance
11 /* SYNOPSIS
12 /*	#include <auto_clnt.h>
13 /* DESCRIPTION
14 /* .nf
15 
16  /*
17   * Utility library.
18   */
19 #include <vstream.h>
20 
21  /*
22   * External interface.
23   */
24 typedef struct AUTO_CLNT AUTO_CLNT;
25 typedef int (*AUTO_CLNT_HANDSHAKE_FN) (VSTREAM *);
26 
27 extern AUTO_CLNT *auto_clnt_create(const char *, int, int, int);
28 extern VSTREAM *auto_clnt_access(AUTO_CLNT *);
29 extern void auto_clnt_recover(AUTO_CLNT *);
30 extern const char *auto_clnt_name(AUTO_CLNT *);
31 extern void auto_clnt_free(AUTO_CLNT *);
32 extern void auto_clnt_control(AUTO_CLNT *, int,...);
33 
34 #define AUTO_CLNT_CTL_END       0
35 #define AUTO_CLNT_CTL_HANDSHAKE 1	/* handshake before first request */
36 
37 /* LICENSE
38 /* .ad
39 /* .fi
40 /*	The Secure Mailer license must be distributed with this software.
41 /* AUTHOR(S)
42 /*	Wietse Venema
43 /*	IBM T.J. Watson Research
44 /*	P.O. Box 704
45 /*	Yorktown Heights, NY 10598, USA
46 /*
47 /*	Wietse Venema
48 /*	Google, Inc.
49 /*	111 8th Avenue
50 /*	New York, NY 10011, USA
51 /*--*/
52 
53 #endif
54