19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26 /*
27 * Copyright (c) 2013 by Saso Kiselkov. All rights reserved.
28 */
29
30 #ifndef _SYS_ZIO_COMPRESS_H
31 #define _SYS_ZIO_COMPRESS_H
32
33 #include <sys/zio.h>
34
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38
39 /*
40 * Common signature for all zio compress/decompress functions.
41 */
42 typedef size_t zio_compress_func_t(void *src, void *dst,
43 size_t s_len, size_t d_len, int);
44 typedef int zio_decompress_func_t(void *src, void *dst,
45 size_t s_len, size_t d_len, int);
46
47 /*
48 * Information about each compression function.
49 */
50 typedef struct zio_compress_info {
51 zio_compress_func_t *ci_compress; /* compression function */
52 zio_decompress_func_t *ci_decompress; /* decompression function */
53 int ci_level; /* level parameter */
54 char *ci_name; /* algorithm name */
55 } zio_compress_info_t;
56
57 extern zio_compress_info_t zio_compress_table[ZIO_COMPRESS_FUNCTIONS];
58
59 /*
60 * Compression routines.
61 */
62 extern size_t lzjb_compress(void *src, void *dst, size_t s_len, size_t d_len,
63 int level);
|
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26 /*
27 * Copyright (c) 2013 by Saso Kiselkov. All rights reserved.
28 */
29
30 #ifndef _SYS_ZIO_COMPRESS_H
31 #define _SYS_ZIO_COMPRESS_H
32
33 #include <sys/zio.h>
34
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38
39 /* Common signature for all zio compress functions. */
40 typedef size_t zio_compress_func_t(void *src, void *dst,
41 size_t s_len, size_t d_len, int);
42 /* Common signature for all zio decompress functions. */
43 typedef int zio_decompress_func_t(void *src, void *dst,
44 size_t s_len, size_t d_len, int);
45
46 /*
47 * Information about each compression function.
48 */
49 typedef struct zio_compress_info {
50 zio_compress_func_t *ci_compress; /* compression function */
51 zio_decompress_func_t *ci_decompress; /* decompression function */
52 int ci_level; /* level parameter */
53 char *ci_name; /* algorithm name */
54 } zio_compress_info_t;
55
56 extern zio_compress_info_t zio_compress_table[ZIO_COMPRESS_FUNCTIONS];
57
58 /*
59 * Compression routines.
60 */
61 extern size_t lzjb_compress(void *src, void *dst, size_t s_len, size_t d_len,
62 int level);
|