#ifndef L2SU_INSTANCE_H_INCLUDED #define L2SU_INSTANCE_H_INCLUDED #include "uuid/uuid.h" struct l2_instance { uuid_t uuid; char *name; char *path; struct l2_instance *next; struct l2_instance *prev; }; enum { INSTANCE_SUCCESS, /* instance operation succeeded */ INSTANCE_ERRNO, /* instance operation failed (error code in errno) */ INSTANCE_EJSON, /* instance operation failed (JSON error) */ INSTANCE_EFORMAT /* instance file is malformed */ }; extern const char *const l2_instance_errormsg[]; /* load all instances (must be called after initialization) */ int l2_instance_load_all(void); int l2_instance_save_all(void); int l2_instance_add_instance(const struct l2_instance *inst); int l2_instance_del_instance(struct l2_instance *inst); int l2_instance_rename_instance(struct l2_instance *inst, const char *newname); struct l2_instance *l2_instance_find_by_uuid(const uuid_t *id); struct l2_instance *l2_instance_find_by_name(const char *name); #endif /* include guard */