-rx_t* rx_compile (const char*, int);
-void rx_delete(rx_t **);
+rx_t *rx_compile(const char*, int);
+void rx_wipe(rx_t *);
+rx_t *rx_dup(rx_t *);
+DO_DELETE(rx_t, rx);
+DO_SLIST(rx_t, rx, rx_delete);
+
+int rx_validate(const char*, char*, ssize_t);
+void rx_set_template(rx_t *, const char*);
+int rx_sanitize_string(char *, ssize_t, const char *);