Nix 2.30.0
Nix, the purely functional package manager: C API (experimental)
|
Main entry for the libexpr C bindings. More...
Go to the source code of this file.
Macros | |
#define | __has_c_attribute(x) |
#define | NIX_DEPRECATED(msg) |
#define | NIX_VALUE_CALL(context, state, value, fn, ...) |
Calls a Nix function with multiple arguments. |
Typedefs | |
typedef struct nix_eval_state_builder | nix_eval_state_builder |
Builder for EvalState. | |
typedef struct EvalState | EvalState |
typedef struct nix_value | nix_value |
A Nix language value, or thunk that may evaluate to a value. |
Functions | |
NIX_DEPRECATED ("use nix_value instead") typedef nix_value Value | |
nix_err | nix_libexpr_init (nix_c_context *context) |
Initialize the Nix language evaluator. | |
nix_err | nix_expr_eval_from_string (nix_c_context *context, EvalState *state, const char *expr, const char *path, nix_value *value) |
Parses and evaluates a Nix expression from a string. | |
nix_err | nix_value_call (nix_c_context *context, EvalState *state, nix_value *fn, nix_value *arg, nix_value *value) |
Calls a Nix function with an argument. | |
nix_err | nix_value_call_multi (nix_c_context *context, EvalState *state, nix_value *fn, size_t nargs, nix_value **args, nix_value *value) |
Calls a Nix function with multiple arguments. | |
nix_err | nix_value_force (nix_c_context *context, EvalState *state, nix_value *value) |
Forces the evaluation of a Nix value. | |
nix_err | nix_value_force_deep (nix_c_context *context, EvalState *state, nix_value *value) |
Forces the deep evaluation of a Nix value. | |
nix_eval_state_builder * | nix_eval_state_builder_new (nix_c_context *context, Store *store) |
Create a new nix_eval_state_builder. | |
nix_err | nix_eval_state_builder_load (nix_c_context *context, nix_eval_state_builder *builder) |
Read settings from the ambient environment. | |
nix_err | nix_eval_state_builder_set_lookup_path (nix_c_context *context, nix_eval_state_builder *builder, const char **lookupPath) |
Set the lookup path for <...> expressions. | |
EvalState * | nix_eval_state_build (nix_c_context *context, nix_eval_state_builder *builder) |
Create a new Nix language evaluator state. | |
void | nix_eval_state_builder_free (nix_eval_state_builder *builder) |
Free a nix_eval_state_builder. | |
EvalState * | nix_state_create (nix_c_context *context, const char **lookupPath, Store *store) |
Create a new Nix language evaluator state. | |
void | nix_state_free (EvalState *state) |
Frees a Nix state. | |
nix_err | nix_gc_incref (nix_c_context *context, const void *object) |
Increment the garbage collector reference counter for the given object. | |
nix_err | nix_gc_decref (nix_c_context *context, const void *object) |
Decrement the garbage collector reference counter for the given object. | |
void | nix_gc_now () |
Trigger the garbage collector manually. | |
void | nix_gc_register_finalizer (void *obj, void *cd, void(*finalizer)(void *obj, void *cd)) |
Register a callback that gets called when the object is garbage collected. |
Main entry for the libexpr C bindings.