10 {
11 switch (Environment.OSVersion.Platform)
12 {
13 case PlatformID.Win32NT:
14 Win32.MoveMemory(dst, src, size);
15 break;
16 case PlatformID.MacOSX:
17 OSX.memmove(dst, src, size);
18 break;
19 case PlatformID.Unix:
20 if (Directory.Exists("/Applications")
21 & Directory.Exists("/System")
22 & Directory.Exists("/Users")
23 & Directory.Exists("/Volumes"))
24 {
25 goto case PlatformID.MacOSX;
26 }
27 else
28 {
29 Linux.memmove(dst, src, size);
30 }
31
32 break;
33 }
34 }