-not needed
[oweals/gnunet.git] / src / include / gnunet_regex_lib.h
index 911128647a66e874b3bf019d7a1622f9ee6db44e..53e7c13e066168007151651e800eb3d46381a888 100644 (file)
@@ -94,15 +94,44 @@ void
 GNUNET_REGEX_automaton_destroy (struct GNUNET_REGEX_Automaton *a);
 
 
+/**
+ * Options for graph creation function
+ * GNUNET_REGEX_automaton_save_graph.
+ */
+
+enum GNUNET_REGEX_GraphSavingOptions
+{
+  /**
+   * Default. Do nothing special.
+   */
+  GNUNET_REGEX_GRAPH_DEFAULT = 0,
+
+  /**
+   * The generated graph will include extra information such as the NFA states
+   * that were used to generate the DFA state.
+   */
+  GNUNET_REGEX_GRAPH_VERBOSE = 1,
+
+  /**
+   * Enable graph coloring. Will color each SCC in a different color.
+   */
+  GNUNET_REGEX_GRAPH_COLORING = 2
+};
+
+
 /**
  * Save the given automaton as a GraphViz dot file.
  *
  * @param a the automaton to be saved.
  * @param filename where to save the file.
+ * @param options options for graph generation that include coloring or verbose
+ *                mode
  */
 void
 GNUNET_REGEX_automaton_save_graph (struct GNUNET_REGEX_Automaton *a,
-                                   const char *filename);
+                                   const char *filename,
+                                   enum GNUNET_REGEX_GraphSavingOptions options);
+
 
 /**
  * Evaluates the given 'string' against the given compiled regex.
@@ -119,7 +148,7 @@ GNUNET_REGEX_eval (struct GNUNET_REGEX_Automaton *a,
 
 /**
  * Get the first key for the given 'input_string'. This hashes
- * the first x bits of the 'input_strings'.
+ * the first x bits of the 'input_string'.
  *
  * @param input_string string.
  * @param string_len length of the 'input_string'.
@@ -128,18 +157,18 @@ GNUNET_REGEX_eval (struct GNUNET_REGEX_Automaton *a,
  * @return number of bits of 'input_string' that have been consumed
  *         to construct the key
  */
-unsigned int /* FIXME: size_t */
-GNUNET_REGEX_get_first_key (const char *input_string, /* FIXME: size_t */ unsigned int string_len,
+size_t
+GNUNET_REGEX_get_first_key (const char *input_string, size_t string_len,
                             struct GNUNET_HashCode * key);
 
 
 /**
  * Check if the given 'proof' matches the given 'key'.
  *
- * @param proof partial regex
- * @param key hash
+ * @param proof partial regex of a state.
+ * @param key hash of a state.
  *
- * @return GNUNET_OK if the proof is valid for the given key
+ * @return GNUNET_OK if the proof is valid for the given key.
  */
 int
 GNUNET_REGEX_check_proof (const char *proof,
@@ -187,4 +216,3 @@ GNUNET_REGEX_iterate_all_edges (struct GNUNET_REGEX_Automaton *a,
 
 /* end of gnunet_regex_lib.h */
 #endif
-