// SPDX-License-Identifier: GPL-2.0-only
/*
 *  ppm/include/ppm/ppm.h
 *
 *  Copyright (C) 2026 Project Tick
 *
 * ppm.h — umbrella header for the ppm public C API.
 *
 * Including this header pulls in every public type and function ppm exposes.
 * Individual modules can also be included directly; this header is provided
 * for convenience and to give bindings a single entry point.
 */

#ifndef PPM_H
#define PPM_H

#include <ppm/error.h>
#include <ppm/manifest.h>
#include <ppm/lockfile.h>
#include <ppm/resolver.h>
#include <ppm/store.h>
#include <ppm/registry.h>
#include <ppm/crypto.h>
#include <ppm/archive.h>
#include <ppm/build.h>
#include <ppm/transaction.h>

#ifdef __cplusplus
extern "C" {
#endif

/* Semantic version of the linked ppm library. */
const char *ppm_version_string(void);

/* Short, single-line build identifier (compiler, flags, libsodium version). */
const char *ppm_build_string(void);

#ifdef __cplusplus
}
#endif

#endif /* PPM_H */
