Open SCAP Library
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
src
OVAL
probes
SEAP
_sexp-manip.h
1
/*
2
* Copyright 2009 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
*
19
* Authors:
20
* "Daniel Kopecek" <dkopecek@redhat.com>
21
*/
22
23
#pragma once
24
#ifndef _SEXP_MANIP_H
25
#define _SEXP_MANIP_H
26
27
#include "
public/sexp-manip.h
"
28
#include "../../../common/util.h"
29
30
OSCAP_HIDDEN_START;
31
32
#define SEXP_LSTACK_INIT_SIZE 8
33
#define SEXP_LSTACK_GROWFAST_TRESH 64
34
#define SEXP_LSTACK_GROWSLOW_DIFF 8
35
36
typedef
struct
{
37
SEXP_t
*p_list;
38
size_t
l_size;
39
size_t
l_real;
40
SEXP_t
**l_sref;
/* stack of soft refs to lists */
41
}
SEXP_lstack_t
;
42
43
SEXP_lstack_t
*SEXP_lstack_new (
void
);
44
void
SEXP_lstack_init (
SEXP_lstack_t
*stack);
45
void
SEXP_lstack_free (
SEXP_lstack_t
*stack);
46
void
SEXP_lstack_destroy (
SEXP_lstack_t
*stack);
47
48
SEXP_t
*SEXP_lstack_push (
SEXP_lstack_t
*stack,
SEXP_t
*ref);
49
SEXP_t
*SEXP_lstack_pop (
SEXP_lstack_t
*stack);
50
SEXP_t
*SEXP_lstack_top (
const
SEXP_lstack_t
*stack);
51
SEXP_t
*SEXP_lstack_list (
SEXP_lstack_t
*stack);
52
size_t
SEXP_lstack_depth (
SEXP_lstack_t
*stack);
53
54
OSCAP_HIDDEN_END;
55
56
#endif
/* _SEXP_MANIP_H */
Generated by
1.8.3.1