Open SCAP Library
Loading...
Searching...
No Matches
src
OVAL
probes
SEAP
generic
rbt
rbt_i32.h
1
/*
2
* Copyright 2010 Red Hat Inc., Durham, North Carolina.
3
* All Rights Reserved.
4
*
5
* This library is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU Lesser General Public
7
* License as published by the Free Software Foundation; either
8
* version 2.1 of the License, or (at your option) any later version.
9
*
10
* This library is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
* Lesser General Public License for more details.
14
*
15
* You should have received a copy of the GNU Lesser General Public
16
* License along with this library; if not, write to the Free Software
17
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
*
19
* Authors:
20
* "Daniel Kopecek" <dkopecek@redhat.com>
21
*/
22
#ifndef RBT_I32_H
23
#define RBT_I32_H
24
25
#include "rbt_common.h"
26
27
struct
rbt_i32_node
{
28
int32_t key;
29
void
*data;
30
};
31
32
typedef
struct
rbt_i32_node
rbt_i32_node_t
;
33
34
static
inline
struct
rbt_i32_node
*
rbt_i32_node
(
const
struct
rbt_node
*np)
35
{
36
struct
rbt_i32_node
*i32_node = (
struct
rbt_i32_node
*)(rbt_node_ptr(np)->_node);
37
return
i32_node;
38
}
39
40
rbt_t
*rbt_i32_new (
void
);
41
void
rbt_i32_free (
rbt_t
*
rbt
);
42
void
rbt_i32_free_cb (
rbt_t
*
rbt
,
void
(*callback)(
rbt_i32_node_t
*));
43
44
int
rbt_i32_add(
rbt_t
*
rbt
, int32_t key,
void
*data,
void
**coll);
45
void
*rbt_i32_rep(
rbt_t
*
rbt
, int32_t key,
void
*data);
46
int
rbt_i32_del(
rbt_t
*
rbt
, int32_t key,
void
**n);
47
int
rbt_i32_get(
rbt_t
*
rbt
, int32_t key,
void
**data);
48
49
int
rbt_i32_walk_preorder(
rbt_t
*
rbt
,
int
(*callback)(
rbt_i32_node_t
*), rbt_walk_t flags);
50
int
rbt_i32_walk_inorder(
rbt_t
*
rbt
,
int
(*callback)(
rbt_i32_node_t
*), rbt_walk_t flags);
51
int
rbt_i32_walk_postorder(
rbt_t
*
rbt
,
int
(*callback)(
rbt_i32_node_t
*), rbt_walk_t flags);
52
int
rbt_i32_walk_levelorder(
rbt_t
*
rbt
,
int
(*callback)(
rbt_i32_node_t
*), rbt_walk_t flags);
53
int
rbt_i32_walk(
rbt_t
*
rbt
, rbt_walk_t type,
int
(*callback)(
rbt_i32_node_t
*));
54
size_t
rbt_i32_size(
rbt_t
*
rbt
);
55
56
#endif
/* RBT_I32_H */
rbt_i32_node
Definition
rbt_i32.h:27
rbt_node
Generic node structure Lowest bit of _chld[0] holds the color bit.
Definition
rbt_common.h:64
rbt
Definition
rbt_common.h:129
Generated by
1.10.0