1 /*
2 **  Copyright (c) 2005, 2007, 2008 Sendmail, Inc. and its suppliers.
3 **    All rights reserved.
4 **
5 **  Copyright (c) 2009-2012, The Trusted Domain Project.  All rights reserved.
6 */
7 
8 #ifndef _UTIL_H_
9 #define _UTIL_H_
10 
11 #include "build-config.h"
12 
13 /* system includes */
14 #include <sys/types.h>
15 #include <sys/time.h>
16 #ifdef USE_UNBOUND
17 # include <sys/select.h>
18 #endif /* USE_UNBOUND */
19 #ifdef HAVE_STDBOOL_H
20 # include <stdbool.h>
21 #endif /* HAVE_STDBOOL_H */
22 
23 /* prototypes */
24 extern int dkim_addrcmp __P((u_char *, u_char *));
25 extern int dkim_check_dns_reply __P((unsigned char *ansbuf, size_t anslen,
26                                      int xclass, int xtype));
27 extern void dkim_clobber_array __P((char **));
28 extern void dkim_collapse __P((u_char *));
29 extern const char **dkim_copy_array __P((char **));
30 extern _Bool dkim_hdrlist __P((u_char *, size_t, u_char **, _Bool));
31 extern int dkim_hexchar __P((int c));
32 extern void dkim_lowerhdr __P((u_char *));
33 extern void dkim_min_timeval __P((struct timeval *, struct timeval *,
34                                   struct timeval *, struct timeval **));
35 extern int dkim_qp_decode __P((u_char *, u_char *, int));
36 extern int dkim_qp_encode __P((u_char *, u_char *, int));
37 
38 #ifdef NEED_FAST_STRTOUL
39 extern unsigned long dkim_strtoul __P((const char *str, char **endptr,
40                                        int base));
41 extern unsigned long long dkim_strtoull __P((const char *str, char **endptr,
42                                              int base));
43 #endif /* NEED_FAST_STRTOUL */
44 
45 #endif /* ! _UTIL_H_ */
46