oval_system_characteristics_impl.h
Go to the documentation of this file.
/*
* Copyright 2009,2010,2011 Red Hat Inc., Durham, North Carolina.
* All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Authors:
* "David Niemoller" <David.Niemoller@g2-inc.com>
* "Peter Vrabec" <pvrabec@redhat.com>
*/
#ifndef OVAL_SYSCHAR_IMPL
#define OVAL_SYSCHAR_IMPL
#include "public/oval_system_characteristics.h"
#include "oval_parser_impl.h"
#include "adt/oval_smc_impl.h"
#include "../common/util.h"
OSCAP_HIDDEN_START;
/* sysint */
typedef void (*oval_sysint_consumer) (struct oval_sysint *, void *);
int oval_sysint_parse_tag(xmlTextReaderPtr, struct oval_parser_context *, oval_sysint_consumer, void *);
void oval_sysint_to_dom(struct oval_sysint *, xmlDoc *, xmlNode *);
/* sysinfo */
void oval_sysinfo_to_dom(struct oval_sysinfo *, xmlDoc *, xmlNode *);
int oval_sysinfo_parse_tag(xmlTextReaderPtr reader, struct oval_parser_context *);
/* sysitem */
void oval_sysitem_to_dom(struct oval_sysitem *, xmlDoc *, xmlNode *);
int oval_sysitem_parse_tag(xmlTextReaderPtr, struct oval_parser_context *, void *usr);
/* syschar */
void oval_syschar_to_dom(struct oval_syschar *, xmlDoc *, xmlNode *);
int oval_syschar_parse_tag(xmlTextReaderPtr, struct oval_parser_context *context, void *);
oval_syschar_collection_flag_t oval_syschar_flag_parse(xmlTextReaderPtr, char *, oval_syschar_collection_flag_t);
oval_syschar_status_t oval_syschar_status_parse(xmlTextReaderPtr, char *, oval_syschar_status_t);
struct oval_syschar_model *oval_syschar_get_model(struct oval_syschar *syschar);
/* sysent */
typedef void (*oval_sysent_consumer) (struct oval_sysent *, void *client);
int oval_sysent_parse_tag(xmlTextReaderPtr, struct oval_parser_context *, oval_sysent_consumer, void *);
void oval_sysent_to_dom(struct oval_sysent *sysent, xmlDoc * doc, xmlNode * tag_parent);
void oval_sysent_to_print(struct oval_sysent *, char *, int);
/* syschar_model */
typedef bool oval_syschar_resolver(struct oval_syschar *, void *);
xmlNode *oval_syschar_model_to_dom(struct oval_syschar_model *, xmlDocPtr, xmlNode *, oval_syschar_resolver, void *);
void oval_syschar_model_reset(struct oval_syschar_model *model);
struct oval_syschar *oval_syschar_model_get_new_syschar(struct oval_syschar_model *, struct oval_object *);
struct oval_sysitem *oval_syschar_model_get_new_sysitem(struct oval_syschar_model *, const char *id);
void oval_syschar_model_add_syschar(struct oval_syschar_model *model, struct oval_syschar *syschar);
void oval_syschar_model_add_sysitem(struct oval_syschar_model *model, struct oval_sysitem *sysitem);
void oval_syschar_model_set_schema(struct oval_syschar_model *model, const char * schema);
const char * oval_syschar_model_get_schema(struct oval_syschar_model * model);
struct oval_syschar_iterator *oval_syschar_iterator_new(struct oval_smc *mapping);
int oval_syschar_get_variable_instance_hint(const struct oval_syschar *syschar);
void oval_syschar_set_variable_instance_hint(struct oval_syschar *syschar, int variable_instance_hint_in);
const char *oval_syschar_get_id(const struct oval_syschar *syschar);
OSCAP_HIDDEN_END;
#endif