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 {
46 OVAL_FAMILY_UNKNOWN = 0,
51 OVAL_FAMILY_AIX = 1000,
56 OVAL_FAMILY_APACHE = 2000,
61 OVAL_FAMILY_CATOS = 3000,
66 OVAL_FAMILY_ESX = 4000,
71 OVAL_FAMILY_FREEBSD = 5000,
76 OVAL_FAMILY_HPUX = 6000,
81 OVAL_FAMILY_INDEPENDENT = 7000,
86 OVAL_FAMILY_IOS = 8000,
91 OVAL_FAMILY_LINUX = 9000,
96 OVAL_FAMILY_MACOS = 10000,
101 OVAL_FAMILY_PIXOS = 11000,
106 OVAL_FAMILY_SOLARIS = 12000,
111 OVAL_FAMILY_UNIX = 13000,
116 OVAL_FAMILY_WINDOWS = 14000
117 } oval_family_t;
118
120 typedef enum {
121 OVAL_SUBTYPE_UNKNOWN = 0,
122 OVAL_SUBTYPE_ALL = 1,
123 OVAL_SUBTYPE_SYSINFO = 2
124 } oval_subtype_t;
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
131 } oval_aix_subtype_t;
132
134 typedef enum {
135 OVAL_APACHE_HTTPD = OVAL_FAMILY_APACHE + 1,
136 OVAL_APACHE_VERSION = OVAL_FAMILY_APACHE + 2
137 } oval_apache_subtype_t;
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
145 } oval_catos_subtype_t;
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
153 } oval_esx_subtype_t;
154
156 typedef enum {
157 OVAL_FREEBSD_PORT_INFO = OVAL_FAMILY_FREEBSD + 1
158 } oval_freebsd_subtype_t;
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
170 } oval_hpux_subtype_t;
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_subtype_t;
190
192 typedef enum {
193 OVAL_IOS_GLOBAL = OVAL_FAMILY_IOS + 1,
194 OVAL_IOS_INTERFACE = OVAL_FAMILY_IOS + 2,
195 OVAL_IOS_LINE = OVAL_FAMILY_IOS + 3,
196 OVAL_IOS_SNMP = OVAL_FAMILY_IOS + 4,
197 OVAL_IOS_TCLSH = OVAL_FAMILY_IOS + 5,
198 OVAL_IOS_VERSION_55 = OVAL_FAMILY_IOS + 6
199 } oval_ios_subtype_t;
200
202 typedef enum {
203 OVAL_LINUX_DPKG_INFO = OVAL_FAMILY_LINUX + 1,
204 OVAL_LINUX_INET_LISTENING_SERVERS = OVAL_FAMILY_LINUX + 2,
205 OVAL_LINUX_RPM_INFO = OVAL_FAMILY_LINUX + 3,
206 OVAL_LINUX_SLACKWARE_PKG_INFO_TEST = OVAL_FAMILY_LINUX + 4,
207 OVAL_LINUX_PARTITION = OVAL_FAMILY_LINUX + 5,
208 OVAL_LINUX_IFLISTENERS = OVAL_FAMILY_LINUX + 6,
209 OVAL_LINUX_RPMVERIFY = OVAL_FAMILY_LINUX + 7,
210 OVAL_LINUX_RPMVERIFYFILE = OVAL_FAMILY_LINUX + 71,
211 OVAL_LINUX_RPMVERIFYPACKAGE = OVAL_FAMILY_LINUX + 72,
212 OVAL_LINUX_SELINUXBOOLEAN = OVAL_FAMILY_LINUX + 8,
213 OVAL_LINUX_SELINUXSECURITYCONTEXT = OVAL_FAMILY_LINUX + 9,
214 OVAL_LINUX_INET_LISTENING_SERVER = OVAL_FAMILY_LINUX + 102,
215 OVAL_LINUX_SYSTEMDUNITPROPERTY = OVAL_FAMILY_LINUX + 103,
216 OVAL_LINUX_SYSTEMDUNITDEPENDENCY = OVAL_FAMILY_LINUX + 104,
217 } oval_linux_subtype_t;
218
220 typedef enum {
221 OVAL_MACOS_ACCOUNT_INFO = OVAL_FAMILY_MACOS + 1,
222 OVAL_MACOS_INET_LISTENING_SERVERS = OVAL_FAMILY_MACOS + 2,
223 OVAL_MACOS_NVRAM_INFO = OVAL_FAMILY_MACOS + 3,
224 OVAL_MACOS_PWPOLICY = OVAL_FAMILY_MACOS + 4
225 } oval_macos_subtype_t;
226
228 typedef enum {
229 OVAL_PIXOS_LINE = OVAL_FAMILY_PIXOS + 1,
230 OVAL_PIXOS_VERSION = OVAL_FAMILY_PIXOS + 2
231 } oval_pixos_subtype_t;
232
234 typedef enum {
235 OVAL_SOLARIS_ISAINFO = OVAL_FAMILY_SOLARIS + 1,
236 OVAL_SOLARIS_PACKAGE = OVAL_FAMILY_SOLARIS + 2,
237 OVAL_SOLARIS_PATCH = OVAL_FAMILY_SOLARIS + 3,
238 OVAL_SOLARIS_SMF = OVAL_FAMILY_SOLARIS + 4,
239 OVAL_SOLARIS_PATCH54 = OVAL_FAMILY_SOLARIS + 5,
240 OVAL_SOLARIS_NDD = OVAL_FAMILY_SOLARIS + 6,
241 OVAL_SOLARIS_PACKAGECHECK = OVAL_FAMILY_SOLARIS + 7
242 } oval_solaris_subtype_t;
243
245 typedef enum {
246 OVAL_UNIX_FILE = OVAL_FAMILY_UNIX + 1,
247 OVAL_UNIX_INETD = OVAL_FAMILY_UNIX + 2,
248 OVAL_UNIX_INTERFACE = OVAL_FAMILY_UNIX + 3,
249 OVAL_UNIX_PASSWORD = OVAL_FAMILY_UNIX + 4,
250 OVAL_UNIX_PROCESS = OVAL_FAMILY_UNIX + 5,
251 OVAL_UNIX_RUNLEVEL = OVAL_FAMILY_UNIX + 6,
252 OVAL_UNIX_SCCS = OVAL_FAMILY_UNIX + 7,
253 OVAL_UNIX_SHADOW = OVAL_FAMILY_UNIX + 8,
254 OVAL_UNIX_UNAME = OVAL_FAMILY_UNIX + 9,
255 OVAL_UNIX_XINETD = OVAL_FAMILY_UNIX + 10,
256 OVAL_UNIX_DNSCACHE = OVAL_FAMILY_UNIX + 11,
257 OVAL_UNIX_SYSCTL = OVAL_FAMILY_UNIX + 12,
258 OVAL_UNIX_PROCESS58 = OVAL_FAMILY_UNIX + 13,
259 OVAL_UNIX_FILEEXTENDEDATTRIBUTE = OVAL_FAMILY_UNIX + 14,
260 OVAL_UNIX_GCONF = OVAL_FAMILY_UNIX + 15,
261 OVAL_UNIX_ROUTINGTABLE = OVAL_FAMILY_UNIX + 16,
262 OVAL_UNIX_SYMLINK = OVAL_FAMILY_UNIX + 17
263 } oval_unix_subtype_t;
264
266 typedef enum {
267 OVAL_WINDOWS_ACCESS_TOKEN = OVAL_FAMILY_WINDOWS + 1,
268 OVAL_WINDOWS_ACTIVE_DIRECTORY = OVAL_FAMILY_WINDOWS + 2,
269 OVAL_WINDOWS_AUDIT_EVENT_POLICY = OVAL_FAMILY_WINDOWS + 3,
270 OVAL_WINDOWS_AUDIT_EVENT_SUBCATEGORIES = OVAL_FAMILY_WINDOWS + 4,
271 OVAL_WINDOWS_FILE = OVAL_FAMILY_WINDOWS + 5,
272 OVAL_WINDOWS_FILE_AUDITED_PERMISSIONS_53 = OVAL_FAMILY_WINDOWS + 6,
273 OVAL_WINDOWS_FILE_AUDITED_PERMISSIONS = OVAL_FAMILY_WINDOWS + 7,
274 OVAL_WINDOWS_FILE_EFFECTIVE_RIGHTS_53 = OVAL_FAMILY_WINDOWS + 8,
275 OVAL_WINDOWS_FILE_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 9,
276 OVAL_WINDOWS_GROUP = OVAL_FAMILY_WINDOWS + 10,
277 OVAL_WINDOWS_GROUP_SID = OVAL_FAMILY_WINDOWS + 11,
278 OVAL_WINDOWS_INTERFACE = OVAL_FAMILY_WINDOWS + 12,
279 OVAL_WINDOWS_LOCKOUT_POLICY = OVAL_FAMILY_WINDOWS + 13,
280 OVAL_WINDOWS_METABASE = OVAL_FAMILY_WINDOWS + 14,
281 OVAL_WINDOWS_PASSWORD_POLICY = OVAL_FAMILY_WINDOWS + 15,
282 OVAL_WINDOWS_PORT = OVAL_FAMILY_WINDOWS + 16,
283 OVAL_WINDOWS_PRINTER_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 17,
284 OVAL_WINDOWS_PROCESS = OVAL_FAMILY_WINDOWS + 18,
285 OVAL_WINDOWS_REGISTRY = OVAL_FAMILY_WINDOWS + 19,
286 OVAL_WINDOWS_REGKEY_AUDITED_PERMISSIONS_53 = OVAL_FAMILY_WINDOWS + 20,
287 OVAL_WINDOWS_REGKEY_AUDITED_PERMISSIONS = OVAL_FAMILY_WINDOWS + 21,
288 OVAL_WINDOWS_REGKEY_EFFECTIVE_RIGHTS_53 = OVAL_FAMILY_WINDOWS + 22,
289 OVAL_WINDOWS_REGKEY_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 23,
290 OVAL_WINDOWS_SHARED_RESOURCE = OVAL_FAMILY_WINDOWS + 24,
291 OVAL_WINDOWS_SID = OVAL_FAMILY_WINDOWS + 25,
292 OVAL_WINDOWS_SID_SID = OVAL_FAMILY_WINDOWS + 26,
293 OVAL_WINDOWS_USER_ACCESS_CONTROL = OVAL_FAMILY_WINDOWS + 27,
294 OVAL_WINDOWS_USER = OVAL_FAMILY_WINDOWS + 28,
295 OVAL_WINDOWS_USER_SID_55 = OVAL_FAMILY_WINDOWS + 29,
296 OVAL_WINDOWS_USER_SID = OVAL_FAMILY_WINDOWS + 30,
297 OVAL_WINDOWS_VOLUME = OVAL_FAMILY_WINDOWS + 31,
298 OVAL_WINDOWS_WMI = OVAL_FAMILY_WINDOWS + 32,
299 OVAL_WINDOWS_WUA_UPDATE_SEARCHER = OVAL_FAMILY_WINDOWS + 33
300 } oval_windows_subtype_t;
301
303 typedef enum {
304 XML_VALIDITY_WARNING = 1,
305 XML_VALIDITY_ERROR = 2,
306 XML_WARNING = 3,
307 XML_ERROR = 4,
308 OVAL_LOG_INFO = 15,
309 OVAL_LOG_DEBUG = 16,
310 OVAL_LOG_WARN = 17
311 } oval_xml_severity_t;
312
327 typedef enum {
328 OVAL_RESULT_TRUE = 1,
329 OVAL_RESULT_FALSE = 2,
330 OVAL_RESULT_UNKNOWN = 4,
331 OVAL_RESULT_ERROR = 8,
332 OVAL_RESULT_NOT_EVALUATED = 16,
333 OVAL_RESULT_NOT_APPLICABLE = 32
334 } oval_result_t;
349 struct oval_variable_model;
353 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,
360 } oval_definition_class_t;
361
362
363 #endif /* OVAL_TYPES_H_ */
OVAL_RESULT_FALSE
Characteristics being evaluated do not match the information represented in the system characteristic...
Definition: oval_types.h:329
oval_subtype_t
oval_subtype_t
Unknown subtypes.
Definition: oval_types.h:120
OVAL_FAMILY_CATOS
CatOS family.
Definition: oval_types.h:61
oscap.h
General OpenScap functions and types.
OVAL_FAMILY_HPUX
HPUX family.
Definition: oval_types.h:76
oval_ios_subtype_t
oval_ios_subtype_t
IOS subtypes.
Definition: oval_types.h:192
OVAL_CLASS_VULNERABILITY
Valid.
Definition: oval_types.h:359
OVAL_FAMILY_APACHE
Apache family.
Definition: oval_types.h:56
oval_macos_subtype_t
oval_macos_subtype_t
MacOS subtypes.
Definition: oval_types.h:220
OVAL_CLASS_PATCH
Valid.
Definition: oval_types.h:358
OVAL_FAMILY_INDEPENDENT
Platform independent family.
Definition: oval_types.h:81
OVAL_RESULT_NOT_EVALUATED
Choice was made not to evaluate the given definition or test.
Definition: oval_types.h:332
OVAL_FAMILY_WINDOWS
Windows family.
Definition: oval_types.h:116
OVAL_FAMILY_FREEBSD
FreeBSD family.
Definition: oval_types.h:71
oval_aix_subtype_t
oval_aix_subtype_t
AIX subtypes.
Definition: oval_types.h:127
oval_apache_subtype_t
oval_apache_subtype_t
Apache subtypes.
Definition: oval_types.h:134
OVAL_FAMILY_SOLARIS
Solaris family.
Definition: oval_types.h:106
oval_unix_subtype_t
oval_unix_subtype_t
Unix subtypes.
Definition: oval_types.h:245
oval_hpux_subtype_t
oval_hpux_subtype_t
HPUX subtypes.
Definition: oval_types.h:161
OVAL_FAMILY_LINUX
Linux family.
Definition: oval_types.h:91
OVAL_FAMILY_UNIX
Unix family.
Definition: oval_types.h:111
OVAL_CLASS_INVENTORY
Valid.
Definition: oval_types.h:356
OVAL_RESULT_UNKNOWN
Characteristics being evaluated can not be found in the system characteristic.
Definition: oval_types.h:330
oval_family_t
oval_family_t
OVAL family.
Definition: oval_types.h:41
oval_catos_subtype_t
oval_catos_subtype_t
CatOS subtypes.
Definition: oval_types.h:140
oval_pixos_subtype_t
oval_pixos_subtype_t
PIXOS subtypes.
Definition: oval_types.h:228
oval_windows_subtype_t
oval_windows_subtype_t
Windows subtypes.
Definition: oval_types.h:266
OVAL_FAMILY_ESX
ESX family.
Definition: oval_types.h:66
oval_freebsd_subtype_t
oval_freebsd_subtype_t
FreeBSD subtypes.
Definition: oval_types.h:156
OVAL_FAMILY_AIX
AIX family.
Definition: oval_types.h:51
OVAL_RESULT_ERROR
Characteristics being evaluated exist in the system characteristic file but there was an error either...
Definition: oval_types.h:331
OVAL_FAMILY_PIXOS
PIXOS family.
Definition: oval_types.h:101
oval_result_t
oval_result_t
Result values for the evaluation of an OVAL Definition or an OVAL Test.
Definition: oval_types.h:327
OVAL_FAMILY_IOS
IOS family.
Definition: oval_types.h:86
oval_definition_class_t
oval_definition_class_t
Definition: oval_types.h:353
OVAL_CLASS_COMPLIANCE
Valid.
Definition: oval_types.h:355
oval_esx_subtype_t
oval_esx_subtype_t
ESX subtypes.
Definition: oval_types.h:148
oval_solaris_subtype_t
oval_solaris_subtype_t
Solaris subtypes.
Definition: oval_types.h:234
oval_linux_subtype_t
oval_linux_subtype_t
Linux subtypes.
Definition: oval_types.h:202
OVAL_CLASS_UNKNOWN
Not valid.
Definition: oval_types.h:354
oval_variable_model
The OVAL variable model facilitates access to external variable value bindings used to to constrain t...
Definition: oval_varModel.c:56
OVAL_FAMILY_UNKNOWN
Unknown platform.
Definition: oval_types.h:46
OVAL_RESULT_TRUE
Characteristics being evaluated match the information represented in the system characteristic.
Definition: oval_types.h:328
OVAL_CLASS_MISCELLANEOUS
Valid.
Definition: oval_types.h:357
oval_independent_subtype_t
oval_independent_subtype_t
Platform independent subtypes.
Definition: oval_types.h:173
OVAL_FAMILY_MACOS
MacOS family.
Definition: oval_types.h:96
oval_xml_severity_t
oval_xml_severity_t
severity level
Definition: oval_types.h:303
OVAL_RESULT_NOT_APPLICABLE
Definition or test being evaluated is not valid on the given platform.
Definition: oval_types.h:333