Setting tag sliver-openvswitch-2.2.90-1
[sliver-openvswitch.git] / ovsdb / log.h
index 2daa635..aad2543 100644 (file)
@@ -1,4 +1,4 @@
-/* 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.
 struct json;
 struct ovsdb_log;
 
-struct ovsdb_error *ovsdb_log_open(const char *name, int flags,
-                                   struct ovsdb_log **) WARN_UNUSED_RESULT;
+/* Access mode for opening an OVSDB log. */
+enum ovsdb_log_open_mode {
+    OVSDB_LOG_READ_ONLY,        /* Open existing file, read-only. */
+    OVSDB_LOG_READ_WRITE,       /* Open existing file, read/write. */
+    OVSDB_LOG_CREATE            /* Create new file, read/write. */
+};
+
+struct ovsdb_error *ovsdb_log_open(const char *name, enum ovsdb_log_open_mode,
+                                   int locking, struct ovsdb_log **)
+    WARN_UNUSED_RESULT;
 void ovsdb_log_close(struct ovsdb_log *);
 
 struct ovsdb_error *ovsdb_log_read(struct ovsdb_log *, struct json **)
     WARN_UNUSED_RESULT;
+void ovsdb_log_unread(struct ovsdb_log *);
+
 struct ovsdb_error *ovsdb_log_write(struct ovsdb_log *, struct json *)
     WARN_UNUSED_RESULT;
 struct ovsdb_error *ovsdb_log_commit(struct ovsdb_log *)
     WARN_UNUSED_RESULT;
 
+off_t ovsdb_log_get_offset(const struct ovsdb_log *);
+
 #endif /* ovsdb/log.h */