]> gitweb.factorcode.org Git - factor.git/commitdiff
sodium: add random data generation functions
authorAlexander Iljin <ajsoft@yandex.ru>
Wed, 1 Mar 2017 18:29:32 +0000 (21:29 +0300)
committerJohn Benediktsson <mrjbq7@gmail.com>
Mon, 22 Jan 2018 17:26:16 +0000 (09:26 -0800)
extra/sodium/ffi/ffi.factor
extra/sodium/sodium.factor

index 39055bfc53b50597826db82ec92b13c848c7d61e..0ee57c9f5bf9d5d4f263d99e1f80bd549ddae919 100644 (file)
@@ -13,3 +13,9 @@ IN: sodium.ffi
 LIBRARY: sodium
 
 FUNCTION: int sodium_init ( )
+
+! randombytes_H
+FUNCTION: void randombytes_buf ( void* buf, size_t size )
+FUNCTION: uint32_t randombytes_random ( )
+FUNCTION: uint32_t randombytes_uniform ( uint32_t upper_bound )
+FUNCTION: void randombytes_stir ( )
index 4f75f21c46f344df31e3f3e0bb2748ab87f29c72..98df73f70a57ec2646bbcc4c8d8cc99c6daff255 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (C) 2017 Alexander Ilin.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: init kernel math sodium.ffi ;
+USING: init kernel math sequences sodium.ffi ;
 IN: sodium
 
 ERROR: sodium-init-fail ;
@@ -8,4 +8,7 @@ ERROR: sodium-init-fail ;
 ! Call this before any other function, may be called multiple times.
 : sodium-init ( -- ) sodium_init 0 < [ sodium-init-fail ] when ;
 
+: random-bytes ( byte-array -- byte-array' )
+    dup dup length randombytes_buf ;
+
 [ sodium-init ] "sodium" add-startup-hook