]> gitweb.factorcode.org Git - factor.git/commitdiff
sodium: add startup initialization hook
authorAlexander Iljin <ajsoft@yandex.ru>
Wed, 1 Mar 2017 18:04:27 +0000 (21:04 +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 [new file with mode: 0644]

index 6a1ba89755f4ef9ce2dd6f5aeb483b8321ca6128..39055bfc53b50597826db82ec92b13c848c7d61e 100644 (file)
@@ -1,6 +1,7 @@
 ! Copyright (C) 2017 Alexander Ilin.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.libraries alien.syntax combinators system ;
+USING: alien alien.c-types alien.libraries alien.syntax
+combinators system ;
 IN: sodium.ffi
 
 << "sodium" {
@@ -10,3 +11,5 @@ IN: sodium.ffi
 } cond cdecl add-library >>
 
 LIBRARY: sodium
+
+FUNCTION: int sodium_init ( )
diff --git a/extra/sodium/sodium.factor b/extra/sodium/sodium.factor
new file mode 100644 (file)
index 0000000..4f75f21
--- /dev/null
@@ -0,0 +1,11 @@
+! Copyright (C) 2017 Alexander Ilin.
+! See http://factorcode.org/license.txt for BSD license.
+USING: init kernel math sodium.ffi ;
+IN: sodium
+
+ERROR: sodium-init-fail ;
+
+! Call this before any other function, may be called multiple times.
+: sodium-init ( -- ) sodium_init 0 < [ sodium-init-fail ] when ;
+
+[ sodium-init ] "sodium" add-startup-hook