zip_source_buffer,
    zip_source_buffer_create —
    create zip data source from buffer
#include
  <zip.h>
zip_source_t *
  
  zip_source_buffer(zip_t
    *archive, const void
    *data, zip_uint64_t
    len, int
  freep);
zip_source_t *
  
  zip_source_buffer_create(const
    void *data, zip_uint64_t
    len, int freep,
    zip_error_t *error);
The functions
    zip_source_buffer()
    and
    zip_source_buffer_create()
    create a zip source from the buffer data of size
    len. If freep is non-zero, the
    buffer will be freed when it is no longer needed. data
    must remain valid for the lifetime of the created source.
The source can be used to open a zip archive from.
Upon successful completion, the created source is returned.
    Otherwise, NULL is returned and the error code in
    archive or error is set to
    indicate the error.
zip_source_buffer() and
    zip_source_buffer_create() fail if:
  - [ZIP_ER_INVAL]
- len is greater than zero and
      data is NULL.
- [ZIP_ER_MEMORY]
- Required memory could not be allocated.
zip_source_buffer() and
    zip_source_buffer_create() were added in libzip
  1.0.