+/* 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);