X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=ovsdb%2Fovsdb.h;h=04586e7462465b333709aba90224265400918513;hb=5f38375100dd1001c60b31aeb519d15b3b342d1b;hp=9961620acf8e0d4da93a2db9b3297c80b2a385fc;hpb=58985e09eafe83a7fbe9c85626e44abe9d9eca8c;p=cascardo%2Fovs.git diff --git a/ovsdb/ovsdb.h b/ovsdb/ovsdb.h index 9961620ac..04586e746 100644 --- a/ovsdb/ovsdb.h +++ b/ovsdb/ovsdb.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2009, 2010 Nicira Networks +/* Copyright (c) 2009, 2010, 2011, 2012, 2013 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,57 +23,63 @@ struct json; struct ovsdb_log; +struct ovsdb_session; struct ovsdb_txn; +struct simap; struct uuid; /* Database schema. */ struct ovsdb_schema { char *name; - char *comment; + char *version; + char *cksum; struct shash tables; /* Contains "struct ovsdb_table_schema *"s. */ }; struct ovsdb_schema *ovsdb_schema_create(const char *name, - const char *comment); + const char *version, + const char *cksum); struct ovsdb_schema *ovsdb_schema_clone(const struct ovsdb_schema *); void ovsdb_schema_destroy(struct ovsdb_schema *); struct ovsdb_error *ovsdb_schema_from_file(const char *file_name, struct ovsdb_schema **) - WARN_UNUSED_RESULT; + OVS_WARN_UNUSED_RESULT; struct ovsdb_error *ovsdb_schema_from_json(struct json *, struct ovsdb_schema **) - WARN_UNUSED_RESULT; + OVS_WARN_UNUSED_RESULT; struct json *ovsdb_schema_to_json(const struct ovsdb_schema *); + +bool ovsdb_schema_equal(const struct ovsdb_schema *, + const struct ovsdb_schema *); /* Database. */ struct ovsdb { struct ovsdb_schema *schema; - struct list replicas; /* Contains "struct ovsdb_replica"s. */ + struct ovs_list replicas; /* Contains "struct ovsdb_replica"s. */ struct shash tables; /* Contains "struct ovsdb_table *"s. */ /* Triggers. */ - struct list triggers; /* Contains "struct ovsdb_trigger"s. */ + struct ovs_list triggers; /* Contains "struct ovsdb_trigger"s. */ bool run_triggers; }; struct ovsdb *ovsdb_create(struct ovsdb_schema *); void ovsdb_destroy(struct ovsdb *); -struct ovsdb_error *ovsdb_from_json(const struct json *, struct ovsdb **) - WARN_UNUSED_RESULT; -struct json *ovsdb_to_json(const struct ovsdb *); +void ovsdb_get_memory_usage(const struct ovsdb *, struct simap *usage); struct ovsdb_table *ovsdb_get_table(const struct ovsdb *, const char *); -struct json *ovsdb_execute(struct ovsdb *, const struct json *params, +struct json *ovsdb_execute(struct ovsdb *, const struct ovsdb_session *, + const struct json *params, long long int elapsed_msec, long long int *timeout_msec); /* Database replication. */ struct ovsdb_replica { - struct list node; /* Element in "struct ovsdb" replicas list. */ + struct ovs_list node; /* Element in "struct ovsdb" replicas list. */ const struct ovsdb_replica_class *class; };