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