X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fovsdb-data.h;h=f7e98a84bd1d90d79da97c9d40bc5f65d47039e9;hb=7da6be985c6fc7f6b425f660501133f1118a73b5;hp=29a5b9e0d922b7b5184982df76a25184990148bf;hpb=5413de95bec046cff2cf72482d65f7fa435aa10e;p=openvswitch diff --git a/lib/ovsdb-data.h b/lib/ovsdb-data.h index 29a5b9e0..f7e98a84 100644 --- a/lib/ovsdb-data.h +++ b/lib/ovsdb-data.h @@ -22,6 +22,7 @@ struct ds; struct ovsdb_symbol_table; +struct shash; /* One value of an atomic type (given by enum ovs_atomic_type). */ union ovsdb_atom { @@ -33,6 +34,7 @@ union ovsdb_atom { }; void ovsdb_atom_init_default(union ovsdb_atom *, enum ovsdb_atomic_type); +const union ovsdb_atom *ovsdb_atom_default(enum ovsdb_atomic_type); bool ovsdb_atom_is_default(const union ovsdb_atom *, enum ovsdb_atomic_type); void ovsdb_atom_clone(union ovsdb_atom *, const union ovsdb_atom *, enum ovsdb_atomic_type); @@ -128,6 +130,7 @@ void ovsdb_datum_init_empty(struct ovsdb_datum *); void ovsdb_datum_init_default(struct ovsdb_datum *, const struct ovsdb_type *); bool ovsdb_datum_is_default(const struct ovsdb_datum *, const struct ovsdb_type *); +const struct ovsdb_datum *ovsdb_datum_default(const struct ovsdb_type *); void ovsdb_datum_clone(struct ovsdb_datum *, const struct ovsdb_datum *, const struct ovsdb_type *); void ovsdb_datum_destroy(struct ovsdb_datum *, const struct ovsdb_type *); @@ -141,6 +144,10 @@ struct ovsdb_error *ovsdb_datum_sort(struct ovsdb_datum *, void ovsdb_datum_sort_assert(struct ovsdb_datum *, enum ovsdb_atomic_type key_type); +size_t ovsdb_datum_sort_unique(struct ovsdb_datum *, + enum ovsdb_atomic_type key_type, + enum ovsdb_atomic_type value_type); + struct ovsdb_error *ovsdb_datum_check_constraints( const struct ovsdb_datum *, const struct ovsdb_type *) WARN_UNUSED_RESULT; @@ -161,6 +168,8 @@ char *ovsdb_datum_from_string(struct ovsdb_datum *, void ovsdb_datum_to_string(const struct ovsdb_datum *, const struct ovsdb_type *, struct ds *); +void ovsdb_datum_from_shash(struct ovsdb_datum *, struct shash *); + /* Comparison. */ uint32_t ovsdb_datum_hash(const struct ovsdb_datum *, const struct ovsdb_type *, uint32_t basis);