Open SCAP Library
oval_types.h
Go to the documentation of this file.
1 
11 /*
12  * Copyright 2009-2010 Red Hat Inc., Durham, North Carolina.
13  * All Rights Reserved.
14  *
15  * This library is free software; you can redistribute it and/or
16  * modify it under the terms of the GNU Lesser General Public
17  * License as published by the Free Software Foundation; either
18  * version 2.1 of the License, or (at your option) any later version.
19  *
20  * This library is distributed in the hope that it will be useful,
21  * but WITHOUT ANY WARRANTY; without even the implied warranty of
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23  * Lesser General Public License for more details.
24  *
25  * You should have received a copy of the GNU Lesser General Public
26  * License along with this library; if not, write to the Free Software
27  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28  *
29  * Authors:
30  * "David Niemoller" <David.Niemoller@g2-inc.com>
31  */
32 
33 #ifndef OVAL_TYPES_H_
34 #define OVAL_TYPES_H_
35 
36 #include <stdbool.h>
37 #include <oscap.h>
38 
39 
41 typedef enum {
117 } oval_family_t;
118 
120 typedef enum {
121  OVAL_SUBTYPE_UNKNOWN = 0,
122  OVAL_SUBTYPE_ALL = 1,
123  OVAL_SUBTYPE_SYSINFO = 2
125 
127 typedef enum {
128  OVAL_AIX_FILESET = 1001,
129  OVAL_AIX_FIX = OVAL_FAMILY_AIX + 2,
130  OVAL_AIX_OSLEVEL = OVAL_FAMILY_AIX + 3
132 
134 typedef enum {
135  OVAL_APACHE_HTTPD = OVAL_FAMILY_APACHE + 1,
136  OVAL_APACHE_VERSION = OVAL_FAMILY_APACHE + 2
138 
140 typedef enum {
141  OVAL_CATOS_LINE = OVAL_FAMILY_CATOS + 1,
142  OVAL_CATOS_MODULE = OVAL_FAMILY_CATOS + 2,
143  OVAL_CATOS_VERSION_55 = OVAL_FAMILY_CATOS + 3,
144  OVAL_CATOS_VERSION = OVAL_FAMILY_CATOS + 4
146 
148 typedef enum {
149  OVAL_ESX_PATCH = OVAL_FAMILY_ESX + 1,
150  OVAL_ESX_PATCH56 = OVAL_FAMILY_ESX + 2,
151  OVAL_ESX_VERSION = OVAL_FAMILY_ESX + 3,
152  OVAL_ESX_VISDKMANAGEDOBJECT = OVAL_FAMILY_ESX + 4
154 
156 typedef enum {
157  OVAL_FREEBSD_PORT_INFO = OVAL_FAMILY_FREEBSD + 1
159 
161 typedef enum {
162  OVAL_HPUX_GETCONF = OVAL_FAMILY_HPUX + 1,
163  OVAL_HPUX_PATCH_53 = OVAL_FAMILY_HPUX + 2,
164  OVAL_HPUX_PATCH = OVAL_FAMILY_HPUX + 3,
165  OVAL_HPUX_SOFTWARE_LIST = OVAL_FAMILY_HPUX + 4,
166  OVAL_HPUX_TRUSTED_ACCOUNTS = OVAL_FAMILY_HPUX + 5,
167  OVAL_HPUX_NDD = OVAL_FAMILY_HPUX + 6,
168  OVAL_HPUX_SWLIST = OVAL_FAMILY_HPUX + 7,
169  OVAL_HPUX_TRUSTED = OVAL_FAMILY_HPUX + 8
171 
173 typedef enum {
174  OVAL_INDEPENDENT_FAMILY = OVAL_FAMILY_INDEPENDENT + 1,
175  OVAL_INDEPENDENT_FILE_MD5 = OVAL_FAMILY_INDEPENDENT + 2,
176  OVAL_INDEPENDENT_FILE_HASH = OVAL_FAMILY_INDEPENDENT + 3,
177  OVAL_INDEPENDENT_ENVIRONMENT_VARIABLE = OVAL_FAMILY_INDEPENDENT + 4,
178  OVAL_INDEPENDENT_SQL = OVAL_FAMILY_INDEPENDENT + 5,
179  OVAL_INDEPENDENT_TEXT_FILE_CONTENT_54 = OVAL_FAMILY_INDEPENDENT + 6,
180  OVAL_INDEPENDENT_TEXT_FILE_CONTENT = OVAL_FAMILY_INDEPENDENT + 7,
181  OVAL_INDEPENDENT_UNKNOWN = OVAL_FAMILY_INDEPENDENT + 8,
182  OVAL_INDEPENDENT_VARIABLE = OVAL_FAMILY_INDEPENDENT + 9,
183  OVAL_INDEPENDENT_XML_FILE_CONTENT = OVAL_FAMILY_INDEPENDENT + 10,
184  OVAL_INDEPENDENT_LDAP57 = OVAL_FAMILY_INDEPENDENT + 11,
185  OVAL_INDEPENDENT_LDAP = OVAL_FAMILY_INDEPENDENT + 12,
186  OVAL_INDEPENDENT_SQL57 = OVAL_FAMILY_INDEPENDENT + 13,
187  OVAL_INDEPENDENT_ENVIRONMENT_VARIABLE58 = OVAL_FAMILY_INDEPENDENT + 14,
188  OVAL_INDEPENDENT_FILE_HASH58 = OVAL_FAMILY_INDEPENDENT + 15,
189  OVAL_INDEPENDENT_SYSCHAR_SUBTYPE = OVAL_FAMILY_INDEPENDENT + 16
191 
193 typedef enum {
194  OVAL_IOS_GLOBAL = OVAL_FAMILY_IOS + 1,
195  OVAL_IOS_INTERFACE = OVAL_FAMILY_IOS + 2,
196  OVAL_IOS_LINE = OVAL_FAMILY_IOS + 3,
197  OVAL_IOS_SNMP = OVAL_FAMILY_IOS + 4,
198  OVAL_IOS_TCLSH = OVAL_FAMILY_IOS + 5,
199  OVAL_IOS_VERSION_55 = OVAL_FAMILY_IOS + 6
201 
203 typedef enum {
204  OVAL_LINUX_DPKG_INFO = OVAL_FAMILY_LINUX + 1,
205  OVAL_LINUX_INET_LISTENING_SERVERS = OVAL_FAMILY_LINUX + 2,
206  OVAL_LINUX_RPM_INFO = OVAL_FAMILY_LINUX + 3,
207  OVAL_LINUX_SLACKWARE_PKG_INFO_TEST = OVAL_FAMILY_LINUX + 4,
208  OVAL_LINUX_PARTITION = OVAL_FAMILY_LINUX + 5,
209  OVAL_LINUX_IFLISTENERS = OVAL_FAMILY_LINUX + 6,
210  OVAL_LINUX_RPMVERIFY = OVAL_FAMILY_LINUX + 7,
211  OVAL_LINUX_RPMVERIFYFILE = OVAL_FAMILY_LINUX + 71,
212  OVAL_LINUX_RPMVERIFYPACKAGE = OVAL_FAMILY_LINUX + 72,
213  OVAL_LINUX_SELINUXBOOLEAN = OVAL_FAMILY_LINUX + 8,
214  OVAL_LINUX_SELINUXSECURITYCONTEXT = OVAL_FAMILY_LINUX + 9,
215  OVAL_LINUX_INET_LISTENING_SERVER = OVAL_FAMILY_LINUX + 102,
216  OVAL_LINUX_SYSTEMDUNITPROPERTY = OVAL_FAMILY_LINUX + 103,
217  OVAL_LINUX_SYSTEMDUNITDEPENDENCY = OVAL_FAMILY_LINUX + 104,
219 
221 typedef enum {
222  OVAL_MACOS_ACCOUNT_INFO = OVAL_FAMILY_MACOS + 1,
223  OVAL_MACOS_INET_LISTENING_SERVERS = OVAL_FAMILY_MACOS + 2,
224  OVAL_MACOS_NVRAM_INFO = OVAL_FAMILY_MACOS + 3,
225  OVAL_MACOS_PWPOLICY = OVAL_FAMILY_MACOS + 4
227 
229 typedef enum {
230  OVAL_PIXOS_LINE = OVAL_FAMILY_PIXOS + 1,
231  OVAL_PIXOS_VERSION = OVAL_FAMILY_PIXOS + 2
233 
235 typedef enum {
236  OVAL_SOLARIS_ISAINFO = OVAL_FAMILY_SOLARIS + 1,
237  OVAL_SOLARIS_PACKAGE = OVAL_FAMILY_SOLARIS + 2,
238  OVAL_SOLARIS_PATCH = OVAL_FAMILY_SOLARIS + 3,
239  OVAL_SOLARIS_SMF = OVAL_FAMILY_SOLARIS + 4,
240  OVAL_SOLARIS_PATCH54 = OVAL_FAMILY_SOLARIS + 5,
241  OVAL_SOLARIS_NDD = OVAL_FAMILY_SOLARIS + 6,
242  OVAL_SOLARIS_PACKAGECHECK = OVAL_FAMILY_SOLARIS + 7
244 
246 typedef enum {
247  OVAL_UNIX_FILE = OVAL_FAMILY_UNIX + 1,
248  OVAL_UNIX_INETD = OVAL_FAMILY_UNIX + 2,
249  OVAL_UNIX_INTERFACE = OVAL_FAMILY_UNIX + 3,
250  OVAL_UNIX_PASSWORD = OVAL_FAMILY_UNIX + 4,
251  OVAL_UNIX_PROCESS = OVAL_FAMILY_UNIX + 5,
252  OVAL_UNIX_RUNLEVEL = OVAL_FAMILY_UNIX + 6,
253  OVAL_UNIX_SCCS = OVAL_FAMILY_UNIX + 7,
254  OVAL_UNIX_SHADOW = OVAL_FAMILY_UNIX + 8,
255  OVAL_UNIX_UNAME = OVAL_FAMILY_UNIX + 9,
256  OVAL_UNIX_XINETD = OVAL_FAMILY_UNIX + 10,
257  OVAL_UNIX_DNSCACHE = OVAL_FAMILY_UNIX + 11,
258  OVAL_UNIX_SYSCTL = OVAL_FAMILY_UNIX + 12,
259  OVAL_UNIX_PROCESS58 = OVAL_FAMILY_UNIX + 13,
260  OVAL_UNIX_FILEEXTENDEDATTRIBUTE = OVAL_FAMILY_UNIX + 14,
261  OVAL_UNIX_GCONF = OVAL_FAMILY_UNIX + 15,
262  OVAL_UNIX_ROUTINGTABLE = OVAL_FAMILY_UNIX + 16,
263  OVAL_UNIX_SYMLINK = OVAL_FAMILY_UNIX + 17
265 
267 typedef enum {
268  OVAL_WINDOWS_ACCESS_TOKEN = OVAL_FAMILY_WINDOWS + 1,
269  OVAL_WINDOWS_ACTIVE_DIRECTORY = OVAL_FAMILY_WINDOWS + 2,
270  OVAL_WINDOWS_AUDIT_EVENT_POLICY = OVAL_FAMILY_WINDOWS + 3,
271  OVAL_WINDOWS_AUDIT_EVENT_POLICY_SUBCATEGORIES = OVAL_FAMILY_WINDOWS + 4,
272  OVAL_WINDOWS_FILE = OVAL_FAMILY_WINDOWS + 5,
273  OVAL_WINDOWS_FILE_AUDITED_PERMISSIONS_53 = OVAL_FAMILY_WINDOWS + 6,
274  OVAL_WINDOWS_FILE_AUDITED_PERMISSIONS = OVAL_FAMILY_WINDOWS + 7,
275  OVAL_WINDOWS_FILE_EFFECTIVE_RIGHTS_53 = OVAL_FAMILY_WINDOWS + 8,
276  OVAL_WINDOWS_FILE_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 9,
277  OVAL_WINDOWS_GROUP = OVAL_FAMILY_WINDOWS + 10,
278  OVAL_WINDOWS_GROUP_SID = OVAL_FAMILY_WINDOWS + 11,
279  OVAL_WINDOWS_INTERFACE = OVAL_FAMILY_WINDOWS + 12,
280  OVAL_WINDOWS_LOCKOUT_POLICY = OVAL_FAMILY_WINDOWS + 13,
281  OVAL_WINDOWS_METABASE = OVAL_FAMILY_WINDOWS + 14,
282  OVAL_WINDOWS_PASSWORD_POLICY = OVAL_FAMILY_WINDOWS + 15,
283  OVAL_WINDOWS_PORT = OVAL_FAMILY_WINDOWS + 16,
284  OVAL_WINDOWS_PRINTER_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 17,
285  OVAL_WINDOWS_PROCESS = OVAL_FAMILY_WINDOWS + 18,
286  OVAL_WINDOWS_REGISTRY = OVAL_FAMILY_WINDOWS + 19,
287  OVAL_WINDOWS_REGKEY_AUDITED_PERMISSIONS_53 = OVAL_FAMILY_WINDOWS + 20,
288  OVAL_WINDOWS_REGKEY_AUDITED_PERMISSIONS = OVAL_FAMILY_WINDOWS + 21,
289  OVAL_WINDOWS_REGKEY_EFFECTIVE_RIGHTS_53 = OVAL_FAMILY_WINDOWS + 22,
290  OVAL_WINDOWS_REGKEY_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 23,
291  OVAL_WINDOWS_SHARED_RESOURCE = OVAL_FAMILY_WINDOWS + 24,
292  OVAL_WINDOWS_SID = OVAL_FAMILY_WINDOWS + 25,
293  OVAL_WINDOWS_SID_SID = OVAL_FAMILY_WINDOWS + 26,
294  OVAL_WINDOWS_UAC = OVAL_FAMILY_WINDOWS + 27,
295  OVAL_WINDOWS_USER = OVAL_FAMILY_WINDOWS + 28,
296  OVAL_WINDOWS_USER_SID_55 = OVAL_FAMILY_WINDOWS + 29,
297  OVAL_WINDOWS_USER_SID = OVAL_FAMILY_WINDOWS + 30,
298  OVAL_WINDOWS_VOLUME = OVAL_FAMILY_WINDOWS + 31,
299  OVAL_WINDOWS_WMI = OVAL_FAMILY_WINDOWS + 32,
300  OVAL_WINDOWS_WUA_UPDATE_SEARCHER = OVAL_FAMILY_WINDOWS + 33,
301  OVAL_WINDOWS_ACTIVE_DIRECTORY_57 = OVAL_FAMILY_WINDOWS + 34,
302  OVAL_WINDOWS_CMDLET = OVAL_FAMILY_WINDOWS + 35,
303  OVAL_WINDOWS_DNSCACHE = OVAL_FAMILY_WINDOWS + 36,
304  OVAL_WINDOWS_LICENSE = OVAL_FAMILY_WINDOWS + 37,
305  OVAL_WINDOWS_NTUSER = OVAL_FAMILY_WINDOWS + 38,
306  OVAL_WINDOWS_PEHEADER = OVAL_FAMILY_WINDOWS + 39,
307  OVAL_WINDOWS_PROCESS_58 = OVAL_FAMILY_WINDOWS + 40,
308  OVAL_WINDOWS_SERVICE = OVAL_FAMILY_WINDOWS + 41,
309  OVAL_WINDOWS_SERVICE_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 42,
310  OVAL_WINDOWS_SHARED_RESOURCE_AUDITED_PERMISSIONS = OVAL_FAMILY_WINDOWS + 43,
311  OVAL_WINDOWS_SHARED_RESOURCE_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 44,
312  OVAL_WINDOWS_SYSTEM_METRIC = OVAL_FAMILY_WINDOWS + 45,
313  OVAL_WINDOWS_USER_RIGHT = OVAL_FAMILY_WINDOWS + 46,
314  OVAL_WINDOWS_WMI_57 = OVAL_FAMILY_WINDOWS + 47,
315 
316  // deprecated, use OVAL_WINDOWS_AUTID_EVENT_POLICY_SUBCATEGORIES instead
317  OVAL_WINDOWS_AUDIT_EVENT_SUBCATEGORIES = OVAL_FAMILY_WINDOWS + 4,
318  // deprecated, use OVAL_WINDOWS_UAC instead
319  OVAL_WINDOWS_USER_ACCESS_CONTROL = OVAL_FAMILY_WINDOWS + 27,
321 
323 typedef enum {
324  XML_VALIDITY_WARNING = 1,
325  XML_VALIDITY_ERROR = 2,
326  XML_WARNING = 3,
327 #ifndef _WIN32
328  XML_ERROR = 4,
329 #endif
330  OVAL_LOG_INFO = 15,
331  OVAL_LOG_DEBUG = 16,
332  OVAL_LOG_WARN = 17
334 
349 typedef enum {
356 } oval_result_t;
371 struct oval_variable_model;
383 
384 
385 #endif /* OVAL_TYPES_H_ */
Characteristics being evaluated do not match the information represented in the system characteristic...
Definition: oval_types.h:351
oval_subtype_t
Unknown subtypes.
Definition: oval_types.h:120
CatOS family.
Definition: oval_types.h:61
General OpenScap functions and types.
HPUX family.
Definition: oval_types.h:76
oval_ios_subtype_t
IOS subtypes.
Definition: oval_types.h:193
Valid.
Definition: oval_types.h:381
Apache family.
Definition: oval_types.h:56
oval_macos_subtype_t
MacOS subtypes.
Definition: oval_types.h:221
Valid.
Definition: oval_types.h:380
Platform independent family.
Definition: oval_types.h:81
Choice was made not to evaluate the given definition or test.
Definition: oval_types.h:354
Windows family.
Definition: oval_types.h:116
FreeBSD family.
Definition: oval_types.h:71
oval_aix_subtype_t
AIX subtypes.
Definition: oval_types.h:127
oval_apache_subtype_t
Apache subtypes.
Definition: oval_types.h:134
Solaris family.
Definition: oval_types.h:106
oval_unix_subtype_t
Unix subtypes.
Definition: oval_types.h:246
oval_hpux_subtype_t
HPUX subtypes.
Definition: oval_types.h:161
Linux family.
Definition: oval_types.h:91
Unix family.
Definition: oval_types.h:111
Valid.
Definition: oval_types.h:378
Characteristics being evaluated can not be found in the system characteristic.
Definition: oval_types.h:352
oval_family_t
OVAL family.
Definition: oval_types.h:41
oval_catos_subtype_t
CatOS subtypes.
Definition: oval_types.h:140
oval_pixos_subtype_t
PIXOS subtypes.
Definition: oval_types.h:229
oval_windows_subtype_t
Windows subtypes.
Definition: oval_types.h:267
ESX family.
Definition: oval_types.h:66
oval_freebsd_subtype_t
FreeBSD subtypes.
Definition: oval_types.h:156
AIX family.
Definition: oval_types.h:51
Characteristics being evaluated exist in the system characteristic file but there was an error either...
Definition: oval_types.h:353
PIXOS family.
Definition: oval_types.h:101
oval_result_t
Result values for the evaluation of an OVAL Definition or an OVAL Test.
Definition: oval_types.h:349
IOS family.
Definition: oval_types.h:86
oval_definition_class_t
Definition: oval_types.h:375
Valid.
Definition: oval_types.h:377
oval_esx_subtype_t
ESX subtypes.
Definition: oval_types.h:148
oval_solaris_subtype_t
Solaris subtypes.
Definition: oval_types.h:235
oval_linux_subtype_t
Linux subtypes.
Definition: oval_types.h:203
Not valid.
Definition: oval_types.h:376
The OVAL variable model facilitates access to external variable value bindings used to to constrain t...
Definition: oval_varModel.c:56
Unknown platform.
Definition: oval_types.h:46
Characteristics being evaluated match the information represented in the system characteristic.
Definition: oval_types.h:350
Valid.
Definition: oval_types.h:379
oval_independent_subtype_t
Platform independent subtypes.
Definition: oval_types.h:173
MacOS family.
Definition: oval_types.h:96
oval_xml_severity_t
severity level
Definition: oval_types.h:323
Definition or test being evaluated is not valid on the given platform.
Definition: oval_types.h:355