* (C) 2002 Ximian, Inc.
*/
+#include <glib.h>
+
+#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,
typedef struct {
unsigned char argument;
unsigned char flow_type;
- unsigned char byte0, byte1;
+ unsigned short opval;
} MonoOpcode;
-#define MONO_N_OPCODES 300
+extern const MonoOpcode mono_opcodes [];
+extern const char* const mono_opcode_names [];
-extern const MonoOpcode mono_opcodes [MONO_N_OPCODES];
-extern const char* const mono_opcode_names [MONO_N_OPCODES];
+MonoOpcodeEnum
+mono_opcode_value (const guint8 **ip);
#endif /* __MONO_METADATA_OPCODES_H__ */