/*
* Register a server with its unique id
*/
-bool serverid_register(const struct server_id *id, uint32_t msg_flags);
-
-/*
- * Register ourselves with a unique id
- */
-bool serverid_register_self(uint32_t msg_flags);
+bool serverid_register(const struct server_id id, uint32_t msg_flags);
/*
* De-register a server with its unique id
*/
-bool serverid_deregister(const struct server_id *id);
+bool serverid_deregister(const struct server_id id);
/*
- * De-register ourself
+ * (De)register additional message flags
*/
-bool serverid_deregister_self(void);
+bool serverid_register_msg_flags(const struct server_id id, bool do_reg,
+ uint32_t msg_flags);
/*
* Check existence of a server id
*/
bool serverid_exists(const struct server_id *id);
+/*
+ * Check existence of a list of server ids
+ */
+bool serverids_exist(const struct server_id *ids, int num_ids, bool *results);
+
/*
* Walk the list of server_ids registered
*/
uint32_t msg_flags,
void *private_data),
void *private_data);
+/*
+ * Ensure CLEAR_IF_FIRST works fine, to be called from the parent smbd
+ */
+bool serverid_parent_init(TALLOC_CTX *mem_ctx);
+
+/*
+ * Get a random unique_id and make sure that it is not
+ * SERVERID_UNIQUE_ID_NOT_TO_VERIFY
+ */
+uint64_t serverid_get_random_unique_id(void);
+
+bool serverid_equal(const struct server_id *p1, const struct server_id *p2);
+
#endif