1 /* $NetBSD: attr_clnt.h,v 1.3 2022/10/08 16:12:50 christos Exp $ */ 2 3 #ifndef _ATTR_CLNT_H_INCLUDED_ 4 #define _ATTR_CLNT_H_INCLUDED_ 5 6 /*++ 7 /* NAME 8 /* attr_clnt 3h 9 /* SUMMARY 10 /* attribute query-reply client 11 /* SYNOPSIS 12 /* #include <attr_clnt.h> 13 /* DESCRIPTION 14 /* .nf 15 16 /* 17 * System library. 18 */ 19 #include <stdarg.h> 20 21 /* 22 * Utility library. 23 */ 24 #include <attr.h> 25 26 /* 27 * External interface. 28 */ 29 typedef struct ATTR_CLNT ATTR_CLNT; 30 typedef int (*ATTR_CLNT_PRINT_FN) (VSTREAM *, int, va_list); 31 typedef int (*ATTR_CLNT_SCAN_FN) (VSTREAM *, int, va_list); 32 typedef int (*ATTR_CLNT_HANDSHAKE_FN) (VSTREAM *); 33 34 extern ATTR_CLNT *attr_clnt_create(const char *, int, int, int); 35 extern int attr_clnt_request(ATTR_CLNT *, int,...); 36 extern void attr_clnt_free(ATTR_CLNT *); 37 extern void attr_clnt_control(ATTR_CLNT *, int,...); 38 39 #define ATTR_CLNT_CTL_END 0 40 #define ATTR_CLNT_CTL_PROTO 1 /* print/scan functions */ 41 #define ATTR_CLNT_CTL_REQ_LIMIT 2 /* requests per connection */ 42 #define ATTR_CLNT_CTL_TRY_LIMIT 3 /* attempts per request */ 43 #define ATTR_CLNT_CTL_TRY_DELAY 4 /* pause between requests */ 44 #define ATTR_CLNT_CTL_HANDSHAKE 5 /* handshake before first request */ 45 46 /* LICENSE 47 /* .ad 48 /* .fi 49 /* The Secure Mailer license must be distributed with this software. 50 /* AUTHOR(S) 51 /* Wietse Venema 52 /* IBM T.J. Watson Research 53 /* P.O. Box 704 54 /* Yorktown Heights, NY 10598, USA 55 /* 56 /* Wietse Venema 57 /* Google, Inc. 58 /* 111 8th Avenue 59 /* New York, NY 10011, USA 60 /*--*/ 61 62 #endif 63