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