vlog: Use system calls instead of stdio to write log files.
[openvswitch] / ovsdb / file.h
1 /* Copyright (c) 2009, 2010, 2011 Nicira, Inc.
2  *
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at:
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15
16 #ifndef OVSDB_FILE_H
17 #define OVSDB_FILE_H 1
18
19 #include <stdbool.h>
20 #include "compiler.h"
21 #include "log.h"
22
23 struct ovsdb;
24 struct ovsdb_file;
25 struct ovsdb_schema;
26
27 struct ovsdb_error *ovsdb_file_open(const char *file_name, bool read_only,
28                                     struct ovsdb **, struct ovsdb_file **)
29     WARN_UNUSED_RESULT;
30
31 struct ovsdb_error *ovsdb_file_open_as_schema(const char *file_name,
32                                               const struct ovsdb_schema *,
33                                               struct ovsdb **)
34     WARN_UNUSED_RESULT;
35
36 struct ovsdb_error *ovsdb_file_save_copy(const char *file_name, int locking,
37                                          const char *comment,
38                                          const struct ovsdb *)
39     WARN_UNUSED_RESULT;
40
41 struct ovsdb_error *ovsdb_file_compact(struct ovsdb_file *);
42
43 struct ovsdb_error *ovsdb_file_read_schema(const char *file_name,
44                                            struct ovsdb_schema **)
45     WARN_UNUSED_RESULT;
46
47 #endif /* ovsdb/file.h */