diff options
| author | Ben Pfaff <blp@nicira.com> | 2010-01-25 10:16:52 -0800 |
|---|---|---|
| committer | Ben Pfaff <blp@nicira.com> | 2010-01-26 09:49:30 -0800 |
| commit | 0194f33a6c734f0ff946fad9fb6b059b29ebf13e (patch) | |
| tree | 96f5fa6843539d0ce16e13c61275b4e49b0c2d2a /lib/ovsdb-data.h | |
| parent | 2f47998baea215b996af0be4d1653032005e3ac4 (diff) | |
| download | openvswitch-0194f33a6c734f0ff946fad9fb6b059b29ebf13e.tar.gz | |
ovsdb-datum: Add functions for parsing and formatting atoms, data.
These functions provide an alternative to JSON parsing and formatting that
is more human-friendly (and shorter).
These will be used in an upcoming commit to enhance ovs-vsctl.
Diffstat (limited to 'lib/ovsdb-data.h')
| -rw-r--r-- | lib/ovsdb-data.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/ovsdb-data.h b/lib/ovsdb-data.h index 9cada2f40..70dfd0f65 100644 --- a/lib/ovsdb-data.h +++ b/lib/ovsdb-data.h @@ -20,6 +20,7 @@ #include "compiler.h" #include "ovsdb-types.h" +struct ds; struct ovsdb_symbol_table; /* One value of an atomic type (given by enum ovs_atomic_type). */ @@ -72,6 +73,11 @@ struct ovsdb_error *ovsdb_atom_from_json(union ovsdb_atom *, WARN_UNUSED_RESULT; struct json *ovsdb_atom_to_json(const union ovsdb_atom *, enum ovsdb_atomic_type); + +void ovsdb_atom_from_string(union ovsdb_atom *, enum ovsdb_atomic_type, + const char *); +void ovsdb_atom_to_string(const union ovsdb_atom *, enum ovsdb_atomic_type, + struct ds *); /* An instance of an OVSDB type (given by struct ovsdb_type). * @@ -122,6 +128,12 @@ struct ovsdb_error *ovsdb_datum_from_json(struct ovsdb_datum *, struct json *ovsdb_datum_to_json(const struct ovsdb_datum *, const struct ovsdb_type *); +void ovsdb_datum_from_string(struct ovsdb_datum *, + const struct ovsdb_type *, const char *); +void ovsdb_datum_to_string(const struct ovsdb_datum *, + const struct ovsdb_type *, struct ds *); + +/* Comparison. */ uint32_t ovsdb_datum_hash(const struct ovsdb_datum *, const struct ovsdb_type *, uint32_t basis); int ovsdb_datum_compare_3way(const struct ovsdb_datum *, @@ -187,5 +199,12 @@ struct ovsdb_symbol *ovsdb_symbol_table_get(const struct ovsdb_symbol_table *, const char *name); void ovsdb_symbol_table_put(struct ovsdb_symbol_table *, const char *name, const struct uuid *, bool used); + +/* Tokenization + * + * Used by ovsdb_atom_from_string() and ovsdb_datum_from_string(). */ + +const char *ovsdb_token_parse(const char *, char **outp); +bool ovsdb_token_is_delim(unsigned char); #endif /* ovsdb-data.h */ |
