X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=ovsdb%2Ftable.h;h=95da74035f35ed630512d36424ddaa3931270774;hb=9cb8d24da006b562fecd17d34971822e3f6d1a78;hp=9e36c911d74c52c84584a300e2311ac8a40e73e0;hpb=a4af00400a835eb87569ba40e21874c05e872c0f;p=openvswitch diff --git a/ovsdb/table.h b/ovsdb/table.h index 9e36c911..95da7403 100644 --- a/ovsdb/table.h +++ b/ovsdb/table.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2009 Nicira Networks +/* Copyright (c) 2009, 2010, 2011 Nicira Networks * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,21 +27,24 @@ struct uuid; /* Schema for a database table. */ struct ovsdb_table_schema { char *name; - char *comment; bool mutable; struct shash columns; /* Contains "struct ovsdb_column *"s. */ + unsigned int max_rows; /* Maximum number of rows. */ + bool is_root; /* Part of garbage collection root set? */ }; -struct ovsdb_table_schema *ovsdb_table_schema_create(const char *name, - const char *comment, - bool mutable); +struct ovsdb_table_schema *ovsdb_table_schema_create( + const char *name, bool mutable, unsigned int max_rows, bool is_root); +struct ovsdb_table_schema *ovsdb_table_schema_clone( + const struct ovsdb_table_schema *); void ovsdb_table_schema_destroy(struct ovsdb_table_schema *); struct ovsdb_error *ovsdb_table_schema_from_json(const struct json *, const char *name, struct ovsdb_table_schema **) WARN_UNUSED_RESULT; -struct json *ovsdb_table_schema_to_json(const struct ovsdb_table_schema *); +struct json *ovsdb_table_schema_to_json(const struct ovsdb_table_schema *, + bool default_is_root); const struct ovsdb_column *ovsdb_table_schema_get_column( const struct ovsdb_table_schema *, const char *name); @@ -50,6 +53,7 @@ const struct ovsdb_column *ovsdb_table_schema_get_column( struct ovsdb_table { struct ovsdb_table_schema *schema; + struct ovsdb_txn_table *txn_table; /* Only if table is in a transaction. */ struct hmap rows; /* Contains "struct ovsdb_row"s. */ };