Open SCAP Library
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
src
CPE
public
cpe_name.h
Go to the documentation of this file.
1
15
/*
16
* Copyright 2009 Red Hat Inc., Durham, North Carolina.
17
* All Rights Reserved.
18
*
19
* This library is free software; you can redistribute it and/or
20
* modify it under the terms of the GNU Lesser General Public
21
* License as published by the Free Software Foundation; either
22
* version 2.1 of the License, or (at your option) any later version.
23
*
24
* This library is distributed in the hope that it will be useful,
25
* but WITHOUT ANY WARRANTY; without even the implied warranty of
26
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
27
* Lesser General Public License for more details.
28
*
29
* You should have received a copy of the GNU Lesser General Public
30
* License along with this library; if not, write to the Free Software
31
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
32
*
33
* Authors:
34
* Lukas Kuklinek <lkuklinek@redhat.com>
35
*/
36
37
#ifndef _CPEURI_H_
38
#define _CPEURI_H_
39
40
#include <stdbool.h>
41
#include <stdlib.h>
42
#include <stdio.h>
43
45
typedef
enum
{
46
CPE_PART_NONE
,
47
CPE_PART_HW
,
48
CPE_PART_OS
,
49
CPE_PART_APP
50
}
cpe_part_t
;
51
52
typedef
enum
{
53
CPE_FORMAT_UNKNOWN
,
54
CPE_FORMAT_URI
,
55
CPE_FORMAT_STRING
,
56
CPE_FORMAT_WFN
57
}
cpe_format_t
;
58
65
struct
cpe_name
;
66
76
struct
cpe_name
*
cpe_name_new
(
const
char
*cpe);
77
83
struct
cpe_name
*
cpe_name_clone
(
struct
cpe_name
* old_name);
84
90
void
cpe_name_free
(
struct
cpe_name
*cpe);
91
92
/************************************************************/
104
cpe_format_t
cpe_name_get_format
(
const
struct
cpe_name
*cpe);
105
110
cpe_part_t
cpe_name_get_part
(
const
struct
cpe_name
*cpe);
111
116
const
char
*
cpe_name_get_vendor
(
const
struct
cpe_name
*cpe);
117
122
const
char
*
cpe_name_get_product
(
const
struct
cpe_name
*cpe);
123
128
const
char
*
cpe_name_get_version
(
const
struct
cpe_name
*cpe);
129
134
const
char
*
cpe_name_get_update
(
const
struct
cpe_name
*cpe);
135
140
const
char
*
cpe_name_get_edition
(
const
struct
cpe_name
*cpe);
141
146
const
char
*
cpe_name_get_language
(
const
struct
cpe_name
*cpe);
147
152
const
char
*
cpe_name_get_sw_edition
(
const
struct
cpe_name
*cpe);
153
158
const
char
*
cpe_name_get_target_sw
(
const
struct
cpe_name
*cpe);
159
164
const
char
*
cpe_name_get_target_hw
(
const
struct
cpe_name
*cpe);
165
170
const
char
*
cpe_name_get_other
(
const
struct
cpe_name
*cpe);
171
181
char
*
cpe_name_get_as_format
(
const
struct
cpe_name
*cpe,
cpe_format_t
format);
182
191
char
*
cpe_name_get_as_str
(
const
struct
cpe_name
*cpe);
192
193
/************************************************************/
196
/************************************************************/
208
bool
cpe_name_set_format
(
struct
cpe_name
*cpe,
cpe_format_t
newval);
209
214
bool
cpe_name_set_part
(
struct
cpe_name
*cpe,
cpe_part_t
newval);
215
220
bool
cpe_name_set_vendor
(
struct
cpe_name
*cpe,
const
char
*newval);
221
226
bool
cpe_name_set_product
(
struct
cpe_name
*cpe,
const
char
*newval);
227
232
bool
cpe_name_set_version
(
struct
cpe_name
*cpe,
const
char
*newval);
233
238
bool
cpe_name_set_update
(
struct
cpe_name
*cpe,
const
char
*newval);
239
244
bool
cpe_name_set_edition
(
struct
cpe_name
*cpe,
const
char
*newval);
245
250
bool
cpe_name_set_language
(
struct
cpe_name
*cpe,
const
char
*newval);
251
256
bool
cpe_name_set_sw_edition
(
struct
cpe_name
*cpe,
const
char
*newval);
257
262
bool
cpe_name_set_target_sw
(
struct
cpe_name
*cpe,
const
char
*newval);
263
268
bool
cpe_name_set_target_hw
(
struct
cpe_name
*cpe,
const
char
*newval);
269
274
bool
cpe_name_set_other
(
struct
cpe_name
*cpe,
const
char
*newval);
275
276
/************************************************************/
279
/************************************************************/
290
bool
cpe_name_match_one
(
const
struct
cpe_name
*cpe,
const
struct
cpe_name
*against);
291
300
bool
cpe_name_match_cpes
(
const
struct
cpe_name
*name,
size_t
n,
struct
cpe_name
**namelist);
301
310
int
cpe_name_write
(
const
struct
cpe_name
*cpe, FILE * f);
311
317
cpe_format_t
cpe_name_get_format_of_str
(
const
char
*str);
318
324
bool
cpe_name_check
(
const
char
*str);
325
336
int
cpe_name_match_strs
(
const
char
*candidate,
size_t
n,
char
**targets);
337
343
const
char
*
cpe_name_supported
(
void
);
344
345
/************************************************************/
362
typedef
bool
*(*cpe_check_fn) (
const
char
*,
const
char
*,
const
char
*,
void
*);
363
371
typedef
bool
*(*cpe_dict_fn) (
const
struct
cpe_name
*,
void
*);
372
373
#endif
/* _CPEURI_H_ */
Generated by
1.8.3.1