summaryrefslogtreecommitdiff
path: root/src/irmd/registry.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/irmd/registry.h')
-rw-r--r--src/irmd/registry.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/irmd/registry.h b/src/irmd/registry.h
index 83b9d393..927b2364 100644
--- a/src/irmd/registry.h
+++ b/src/irmd/registry.h
@@ -23,10 +23,13 @@
#ifndef OUROBOROS_IRMD_REGISTRY_H
#define OUROBOROS_IRMD_REGISTRY_H
+#include <ouroboros/config.h>
#include <ouroboros/list.h>
#include <stdint.h>
+#include <stdbool.h>
#include <pthread.h>
+#include <string.h>
#include <sys/types.h>
#define reg_entry_has_api(e, id) (reg_entry_get_reg_instance(e, id) != NULL)
@@ -78,6 +81,9 @@ struct reg_entry {
/* known instances */
struct list_head ap_instances;
+ /* difs in which this name is registered */
+ struct list_head difs;
+
char * req_ae_name;
int response;
@@ -96,6 +102,11 @@ struct reg_ap_name {
char * ap_name;
};
+struct reg_dif_name {
+ struct list_head next;
+ char * dif_name;
+};
+
struct reg_instance * reg_instance_create(pid_t api);
void reg_instance_destroy(struct reg_instance * i);
@@ -118,7 +129,12 @@ struct reg_auto * reg_entry_get_reg_auto(struct reg_entry * e,
char * ap_name);
pid_t reg_entry_resolve_api(struct reg_entry * e);
char ** reg_entry_resolve_auto(struct reg_entry * e);
-
+bool reg_entry_is_local_in_dif(struct reg_entry * e,
+ char * dif_name);
+int reg_entry_add_local_in_dif(struct reg_entry * e,
+ char * dif_name);
+void reg_entry_del_local_from_dif(struct reg_entry * e,
+ char * dif_name);
int registry_add_entry(struct list_head * registry,
char * name,
char * ap_name,