Nix 2.28.3
Nix, the purely functional package manager: C API (experimental)
 
Loading...
Searching...
No Matches
nix_api_store.h File Reference

Main entry for the libstore C bindings. More...

#include "nix_api_util.h"
#include <stdbool.h>

Go to the source code of this file.

Typedefs

typedef struct Store Store
 Reference to a Nix store.
 
typedef struct StorePath StorePath
 Nix store path.
 

Functions

nix_err nix_libstore_init (nix_c_context *context)
 Initializes the Nix store library.
 
nix_err nix_libstore_init_no_load_config (nix_c_context *context)
 Like nix_libstore_init, but does not load the Nix configuration.
 
Storenix_store_open (nix_c_context *context, const char *uri, const char ***params)
 Open a nix store.
 
void nix_store_free (Store *store)
 Deallocate a nix store and free any resources if not also held by other Store instances.
 
nix_err nix_store_get_uri (nix_c_context *context, Store *store, nix_get_string_callback callback, void *user_data)
 get the URI of a nix store
 
nix_err nix_store_get_storedir (nix_c_context *context, Store *store, nix_get_string_callback callback, void *user_data)
 get the storeDir of a Nix store, typically "/nix/store"
 
StorePathnix_store_parse_path (nix_c_context *context, Store *store, const char *path)
 Parse a Nix store path into a StorePath.
 
void nix_store_path_name (const StorePath *store_path, nix_get_string_callback callback, void *user_data)
 Get the path name (e.g. "name" in /nix/store/...-name)
 
StorePathnix_store_path_clone (const StorePath *p)
 Copy a StorePath.
 
void nix_store_path_free (StorePath *p)
 Deallocate a StorePath.
 
bool nix_store_is_valid_path (nix_c_context *context, Store *store, StorePath *path)
 Check if a StorePath is valid (i.e. that corresponding store object and its closure of references exists in the store)
 
nix_err nix_store_real_path (nix_c_context *context, Store *store, StorePath *path, nix_get_string_callback callback, void *user_data)
 Get the physical location of a store path.
 
nix_err nix_store_realise (nix_c_context *context, Store *store, StorePath *path, void *userdata, void(*callback)(void *userdata, const char *outname, const char *out))
 Realise a Nix store path.
 
nix_err nix_store_get_version (nix_c_context *context, Store *store, nix_get_string_callback callback, void *user_data)
 get the version of a nix store.
 
nix_err nix_store_copy_closure (nix_c_context *context, Store *srcStore, Store *dstStore, StorePath *path)
 Copy the closure of path from srcStore to dstStore.
 

Detailed Description

Main entry for the libstore C bindings.