2006-06-15 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mono / metadata / opcodes.h
index c5a3e6926c72116ab7ff6a34f15c965cd3ac75c0..7aa31a3427e8775c12fa3877d6d7263eb03b216d 100644 (file)
  * (C) 2002 Ximian, Inc.
  */
 
+#include <glib.h>
+
+G_BEGIN_DECLS
+
+#define MONO_CUSTOM_PREFIX 0xf0
+
+#define OPDEF(a,b,c,d,e,f,g,h,i,j) \
+       MONO_ ## a,
+
+typedef enum {
+#include "mono/cil/opcode.def"
+       MONO_CEE_LAST
+} MonoOpcodeEnum;
+
+#undef OPDEF
+
 enum {
        MONO_FLOW_NEXT,
        MONO_FLOW_BRANCH,
@@ -46,9 +62,14 @@ typedef struct {
        unsigned short opval;
 } MonoOpcode;
 
-#define MONO_N_OPCODES 300
+extern const MonoOpcode mono_opcodes [];
+
+const char*
+mono_opcode_name (int opcode);
+
+MonoOpcodeEnum
+mono_opcode_value (const guint8 **ip, const guint8 *end);
 
-extern const MonoOpcode mono_opcodes [MONO_N_OPCODES];
-extern const char* const mono_opcode_names [MONO_N_OPCODES];
+G_END_DECLS
 
 #endif /* __MONO_METADATA_OPCODES_H__ */