00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef OVAL_TYPES_H_
00024 #define OVAL_TYPES_H_
00025
00026 #include <stdbool.h>
00027 #include <oscap.h>
00028
00037
00038 typedef enum {
00043 OVAL_FAMILY_UNKNOWN = 0,
00048 OVAL_FAMILY_AIX = 1000,
00053 OVAL_FAMILY_APACHE = 2000,
00058 OVAL_FAMILY_CATOS = 3000,
00063 OVAL_FAMILY_ESX = 4000,
00068 OVAL_FAMILY_FREEBSD = 5000,
00073 OVAL_FAMILY_HPUX = 6000,
00078 OVAL_FAMILY_INDEPENDENT = 7000,
00083 OVAL_FAMILY_IOS = 8000,
00088 OVAL_FAMILY_LINUX = 9000,
00093 OVAL_FAMILY_MACOS = 10000,
00098 OVAL_FAMILY_PIXOS = 11000,
00103 OVAL_FAMILY_SOLARIS = 12000,
00108 OVAL_FAMILY_UNIX = 13000,
00113 OVAL_FAMILY_WINDOWS = 14000
00114 } oval_family_t;
00115
00117 typedef enum {
00118 OVAL_SUBTYPE_UNKNOWN = 0,
00119 OVAL_SUBTYPE_ALL = 1
00120 } oval_subtype_t;
00121
00123 typedef enum {
00124 OVAL_AIX_FILESET = 1001,
00125 OVAL_AIX_FIX = OVAL_FAMILY_AIX + 2,
00126 OVAL_AIX_OSLEVEL = OVAL_FAMILY_AIX + 3
00127 } oval_aix_subtype_t;
00128
00130 typedef enum {
00131 OVAL_APACHE_HTTPD = OVAL_FAMILY_APACHE + 1,
00132 OVAL_APACHE_VERSION = OVAL_FAMILY_APACHE + 2
00133 } oval_apache_subtype_t;
00134
00136 typedef enum {
00137 OVAL_CATOS_LINE = OVAL_FAMILY_CATOS + 1,
00138 OVAL_CATOS_MODULE = OVAL_FAMILY_CATOS + 2,
00139 OVAL_CATOS_VERSION_55 = OVAL_FAMILY_CATOS + 3,
00140 OVAL_CATOS_VERSION = OVAL_FAMILY_CATOS + 4
00141 } oval_catos_subtype_t;
00142
00144 typedef enum {
00145 OVAL_ESX_PATCH = OVAL_FAMILY_ESX + 1,
00146 OVAL_ESX_VERSION = OVAL_FAMILY_ESX + 2
00147 } oval_esx_subtype_t;
00148
00150 typedef enum {
00151 OVAL_FREEBSD_PORT_INFO = OVAL_FAMILY_FREEBSD + 1
00152 } oval_freebsd_subtype_t;
00153
00155 typedef enum {
00156 OVAL_HPUX_GETCONF = OVAL_FAMILY_HPUX + 1,
00157 OVAL_HPUX_PATCH_53 = OVAL_FAMILY_HPUX + 2,
00158 OVAL_HPUX_PATCH = OVAL_FAMILY_HPUX + 3,
00159 OVAL_HPUX_SOFTWARE_LIST = OVAL_FAMILY_HPUX + 4,
00160 OVAL_HPUX_TRUSTED_ACCOUNTS = OVAL_FAMILY_HPUX + 5
00161 } oval_hpux_subtype_t;
00162
00164 typedef enum {
00165 OVAL_INDEPENDENT_FAMILY = OVAL_FAMILY_INDEPENDENT + 1,
00166 OVAL_INDEPENDENT_FILE_MD5 = OVAL_FAMILY_INDEPENDENT + 2,
00167 OVAL_INDEPENDENT_FILE_HASH = OVAL_FAMILY_INDEPENDENT + 3,
00168 OVAL_INDEPENDENT_ENVIRONMENT_VARIABLE = OVAL_FAMILY_INDEPENDENT + 4,
00169 OVAL_INDEPENDENT_SQL = OVAL_FAMILY_INDEPENDENT + 5,
00170 OVAL_INDEPENDENT_TEXT_FILE_CONTENT_54 = OVAL_FAMILY_INDEPENDENT + 6,
00171 OVAL_INDEPENDENT_TEXT_FILE_CONTENT = OVAL_FAMILY_INDEPENDENT + 7,
00172 OVAL_INDEPENDENT_UNKNOWN = OVAL_FAMILY_INDEPENDENT + 8,
00173 OVAL_INDEPENDENT_VARIABLE = OVAL_FAMILY_INDEPENDENT + 9,
00174 OVAL_INDEPENDENT_XML_FILE_CONTENT = OVAL_FAMILY_INDEPENDENT + 10
00175 } oval_independent_subtype_t;
00176
00178 typedef enum {
00179 OVAL_IOS_GLOBAL = OVAL_FAMILY_IOS + 1,
00180 OVAL_IOS_INTERFACE = OVAL_FAMILY_IOS + 2,
00181 OVAL_IOS_LINE = OVAL_FAMILY_IOS + 3,
00182 OVAL_IOS_SNMP = OVAL_FAMILY_IOS + 4,
00183 OVAL_IOS_TCLSH = OVAL_FAMILY_IOS + 5,
00184 OVAL_IOS_VERSION_55 = OVAL_FAMILY_IOS + 6
00185 } oval_ios_subtype_t;
00186
00188 typedef enum {
00189 OVAL_LINUX_DPKG_INFO = OVAL_FAMILY_LINUX + 1,
00190 OVAL_LINUX_INET_LISTENING_SERVERS = OVAL_FAMILY_LINUX + 2,
00191 OVAL_LINUX_RPM_INFO = OVAL_FAMILY_LINUX + 3,
00192 OVAL_LINUX_SLACKWARE_PKG_INFO_TEST = OVAL_FAMILY_LINUX + 4
00193 } oval_linux_subtype_t;
00194
00196 typedef enum {
00197 OVAL_MACOS_ACCOUNT_INFO = OVAL_FAMILY_MACOS + 1,
00198 OVAL_MACOS_INET_LISTENING_SERVERS = OVAL_FAMILY_MACOS + 2,
00199 OVAL_MACOS_NVRAM_INFO = OVAL_FAMILY_MACOS + 3,
00200 OVAL_MACOS_PWPOLICY = OVAL_FAMILY_MACOS + 4
00201 } oval_macos_subtype_t;
00202
00204 typedef enum {
00205 OVAL_PIXOS_LINE = OVAL_FAMILY_PIXOS + 1,
00206 OVAL_PIXOS_VERSION = OVAL_FAMILY_PIXOS + 2
00207 } oval_pixos_subtype_t;
00208
00210 typedef enum {
00211 OVAL_SOLARIS_ISAINFO = OVAL_FAMILY_SOLARIS + 1,
00212 OVAL_SOLARIS_PACKAGE = OVAL_FAMILY_SOLARIS + 2,
00213 OVAL_SOLARIS_PATCH = OVAL_FAMILY_SOLARIS + 3,
00214 OVAL_SOLARIS_SMF = OVAL_FAMILY_SOLARIS + 4
00215 } oval_solaris_subtype_t;
00216
00218 typedef enum {
00219 OVAL_UNIX_FILE = OVAL_FAMILY_UNIX + 1,
00220 OVAL_UNIX_INETD = OVAL_FAMILY_UNIX + 2,
00221 OVAL_UNIX_INTERFACE = OVAL_FAMILY_UNIX + 3,
00222 OVAL_UNIX_PASSWORD = OVAL_FAMILY_UNIX + 4,
00223 OVAL_UNIX_PROCESS = OVAL_FAMILY_UNIX + 5,
00224 OVAL_UNIX_RUNLEVEL = OVAL_FAMILY_UNIX + 6,
00225 OVAL_UNIX_SCCS = OVAL_FAMILY_UNIX + 7,
00226 OVAL_UNIX_SHADOW = OVAL_FAMILY_UNIX + 8,
00227 OVAL_UNIX_UNAME = OVAL_FAMILY_UNIX + 9,
00228 OVAL_UNIX_XINETD = OVAL_FAMILY_UNIX + 10
00229 } oval_unix_subtype_t;
00230
00232 typedef enum {
00233 OVAL_WINDOWS_ACCESS_TOKEN = OVAL_FAMILY_WINDOWS + 1,
00234 OVAL_WINDOWS_ACTIVE_DIRECTORY = OVAL_FAMILY_WINDOWS + 2,
00235 OVAL_WINDOWS_AUDIT_EVENT_POLICY = OVAL_FAMILY_WINDOWS + 3,
00236 OVAL_WINDOWS_AUDIT_EVENT_SUBCATEGORIES = OVAL_FAMILY_WINDOWS + 4,
00237 OVAL_WINDOWS_FILE = OVAL_FAMILY_WINDOWS + 5,
00238 OVAL_WINDOWS_FILE_AUDITED_PERMISSIONS_53 = OVAL_FAMILY_WINDOWS + 6,
00239 OVAL_WINDOWS_FILE_AUDITED_PERMISSIONS = OVAL_FAMILY_WINDOWS + 7,
00240 OVAL_WINDOWS_FILE_EFFECTIVE_RIGHTS_53 = OVAL_FAMILY_WINDOWS + 8,
00241 OVAL_WINDOWS_FILE_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 9,
00242 OVAL_WINDOWS_GROUP = OVAL_FAMILY_WINDOWS + 10,
00243 OVAL_WINDOWS_GROUP_SID = OVAL_FAMILY_WINDOWS + 11,
00244 OVAL_WINDOWS_INTERFACE = OVAL_FAMILY_WINDOWS + 12,
00245 OVAL_WINDOWS_LOCKOUT_POLICY = OVAL_FAMILY_WINDOWS + 13,
00246 OVAL_WINDOWS_METABASE = OVAL_FAMILY_WINDOWS + 14,
00247 OVAL_WINDOWS_PASSWORD_POLICY = OVAL_FAMILY_WINDOWS + 15,
00248 OVAL_WINDOWS_PORT = OVAL_FAMILY_WINDOWS + 16,
00249 OVAL_WINDOWS_PRINTER_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 17,
00250 OVAL_WINDOWS_PROCESS = OVAL_FAMILY_WINDOWS + 18,
00251 OVAL_WINDOWS_REGISTRY = OVAL_FAMILY_WINDOWS + 19,
00252 OVAL_WINDOWS_REGKEY_AUDITED_PERMISSIONS_53 = OVAL_FAMILY_WINDOWS + 20,
00253 OVAL_WINDOWS_REGKEY_AUDITED_PERMISSIONS = OVAL_FAMILY_WINDOWS + 21,
00254 OVAL_WINDOWS_REGKEY_EFFECTIVE_RIGHTS_53 = OVAL_FAMILY_WINDOWS + 22,
00255 OVAL_WINDOWS_REGKEY_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 23,
00256 OVAL_WINDOWS_SHARED_RESOURCE = OVAL_FAMILY_WINDOWS + 24,
00257 OVAL_WINDOWS_SID = OVAL_FAMILY_WINDOWS + 25,
00258 OVAL_WINDOWS_SID_SID = OVAL_FAMILY_WINDOWS + 26,
00259 OVAL_WINDOWS_USER_ACCESS_CONTROL = OVAL_FAMILY_WINDOWS + 27,
00260 OVAL_WINDOWS_USER = OVAL_FAMILY_WINDOWS + 28,
00261 OVAL_WINDOWS_USER_SID_55 = OVAL_FAMILY_WINDOWS + 29,
00262 OVAL_WINDOWS_USER_SID = OVAL_FAMILY_WINDOWS + 30,
00263 OVAL_WINDOWS_VOLUME = OVAL_FAMILY_WINDOWS + 31,
00264 OVAL_WINDOWS_WMI = OVAL_FAMILY_WINDOWS + 32,
00265 OVAL_WINDOWS_WUA_UPDATE_SEARCHER = OVAL_FAMILY_WINDOWS + 33
00266 } oval_windows_subtype_t;
00267
00269 typedef enum {
00270 XML_VALIDITY_WARNING = 1,
00271 XML_VALIDITY_ERROR = 2,
00272 XML_WARNING = 3,
00273 XML_ERROR = 4,
00274 OVAL_LOG_INFO = 15,
00275 OVAL_LOG_DEBUG = 16,
00276 OVAL_LOG_WARN = 17
00277 } oval_xml_severity_t;
00278
00279 struct oval_xml_error {
00280 void *user_arg;
00281 char *message;
00282 oval_xml_severity_t severity;
00283 int line_number;
00284 char *system_id;
00285 };
00286
00288
00289
00295 struct oval_variable_model;
00296
00303 struct oval_results_model;
00304
00305 struct oval_string_iterator;
00306
00307 bool oval_string_iterator_has_more(struct oval_string_iterator *);
00308 char *oval_string_iterator_next(struct oval_string_iterator *);
00309 int oval_string_iterator_remaining(struct oval_string_iterator *);
00310 void oval_string_iterator_free(struct oval_string_iterator *);
00315 #endif