* file named AUTHORS, in the root directory of this distribution.
*/
/*
- * $Id: util.h,v 1.5 2005/12/09 03:22:52 paddy_s Exp $
+ * $Id: util.h,v 1.17 2006/07/26 15:17:36 martinea Exp $
*/
#ifndef UTIL_H
#define UTIL_H
+#include "amanda.h"
+#include "sl.h"
-#define BSTRNCMP(a,b) strncmp(a, b, strlen(b))
-
-
-ssize_t fullread P((int, void *, size_t));
-ssize_t fullwrite P((int, const void *, size_t));
+#define BIGINT INT_MAX
-int bind_portrange P((int, struct sockaddr_in *, int, int, char *));
+#define BSTRNCMP(a,b) strncmp(a, b, strlen(b))
-char *construct_datestamp P((time_t *t));
-char *construct_timestamp P((time_t *t));
+/* internal types and variables */
+
+
+ssize_t fullread(int, void *, size_t);
+ssize_t fullwrite(int, const void *, size_t);
+
+int connect_portrange(struct sockaddr_storage *, in_port_t, in_port_t, char *,
+ struct sockaddr_storage *, int);
+int bind_portrange(int, struct sockaddr_storage *, in_port_t, in_port_t,
+ char *);
+
+char * construct_datestamp(time_t *t);
+char * construct_timestamp(time_t *t);
+
+/*@only@*//*@null@*/char *quote_string(const char *str);
+/*@only@*//*@null@*/char *unquote_string(const char *str);
+int needs_quotes(const char * str);
+
+char * sanitize_string(const char *str);
+char * strquotedstr(void);
+ssize_t hexdump(const char *buffer, size_t bytes);
+void dump_sockaddr(struct sockaddr_storage * sa);
+char * str_sockaddr(struct sockaddr_storage *sa);
+/* Compare two sockaddr_storage objects, optionally comparing
+ * only the address (and thus ignoring port, flow info, etc.).
+ * @returns: -1, 0, or 1 for <, ==, >, respectively
+ */
+int cmp_sockaddr(struct sockaddr_storage *ss1,
+ struct sockaddr_storage *ss2,
+ int addr_only);
+int copy_file(char *dst, char *src, char **errmsg);
+
+/*
+ * validate_email return 0 if the following characters are present
+ * * ( ) < > [ ] , ; : ! $ \ / "
+ * else returns 1
+ */
+int validate_mailto(const char *mailto);
+
+char *taperalgo2str(int taperalgo);
#endif /* UTIL_H */