Open SCAP Library
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
src
CPE
public
cpe_dict.h
Go to the documentation of this file.
1
13
/*
14
* Copyright 2009 Red Hat Inc., Durham, North Carolina.
15
* All Rights Reserved.
16
*
17
* This library is free software; you can redistribute it and/or
18
* modify it under the terms of the GNU Lesser General Public
19
* License as published by the Free Software Foundation; either
20
* version 2.1 of the License, or (at your option) any later version.
21
*
22
* This library is distributed in the hope that it will be useful,
23
* but WITHOUT ANY WARRANTY; without even the implied warranty of
24
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
25
* Lesser General Public License for more details.
26
*
27
* You should have received a copy of the GNU Lesser General Public
28
* License along with this library; if not, write to the Free Software
29
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
30
*
31
* Authors:
32
* Maros Barabas <mbarabas@redhat.com>
33
* Lukas Kuklinek <lkuklinek@redhat.com>
34
*/
35
36
#ifndef CPEDICT_H_
37
#define CPEDICT_H_
38
39
#include "
cpe_name.h
"
40
#include "
oscap_text.h
"
41
46
struct
cpe_dict_model
;
47
52
struct
cpe_item
;
53
58
struct
cpe_vendor
;
59
64
struct
cpe_generator
;
65
70
struct
cpe_check
;
71
76
struct
cpe_reference
;
77
82
struct
cpe_item_metadata
;
83
88
struct
cpe_product
;
93
struct
cpe_version
;
98
struct
cpe_update
;
103
struct
cpe_edition
;
108
struct
cpe_language
;
109
110
/************************************************************/
122
const
char
*
cpe_item_metadata_get_modification_date
(
const
struct
cpe_item_metadata
*item);
123
128
const
char
*
cpe_item_metadata_get_status
(
const
struct
cpe_item_metadata
*item);
129
134
const
char
*
cpe_item_metadata_get_nvd_id
(
const
struct
cpe_item_metadata
*item);
135
140
const
char
*
cpe_item_metadata_get_deprecated_by_nvd_id
(
const
struct
cpe_item_metadata
*item);
141
146
const
char
*
cpe_check_get_system
(
const
struct
cpe_check
*item);
147
152
const
char
*
cpe_check_get_href
(
const
struct
cpe_check
*item);
153
158
const
char
*
cpe_check_get_identifier
(
const
struct
cpe_check
*item);
159
164
const
char
*
cpe_reference_get_href
(
const
struct
cpe_reference
*item);
165
170
const
char
*
cpe_reference_get_content
(
const
struct
cpe_reference
*item);
171
176
struct
cpe_name
*
cpe_item_get_name
(
const
struct
cpe_item
*item);
177
182
struct
cpe_name
*
cpe_item_get_deprecated
(
const
struct
cpe_item
*item);
183
188
const
char
*
cpe_item_get_deprecation_date
(
const
struct
cpe_item
*item);
189
194
struct
cpe_item_metadata
*
cpe_item_get_metadata
(
const
struct
cpe_item
*item);
195
200
struct
cpe_reference_iterator
*
cpe_item_get_references
(
const
struct
cpe_item
*item);
201
206
struct
cpe_check_iterator
*
cpe_item_get_checks
(
const
struct
cpe_item
*item);
207
212
struct
oscap_text_iterator
*
cpe_item_get_titles
(
const
struct
cpe_item
*item);
213
218
struct
oscap_text_iterator
*
cpe_item_get_notes
(
const
struct
cpe_item
*item);
219
224
const
char
*
cpe_generator_get_product_name
(
const
struct
cpe_generator
*item);
225
230
const
char
*
cpe_generator_get_product_version
(
const
struct
cpe_generator
*item);
231
236
const
char
*
cpe_generator_get_schema_version
(
const
struct
cpe_generator
*item);
237
242
const
char
*
cpe_generator_get_timestamp
(
const
struct
cpe_generator
*item);
243
255
int
cpe_dict_model_get_base_version
(
const
struct
cpe_dict_model
*item);
256
261
bool
cpe_dict_model_set_base_version
(
struct
cpe_dict_model
*item,
int
base_version);
262
268
struct
cpe_generator
*
cpe_dict_model_get_generator
(
const
struct
cpe_dict_model
*item);
269
274
struct
cpe_item_iterator
*
cpe_dict_model_get_items
(
const
struct
cpe_dict_model
*item);
275
280
struct
cpe_vendor_iterator
*
cpe_dict_model_get_vendors
(
const
struct
cpe_dict_model
*item);
281
286
const
char
*
cpe_vendor_get_value
(
const
struct
cpe_vendor
*item);
287
292
struct
oscap_text_iterator
*
cpe_vendor_get_titles
(
const
struct
cpe_vendor
*item);
293
298
struct
cpe_product_iterator
*
cpe_vendor_get_products
(
const
struct
cpe_vendor
*item);
299
304
const
char
*
cpe_product_get_value
(
const
struct
cpe_product
*item);
305
310
cpe_part_t
cpe_product_get_part
(
const
struct
cpe_product
*item);
311
317
struct
cpe_version_iterator
*
cpe_product_get_versions
(
const
struct
cpe_product
*item);
318
323
const
char
*
cpe_version_get_value
(
const
struct
cpe_version
*item);
324
330
struct
cpe_update_iterator
*
cpe_version_get_updates
(
const
struct
cpe_version
*item);
331
336
const
char
*
cpe_update_get_value
(
const
struct
cpe_update
*item);
337
343
struct
cpe_edition_iterator
*
cpe_update_get_editions
(
const
struct
cpe_update
*item);
344
349
const
char
*
cpe_edition_get_value
(
const
struct
cpe_edition
*item);
350
356
struct
cpe_language_iterator
*
cpe_edition_get_languages
(
const
struct
cpe_edition
*item);
357
362
const
char
*
cpe_language_get_value
(
const
struct
cpe_language
*item);
363
364
/************************************************************/
367
368
void
cpe_check_free
(
struct
cpe_check
*check);
370
void
cpe_reference_free
(
struct
cpe_reference
*ref);
372
void
cpe_vendor_free
(
struct
cpe_vendor
*vendor);
374
void
cpe_product_free
(
struct
cpe_product
*product);
376
void
cpe_version_free
(
struct
cpe_version
*version);
378
void
cpe_update_free
(
struct
cpe_update
*update);
380
void
cpe_edition_free
(
struct
cpe_edition
*edition);
382
void
cpe_language_free
(
struct
cpe_language
*language);
384
void
cpe_itemmetadata_free(
struct
cpe_item_metadata
*meta);
386
void
cpe_dict_model_free
(
struct
cpe_dict_model
*dict);
388
void
cpe_generator_free
(
struct
cpe_generator
*generator);
390
void
cpe_item_free
(
struct
cpe_item
*item);
391
393
struct
cpe_dict_model
*
cpe_dict_model_new
(
void
);
395
struct
cpe_generator
*
cpe_generator_new
(
void
);
397
struct
cpe_check
*
cpe_check_new
(
void
);
399
struct
cpe_reference
*
cpe_reference_new
(
void
);
401
struct
cpe_item
*
cpe_item_new
(
void
);
403
struct
cpe_vendor
*
cpe_vendor_new
(
void
);
405
struct
cpe_product
*
cpe_product_new
(
void
);
407
struct
cpe_version
*
cpe_version_new
(
void
);
409
struct
cpe_update
*
cpe_update_new
(
void
);
411
struct
cpe_edition
*
cpe_edition_new
(
void
);
413
struct
cpe_language
*
cpe_language_new
(
void
);
415
struct
cpe_item_metadata
*
cpe_item_metadata_new
(
void
);
416
417
/************************************************************/
425
426
bool
cpe_item_set_deprecation_date
(
struct
cpe_item
*item,
const
char
*new_deprecation_date);
427
429
bool
cpe_item_metadata_set_modification_date
(
struct
cpe_item_metadata
*item_metadata,
430
const
char
*new_modification_date);
431
433
bool
cpe_item_metadata_set_status
(
struct
cpe_item_metadata
*item_metadata,
const
char
*new_status);
434
436
bool
cpe_item_metadata_set_nvd_id
(
struct
cpe_item_metadata
*item_metadata,
const
char
*new_nvd_id);
437
439
bool
cpe_item_metadata_set_deprecated_by_nvd_id
(
struct
cpe_item_metadata
*item_metadata,
440
const
char
*new_deprecated_by_nvd_id);
441
443
bool
cpe_check_set_system
(
struct
cpe_check
*check,
const
char
*new_system);
444
446
bool
cpe_check_set_href
(
struct
cpe_check
*check,
const
char
*new_href);
447
449
bool
cpe_check_set_identifier
(
struct
cpe_check
*check,
const
char
*new_identifier);
450
452
bool
cpe_reference_set_href
(
struct
cpe_reference
*reference,
const
char
*new_href);
453
455
bool
cpe_reference_set_content
(
struct
cpe_reference
*reference,
const
char
*new_content);
456
458
bool
cpe_generator_set_product_name
(
struct
cpe_generator
*generator,
const
char
*new_product_name);
459
461
bool
cpe_generator_set_product_version
(
struct
cpe_generator
*generator,
const
char
*new_product_version);
462
464
bool
cpe_generator_set_schema_version
(
struct
cpe_generator
*generator,
const
char
*new_schema_version);
465
467
bool
cpe_generator_set_timestamp
(
struct
cpe_generator
*generator,
const
char
*new_timestamp);
468
470
bool
cpe_vendor_set_value
(
struct
cpe_vendor
*vendor,
const
char
*new_value);
471
473
bool
cpe_product_set_value
(
struct
cpe_product
*product,
const
char
*new_value);
474
476
bool
cpe_product_set_part
(
struct
cpe_product
*product,
cpe_part_t
new_part);
477
479
bool
cpe_version_set_value
(
struct
cpe_version
*version,
const
char
*new_value);
480
482
bool
cpe_update_set_value
(
struct
cpe_update
*update,
const
char
*new_value);
483
485
bool
cpe_edition_set_value
(
struct
cpe_edition
*edition,
const
char
*new_value);
486
488
bool
cpe_language_set_value
(
struct
cpe_language
*language,
const
char
*new_value);
489
490
/*
491
* Add functions
492
*/
493
495
bool
cpe_item_add_reference
(
struct
cpe_item
*item,
struct
cpe_reference
*new_reference);
496
498
bool
cpe_item_add_check
(
struct
cpe_item
*item,
struct
cpe_check
*new_check);
499
501
bool
cpe_item_add_title
(
struct
cpe_item
*item,
struct
oscap_text
*new_title);
502
504
bool
cpe_item_add_note
(
struct
cpe_item
*item,
struct
oscap_text
*new_title);
505
507
bool
cpe_dict_model_add_vendor
(
struct
cpe_dict_model
*dict,
struct
cpe_vendor
*new_vendor);
508
510
bool
cpe_vendor_add_title
(
struct
cpe_vendor
*vendor,
struct
oscap_text
*new_title);
511
513
bool
cpe_vendor_add_product
(
struct
cpe_vendor
*vendor,
struct
cpe_product
*new_product);
514
516
bool
cpe_product_add_version
(
struct
cpe_product
*product,
struct
cpe_version
*new_version);
517
519
bool
cpe_version_add_update
(
struct
cpe_version
*version,
struct
cpe_update
*new_update);
520
522
bool
cpe_update_add_edition
(
struct
cpe_update
*update,
struct
cpe_edition
*new_edition);
523
525
bool
cpe_edition_add_language
(
struct
cpe_edition
*edition,
struct
cpe_language
*new_language);
526
527
528
/************************************************************/
531
/************************************************************/
542
struct
cpe_item_iterator
;
543
549
struct
cpe_item
*
cpe_item_iterator_next
(
struct
cpe_item_iterator
*it);
550
556
bool
cpe_item_iterator_has_more
(
struct
cpe_item_iterator
*it);
557
563
void
cpe_item_iterator_free
(
struct
cpe_item_iterator
*it);
564
566
void
cpe_item_iterator_remove
(
struct
cpe_item_iterator
*it);
568
void
cpe_item_iterator_reset
(
struct
cpe_item_iterator
*it);
569
575
struct
cpe_reference_iterator
;
576
582
struct
cpe_reference
*
cpe_reference_iterator_next
(
struct
cpe_reference_iterator
*it);
583
589
bool
cpe_reference_iterator_has_more
(
struct
cpe_reference_iterator
*it);
590
596
void
cpe_reference_iterator_free
(
struct
cpe_reference_iterator
*it);
597
599
void
cpe_reference_iterator_remove
(
struct
cpe_reference_iterator
*it);
601
void
cpe_reference_iterator_reset
(
struct
cpe_reference_iterator
*it);
602
608
struct
cpe_check_iterator
;
609
615
struct
cpe_check
*
cpe_check_iterator_next
(
struct
cpe_check_iterator
*it);
616
622
bool
cpe_check_iterator_has_more
(
struct
cpe_check_iterator
*it);
623
629
void
cpe_check_iterator_free
(
struct
cpe_check_iterator
*it);
630
632
void
cpe_check_iterator_remove
(
struct
cpe_check_iterator
*it);
634
void
cpe_check_iterator_reset
(
struct
cpe_check_iterator
*it);
635
641
struct
cpe_vendor_iterator
;
642
648
struct
cpe_vendor
*
cpe_vendor_iterator_next
(
struct
cpe_vendor_iterator
*it);
649
655
bool
cpe_vendor_iterator_has_more
(
struct
cpe_vendor_iterator
*it);
656
662
void
cpe_vendor_iterator_free
(
struct
cpe_vendor_iterator
*it);
663
665
void
cpe_vendor_iterator_remove
(
struct
cpe_vendor_iterator
*it);
667
void
cpe_vendor_iterator_reset
(
struct
cpe_vendor_iterator
*it);
668
674
struct
cpe_product_iterator
;
675
681
struct
cpe_product
*
cpe_product_iterator_next
(
struct
cpe_product_iterator
*it);
682
688
bool
cpe_product_iterator_has_more
(
struct
cpe_product_iterator
*it);
689
695
void
cpe_product_iterator_free
(
struct
cpe_product_iterator
*it);
696
698
void
cpe_product_iterator_remove
(
struct
cpe_product_iterator
*it);
700
void
cpe_product_iterator_reset
(
struct
cpe_product_iterator
*it);
701
707
struct
cpe_version_iterator
;
708
714
struct
cpe_version
*
cpe_version_iterator_next
(
struct
cpe_version_iterator
*it);
715
721
bool
cpe_version_iterator_has_more
(
struct
cpe_version_iterator
*it);
722
728
void
cpe_version_iterator_free
(
struct
cpe_version_iterator
*it);
729
731
void
cpe_version_iterator_remove
(
struct
cpe_version_iterator
*it);
733
void
cpe_version_iterator_reset
(
struct
cpe_version_iterator
*it);
734
740
struct
cpe_update_iterator
;
741
747
struct
cpe_update
*
cpe_update_iterator_next
(
struct
cpe_update_iterator
*it);
748
754
bool
cpe_update_iterator_has_more
(
struct
cpe_update_iterator
*it);
755
761
void
cpe_update_iterator_free
(
struct
cpe_update_iterator
*it);
762
764
void
cpe_update_iterator_remove
(
struct
cpe_update_iterator
*it);
766
void
cpe_update_iterator_reset
(
struct
cpe_update_iterator
*it);
767
773
struct
cpe_edition_iterator
;
774
780
struct
cpe_edition
*
cpe_edition_iterator_next
(
struct
cpe_edition_iterator
*it);
781
787
bool
cpe_edition_iterator_has_more
(
struct
cpe_edition_iterator
*it);
788
794
void
cpe_edition_iterator_free
(
struct
cpe_edition_iterator
*it);
795
797
void
cpe_edition_iterator_remove
(
struct
cpe_edition_iterator
*it);
799
void
cpe_edition_iterator_reset
(
struct
cpe_edition_iterator
*it);
800
806
struct
cpe_language_iterator
;
807
813
struct
cpe_language
*
cpe_language_iterator_next
(
struct
cpe_language_iterator
*it);
814
820
bool
cpe_language_iterator_has_more
(
struct
cpe_language_iterator
*it);
821
827
void
cpe_language_iterator_free
(
struct
cpe_language_iterator
*it);
828
830
void
cpe_language_iterator_remove
(
struct
cpe_language_iterator
*it);
832
void
cpe_language_iterator_reset
(
struct
cpe_language_iterator
*it);
833
834
/************************************************************/
837
/************************************************************/
848
const
char
*
cpe_dict_model_supported
(
void
);
849
855
char
*
cpe_dict_detect_version
(
const
char
* file);
856
865
bool
cpe_name_match_dict
(
struct
cpe_name
*cpe,
struct
cpe_dict_model
*dict);
866
875
bool
cpe_name_match_dict_str
(
const
char
*cpe,
struct
cpe_dict_model
*dict);
876
886
bool
cpe_name_applicable_dict
(
struct
cpe_name
*cpe,
struct
cpe_dict_model
*dict,
cpe_check_fn
cb,
void
* usr);
887
889
bool
cpe_item_is_applicable
(
struct
cpe_item
* item,
cpe_check_fn
cb,
void
* usr);
890
891
/************************************************************/
899
void
cpe_dict_model_export
(
const
struct
cpe_dict_model
*dict,
const
char
*file);
900
908
struct
cpe_dict_model
*
cpe_dict_model_import
(
const
char
*file);
909
915
bool
cpe_dict_model_set_origin_file
(
struct
cpe_dict_model
* dict,
const
char
* origin_file);
916
924
const
char
*
cpe_dict_model_get_origin_file
(
const
struct
cpe_dict_model
* dict);
925
930
#endif
/* _CPEDICT_H_ */
Generated by
1.8.2