remove typedefs for already removed types
[libfirm] / include / libfirm / firm_common.h
index 590bc1b..94f2bbb 100644 (file)
  * @file
  * @brief    common firm declarations
  * @author   Martin Trapp, Christian Schaefer, Goetz Lindenmaier
- * @version  $Id$
  */
 #ifndef FIRM_COMMON_FIRM_COMMON_H
 #define FIRM_COMMON_FIRM_COMMON_H
 
-/** a list of firm kinds
- @@@ not all datatypes are tagged yet. */
+#include "firm_types.h"
+#include "begin.h"
+
+/**
+ * Initializes the firm library.  Allocates default data structures.
+ */
+FIRM_API void ir_init(void);
+
+/**
+ * Frees all memory occupied by the firm library.
+ */
+FIRM_API void ir_finish(void);
+
+/** returns the libFirm major version number */
+FIRM_API unsigned ir_get_version_major(void);
+/** returns libFirm minor version number */
+FIRM_API unsigned ir_get_version_minor(void);
+/** returns string describing libFirm revision */
+FIRM_API const char *ir_get_version_revision(void);
+/** returns string describing libFirm build */
+FIRM_API const char *ir_get_version_build(void);
+
+/**
+ * a list of firm kinds
+ * Most important datastructures in firm contain a firm_kind field at the
+ * beginning so given void* pointer you can usually still guess the kind
+ * of thing the pointer points to.
+ * This is used in debug helper functions and printers.
+ */
 typedef enum {
        k_BAD = 0,                /**< An invalid firm node. */
        k_entity,                 /**< An entity. */
@@ -41,7 +67,10 @@ typedef enum {
        k_ir_compound_graph_path, /**< A compound graph path, see entity.h. */
        k_ir_extblk,              /**< An extended basic block. */
        k_ir_prog,                /**< A program representation (irp). */
-       k_ir_region,              /**< A region. */
+       k_ir_graph_pass,          /**< An ir_graph pass. */
+       k_ir_prog_pass,           /**< An ir_prog pass. */
+       k_ir_graph_pass_mgr,      /**< An ir_graph pass manager. */
+       k_ir_prog_pass_mgr,       /**< An ir_prog pass manager. */
        k_ir_max                  /**< maximum value -- illegal for firm nodes. */
 } firm_kind;
 
@@ -50,12 +79,8 @@ typedef enum {
  *
  * @param firm_thing  pointer representing a firm object
  */
-firm_kind get_kind(const void *firm_thing);
-
-/** Returns the kind of a thing as a string. */
-const char *print_firm_kind(void *firm_thing);
+FIRM_API firm_kind get_kind(const void *firm_thing);
 
-/** Print an identification of a firm thing. */
-void firm_identify_thing(void *X);
+#include "end.h"
 
 #endif