update the man page too match last changes
[mono.git] / mono / metadata / opcodes.h
blob7aa31a3427e8775c12fa3877d6d7263eb03b216d
1 #ifndef __MONO_METADATA_OPCODES_H__
2 #define __MONO_METADATA_OPCODES_H__
4 /*
5 * opcodes.h: CIL instruction information
7 * Author:
8 * Paolo Molaro (lupus@ximian.com)
10 * (C) 2002 Ximian, Inc.
13 #include <glib.h>
15 G_BEGIN_DECLS
17 #define MONO_CUSTOM_PREFIX 0xf0
19 #define OPDEF(a,b,c,d,e,f,g,h,i,j) \
20 MONO_ ## a,
22 typedef enum {
23 #include "mono/cil/opcode.def"
24 MONO_CEE_LAST
25 } MonoOpcodeEnum;
27 #undef OPDEF
29 enum {
30 MONO_FLOW_NEXT,
31 MONO_FLOW_BRANCH,
32 MONO_FLOW_COND_BRANCH,
33 MONO_FLOW_ERROR,
34 MONO_FLOW_CALL,
35 MONO_FLOW_RETURN,
36 MONO_FLOW_META
39 enum {
40 MonoInlineNone,
41 MonoInlineType,
42 MonoInlineField,
43 MonoInlineMethod,
44 MonoInlineTok,
45 MonoInlineString,
46 MonoInlineSig,
47 MonoInlineVar,
48 MonoShortInlineVar,
49 MonoInlineBrTarget,
50 MonoShortInlineBrTarget,
51 MonoInlineSwitch,
52 MonoInlineR,
53 MonoShortInlineR,
54 MonoInlineI,
55 MonoShortInlineI,
56 MonoInlineI8
59 typedef struct {
60 unsigned char argument;
61 unsigned char flow_type;
62 unsigned short opval;
63 } MonoOpcode;
65 extern const MonoOpcode mono_opcodes [];
67 const char*
68 mono_opcode_name (int opcode);
70 MonoOpcodeEnum
71 mono_opcode_value (const guint8 **ip, const guint8 *end);
73 G_END_DECLS
75 #endif /* __MONO_METADATA_OPCODES_H__ */