2 using System.Runtime.InteropServices;
4 [StructLayout(LayoutKind.Sequential)]
10 [StructLayout(LayoutKind.Explicit)]
13 [FieldOffset(0)] public int i1;
14 [FieldOffset(0)] public int i2;
17 [StructLayout(LayoutKind.Sequential)]
27 [DllImport ("libtest.so")]
28 public static extern int mono_union_test_1 (cs a);
30 [DllImport ("libtest.so")]
31 public static extern int mono_return_int (int a);
33 [DllImport ("libtest.so", EntryPoint="mono_return_int_ss")]
34 public static extern int mono_return_int_ss (ss a);
36 [DllImport ("libtest.so", EntryPoint="mono_return_int_su")]
37 public static extern int mono_return_int_su (su a);
41 if (mono_return_int (5) != 5)
46 if (mono_return_int_ss (s1) != 4)
52 if (mono_return_int_su (s2) != 3)
56 if (mono_return_int_su (s2) != 2)
66 if (mono_union_test_1 (s3) != 13)
70 if (mono_union_test_1 (s3) != 14)
74 if (mono_union_test_1 (s3) != 15)