diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/util/samba_util.h | 1 | ||||
-rw-r--r-- | lib/util/server_id.c | 21 |
2 files changed, 22 insertions, 0 deletions
diff --git a/lib/util/samba_util.h b/lib/util/samba_util.h index 274dde811c..26a5c6872b 100644 --- a/lib/util/samba_util.h +++ b/lib/util/samba_util.h @@ -899,6 +899,7 @@ char *data_path(TALLOC_CTX *mem_ctx, const char *name); const char *shlib_ext(void); struct server_id; +bool server_id_equal(const struct server_id *p1, const struct server_id *p2); char *server_id_str(TALLOC_CTX *mem_ctx, const struct server_id *id); #endif /* _SAMBA_UTIL_H_ */ diff --git a/lib/util/server_id.c b/lib/util/server_id.c index 195deeac7c..7370ad9335 100644 --- a/lib/util/server_id.c +++ b/lib/util/server_id.c @@ -20,6 +20,27 @@ #include "includes.h" #include "librpc/gen_ndr/server_id.h" +bool server_id_equal(const struct server_id *p1, const struct server_id *p2) +{ + if (p1->pid != p2->pid) { + return false; + } + + if (p1->task_id != p2->task_id) { + return false; + } + + if (p1->vnn != p2->vnn) { + return false; + } + + if (p1->unique_id != p2->unique_id) { + return false; + } + + return true; +} + char *server_id_str(TALLOC_CTX *mem_ctx, const struct server_id *id) { if (id->vnn == NONCLUSTER_VNN && id->task_id == 0) { |