+
+/* Returns true if 'a' and 'b' contain the same keys (regardless of their
+ * values), false otherwise. */
+bool
+shash_equal_keys(const struct shash *a, const struct shash *b)
+{
+ struct shash_node *node;
+
+ if (hmap_count(&a->map) != hmap_count(&b->map)) {
+ return false;
+ }
+ SHASH_FOR_EACH (node, a) {
+ if (!shash_find(b, node->name)) {
+ return false;
+ }
+ }
+ return true;
+}