00001 00013 /* 00014 * Copyright 2009-2010 Red Hat Inc., Durham, North Carolina. 00015 * All Rights Reserved. 00016 * 00017 * This library is free software; you can redistribute it and/or 00018 * modify it under the terms of the GNU Lesser General Public 00019 * License as published by the Free Software Foundation; either 00020 * version 2.1 of the License, or (at your option) any later version. 00021 * 00022 * This library is distributed in the hope that it will be useful, 00023 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00024 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00025 * Lesser General Public License for more details. 00026 * 00027 * You should have received a copy of the GNU Lesser General Public 00028 * License along with this library; if not, write to the Free Software 00029 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00030 * 00031 * Authors: 00032 * "Daniel Kopecek" <dkopecek@redhat.com> 00033 */ 00034 #pragma once 00035 #ifndef OVAL_PROBE_H 00036 #define OVAL_PROBE_H 00037 00038 #include <stdarg.h> 00039 #include <stdint.h> 00040 #include "oval_definitions.h" 00041 #include "oval_system_characteristics.h" 00042 #include "oval_probe_session.h" 00043 00044 /* 00045 * probe context flags 00046 */ 00047 #define OVAL_PDFLAG_NOREPLY 0x0001 /* don't send probe result to library - just an ack */ 00048 #define OVAL_PDFLAG_NORECONN 0x0002 /* don't try to reconnect on fatal errors */ 00049 #define OVAL_PDGLAG_RUNALL 0x0004 /* execute all probes when executing the first */ 00050 #define OVAL_PDFLAG_RUNNOW 0x0008 /* execute all probes immediately */ 00051 00052 #define OVAL_PDFLAG_MASK (0x0001|0x0002|0x0004|0x0008) 00053 00054 /* 00055 * probe context attributes 00056 */ 00057 #define OVAL_PCTX_ATTR_RETRY 0x0001 /* set maximum retry count (send, connect) */ 00058 #define OVAL_PCTX_ATTR_RECVTIMEOUT 0x0002 /* set receive timeout - in miliseconds */ 00059 #define OVAL_PCTX_ATTR_SENDTIMEOUT 0x0003 /* set send timeout - in miliseconds */ 00060 #define OVAL_PCTX_ATTR_SCHEME 0x0004 /* set communication scheme */ 00061 #define OVAL_PCTX_ATTR_DIR 0x0005 /* set directory where the probes are located */ 00062 #define OVAL_PCTX_ATTR_MODEL 0x0006 /* set definition model - update registered commands is necessary */ 00063 00068 struct oval_sysinfo *oval_probe_sysinf_eval(oval_probe_session_t *sess) __attribute__ ((nonnull(1))); 00069 00075 struct oval_syschar *oval_probe_object_eval(oval_probe_session_t *sess, struct oval_object *object, int flags) __attribute__ ((nonnull(1, 2))); 00076 00077 #endif /* OVAL_PROBE_H */