-#ifndef CRULE_H
-#define CRULE_H
+/** @file crule.h
+ * @brief Interfaces and declarations for connection rule checking.
+ * @version $Id$
+ */
+#ifndef INCLUDED_crule_h
+#define INCLUDED_crule_h
-/*=============================================================================
+/*
* Proto types
*/
-extern void crule_free(char **elem);
-extern int crule_eval(char *rule);
-extern char *crule_parse(char *rule);
+/*
+ * opaque node pointer
+ */
+struct CRuleNode;
+
+extern void crule_free(struct CRuleNode** elem);
+extern int crule_eval(struct CRuleNode* rule);
+extern struct CRuleNode* crule_parse(const char* rule);
-#endif /* CRULE_H */
+#endif /* INCLUDED_crule_h */