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