|
Nix 2.34.6
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 |
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.
| nix_err nix_value_force_deep | ( | nix_c_context * | context, |
| EvalState * | state, | ||
| nix_value * | value ) |
Forces the deep evaluation of a Nix value.
Recursively calls nix_value_force
| [out] | context | Optional, stores error information |
| [in] | state | The state of the evaluation. |
| [in,out] | Value | The Nix value to force. |