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_SCHEMA_VERSION_H
00024 #define OVAL_SCHEMA_VERSION_H
00025
00026 enum oval_schema_version_components {
00027 OVAL_SCHEMA_VERSION_CORE_MAJOR = 0,
00028 OVAL_SCHEMA_VERSION_CORE_MINOR,
00029 OVAL_SCHEMA_VERSION_CORE_UPDATE,
00030 OVAL_SCHEMA_VERSION_PLATFORM_MAJOR,
00031 OVAL_SCHEMA_VERSION_PLATFORM_MINOR,
00032 OVAL_SCHEMA_VERSION_PLATFORM_UPDATE,
00033 OVAL_SCHEMA_VERSION_COMPONENTS_COUNT
00034 };
00035
00036 #define OVAL_SCHEMA_VERSION_INVALID oval_schema_version_from_cstr(NULL)
00037 #define OVAL_SCHEMA_VERSION(v) oval_schema_version_from_cstr(#v)
00038
00039 typedef struct {
00040 int component[OVAL_SCHEMA_VERSION_COMPONENTS_COUNT];
00041 } oval_schema_version_t;
00042
00048 oval_schema_version_t oval_schema_version_from_cstr(const char *ver_str);
00049
00058 const char *oval_schema_version_to_cstr(oval_schema_version_t version);
00059
00067 int oval_schema_version_cmp(oval_schema_version_t v1, oval_schema_version_t v2);
00068
00069 #endif