+++ htslib/os/lzma_stub.h
+/* Some platforms, notably macOS, ship a usable liblzma shared library but
+ do not ship any LZMA header files. The <lzma.h> and <lzma/{*}.h> header
+ files that come with the library contain the following statement:
+ * This file has been put into the public domain.
+ * You can do whatever you want with this file.
+ Accordingly the following declarations have been copied and distilled
+ from <lzma/base.h> and <lzma/container.h> (primarily) and are sufficient
+ to compile cram/cram_io.c in the absence of proper LZMA headers.
+ This file, lzma_stub.h, remains in the public domain. */
+typedef enum { LZMA_OK = 0, LZMA_STREAM_END = 1 } lzma_ret;
+typedef enum { LZMA_RUN = 0, LZMA_FINISH = 3 } lzma_action;
+typedef enum { LZMA_CHECK_CRC32 = 1 } lzma_check;
+typedef enum { LZMA_RESERVED_ENUM = 0 } lzma_reserved_enum;
+ const uint8_t *next_in;
+ const struct lzma_allocator *allocator;
+ struct lzma_internal *internal;
+ uint64_t reserved_int1;
+ uint64_t reserved_int2;
+ lzma_reserved_enum reserved_enum1;
+ lzma_reserved_enum reserved_enum2;
+#define LZMA_STREAM_INIT \
+ { NULL, 0, 0, NULL, 0, 0, NULL, NULL, \