Open SCAP Library

cpe_session_priv.h
1 /*
2 * Copyright 2014 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 *
20 */
21 #ifndef OSCAP_CPE_CPE_SESSION_PRIV_H
22 #define OSCAP_CPE_CPE_SESSION_PRIV_H
23
24 #ifdef HAVE_CONFIG_H
25 #include <config.h>
26 #endif
27
28 #include "common/list.h"
29 #include "common/public/oscap.h"
30 #include "common/util.h"
31 #include "OVAL/public/oval_agent_api.h"
32
33 OSCAP_HIDDEN_START;
34
35 struct cpe_session {
36 struct oscap_list *dicts;
37 struct oscap_list *lang_models;
38 struct oscap_htable *oval_sessions;
39 struct oscap_htable *applicable_platforms;
40 struct oscap_htable *sources_cache;
41 bool thin_results;
42 };
43
44 struct cpe_session *cpe_session_new(void);
45 void cpe_session_free(struct cpe_session *session);
46 void cpe_session_set_thin_results(struct cpe_session *session, bool thin_results);
47 struct oval_agent_session *cpe_session_lookup_oval_session(struct cpe_session *cpe, const char *prefixed_href);
48 bool cpe_session_add_cpe_lang_model_source(struct cpe_session *session, struct oscap_source *source);
49 bool cpe_session_add_cpe_dict_source(struct cpe_session *session, struct oscap_source *source);
50 bool cpe_session_add_cpe_autodetect_source(struct cpe_session *session, struct oscap_source *source);
51 void cpe_session_set_cache(struct cpe_session *session, struct oscap_htable *sources_cache);
52
53 OSCAP_HIDDEN_END;
54 #endif
oval_agent_session
Definition: oval_agent.c:53
oscap.h
General OpenScap functions and types.
cpe_session::sources_cache
struct oscap_htable * sources_cache
Not owned cache [path -> oscap_source].
Definition: cpe_session_priv.h:40
cpe_session::oval_sessions
struct oscap_htable * oval_sessions
Caches CPE OVAL check results.
Definition: cpe_session_priv.h:38
cpe_session
Definition: cpe_session_priv.h:35
oscap_list
Definition: list.h:54
oscap_source
Definition: oscap_source.c:62
cpe_session::lang_models
struct oscap_list * lang_models
All CPE lang models except the one embedded in XCCDF.
Definition: cpe_session_priv.h:37
cpe_session::dicts
struct oscap_list * dicts
All CPE dictionaries except the one embedded in XCCDF.
Definition: cpe_session_priv.h:36
oval_agent_api.h
oscap_htable
Definition: list.h:183
cpe_session::thin_results
bool thin_results
Should OVAL results related to CPE be exported as THIN?
Definition: cpe_session_priv.h:41