#ifndef ENV_H #define ENV_H // #include "value.h" typedef struct value * _value_t; typedef struct env * env_t; #define ENV_EMPTY NULL typedef void (*env_destroy_func)(char *key, _value_t value); env_t env_create(env_t parent, env_destroy_func destroy_func); void env_destroy(env_t env); int env_insert(env_t env, char *key, _value_t data, char **prevkey, _value_t *prevdata); int env_query(env_t env, char *key, _value_t *data); env_t env_copy(env_t env); env_t env_parent(env_t env); #endif