X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fovsdb-types.h;h=6f1727ed158d5ab2bd0069bf832dcbc641b6fc33;hb=b09d5ec96a32c906bb35770937120401f64e90b7;hp=b11f8277576b3dbec1ef709c4bc56f9232cc4a2b;hpb=0d0f05b909b6428d44eb147bd4edd73782d2a137;p=openvswitch diff --git a/lib/ovsdb-types.h b/lib/ovsdb-types.h index b11f8277..6f1727ed 100644 --- a/lib/ovsdb-types.h +++ b/lib/ovsdb-types.h @@ -17,7 +17,6 @@ #define OVSDB_TYPES_H 1 #include -#include #include #include #include "compiler.h" @@ -47,6 +46,11 @@ struct json *ovsdb_atomic_type_to_json(enum ovsdb_atomic_type); struct ovsdb_base_type { enum ovsdb_atomic_type type; + + /* If nonnull, a datum with keys of type 'type' that expresses all the + * valid values for this base_type. */ + struct ovsdb_datum *enum_; + union { struct ovsdb_integer_constraints { int64_t min; /* minInteger or INT64_MIN. */ @@ -61,9 +65,6 @@ struct ovsdb_base_type { /* No constraints for Boolean types. */ struct ovsdb_string_constraints { - pcre *re; /* Compiled regular expression. */ - char *reMatch; /* reMatch or NULL. */ - char *reComment; /* reComment or NULL. */ unsigned int minLen; /* minLength or 0. */ unsigned int maxLen; /* maxLength or UINT_MAX. */ } string; @@ -81,9 +82,8 @@ struct ovsdb_base_type { #define OVSDB_BASE_REAL_INIT { .type = OVSDB_TYPE_REAL, \ .u.real = { -DBL_MAX, DBL_MAX } } #define OVSDB_BASE_BOOLEAN_INIT { .type = OVSDB_TYPE_BOOLEAN } -#define OVSDB_BASE_STRING_INIT { .type = OVSDB_TYPE_STRING, \ - .u.string = { NULL, NULL, NULL, \ - 0, UINT_MAX } } +#define OVSDB_BASE_STRING_INIT { .type = OVSDB_TYPE_STRING, \ + .u.string = { 0, UINT_MAX } } #define OVSDB_BASE_UUID_INIT { .type = OVSDB_TYPE_UUID, \ .u.uuid = { NULL, NULL } } @@ -95,10 +95,7 @@ void ovsdb_base_type_destroy(struct ovsdb_base_type *); bool ovsdb_base_type_is_valid(const struct ovsdb_base_type *); bool ovsdb_base_type_has_constraints(const struct ovsdb_base_type *); void ovsdb_base_type_clear_constraints(struct ovsdb_base_type *); -struct ovsdb_error *ovsdb_base_type_set_regex(struct ovsdb_base_type *, - const char *reMatch, - const char *reComment) - WARN_UNUSED_RESULT; +const struct ovsdb_type *ovsdb_base_type_get_enum_type(enum ovsdb_atomic_type); struct ovsdb_error *ovsdb_base_type_from_json(struct ovsdb_base_type *, const struct json *)