diff --git a/Aaru6.Checksums/Aaru6.Checksums.csproj b/Aaru6.Checksums/Aaru6.Checksums.csproj
index d9ac662..71dc092 100644
--- a/Aaru6.Checksums/Aaru6.Checksums.csproj
+++ b/Aaru6.Checksums/Aaru6.Checksums.csproj
@@ -61,6 +61,7 @@
+
@@ -74,6 +75,7 @@
+
diff --git a/Aaru6.Checksums/Native.cs b/Aaru6.Checksums/Native.cs
new file mode 100644
index 0000000..f5a7868
--- /dev/null
+++ b/Aaru6.Checksums/Native.cs
@@ -0,0 +1,41 @@
+using System.Runtime.InteropServices;
+
+namespace Aaru6.Checksums
+{
+ public static class Native
+ {
+ static bool _checked;
+ static bool _supported;
+
+ public static bool IsSupported
+ {
+ get
+ {
+ if(_checked)
+ return _supported;
+
+ ulong version;
+ _checked = true;
+
+ try
+ {
+ version = get_acn_version();
+ }
+ catch
+ {
+ _supported = false;
+
+ return false;
+ }
+
+ // TODO: Check version compatibility
+ _supported = version >= 0x06000000;
+
+ return _supported;
+ }
+ }
+
+ [DllImport("libAaru.Checksums.Native", SetLastError = true)]
+ static extern ulong get_acn_version();
+ }
+}
\ No newline at end of file
diff --git a/AaruBenchmark/Program.cs b/AaruBenchmark/Program.cs
index 8eec3f3..9145a2b 100644
--- a/AaruBenchmark/Program.cs
+++ b/AaruBenchmark/Program.cs
@@ -13,21 +13,21 @@ namespace AaruBenchmark
{
var config = ManualConfig.Create(DefaultConfig.Instance);
-/* BenchmarkRunner.Run(config);
+ BenchmarkRunner.Run(config);
BenchmarkRunner.Run(config);
BenchmarkRunner.Run(config);
BenchmarkRunner.Run(config);
BenchmarkRunner.Run(config);
BenchmarkRunner.Run(config);
BenchmarkRunner.Run(config);
- BenchmarkRunner.Run(config);*/
+ BenchmarkRunner.Run(config);
BenchmarkRunner.Run(config);
-/* BenchmarkRunner.Run(config);
+ BenchmarkRunner.Run(config);
BenchmarkRunner.Run(config);
BenchmarkRunner.Run(config);
BenchmarkRunner.Run(config);
BenchmarkRunner.Run(config);
- BenchmarkRunner.Run(config);*/
+ BenchmarkRunner.Run(config);
}
}
-}
+}
\ No newline at end of file