• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

/home/pvrabec/project/openscap/openscap-0.6.4/src/OVAL/public/oval_system_characteristics.h

Go to the documentation of this file.
00001 
00016 /*
00017  * Copyright 2009-2010 Red Hat Inc., Durham, North Carolina.
00018  * All Rights Reserved.
00019  *
00020  * This library is free software; you can redistribute it and/or
00021  * modify it under the terms of the GNU Lesser General Public
00022  * License as published by the Free Software Foundation; either
00023  * version 2.1 of the License, or (at your option) any later version.
00024  *
00025  * This library is distributed in the hope that it will be useful,
00026  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00027  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00028  * Lesser General Public License for more details.
00029  *
00030  * You should have received a copy of the GNU Lesser General Public
00031  * License along with this library; if not, write to the Free Software
00032  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00033  *
00034  * Authors:
00035  *      "David Niemoller" <David.Niemoller@g2-inc.com>
00036  */
00037 
00038 
00039 #ifndef OVAL_SYSTEM_CHARACTERISTICS
00040 #define OVAL_SYSTEM_CHARACTERISTICS
00041 
00042 #include "oval_types.h"
00043 #include "oval_definitions.h"
00044 
00046 typedef enum {
00047         SYSCHAR_FLAG_UNKNOWN = 0,
00048         SYSCHAR_FLAG_ERROR = 1,
00049         SYSCHAR_FLAG_COMPLETE = 2,
00050         SYSCHAR_FLAG_INCOMPLETE = 3,
00051         SYSCHAR_FLAG_DOES_NOT_EXIST = 4,
00052         SYSCHAR_FLAG_NOT_COLLECTED = 5,
00053         SYSCHAR_FLAG_NOT_APPLICABLE = 6
00054 } oval_syschar_collection_flag_t;
00055 
00057 typedef enum {
00058         SYSCHAR_STATUS_UNKNOWN = 0,
00059         SYSCHAR_STATUS_ERROR = 1,
00060         SYSCHAR_STATUS_EXISTS = 2,
00061         SYSCHAR_STATUS_DOES_NOT_EXIST = 3,
00062         SYSCHAR_STATUS_NOT_COLLECTED = 4
00063 } oval_syschar_status_t;
00064 
00066 typedef enum {
00067         OVAL_MESSAGE_LEVEL_NONE = 0,
00068         OVAL_MESSAGE_LEVEL_DEBUG = 1,
00069         OVAL_MESSAGE_LEVEL_INFO = 2,
00070         OVAL_MESSAGE_LEVEL_WARNING = 3,
00071         OVAL_MESSAGE_LEVEL_ERROR = 4,
00072         OVAL_MESSAGE_LEVEL_FATAL = 5
00073 } oval_message_level_t;
00074 
00075 const char *oval_syschar_collection_flag_get_text(oval_syschar_collection_flag_t flag);
00076 const char *oval_syschar_status_get_text(oval_syschar_status_t status);
00077 const char *oval_message_level_text(oval_message_level_t);
00078 
00079 
00080 
00081 
00082 
00083 
00090 struct oval_syschar_model;
00091 
00098 struct oval_sysinfo;
00102 struct oval_sysinfo_iterator;
00103 
00118 struct oval_syschar;
00123 struct oval_syschar_iterator;
00124 
00131 struct oval_sysint;
00136 struct oval_sysint_iterator;
00137 
00147 struct oval_sysitem;
00152 struct oval_sysitem_iterator;
00153 
00157 struct oval_sysent;
00162 struct oval_sysent_iterator;
00163 
00168 struct oval_message;
00172 struct oval_message_iterator;
00173 
00178 struct oval_variable_binding;
00182 struct oval_variable_binding_iterator;
00183 
00184 
00185 
00186 
00187 
00194 struct oval_syschar_model *oval_syschar_model_new(struct oval_definition_model *definition_model);
00195 
00204 int oval_syschar_model_import(struct oval_syschar_model *model, const char *file);
00210 struct oval_syschar_model *oval_syschar_model_clone(struct oval_syschar_model *);
00215 int oval_syschar_model_export(struct oval_syschar_model *, const char *file);
00221 void oval_syschar_model_free(struct oval_syschar_model *model);
00222 
00232 int oval_syschar_model_bind_variable_model(struct oval_syschar_model *, struct oval_variable_model *);
00236 void oval_syschar_model_set_sysinfo(struct oval_syschar_model *model, struct oval_sysinfo *sysinfo);
00240 void oval_syschar_model_add_variable_binding(struct oval_syschar_model *model, struct oval_variable_binding *binding);
00247 void oval_syschar_model_lock(struct oval_syschar_model *syschar_model);
00259 struct oval_definition_model *oval_syschar_model_get_definition_model(struct oval_syschar_model *model);
00265 struct oval_syschar_iterator *oval_syschar_model_get_syschars(struct oval_syschar_model *model);
00271 struct oval_sysinfo *oval_syschar_model_get_sysinfo(struct oval_syschar_model *model);
00279 struct oval_syschar *oval_syschar_model_get_syschar(struct oval_syschar_model *model, const char *object_id);
00284 int oval_syschar_model_compute_variable(struct oval_syschar_model *, struct oval_variable *);
00285 oval_syschar_collection_flag_t oval_variable_get_collection_flag(struct oval_variable *);
00289 struct oval_sysitem *oval_syschar_model_get_sysitem(struct oval_syschar_model *, const char *);
00295 bool oval_syschar_model_is_locked(struct oval_syschar_model *syschar_model);
00311 bool oval_syschar_model_is_valid(struct oval_syschar_model *syschar_model);
00322 struct oval_sysinfo *oval_sysinfo_new(struct oval_syschar_model *);
00327 struct oval_sysinfo *oval_sysinfo_clone(struct oval_syschar_model *new_model, struct oval_sysinfo *old_sysinfo);
00331 void oval_sysinfo_free(struct oval_sysinfo *);
00332 
00340 void oval_sysinfo_set_os_name(struct oval_sysinfo *, char *);
00344 void oval_sysinfo_set_os_version(struct oval_sysinfo *, char *);
00348 void oval_sysinfo_set_os_architecture(struct oval_sysinfo *, char *);
00352 void oval_sysinfo_set_primary_host_name(struct oval_sysinfo *, char *);
00356 void oval_sysinfo_add_interface(struct oval_sysinfo *, struct oval_sysint *);
00367 char *oval_sysinfo_get_os_name(struct oval_sysinfo *);
00368 
00373 char *oval_sysinfo_get_os_version(struct oval_sysinfo *);
00374 
00379 char *oval_sysinfo_get_os_architecture(struct oval_sysinfo *);
00380 
00385 char *oval_sysinfo_get_primary_host_name(struct oval_sysinfo *);
00386 
00391 struct oval_sysint_iterator *oval_sysinfo_get_interfaces(struct oval_sysinfo *);
00397 bool oval_sysinfo_is_locked(struct oval_sysinfo *sysinfo);
00407 bool oval_sysinfo_iterator_has_more(struct oval_sysinfo_iterator *);
00411 struct oval_sysinfo *oval_sysinfo_iterator_next(struct oval_sysinfo_iterator *);
00415 void oval_sysinfo_iterator_free(struct oval_sysinfo_iterator *);
00426 bool oval_sysinfo_is_valid(struct oval_sysinfo *sysinfo);
00437 struct oval_syschar *oval_syschar_new(struct oval_syschar_model *, struct oval_object *);
00442 struct oval_syschar *oval_syschar_clone(struct oval_syschar_model *new_model, struct oval_syschar *old_syschar);
00446 void oval_syschar_free(struct oval_syschar *);
00447 
00455 void oval_syschar_add_variable_binding(struct oval_syschar *, struct oval_variable_binding *);
00459 void oval_syschar_set_flag(struct oval_syschar *model, oval_syschar_collection_flag_t flag);
00463 void oval_syschar_set_object(struct oval_syschar *, struct oval_object *);
00467 void oval_syschar_add_sysitem(struct oval_syschar *, struct oval_sysitem *);
00471 void oval_syschar_add_message(struct oval_syschar *syschar, struct oval_message *message);
00475 void oval_syschar_add_new_message(struct oval_syschar *syschar, char *text, oval_message_level_t level);
00486 oval_syschar_collection_flag_t oval_syschar_get_flag(struct oval_syschar *);
00487 
00492 struct oval_message_iterator *oval_syschar_get_messages(struct oval_syschar *);
00493 
00498 struct oval_object *oval_syschar_get_object(struct oval_syschar *);
00499 
00504 struct oval_variable_binding_iterator *oval_syschar_get_variable_bindings(struct oval_syschar *);
00505 
00510 struct oval_sysitem_iterator *oval_syschar_get_sysitem(struct oval_syschar *);
00516 bool oval_syschar_is_locked(struct oval_syschar *syschar);
00526 bool oval_syschar_iterator_has_more(struct oval_syschar_iterator *);
00530 struct oval_syschar *oval_syschar_iterator_next(struct oval_syschar_iterator *);
00534 void oval_syschar_iterator_free(struct oval_syschar_iterator *);
00549 bool oval_syschar_is_valid(struct oval_syschar *syschar);
00560 struct oval_sysint *oval_sysint_new(struct oval_syschar_model *);
00565 struct oval_sysint *oval_sysint_clone(struct oval_syschar_model *new_model, struct oval_sysint *old_sysint);
00569 void oval_sysint_free(struct oval_sysint *);
00570 
00578 void oval_sysint_set_name(struct oval_sysint *, char *);
00582 void oval_sysint_set_ip_address(struct oval_sysint *, char *);
00586 void oval_sysint_set_mac_address(struct oval_sysint *, char *);
00597 char *oval_sysint_get_name(struct oval_sysint *);
00598 
00603 char *oval_sysint_get_ip_address(struct oval_sysint *);
00604 
00609 char *oval_sysint_get_mac_address(struct oval_sysint *);
00615 bool oval_sysint_is_locked(struct oval_sysint *sysint);
00625 bool oval_sysint_iterator_has_more(struct oval_sysint_iterator *);
00629 struct oval_sysint *oval_sysint_iterator_next(struct oval_sysint_iterator *);
00633 void oval_sysint_iterator_free(struct oval_sysint_iterator *);
00644 bool oval_sysint_is_valid(struct oval_sysint *sysint);
00655 struct oval_sysitem *oval_sysitem_new(struct oval_syschar_model *, const char *id);
00660 struct oval_sysitem *oval_sysitem_clone(struct oval_syschar_model *new_model, struct oval_sysitem *old_data);
00664 void oval_sysitem_free(struct oval_sysitem *);
00665 
00673 void oval_sysitem_set_status(struct oval_sysitem *, oval_syschar_status_t);
00677 void oval_sysitem_set_subtype(struct oval_sysitem *sysitem, oval_subtype_t subtype);
00681 void oval_sysitem_add_message(struct oval_sysitem *, struct oval_message *);
00685 void oval_sysitem_add_item(struct oval_sysitem *, struct oval_sysent *);
00696 char *oval_sysitem_get_id(struct oval_sysitem *);
00701 oval_syschar_status_t oval_sysitem_get_status(struct oval_sysitem *);
00706 struct oval_sysent_iterator *oval_sysitem_get_items(struct oval_sysitem *);
00711 struct oval_message_iterator *oval_sysitem_get_messages(struct oval_sysitem *);
00716 oval_subtype_t oval_sysitem_get_subtype(struct oval_sysitem *);
00722 bool oval_sysitem_is_locked(struct oval_sysitem *sysitem);
00732 bool oval_sysitem_iterator_has_more(struct oval_sysitem_iterator *);
00736 struct oval_sysitem *oval_sysitem_iterator_next(struct oval_sysitem_iterator *);
00740 void oval_sysitem_iterator_free(struct oval_sysitem_iterator *);
00753 bool oval_sysitem_is_valid(struct oval_sysitem *sysitem);
00764 struct oval_sysent *oval_sysent_new(struct oval_syschar_model *);
00769 struct oval_sysent *oval_sysent_clone(struct oval_syschar_model *new_model, struct oval_sysent *old_item);
00773 void oval_sysent_free(struct oval_sysent *);
00781 void oval_sysent_set_name(struct oval_sysent *sysent, char *name);
00785 void oval_sysent_set_value(struct oval_sysent *sysent, char *value);
00789 void oval_sysent_set_status(struct oval_sysent *sysent, oval_syschar_status_t status);
00793 void oval_sysent_set_datatype(struct oval_sysent *sysent, oval_datatype_t type);
00797 void oval_sysent_set_mask(struct oval_sysent *sysent, int mask);
00808 char *oval_sysent_get_name(struct oval_sysent *);
00809 
00814 char *oval_sysent_get_value(struct oval_sysent *);
00815 
00820 oval_syschar_status_t oval_sysent_get_status(struct oval_sysent *);
00821 
00826 oval_datatype_t oval_sysent_get_datatype(struct oval_sysent *);
00827 
00832 int oval_sysent_get_mask(struct oval_sysent *);
00838 bool oval_sysent_is_locked(struct oval_sysent *sysent);
00848 bool oval_sysent_iterator_has_more(struct oval_sysent_iterator *);
00852 struct oval_sysent *oval_sysent_iterator_next(struct oval_sysent_iterator *);
00856 void oval_sysent_iterator_free(struct oval_sysent_iterator *);
00867 bool oval_sysent_is_valid(struct oval_sysent *sysent);
00877 struct oval_message *oval_message_new(void);
00882 struct oval_message *oval_message_clone(struct oval_message *old_message);
00886 void oval_message_free(struct oval_message *);
00887 
00895 void oval_message_set_text(struct oval_message *, char *);
00899 void oval_message_set_level(struct oval_message *, oval_message_level_t);
00910 char *oval_message_get_text(struct oval_message *message);
00915 oval_message_level_t oval_message_get_level(struct oval_message *message);
00921 bool oval_message_is_locked(struct oval_message *message);
00931 bool oval_message_iterator_has_more(struct oval_message_iterator *oc_message);
00935 struct oval_message *oval_message_iterator_next(struct oval_message_iterator *oc_message);
00939 void oval_message_iterator_free(struct oval_message_iterator *oc_message);
00950 bool oval_message_is_valid(struct oval_message *message);
00951 
00952 
00953 
00954 
00955 
00959 struct oval_variable_binding *oval_variable_binding_new(struct oval_variable *, char *);
00964 struct oval_variable_binding *oval_variable_binding_clone(struct oval_variable_binding *,
00965                                                           struct oval_definition_model *);
00969 void oval_variable_binding_free(struct oval_variable_binding *);
00970 
00978 void oval_variable_binding_set_variable(struct oval_variable_binding *, struct oval_variable *);
00982 void oval_variable_binding_add_value(struct oval_variable_binding *, char *);
00993 struct oval_variable *oval_variable_binding_get_variable(struct oval_variable_binding *);
00998 struct oval_string_iterator *oval_variable_binding_get_values(struct oval_variable_binding *);
01008 bool oval_variable_binding_iterator_has_more(struct oval_variable_binding_iterator *);
01012 struct oval_variable_binding *oval_variable_binding_iterator_next(struct oval_variable_binding_iterator *);
01016 void oval_variable_binding_iterator_free(struct oval_variable_binding_iterator *);
01023 #endif

Generated on Wed Oct 20 2010 for Open SCAP Library by  doxygen 1.7.1