+/**
+ * Creates a new switch_table datastructure with @p n_entries entries.
+ * The datastructure is allocated on the obstack of @p irg.
+ */
+FIRM_API ir_switch_table *ir_new_switch_table(ir_graph *irg, size_t n_entries);
+
+/**
+ * Returns number of entries available in switch table @p table.
+ */
+FIRM_API size_t ir_switch_table_get_n_entries(const ir_switch_table *table);
+
+/**
+ * Sets entry number @p entry in the switch table @p table.
+ * @param table the switch table
+ * @param entry entry number to set
+ * @param min The minimum tarval that matches this entry
+ * @param max The maximum tarval that matches this entry
+ * @param pn Proj number taken on match
+ */
+FIRM_API void ir_switch_table_set(ir_switch_table *table, size_t entry,
+ ir_tarval *min, ir_tarval *max, long pn);
+
+/** Returns maximum tarval value of switch table entry @p entry */
+FIRM_API ir_tarval *ir_switch_table_get_max(const ir_switch_table *table,
+ size_t entry);
+
+/** Returns minimum tarval value of switch table entry @p entry */
+FIRM_API ir_tarval *ir_switch_table_get_min(const ir_switch_table *table,
+ size_t entry);
+
+/** Returns proj number taken if switch table entry @p entry matches */
+FIRM_API long ir_switch_table_get_pn(const ir_switch_table *table, size_t entry);
+
+/** Duplicates switch table @p table on obstack of @p irg */
+FIRM_API ir_switch_table *ir_switch_table_duplicate(ir_graph *irg, const ir_switch_table *table);
+/** @} */
+
+/** @} */