-/* Copyright (c) 2009 Nicira Networks
+/* Copyright (c) 2009, 2010, 2011 Nicira, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
#ifndef OVSDB_FILE_H
#define OVSDB_FILE_H 1
-#include <sys/types.h>
+#include <stdbool.h>
#include "compiler.h"
+#include "log.h"
-struct json;
+struct ovsdb;
struct ovsdb_file;
+struct ovsdb_schema;
-struct ovsdb_error *ovsdb_file_open(const char *name, int flags,
- struct ovsdb_file **) WARN_UNUSED_RESULT;
-void ovsdb_file_close(struct ovsdb_file *);
+struct ovsdb_error *ovsdb_file_open(const char *file_name, bool read_only,
+ struct ovsdb **, struct ovsdb_file **)
+ WARN_UNUSED_RESULT;
-struct ovsdb_error *ovsdb_file_read(struct ovsdb_file *, struct json **)
+struct ovsdb_error *ovsdb_file_open_as_schema(const char *file_name,
+ const struct ovsdb_schema *,
+ struct ovsdb **)
WARN_UNUSED_RESULT;
-struct ovsdb_error *ovsdb_file_write(struct ovsdb_file *, struct json *)
+
+struct ovsdb_error *ovsdb_file_save_copy(const char *file_name, int locking,
+ const char *comment,
+ const struct ovsdb *)
WARN_UNUSED_RESULT;
-struct ovsdb_error *ovsdb_file_commit(struct ovsdb_file *)
+
+struct ovsdb_error *ovsdb_file_compact(struct ovsdb_file *);
+
+struct ovsdb_error *ovsdb_file_read_schema(const char *file_name,
+ struct ovsdb_schema **)
WARN_UNUSED_RESULT;
#endif /* ovsdb/file.h */