quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

test.cs (1881B)


      1 using System;
      2 using System.Runtime.InteropServices;
      3 
      4 internal static class Program
      5 {
      6     internal static int Main()
      7     {
      8         Console.WriteLine("sodium_version_string: {0}", Marshal.PtrToStringAnsi(sodium_version_string()));
      9         Console.WriteLine("sodium_library_version_major: {0}", sodium_library_version_major());
     10         Console.WriteLine("sodium_library_version_minor: {0}", sodium_library_version_minor());
     11         Console.WriteLine("sodium_library_minimal: {0}", sodium_library_minimal());
     12         int error = sodium_init();
     13         Console.WriteLine("sodium_init: {0}", error);
     14         if (error == 0)
     15         {
     16             randombytes_buf(out ulong buf, (UIntPtr)sizeof(ulong));
     17             Console.WriteLine("randombytes_buf: 0x'{0:X8}'", buf);
     18             Console.WriteLine("crypto_aead_aes256gcm_is_available: {0}", crypto_aead_aes256gcm_is_available());
     19         }
     20         return error == 0 ? 0 : 1;
     21     }
     22 
     23     [DllImport("libsodium", CallingConvention = CallingConvention.Cdecl)]
     24     private static extern int crypto_aead_aes256gcm_is_available();
     25 
     26     [DllImport("libsodium", CallingConvention = CallingConvention.Cdecl)]
     27     private static extern void randombytes_buf(out ulong buf, UIntPtr size);
     28 
     29     [DllImport("libsodium", CallingConvention = CallingConvention.Cdecl)]
     30     private static extern int sodium_init();
     31 
     32     [DllImport("libsodium", CallingConvention = CallingConvention.Cdecl)]
     33     private static extern int sodium_library_version_major();
     34 
     35     [DllImport("libsodium", CallingConvention = CallingConvention.Cdecl)]
     36     private static extern int sodium_library_minimal();
     37 
     38     [DllImport("libsodium", CallingConvention = CallingConvention.Cdecl)]
     39     private static extern int sodium_library_version_minor();
     40 
     41     [DllImport("libsodium", CallingConvention = CallingConvention.Cdecl)]
     42     private static extern IntPtr sodium_version_string();
     43 }