libvuptsdk (git.securityops.co/cristiancmoises/libvuptsdk) is the renamed libzuptsdk: only the .so filename/SONAME changed (libzuptsdk.so.2 -> libvuptsdk.so.2); the C API (zuptsdk_* symbols, zuptsdk.h) is unchanged. - Rename vendor/zuptsdk -> vendor/vuptsdk with libvuptsdk's headers. - Makefile WITH_SDK=1 now links -lvuptsdk (+ its transitive libcrypto/libargon2 deps via SDK_DEPLIBS) instead of -lzuptsdk, and installs libvuptsdk.so.*. - DECOUPLE --pq-box: it needs the SEPARATE libpqvaptvupt, which libvuptsdk does NOT provide, so gate it behind a new WITH_PQBOX=1 (was folded into WITH_SDK). zupt_crypto_pqbox.c now keys on ZUPT_WITH_PQBOX; WITH_SDK=1 alone builds and links cleanly with just libvuptsdk and enables --pq-sdk + Argon2id. - Banner/help renamed libzuptsdk -> libvuptsdk; the machine-readable 'Build:' line lists --pq-box only under WITH_PQBOX. GUI _get_caps matches on 'vuptsdk'. Validated on Guix: WITH_SDK=1 links libvuptsdk + libcrypto + libargon2, runs, banner 'Build: full (libvuptsdk: Argon2id, --pq-sdk available)', keygen --sdk + --pq-sdk encrypt/decrypt byte-exact roundtrip. Default source-only build unchanged (make check 16/16).
43 lines
1.4 KiB
C
43 lines
1.4 KiB
C
/*
|
|
* VaptVupt — Zupt Integration API
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
* Copyright 2026 Cristian.
|
|
*
|
|
* ZUPT-COMPAT: This is the API that Zupt calls. It wraps the internal
|
|
* VaptVupt API with sensible defaults for backup workloads:
|
|
* - Checksum always enabled (data integrity is critical for backups)
|
|
* - Adaptive window selection (auto-detect optimal wlog per file)
|
|
* - Level maps to mode: 1=fast, 5=balanced, 9=extreme
|
|
*
|
|
* Usage:
|
|
* size_t bound = vvz_compress_bound(src_len);
|
|
* uint8_t *dst = malloc(bound);
|
|
* int64_t csz = vvz_compress(src, src_len, dst, bound, 5);
|
|
* int64_t dsz = vvz_decompress(dst, csz, out, out_cap);
|
|
*/
|
|
#ifndef VAPTVUPT_API_H
|
|
#define VAPTVUPT_API_H
|
|
|
|
#include <stdint.h>
|
|
#include <stddef.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Compress src into dst. Returns compressed size or negative error code.
|
|
* level: 1 = fast (max speed), 5 = balanced (default), 9 = extreme (max ratio) */
|
|
int64_t vvz_compress(const uint8_t *src, size_t src_len,
|
|
uint8_t *dst, size_t dst_cap, int level);
|
|
|
|
/* Decompress src into dst. Returns decompressed size or negative error code. */
|
|
int64_t vvz_decompress(const uint8_t *src, size_t src_len,
|
|
uint8_t *dst, size_t dst_cap);
|
|
|
|
/* Upper bound on compressed size for a given input length. */
|
|
size_t vvz_compress_bound(size_t src_len);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* VAPTVUPT_API_H */
|