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

/home/pvrabec/project/openscap/openscap-0.6.4/src/CPE/public/cpeuri.h

Go to the documentation of this file.
00001 
00015 /*
00016  * Copyright 2009 Red Hat Inc., Durham, North Carolina.
00017  * All Rights Reserved.
00018  *
00019  * This library is free software; you can redistribute it and/or
00020  * modify it under the terms of the GNU Lesser General Public
00021  * License as published by the Free Software Foundation; either
00022  * version 2.1 of the License, or (at your option) any later version.
00023  *
00024  * This library is distributed in the hope that it will be useful, 
00025  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00026  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00027  * Lesser General Public License for more details.
00028  *
00029  * You should have received a copy of the GNU Lesser General Public
00030  * License along with this library; if not, write to the Free Software 
00031  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00032  *
00033  * Authors:
00034  *      Lukas Kuklinek <lkuklinek@redhat.com>
00035  */
00036 
00037 #ifndef _CPEURI_H_
00038 #define _CPEURI_H_
00039 
00040 #include <stdbool.h>
00041 #include <stdlib.h>
00042 #include <stdio.h>
00043 
00045 typedef enum {
00046         CPE_PART_NONE,          
00047         CPE_PART_HW,            
00048         CPE_PART_OS,            
00049         CPE_PART_APP            
00050 } cpe_part_t;
00051 
00058 struct cpe_name;
00059 
00069 struct cpe_name *cpe_name_new(const char *cpe);
00070 
00076 void cpe_name_free(struct cpe_name *cpe);
00077 
00078 /************************************************************/
00090 cpe_part_t cpe_name_get_part(const struct cpe_name *cpe);
00091 
00096 const char *cpe_name_get_vendor(const struct cpe_name *cpe);
00097 
00102 const char *cpe_name_get_product(const struct cpe_name *cpe);
00103 
00108 const char *cpe_name_get_version(const struct cpe_name *cpe);
00109 
00114 const char *cpe_name_get_update(const struct cpe_name *cpe);
00115 
00120 const char *cpe_name_get_edition(const struct cpe_name *cpe);
00121 
00126 const char *cpe_name_get_language(const struct cpe_name *cpe);
00127 
00136 char *cpe_name_get_uri(const struct cpe_name *cpe);
00137 
00138 /************************************************************/
00141 /************************************************************/
00153 bool cpe_name_set_part(struct cpe_name *cpe, cpe_part_t newval);
00154 
00159 bool cpe_name_set_vendor(struct cpe_name *cpe, const char *newval);
00160 
00165 bool cpe_name_set_product(struct cpe_name *cpe, const char *newval);
00166 
00171 bool cpe_name_set_version(struct cpe_name *cpe, const char *newval);
00172 
00177 bool cpe_name_set_update(struct cpe_name *cpe, const char *newval);
00178 
00183 bool cpe_name_set_edition(struct cpe_name *cpe, const char *newval);
00184 
00189 bool cpe_name_set_language(struct cpe_name *cpe, const char *newval);
00190 
00191 /************************************************************/
00194 /************************************************************/
00205 bool cpe_name_match_one(const struct cpe_name *cpe, const struct cpe_name *against);
00206 
00215 bool cpe_name_match_cpes(const struct cpe_name *name, size_t n, struct cpe_name **namelist);
00216 
00225 int cpe_name_write(const struct cpe_name *cpe, FILE * f);
00226 
00232 bool cpe_name_check(const char *str);
00233 
00244 int cpe_name_match_strs(const char *candidate, size_t n, char **targets);
00245 
00251 const char * cpe_name_supported(void);
00252 
00253 /************************************************************/
00257 
00260 #endif                          /* _CPEURI_H_ */

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