+FIRM_API const ir_edge_t *get_irn_out_edge_first_kind(const ir_node *irn,
+ ir_edge_kind_t kind);
+
+/**
+ * Returns the first edge pointing to some node.
+ * @note There is no order on out edges. First in this context only
+ * means, that you get some starting point into the list of edges.
+ * @param irn The node.
+ * @return The first out edge that points to this node.
+ */
+FIRM_API const ir_edge_t *get_irn_out_edge_first(const ir_node *irn);
+
+/**
+ * Returns the first edge pointing to a successor block.
+ *
+ * You can navigate the list with the usual get_irn_out_edge_next().
+ * @param block the Block
+ * @return first block successor edge
+ */
+FIRM_API const ir_edge_t *get_block_succ_first(const ir_node *block);