]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/openssl/libcrypto/libcrypto.factor
use radix literals
[factor.git] / basis / openssl / libcrypto / libcrypto.factor
index b9e00b6c8d879f550ccf256fe801a175bcb0712b..2a6d40035d6d92d9308c9844a0fe291ae4d7680f 100644 (file)
@@ -5,55 +5,54 @@
 !
 ! export LD_LIBRARY_PATH=/opt/local/lib
 
-USING: alien alien.syntax combinators kernel system
-alien.libraries ;
+USING: alien alien.c-types alien.syntax combinators kernel system
+alien.libraries classes.struct ;
 
 IN: openssl.libcrypto
 
 <<
 {
-    { [ os openbsd? ] [ ] } ! VM is linked with it
-    { [ os winnt? ] [ "libcrypto" "libeay32.dll" "cdecl" add-library ] }
-    { [ os macosx? ] [ "libcrypto" "libcrypto.dylib" "cdecl" add-library ] }
-    { [ os unix? ] [ "libcrypto" "libcrypto.so" "cdecl" add-library ] }
+    { [ os windows? ] [ "libcrypto" "libeay32.dll" cdecl add-library ] }
+    { [ os macosx? ] [ "libcrypto" "libcrypto.dylib" cdecl add-library ] }
+    { [ os unix? ] [ "libcrypto" "libcrypto.so" cdecl add-library ] }
 } cond
 >>
 
-C-STRUCT: bio-method
-    { "int" "type" }
-    { "void*" "name" }
-    { "void*" "bwrite" }
-    { "void*" "bread" }
-    { "void*" "bputs" }
-    { "void*" "bgets" }
-    { "void*" "ctrl" }
-    { "void*" "create" }
-    { "void*" "destroy" }
-    { "void*" "callback-ctrl" } ;
-
-C-STRUCT: bio
-    { "void*" "method" }
-    { "void*" "callback" }
-    { "void*" "cb-arg" }
-    { "int" "init" }
-    { "int" "shutdown" }
-    { "int" "flags" }
-    { "int" "retry-reason" }
-    { "int" "num" }
-    { "void*" "ptr" }
-    { "void*" "next-bio" }
-    { "void*" "prev-bio" }
-    { "int" "references" } 
-    { "ulong" "num-read" }
-    { "ulong" "num-write" } 
-    { "void*" "crypto-ex-data-stack" }
-    { "int" "crypto-ex-data-dummy" } ;
-
-CONSTANT: BIO_NOCLOSE       HEX: 00
-CONSTANT: BIO_CLOSE         HEX: 01
-
-CONSTANT: RSA_3             HEX: 3
-CONSTANT: RSA_F4            HEX: 10001
+STRUCT: bio-method
+    { type int }
+    { name void* }
+    { bwrite void* }
+    { bread void* }
+    { bputs void* }
+    { bgets void* }
+    { ctrl void* }
+    { create void* }
+    { destroy void* }
+    { callback-ctrl void* } ;
+
+STRUCT: bio
+    { method void* }
+    { callback void* }
+    { cb-arg void* }
+    { init int }
+    { shutdown int }
+    { flags int }
+    { retry-reason int }
+    { num int }
+    { ptr void* }
+    { next-bio void* }
+    { prev-bio void* }
+    { references int } 
+    { num-read ulong }
+    { num-write ulong } 
+    { crypto-ex-data-stack void* }
+    { crypto-ex-data-dummy int } ;
+
+CONSTANT: BIO_NOCLOSE       0x00
+CONSTANT: BIO_CLOSE         0x01
+
+CONSTANT: RSA_3             0x3
+CONSTANT: RSA_F4            0x10001
 
 CONSTANT: BIO_C_SET_SSL     109
 CONSTANT: BIO_C_GET_SSL     110
@@ -64,9 +63,9 @@ LIBRARY: libcrypto
 ! bio.h
 ! ===============================================
 
-FUNCTION: bio* BIO_new_file ( char* filename, char* mode ) ;
+FUNCTION: bio* BIO_new_file ( c-string filename, c-string mode ) ;
 
-FUNCTION: int BIO_printf ( bio* bio, char* format ) ;
+FUNCTION: int BIO_printf ( bio* bio, c-string format ) ;
 
 FUNCTION: long BIO_ctrl ( void* bio, int cmd, long larg, void* parg ) ;
 
@@ -82,17 +81,17 @@ FUNCTION: void* BIO_push ( void* bio, void* append ) ;
 
 FUNCTION: int BIO_read ( void* b, void* buf, int len ) ;
 
-FUNCTION: int BIO_gets ( void* b, char* buf, int size ) ;
+FUNCTION: int BIO_gets ( void* b, c-string buf, int size ) ;
 
 FUNCTION: int BIO_write ( void* b, void* buf, int len ) ;
 
-FUNCTION: int BIO_puts ( void* bp, char* buf ) ;
+FUNCTION: int BIO_puts ( void* bp, c-string buf ) ;
 
 FUNCTION: ulong ERR_get_error (  ) ;
 
 FUNCTION: void ERR_clear_error ( ) ;
 
-FUNCTION: char* ERR_error_string ( ulong e, void* buf ) ;
+FUNCTION: c-string ERR_error_string ( ulong e, void* buf ) ;
 
 FUNCTION: void* BIO_f_buffer (  ) ;
 
@@ -102,14 +101,14 @@ FUNCTION: void* BIO_f_buffer (  ) ;
 
 CONSTANT: EVP_MAX_MD_SIZE 64
 
-C-STRUCT: EVP_MD_CTX
-    { "EVP_MD*" "digest" }
-    { "ENGINE*" "engine" }
-    { "ulong" "flags" }
-    { "void*" "md_data" } ;
+C-TYPE: EVP_MD
+C-TYPE: ENGINE
 
-TYPEDEF: void* EVP_MD*
-TYPEDEF: void* ENGINE*
+STRUCT: EVP_MD_CTX
+    { digest EVP_MD* }
+    { engine ENGINE* }
+    { flags ulong }
+    { md_data void* } ;
 
 ! Initialize ciphers and digest tables
 FUNCTION: void OpenSSL_add_all_ciphers (  ) ;
@@ -119,7 +118,7 @@ FUNCTION: void OpenSSL_add_all_digests (  ) ;
 ! Clean them up before exiting
 FUNCTION: void EVP_cleanup (  ) ;
 
-FUNCTION: EVP_MD* EVP_get_digestbyname ( char* name ) ;
+FUNCTION: EVP_MD* EVP_get_digestbyname ( c-string name ) ;
 
 FUNCTION: void EVP_MD_CTX_init ( EVP_MD* ctx ) ;
 
@@ -165,7 +164,7 @@ FUNCTION: int RSA_print_fp ( void* fp, void* x, int offset ) ;
 ! objects.h
 ! ===============================================
 
-FUNCTION: int OBJ_sn2nid ( char* s ) ;
+FUNCTION: int OBJ_sn2nid ( c-string s ) ;
 
 ! ===============================================
 ! bn.h