Open SCAP Library
|
00001 /* 00002 * Copyright 2010 Red Hat Inc., Durham, North Carolina. 00003 * All Rights Reserved. 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Lesser General Public 00007 * License as published by the Free Software Foundation; either 00008 * version 2.1 of the License, or (at your option) any later version. 00009 * 00010 * This library is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Lesser General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Lesser General Public 00016 * License along with this library; if not, write to the Free Software 00017 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00018 * 00019 * Authors: 00020 * Lukas Kuklinek <lkuklinek@redhat.com> 00021 */ 00022 00028 #ifndef OSCAP_REPORTER_PRIV_H_ 00029 #define OSCAP_REPORTER_PRIV_H_ 00030 00031 #include "public/reporter.h" 00032 #include "util.h" 00033 #include <libxml/xmlerror.h> 00034 00035 OSCAP_HIDDEN_START; 00036 00044 struct oscap_reporter_context { 00045 oscap_reporter reporter; 00046 void *arg; 00047 void *user; 00048 }; 00049 00051 #define XREPORTER(r) ((struct oscap_reporter*) r) 00052 00054 void oscap_reporter_message_free(struct oscap_reporter_message *msg); 00056 bool oscap_reporter_message_set_family(struct oscap_reporter_message *obj, oscap_reporter_family_t newval); 00058 bool oscap_reporter_message_set_code(struct oscap_reporter_message *obj, oscap_reporter_code_t newval); 00060 bool oscap_reporter_message_set_string(struct oscap_reporter_message *obj, const char *newval); 00062 bool oscap_reporter_message_set_user1str(struct oscap_reporter_message *msg, const char *newval); 00064 bool oscap_reporter_message_set_user1num(struct oscap_reporter_message *msg, int newval); 00066 bool oscap_reporter_message_set_user1ptr(struct oscap_reporter_message *msg, void *newval); 00068 bool oscap_reporter_message_set_user2str(struct oscap_reporter_message *msg, const char *newval); 00070 bool oscap_reporter_message_set_user2num(struct oscap_reporter_message *msg, int newval); 00072 bool oscap_reporter_message_set_user2ptr(struct oscap_reporter_message *msg, void *newval); 00074 bool oscap_reporter_message_set_user3str(struct oscap_reporter_message *msg, const char *newval); 00076 bool oscap_reporter_message_set_user3num(struct oscap_reporter_message *msg, int newval); 00078 bool oscap_reporter_message_set_user3ptr(struct oscap_reporter_message *msg, void *newval); 00080 struct oscap_reporter_message *oscap_reporter_message_new_arg(oscap_reporter_family_t family, oscap_reporter_code_t code, const char *fmt, va_list ap); 00081 00086 void oscap_reporter_report_xml(struct oscap_reporter_context *rctxt, xmlErrorPtr error); 00087 00092 void oscap_reporter_report_libc(oscap_reporter reporter, void *arg); 00093 00097 OSCAP_HIDDEN_END; 00098 00099 #endif // OSCAP_REPORTER_PRIV_H_ 00100