// Generated by cpp11: do not edit by hand
// clang-format off


#include "cpp11/declarations.hpp"
#include <R_ext/Visibility.h>

// archive_extract.cpp
cpp11::strings archive_extract_(const cpp11::sexp& connection, cpp11::sexp file, int num_strip_components, cpp11::strings options, cpp11::strings password, size_t sz);
extern "C" SEXP _archive_archive_extract_(SEXP connection, SEXP file, SEXP num_strip_components, SEXP options, SEXP password, SEXP sz) {
  BEGIN_CPP11
    return cpp11::as_sexp(archive_extract_(cpp11::as_cpp<cpp11::decay_t<const cpp11::sexp&>>(connection), cpp11::as_cpp<cpp11::decay_t<cpp11::sexp>>(file), cpp11::as_cpp<cpp11::decay_t<int>>(num_strip_components), cpp11::as_cpp<cpp11::decay_t<cpp11::strings>>(options), cpp11::as_cpp<cpp11::decay_t<cpp11::strings>>(password), cpp11::as_cpp<cpp11::decay_t<size_t>>(sz)));
  END_CPP11
}
// archive_read.cpp
SEXP archive_read_(const cpp11::sexp connection, const cpp11::sexp file, const std::string& description, const std::string& mode, cpp11::integers format, cpp11::integers filters, cpp11::strings options, cpp11::strings password, size_t sz);
extern "C" SEXP _archive_archive_read_(SEXP connection, SEXP file, SEXP description, SEXP mode, SEXP format, SEXP filters, SEXP options, SEXP password, SEXP sz) {
  BEGIN_CPP11
    return cpp11::as_sexp(archive_read_(cpp11::as_cpp<cpp11::decay_t<const cpp11::sexp>>(connection), cpp11::as_cpp<cpp11::decay_t<const cpp11::sexp>>(file), cpp11::as_cpp<cpp11::decay_t<const std::string&>>(description), cpp11::as_cpp<cpp11::decay_t<const std::string&>>(mode), cpp11::as_cpp<cpp11::decay_t<cpp11::integers>>(format), cpp11::as_cpp<cpp11::decay_t<cpp11::integers>>(filters), cpp11::as_cpp<cpp11::decay_t<cpp11::strings>>(options), cpp11::as_cpp<cpp11::decay_t<cpp11::strings>>(password), cpp11::as_cpp<cpp11::decay_t<size_t>>(sz)));
  END_CPP11
}
// archive_write_direct.cpp
SEXP archive_write_direct_(const std::string& archive_filename, const std::string& filename, std::string mode, int format, cpp11::integers filters, cpp11::strings options, cpp11::strings password, size_t sz);
extern "C" SEXP _archive_archive_write_direct_(SEXP archive_filename, SEXP filename, SEXP mode, SEXP format, SEXP filters, SEXP options, SEXP password, SEXP sz) {
  BEGIN_CPP11
    return cpp11::as_sexp(archive_write_direct_(cpp11::as_cpp<cpp11::decay_t<const std::string&>>(archive_filename), cpp11::as_cpp<cpp11::decay_t<const std::string&>>(filename), cpp11::as_cpp<cpp11::decay_t<std::string>>(mode), cpp11::as_cpp<cpp11::decay_t<int>>(format), cpp11::as_cpp<cpp11::decay_t<cpp11::integers>>(filters), cpp11::as_cpp<cpp11::decay_t<cpp11::strings>>(options), cpp11::as_cpp<cpp11::decay_t<cpp11::strings>>(password), cpp11::as_cpp<cpp11::decay_t<size_t>>(sz)));
  END_CPP11
}
// archive_write_files.cpp
SEXP archive_write_files_(const std::string& archive_filename, cpp11::strings files, int format, cpp11::integers filters, cpp11::strings options, cpp11::strings password, size_t sz);
extern "C" SEXP _archive_archive_write_files_(SEXP archive_filename, SEXP files, SEXP format, SEXP filters, SEXP options, SEXP password, SEXP sz) {
  BEGIN_CPP11
    return cpp11::as_sexp(archive_write_files_(cpp11::as_cpp<cpp11::decay_t<const std::string&>>(archive_filename), cpp11::as_cpp<cpp11::decay_t<cpp11::strings>>(files), cpp11::as_cpp<cpp11::decay_t<int>>(format), cpp11::as_cpp<cpp11::decay_t<cpp11::integers>>(filters), cpp11::as_cpp<cpp11::decay_t<cpp11::strings>>(options), cpp11::as_cpp<cpp11::decay_t<cpp11::strings>>(password), cpp11::as_cpp<cpp11::decay_t<size_t>>(sz)));
  END_CPP11
}
// archive_write.cpp
SEXP archive_write_(const std::string& archive_filename, const std::string& filename, const std::string& mode, int format, cpp11::integers filters, cpp11::strings options, cpp11::strings password, size_t sz);
extern "C" SEXP _archive_archive_write_(SEXP archive_filename, SEXP filename, SEXP mode, SEXP format, SEXP filters, SEXP options, SEXP password, SEXP sz) {
  BEGIN_CPP11
    return cpp11::as_sexp(archive_write_(cpp11::as_cpp<cpp11::decay_t<const std::string&>>(archive_filename), cpp11::as_cpp<cpp11::decay_t<const std::string&>>(filename), cpp11::as_cpp<cpp11::decay_t<const std::string&>>(mode), cpp11::as_cpp<cpp11::decay_t<int>>(format), cpp11::as_cpp<cpp11::decay_t<cpp11::integers>>(filters), cpp11::as_cpp<cpp11::decay_t<cpp11::strings>>(options), cpp11::as_cpp<cpp11::decay_t<cpp11::strings>>(password), cpp11::as_cpp<cpp11::decay_t<size_t>>(sz)));
  END_CPP11
}
// archive.cpp
cpp11::sexp archive_(cpp11::sexp connection, cpp11::strings options, cpp11::strings password);
extern "C" SEXP _archive_archive_(SEXP connection, SEXP options, SEXP password) {
  BEGIN_CPP11
    return cpp11::as_sexp(archive_(cpp11::as_cpp<cpp11::decay_t<cpp11::sexp>>(connection), cpp11::as_cpp<cpp11::decay_t<cpp11::strings>>(options), cpp11::as_cpp<cpp11::decay_t<cpp11::strings>>(password)));
  END_CPP11
}
// archive.cpp
cpp11::integers archive_filters();
extern "C" SEXP _archive_archive_filters() {
  BEGIN_CPP11
    return cpp11::as_sexp(archive_filters());
  END_CPP11
}
// archive.cpp
cpp11::integers archive_formats();
extern "C" SEXP _archive_archive_formats() {
  BEGIN_CPP11
    return cpp11::as_sexp(archive_formats());
  END_CPP11
}
// archive.cpp
std::string libarchive_version_();
extern "C" SEXP _archive_libarchive_version_() {
  BEGIN_CPP11
    return cpp11::as_sexp(libarchive_version_());
  END_CPP11
}
// archive.cpp
const char* libarchive_zlib_version_();
extern "C" SEXP _archive_libarchive_zlib_version_() {
  BEGIN_CPP11
    return cpp11::as_sexp(libarchive_zlib_version_());
  END_CPP11
}
// archive.cpp
const char* libarchive_liblzma_version_();
extern "C" SEXP _archive_libarchive_liblzma_version_() {
  BEGIN_CPP11
    return cpp11::as_sexp(libarchive_liblzma_version_());
  END_CPP11
}
// archive.cpp
const char* libarchive_bzlib_version_();
extern "C" SEXP _archive_libarchive_bzlib_version_() {
  BEGIN_CPP11
    return cpp11::as_sexp(libarchive_bzlib_version_());
  END_CPP11
}
// archive.cpp
const char* libarchive_liblz4_version_();
extern "C" SEXP _archive_libarchive_liblz4_version_() {
  BEGIN_CPP11
    return cpp11::as_sexp(libarchive_liblz4_version_());
  END_CPP11
}
// archive.cpp
const char* libarchive_libzstd_version();
extern "C" SEXP _archive_libarchive_libzstd_version() {
  BEGIN_CPP11
    return cpp11::as_sexp(libarchive_libzstd_version());
  END_CPP11
}
// r_archive.h
void rchive_init(SEXP nc_xptr, SEXP rc_xptr);
extern "C" SEXP _archive_rchive_init(SEXP nc_xptr, SEXP rc_xptr) {
  BEGIN_CPP11
    rchive_init(cpp11::as_cpp<cpp11::decay_t<SEXP>>(nc_xptr), cpp11::as_cpp<cpp11::decay_t<SEXP>>(rc_xptr));
    return R_NilValue;
  END_CPP11
}

