+int match_pattern_nocase(byte *, byte *);
+
+/* md5hex.c */
+
+void md5_to_hex(byte *, byte *);
+void hex_to_md5(byte *, byte *);
+
+#define MD5_SIZE 16
+#define MD5_HEX_SIZE 33
+
+/* prime.c */
+
+int isprime(uns);
+uns nextprime(uns);
+
+/* timer.c */
+
+void init_timer(void);
+uns get_timer(void);
+
+/* regex.c */
+
+typedef struct regex regex;
+
+regex *rx_compile(byte *r, int icase);
+void rx_free(regex *r);
+int rx_match(regex *r, byte *s);
+int rx_subst(regex *r, byte *by, byte *src, byte *dest, uns destlen);
+
+/* random.c */
+
+uns random_max(uns);
+
+/* mmap.c */
+
+void *mmap_file(byte *name, unsigned *len, int writeable);
+void munmap_file(void *start, unsigned len);
+
+/* proctitle.c */
+
+void setproctitle_init(int argc, char **argv);
+void setproctitle(char *msg, ...) __attribute__((format(printf,1,2)));
+
+/* randomkey.c */
+
+void randomkey(byte *buf, uns size);
+
+#endif