]> git.proxmox.com Git - mirror_ovs.git/blame - lib/ovsdb-set-op.h
cirrus: Use FreeBSD 12.2.
[mirror_ovs.git] / lib / ovsdb-set-op.h
CommitLineData
98e88b5b
RM
1/* Copyright (C) 2016 Hewlett Packard Enterprise Development LP
2 * Copyright (C) 2016, IBM
f1ab6e06
RM
3 * All Rights Reserved.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may
6 * not use this file except in compliance with the License. You may obtain
7 * a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 * License for the specific language governing permissions and limitations
15 * under the License.
16 */
17
18#ifndef OVSDB_SET_OP_H
19#define OVSDB_SET_OP_H 1
20
21#include "ovsdb-data.h"
22
9131abe2
YHW
23#ifdef __cplusplus
24extern "C" {
25#endif
26
f1ab6e06
RM
27enum set_op_type {
28 SET_OP_INSERT,
29 SET_OP_DELETE
30};
31
32struct set_op; /* Set Operation: a Partial Set Update */
33struct set_op_list; /* List of Set Operations */
34
35/* Set Operation functions */
36struct set_op *set_op_create(struct ovsdb_datum *, enum set_op_type);
37void set_op_destroy(struct set_op *, const struct ovsdb_type *);
38struct ovsdb_datum *set_op_datum(const struct set_op*);
39enum set_op_type set_op_type(const struct set_op*);
40
41/* Set Operation List functions */
42struct set_op_list *set_op_list_create(void);
43void set_op_list_destroy(struct set_op_list *, const struct ovsdb_type *);
44void set_op_list_add(struct set_op_list *, struct set_op *,
45 const struct ovsdb_type *);
46struct set_op *set_op_list_first(struct set_op_list *);
47struct set_op *set_op_list_next(struct set_op_list *, struct set_op *);
48
9131abe2
YHW
49#ifdef __cplusplus
50}
51#endif
52
f1ab6e06 53#endif /* ovsdb-set-op.h */