Constify structures containing function pointers
[zfs.git] / include / sys / zio_compress.h
index 30bed1a..bd051f1 100644 (file)
@@ -44,7 +44,7 @@ typedef int zio_decompress_func_t(void *src, void *dst,
 /*
  * Information about each compression function.
  */
-typedef struct zio_compress_info {
+typedef const struct zio_compress_info {
        zio_compress_func_t     *ci_compress;   /* compression function */
        zio_decompress_func_t   *ci_decompress; /* decompression function */
        int                     ci_level;       /* level parameter */
@@ -54,6 +54,12 @@ typedef struct zio_compress_info {
 extern zio_compress_info_t zio_compress_table[ZIO_COMPRESS_FUNCTIONS];
 
 /*
+ * lz4 compression init & free
+ */
+extern void lz4_init(void);
+extern void lz4_fini(void);
+
+/*
  * Compression routines.
  */
 extern size_t lzjb_compress(void *src, void *dst, size_t s_len, size_t d_len,
@@ -68,6 +74,10 @@ extern size_t zle_compress(void *src, void *dst, size_t s_len, size_t d_len,
     int level);
 extern int zle_decompress(void *src, void *dst, size_t s_len, size_t d_len,
     int level);
+extern size_t lz4_compress(void *src, void *dst, size_t s_len, size_t d_len,
+    int level);
+extern int lz4_decompress(void *src, void *dst, size_t s_len, size_t d_len,
+    int level);
 
 /*
  * Compress and decompress data if necessary.