1 ! Copyright (C) 2014 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien alien.c-types alien.libraries alien.syntax
4 combinators classes.struct system ;
5 IN: compression.snappy.ffi
8 { [ os windows? ] [ "snappy.dll" ] }
9 { [ os macosx? ] [ "libsnappy.dylib" ] }
10 { [ os unix? ] [ "libsnappy.so" ] }
11 } cond cdecl add-library >>
15 ENUM: snappy_status SNAPPY_OK SNAPPY_INVALID_INPUT SNAPPY_BUFFER_TOO_SMALL ;
17 FUNCTION: snappy_status snappy_compress ( char* input,
20 size_t* compressed_length ) ;
22 FUNCTION: snappy_status snappy_uncompress ( char* compressed,
23 size_t compressed_length,
25 size_t* uncompressed_length ) ;
27 FUNCTION: size_t snappy_max_compressed_length ( size_t source_length ) ;
29 FUNCTION: snappy_status snappy_uncompressed_length ( char* compressed,
30 size_t compressed_length,
33 FUNCTION: snappy_status snappy_validate_compressed_buffer ( char* compressed,
34 size_t compressed_length ) ;