Open SCAP Library
/home/pvrabec/project/openscap/openscap-0.7.4/src/OVAL/public/oval_types.h
Go to the documentation of this file.
00001 
00011 /*
00012  * Copyright 2009-2010 Red Hat Inc., Durham, North Carolina.
00013  * All Rights Reserved.
00014  *
00015  * This library is free software; you can redistribute it and/or
00016  * modify it under the terms of the GNU Lesser General Public
00017  * License as published by the Free Software Foundation; either
00018  * version 2.1 of the License, or (at your option) any later version.
00019  *
00020  * This library is distributed in the hope that it will be useful,
00021  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00022  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00023  * Lesser General Public License for more details.
00024  *
00025  * You should have received a copy of the GNU Lesser General Public
00026  * License along with this library; if not, write to the Free Software
00027  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00028  *
00029  * Authors:
00030  *      "David Niemoller" <David.Niemoller@g2-inc.com>
00031  */
00032 
00033 #ifndef OVAL_TYPES_H_
00034 #define OVAL_TYPES_H_
00035 
00036 #include <stdbool.h>
00037 #include <oscap.h>
00038 
00039 
00041 typedef enum {
00046         OVAL_FAMILY_UNKNOWN = 0,
00051         OVAL_FAMILY_AIX = 1000,
00056         OVAL_FAMILY_APACHE = 2000,
00061         OVAL_FAMILY_CATOS = 3000,
00066         OVAL_FAMILY_ESX = 4000,
00071         OVAL_FAMILY_FREEBSD = 5000,
00076         OVAL_FAMILY_HPUX = 6000,
00081         OVAL_FAMILY_INDEPENDENT = 7000,
00086         OVAL_FAMILY_IOS = 8000,
00091         OVAL_FAMILY_LINUX = 9000,
00096         OVAL_FAMILY_MACOS = 10000,
00101         OVAL_FAMILY_PIXOS = 11000,
00106         OVAL_FAMILY_SOLARIS = 12000,
00111         OVAL_FAMILY_UNIX = 13000,
00116         OVAL_FAMILY_WINDOWS = 14000
00117 } oval_family_t;
00118 
00120 typedef enum {
00121         OVAL_SUBTYPE_UNKNOWN = 0,
00122         OVAL_SUBTYPE_ALL = 1,
00123         OVAL_SUBTYPE_SYSINFO = 2
00124 } oval_subtype_t;
00125 
00127 typedef enum {
00128         OVAL_AIX_FILESET = 1001,
00129         OVAL_AIX_FIX = OVAL_FAMILY_AIX + 2,
00130         OVAL_AIX_OSLEVEL = OVAL_FAMILY_AIX + 3
00131 } oval_aix_subtype_t;
00132 
00134 typedef enum {
00135         OVAL_APACHE_HTTPD = OVAL_FAMILY_APACHE + 1,
00136         OVAL_APACHE_VERSION = OVAL_FAMILY_APACHE + 2
00137 } oval_apache_subtype_t;
00138 
00140 typedef enum {
00141         OVAL_CATOS_LINE = OVAL_FAMILY_CATOS + 1,
00142         OVAL_CATOS_MODULE = OVAL_FAMILY_CATOS + 2,
00143         OVAL_CATOS_VERSION_55 = OVAL_FAMILY_CATOS + 3,
00144         OVAL_CATOS_VERSION = OVAL_FAMILY_CATOS + 4
00145 } oval_catos_subtype_t;
00146 
00148 typedef enum {
00149         OVAL_ESX_PATCH = OVAL_FAMILY_ESX + 1,
00150         OVAL_ESX_VERSION = OVAL_FAMILY_ESX + 2
00151 } oval_esx_subtype_t;
00152 
00154 typedef enum {
00155         OVAL_FREEBSD_PORT_INFO = OVAL_FAMILY_FREEBSD + 1
00156 } oval_freebsd_subtype_t;
00157 
00159 typedef enum {
00160         OVAL_HPUX_GETCONF = OVAL_FAMILY_HPUX + 1,
00161         OVAL_HPUX_PATCH_53 = OVAL_FAMILY_HPUX + 2,
00162         OVAL_HPUX_PATCH = OVAL_FAMILY_HPUX + 3,
00163         OVAL_HPUX_SOFTWARE_LIST = OVAL_FAMILY_HPUX + 4,
00164         OVAL_HPUX_TRUSTED_ACCOUNTS = OVAL_FAMILY_HPUX + 5
00165 } oval_hpux_subtype_t;
00166 
00168 typedef enum {
00169         OVAL_INDEPENDENT_FAMILY = OVAL_FAMILY_INDEPENDENT + 1,
00170         OVAL_INDEPENDENT_FILE_MD5 = OVAL_FAMILY_INDEPENDENT + 2,
00171         OVAL_INDEPENDENT_FILE_HASH = OVAL_FAMILY_INDEPENDENT + 3,
00172         OVAL_INDEPENDENT_ENVIRONMENT_VARIABLE = OVAL_FAMILY_INDEPENDENT + 4,
00173         OVAL_INDEPENDENT_SQL = OVAL_FAMILY_INDEPENDENT + 5,
00174         OVAL_INDEPENDENT_TEXT_FILE_CONTENT_54 = OVAL_FAMILY_INDEPENDENT + 6,
00175         OVAL_INDEPENDENT_TEXT_FILE_CONTENT = OVAL_FAMILY_INDEPENDENT + 7,
00176         OVAL_INDEPENDENT_UNKNOWN = OVAL_FAMILY_INDEPENDENT + 8,
00177         OVAL_INDEPENDENT_VARIABLE = OVAL_FAMILY_INDEPENDENT + 9,
00178         OVAL_INDEPENDENT_XML_FILE_CONTENT = OVAL_FAMILY_INDEPENDENT + 10,
00179         OVAL_INDEPENDENT_LDAP57 = OVAL_FAMILY_INDEPENDENT + 11,
00180         OVAL_INDEPENDENT_LDAP = OVAL_FAMILY_INDEPENDENT + 12,
00181         OVAL_INDEPENDENT_SQL57 = OVAL_FAMILY_INDEPENDENT + 13,
00182         OVAL_INDEPENDENT_ENVIRONMENT_VARIABLE58 = OVAL_FAMILY_INDEPENDENT + 14,
00183         OVAL_INDEPENDENT_FILE_HASH58 = OVAL_FAMILY_INDEPENDENT + 15
00184 } oval_independent_subtype_t;
00185 
00187 typedef enum {
00188         OVAL_IOS_GLOBAL = OVAL_FAMILY_IOS + 1,
00189         OVAL_IOS_INTERFACE = OVAL_FAMILY_IOS + 2,
00190         OVAL_IOS_LINE = OVAL_FAMILY_IOS + 3,
00191         OVAL_IOS_SNMP = OVAL_FAMILY_IOS + 4,
00192         OVAL_IOS_TCLSH = OVAL_FAMILY_IOS + 5,
00193         OVAL_IOS_VERSION_55 = OVAL_FAMILY_IOS + 6
00194 } oval_ios_subtype_t;
00195 
00197 typedef enum {
00198         OVAL_LINUX_DPKG_INFO = OVAL_FAMILY_LINUX + 1,
00199         OVAL_LINUX_INET_LISTENING_SERVERS = OVAL_FAMILY_LINUX + 2,
00200         OVAL_LINUX_RPM_INFO = OVAL_FAMILY_LINUX + 3,
00201         OVAL_LINUX_SLACKWARE_PKG_INFO_TEST = OVAL_FAMILY_LINUX + 4,
00202         OVAL_LINUX_PARTITION = OVAL_FAMILY_LINUX + 5,
00203         OVAL_LINUX_IFLISTENERS = OVAL_FAMILY_LINUX + 6,
00204         OVAL_LINUX_RPMVERIFY = OVAL_FAMILY_LINUX + 7,
00205         OVAL_LINUX_SELINUXBOOLEAN = OVAL_FAMILY_LINUX + 8,
00206         OVAL_LINUX_SELINUXSECURITYCONTEXT = OVAL_FAMILY_LINUX + 9
00207 } oval_linux_subtype_t;
00208 
00210 typedef enum {
00211         OVAL_MACOS_ACCOUNT_INFO = OVAL_FAMILY_MACOS + 1,
00212         OVAL_MACOS_INET_LISTENING_SERVERS = OVAL_FAMILY_MACOS + 2,
00213         OVAL_MACOS_NVRAM_INFO = OVAL_FAMILY_MACOS + 3,
00214         OVAL_MACOS_PWPOLICY = OVAL_FAMILY_MACOS + 4
00215 } oval_macos_subtype_t;
00216 
00218 typedef enum {
00219         OVAL_PIXOS_LINE = OVAL_FAMILY_PIXOS + 1,
00220         OVAL_PIXOS_VERSION = OVAL_FAMILY_PIXOS + 2
00221 } oval_pixos_subtype_t;
00222 
00224 typedef enum {
00225         OVAL_SOLARIS_ISAINFO = OVAL_FAMILY_SOLARIS + 1,
00226         OVAL_SOLARIS_PACKAGE = OVAL_FAMILY_SOLARIS + 2,
00227         OVAL_SOLARIS_PATCH = OVAL_FAMILY_SOLARIS + 3,
00228         OVAL_SOLARIS_SMF = OVAL_FAMILY_SOLARIS + 4
00229 } oval_solaris_subtype_t;
00230 
00232 typedef enum {
00233         OVAL_UNIX_FILE = OVAL_FAMILY_UNIX + 1,
00234         OVAL_UNIX_INETD = OVAL_FAMILY_UNIX + 2,
00235         OVAL_UNIX_INTERFACE = OVAL_FAMILY_UNIX + 3,
00236         OVAL_UNIX_PASSWORD = OVAL_FAMILY_UNIX + 4,
00237         OVAL_UNIX_PROCESS = OVAL_FAMILY_UNIX + 5,
00238         OVAL_UNIX_RUNLEVEL = OVAL_FAMILY_UNIX + 6,
00239         OVAL_UNIX_SCCS = OVAL_FAMILY_UNIX + 7,
00240         OVAL_UNIX_SHADOW = OVAL_FAMILY_UNIX + 8,
00241         OVAL_UNIX_UNAME = OVAL_FAMILY_UNIX + 9,
00242         OVAL_UNIX_XINETD = OVAL_FAMILY_UNIX + 10,
00243         OVAL_UNIX_DNSCACHE = OVAL_FAMILY_UNIX + 11,
00244         OVAL_UNIX_SYSCTL = OVAL_FAMILY_UNIX + 12,
00245         OVAL_UNIX_PROCESS58 = OVAL_FAMILY_UNIX + 13,
00246         OVAL_UNIX_FILEEXTENDEDATTRIBUTE = OVAL_FAMILY_UNIX + 14,
00247         OVAL_UNIX_GCONF = OVAL_FAMILY_UNIX + 15,
00248         OVAL_UNIX_ROUTINGTABLE = OVAL_FAMILY_UNIX + 16
00249 } oval_unix_subtype_t;
00250 
00252 typedef enum {
00253         OVAL_WINDOWS_ACCESS_TOKEN = OVAL_FAMILY_WINDOWS + 1,
00254         OVAL_WINDOWS_ACTIVE_DIRECTORY = OVAL_FAMILY_WINDOWS + 2,
00255         OVAL_WINDOWS_AUDIT_EVENT_POLICY = OVAL_FAMILY_WINDOWS + 3,
00256         OVAL_WINDOWS_AUDIT_EVENT_SUBCATEGORIES = OVAL_FAMILY_WINDOWS + 4,
00257         OVAL_WINDOWS_FILE = OVAL_FAMILY_WINDOWS + 5,
00258         OVAL_WINDOWS_FILE_AUDITED_PERMISSIONS_53 = OVAL_FAMILY_WINDOWS + 6,
00259         OVAL_WINDOWS_FILE_AUDITED_PERMISSIONS = OVAL_FAMILY_WINDOWS + 7,
00260         OVAL_WINDOWS_FILE_EFFECTIVE_RIGHTS_53 = OVAL_FAMILY_WINDOWS + 8,
00261         OVAL_WINDOWS_FILE_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 9,
00262         OVAL_WINDOWS_GROUP = OVAL_FAMILY_WINDOWS + 10,
00263         OVAL_WINDOWS_GROUP_SID = OVAL_FAMILY_WINDOWS + 11,
00264         OVAL_WINDOWS_INTERFACE = OVAL_FAMILY_WINDOWS + 12,
00265         OVAL_WINDOWS_LOCKOUT_POLICY = OVAL_FAMILY_WINDOWS + 13,
00266         OVAL_WINDOWS_METABASE = OVAL_FAMILY_WINDOWS + 14,
00267         OVAL_WINDOWS_PASSWORD_POLICY = OVAL_FAMILY_WINDOWS + 15,
00268         OVAL_WINDOWS_PORT = OVAL_FAMILY_WINDOWS + 16,
00269         OVAL_WINDOWS_PRINTER_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 17,
00270         OVAL_WINDOWS_PROCESS = OVAL_FAMILY_WINDOWS + 18,
00271         OVAL_WINDOWS_REGISTRY = OVAL_FAMILY_WINDOWS + 19,
00272         OVAL_WINDOWS_REGKEY_AUDITED_PERMISSIONS_53 = OVAL_FAMILY_WINDOWS + 20,
00273         OVAL_WINDOWS_REGKEY_AUDITED_PERMISSIONS = OVAL_FAMILY_WINDOWS + 21,
00274         OVAL_WINDOWS_REGKEY_EFFECTIVE_RIGHTS_53 = OVAL_FAMILY_WINDOWS + 22,
00275         OVAL_WINDOWS_REGKEY_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 23,
00276         OVAL_WINDOWS_SHARED_RESOURCE = OVAL_FAMILY_WINDOWS + 24,
00277         OVAL_WINDOWS_SID = OVAL_FAMILY_WINDOWS + 25,
00278         OVAL_WINDOWS_SID_SID = OVAL_FAMILY_WINDOWS + 26,
00279         OVAL_WINDOWS_USER_ACCESS_CONTROL = OVAL_FAMILY_WINDOWS + 27,
00280         OVAL_WINDOWS_USER = OVAL_FAMILY_WINDOWS + 28,
00281         OVAL_WINDOWS_USER_SID_55 = OVAL_FAMILY_WINDOWS + 29,
00282         OVAL_WINDOWS_USER_SID = OVAL_FAMILY_WINDOWS + 30,
00283         OVAL_WINDOWS_VOLUME = OVAL_FAMILY_WINDOWS + 31,
00284         OVAL_WINDOWS_WMI = OVAL_FAMILY_WINDOWS + 32,
00285         OVAL_WINDOWS_WUA_UPDATE_SEARCHER = OVAL_FAMILY_WINDOWS + 33
00286 } oval_windows_subtype_t;
00287 
00289 typedef enum {
00290         XML_VALIDITY_WARNING = 1,
00291         XML_VALIDITY_ERROR = 2,
00292         XML_WARNING = 3,
00293         XML_ERROR = 4,
00294         OVAL_LOG_INFO = 15,
00295         OVAL_LOG_DEBUG = 16,
00296         OVAL_LOG_WARN = 17
00297 } oval_xml_severity_t;
00298 
00314 struct oval_variable_model;
00321 #endif                          /* OVAL_TYPES_H_ */