]> gitweb.factorcode.org Git - factor.git/blob - basis/compression/snappy/ffi/ffi.factor
factor: trim using lists
[factor.git] / basis / compression / snappy / ffi / ffi.factor
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 system ;
5 IN: compression.snappy.ffi
6
7 << "snappy" {
8     { [ os windows? ] [ "snappy.dll" ] }
9     { [ os macosx? ] [ "libsnappy.dylib" ] }
10     { [ os unix? ] [ "libsnappy.so" ] }
11 } cond cdecl add-library >>
12
13 LIBRARY: snappy
14
15 ENUM: snappy_status SNAPPY_OK SNAPPY_INVALID_INPUT SNAPPY_BUFFER_TOO_SMALL ;
16
17 FUNCTION: snappy_status snappy_compress ( char* input,
18                                           size_t input_length,
19                                           char* compressed,
20                                           size_t* compressed_length )
21
22 FUNCTION: snappy_status snappy_uncompress ( char* compressed,
23                                             size_t compressed_length,
24                                             char* uncompressed,
25                                             size_t* uncompressed_length )
26
27 FUNCTION: size_t snappy_max_compressed_length ( size_t source_length )
28
29 FUNCTION: snappy_status snappy_uncompressed_length ( char* compressed,
30                                                      size_t compressed_length,
31                                                      size_t* result )
32
33 FUNCTION: snappy_status snappy_validate_compressed_buffer ( char* compressed,
34                                                             size_t compressed_length )