extern "C" {
static const R_CallMethodDef CallEntries[] = {
    {"_archive_archive_",                    (DL_FUNC) &_archive_archive_,                    3},
    {"_archive_archive_extract_",            (DL_FUNC) &_archive_archive_extract_,            6},
    {"_archive_archive_filters",             (DL_FUNC) &_archive_archive_filters,             0},
    {"_archive_archive_formats",             (DL_FUNC) &_archive_archive_formats,             0},
    {"_archive_archive_read_",               (DL_FUNC) &_archive_archive_read_,               9},
    {"_archive_archive_write_",              (DL_FUNC) &_archive_archive_write_,              8},
    {"_archive_archive_write_direct_",       (DL_FUNC) &_archive_archive_write_direct_,       8},
    {"_archive_archive_write_files_",        (DL_FUNC) &_archive_archive_write_files_,        7},
    {"_archive_libarchive_bzlib_version_",   (DL_FUNC) &_archive_libarchive_bzlib_version_,   0},
    {"_archive_libarchive_liblz4_version_",  (DL_FUNC) &_archive_libarchive_liblz4_version_,  0},
    {"_archive_libarchive_liblzma_version_", (DL_FUNC) &_archive_libarchive_liblzma_version_, 0},
    {"_archive_libarchive_libzstd_version",  (DL_FUNC) &_archive_libarchive_libzstd_version,  0},
    {"_archive_libarchive_version_",         (DL_FUNC) &_archive_libarchive_version_,         0},
    {"_archive_libarchive_zlib_version_",    (DL_FUNC) &_archive_libarchive_zlib_version_,    0},
    {"_archive_rchive_init",                 (DL_FUNC) &_archive_rchive_init,                 2},
    {NULL, NULL, 0}
};
}

extern "C" attribute_visible void R_init_archive(DllInfo* dll){
  R_registerRoutines(dll, NULL, CallEntries, NULL, NULL);
  R_useDynamicSymbols(dll, FALSE);
  R_forceSymbols(dll, TRUE);
}
