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