Open SCAP Library
|
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_INET_LISTENING_SERVER = OVAL_FAMILY_LINUX + 102, 00208 } oval_linux_subtype_t; 00209 00211 typedef enum { 00212 OVAL_MACOS_ACCOUNT_INFO = OVAL_FAMILY_MACOS + 1, 00213 OVAL_MACOS_INET_LISTENING_SERVERS = OVAL_FAMILY_MACOS + 2, 00214 OVAL_MACOS_NVRAM_INFO = OVAL_FAMILY_MACOS + 3, 00215 OVAL_MACOS_PWPOLICY = OVAL_FAMILY_MACOS + 4 00216 } oval_macos_subtype_t; 00217 00219 typedef enum { 00220 OVAL_PIXOS_LINE = OVAL_FAMILY_PIXOS + 1, 00221 OVAL_PIXOS_VERSION = OVAL_FAMILY_PIXOS + 2 00222 } oval_pixos_subtype_t; 00223 00225 typedef enum { 00226 OVAL_SOLARIS_ISAINFO = OVAL_FAMILY_SOLARIS + 1, 00227 OVAL_SOLARIS_PACKAGE = OVAL_FAMILY_SOLARIS + 2, 00228 OVAL_SOLARIS_PATCH = OVAL_FAMILY_SOLARIS + 3, 00229 OVAL_SOLARIS_SMF = OVAL_FAMILY_SOLARIS + 4 00230 } oval_solaris_subtype_t; 00231 00233 typedef enum { 00234 OVAL_UNIX_FILE = OVAL_FAMILY_UNIX + 1, 00235 OVAL_UNIX_INETD = OVAL_FAMILY_UNIX + 2, 00236 OVAL_UNIX_INTERFACE = OVAL_FAMILY_UNIX + 3, 00237 OVAL_UNIX_PASSWORD = OVAL_FAMILY_UNIX + 4, 00238 OVAL_UNIX_PROCESS = OVAL_FAMILY_UNIX + 5, 00239 OVAL_UNIX_RUNLEVEL = OVAL_FAMILY_UNIX + 6, 00240 OVAL_UNIX_SCCS = OVAL_FAMILY_UNIX + 7, 00241 OVAL_UNIX_SHADOW = OVAL_FAMILY_UNIX + 8, 00242 OVAL_UNIX_UNAME = OVAL_FAMILY_UNIX + 9, 00243 OVAL_UNIX_XINETD = OVAL_FAMILY_UNIX + 10, 00244 OVAL_UNIX_DNSCACHE = OVAL_FAMILY_UNIX + 11, 00245 OVAL_UNIX_SYSCTL = OVAL_FAMILY_UNIX + 12, 00246 OVAL_UNIX_PROCESS58 = OVAL_FAMILY_UNIX + 13, 00247 OVAL_UNIX_FILEEXTENDEDATTRIBUTE = OVAL_FAMILY_UNIX + 14, 00248 OVAL_UNIX_GCONF = OVAL_FAMILY_UNIX + 15, 00249 OVAL_UNIX_ROUTINGTABLE = OVAL_FAMILY_UNIX + 16 00250 } oval_unix_subtype_t; 00251 00253 typedef enum { 00254 OVAL_WINDOWS_ACCESS_TOKEN = OVAL_FAMILY_WINDOWS + 1, 00255 OVAL_WINDOWS_ACTIVE_DIRECTORY = OVAL_FAMILY_WINDOWS + 2, 00256 OVAL_WINDOWS_AUDIT_EVENT_POLICY = OVAL_FAMILY_WINDOWS + 3, 00257 OVAL_WINDOWS_AUDIT_EVENT_SUBCATEGORIES = OVAL_FAMILY_WINDOWS + 4, 00258 OVAL_WINDOWS_FILE = OVAL_FAMILY_WINDOWS + 5, 00259 OVAL_WINDOWS_FILE_AUDITED_PERMISSIONS_53 = OVAL_FAMILY_WINDOWS + 6, 00260 OVAL_WINDOWS_FILE_AUDITED_PERMISSIONS = OVAL_FAMILY_WINDOWS + 7, 00261 OVAL_WINDOWS_FILE_EFFECTIVE_RIGHTS_53 = OVAL_FAMILY_WINDOWS + 8, 00262 OVAL_WINDOWS_FILE_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 9, 00263 OVAL_WINDOWS_GROUP = OVAL_FAMILY_WINDOWS + 10, 00264 OVAL_WINDOWS_GROUP_SID = OVAL_FAMILY_WINDOWS + 11, 00265 OVAL_WINDOWS_INTERFACE = OVAL_FAMILY_WINDOWS + 12, 00266 OVAL_WINDOWS_LOCKOUT_POLICY = OVAL_FAMILY_WINDOWS + 13, 00267 OVAL_WINDOWS_METABASE = OVAL_FAMILY_WINDOWS + 14, 00268 OVAL_WINDOWS_PASSWORD_POLICY = OVAL_FAMILY_WINDOWS + 15, 00269 OVAL_WINDOWS_PORT = OVAL_FAMILY_WINDOWS + 16, 00270 OVAL_WINDOWS_PRINTER_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 17, 00271 OVAL_WINDOWS_PROCESS = OVAL_FAMILY_WINDOWS + 18, 00272 OVAL_WINDOWS_REGISTRY = OVAL_FAMILY_WINDOWS + 19, 00273 OVAL_WINDOWS_REGKEY_AUDITED_PERMISSIONS_53 = OVAL_FAMILY_WINDOWS + 20, 00274 OVAL_WINDOWS_REGKEY_AUDITED_PERMISSIONS = OVAL_FAMILY_WINDOWS + 21, 00275 OVAL_WINDOWS_REGKEY_EFFECTIVE_RIGHTS_53 = OVAL_FAMILY_WINDOWS + 22, 00276 OVAL_WINDOWS_REGKEY_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 23, 00277 OVAL_WINDOWS_SHARED_RESOURCE = OVAL_FAMILY_WINDOWS + 24, 00278 OVAL_WINDOWS_SID = OVAL_FAMILY_WINDOWS + 25, 00279 OVAL_WINDOWS_SID_SID = OVAL_FAMILY_WINDOWS + 26, 00280 OVAL_WINDOWS_USER_ACCESS_CONTROL = OVAL_FAMILY_WINDOWS + 27, 00281 OVAL_WINDOWS_USER = OVAL_FAMILY_WINDOWS + 28, 00282 OVAL_WINDOWS_USER_SID_55 = OVAL_FAMILY_WINDOWS + 29, 00283 OVAL_WINDOWS_USER_SID = OVAL_FAMILY_WINDOWS + 30, 00284 OVAL_WINDOWS_VOLUME = OVAL_FAMILY_WINDOWS + 31, 00285 OVAL_WINDOWS_WMI = OVAL_FAMILY_WINDOWS + 32, 00286 OVAL_WINDOWS_WUA_UPDATE_SEARCHER = OVAL_FAMILY_WINDOWS + 33 00287 } oval_windows_subtype_t; 00288 00290 typedef enum { 00291 XML_VALIDITY_WARNING = 1, 00292 XML_VALIDITY_ERROR = 2, 00293 XML_WARNING = 3, 00294 XML_ERROR = 4, 00295 OVAL_LOG_INFO = 15, 00296 OVAL_LOG_DEBUG = 16, 00297 OVAL_LOG_WARN = 17 00298 } oval_xml_severity_t; 00299 00314 typedef enum { 00315 OVAL_RESULT_TRUE = 1, 00316 OVAL_RESULT_FALSE = 2, 00317 OVAL_RESULT_UNKNOWN = 4, 00318 OVAL_RESULT_ERROR = 8, 00319 OVAL_RESULT_NOT_EVALUATED = 16, 00320 OVAL_RESULT_NOT_APPLICABLE = 32 00321 } oval_result_t; 00336 struct oval_variable_model; 00340 typedef enum { OVAL_CLASS_UNKNOWN = 0, OVAL_CLASS_COMPLIANCE = 1, OVAL_CLASS_INVENTORY = 2, OVAL_CLASS_MISCELLANEOUS = 3, OVAL_CLASS_PATCH = 4, OVAL_CLASS_VULNERABILITY = 5, 00347 } oval_definition_class_t; 00348 00349 00350 #endif /* OVAL_TYPES_H_ */