195 void (*callback)(
void * userdata,
const char * outname,
const StorePath * out));
void(* nix_get_string_callback)(const char *start, unsigned int n, void *user_data)
Called to get the value of a string owned by Nix.
Definition nix_api_util.h:162
nix_err
Type for error codes in the Nix system.
Definition nix_api_util.h:59
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_copy_closure(nix_c_context *context, Store *srcStore, Store *dstStore, StorePath *path)
Copy the closure of path from srcStore to dstStore.
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"
StorePath * nix_add_derivation(nix_c_context *context, Store *store, nix_derivation *derivation)
Add the given nix_derivation to the given store.
nix_err nix_libstore_init(nix_c_context *context)
Initializes the Nix store library.
struct Store Store
Reference to a Nix store.
Definition nix_api_store.h:23
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_libstore_init_no_load_config(nix_c_context *context)
Like nix_libstore_init, but does not load the Nix configuration.
nix_err nix_store_realise(nix_c_context *context, Store *store, StorePath *path, void *userdata, void(*callback)(void *userdata, const char *outname, const StorePath *out))
Realise a Nix store path.
Store * nix_store_open(nix_c_context *context, const char *uri, const char ***params)
Open a nix store.
void nix_derivation_free(nix_derivation *drv)
Deallocate a nix_derivation.
struct nix_derivation nix_derivation
Nix Derivation.
Definition nix_api_store.h:27
bool nix_store_is_valid_path(nix_c_context *context, Store *store, const StorePath *path)
Check if a StorePath is valid (i.e. that corresponding store object and its closure of references exi...
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
struct StorePath StorePath
Nix store path.
Definition nix_api_store.h:25
StorePath * nix_store_path_clone(const StorePath *p)
Copy 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).
void nix_store_path_free(StorePath *p)
Deallocate a StorePath.
nix_derivation * nix_derivation_from_json(nix_c_context *context, Store *store, const char *json)
Create a nix_derivation from a JSON representation of that derivation.
StorePath * nix_store_parse_path(nix_c_context *context, Store *store, const char *path)
Parse a Nix store path into a StorePath.
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.
Main entry for the libutil C bindings.
This object stores error state.