]>
git.ipfire.org Git - thirdparty/strongswan.git/blob - src/libimcv/swid_gen/swid_gen.h
2 * Copyright (C) 2017 Andreas Steffen
4 * Copyright (C) secunet Security Networks AG
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2 of the License, or (at your
9 * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
18 * @defgroup swid_gen swid_gen
27 typedef struct swid_gen_t swid_gen_t
;
30 * Class generating a either a full or a minimalistic ISO 19770-2:2015 SWID tag
37 * @param sw_id Software identifier
38 * @param package Package name (can be NULL)
39 * @param version Package version (can be NULL)
40 * @param full Generate full SWID tags with file information
41 * @param pretty Generate SWID tags with pretty formatting
44 char* (*generate_tag
)(swid_gen_t
*this, char *sw_id
, char *package
,
45 char *version
, bool full
, bool pretty
);
48 * Generate SWID tags or software identifiers for all installed packages
50 * @param sw_id_only Return software identifier only
51 * @param full Generate full SWID tags with file information
52 * @param pretty Generate SWID tags with pretty formatting
53 * @return Tag enumerator (sw_id, tag)
55 enumerator_t
* (*create_tag_enumerator
)(swid_gen_t
*this, bool sw_id_only
,
56 bool full
, bool pretty
);
59 * Destroys a swid_gen_t object.
61 void (*destroy
)(swid_gen_t
*this);
66 * Creates a swid_gen_t object
68 swid_gen_t
* swid_gen_create(void);
70 #endif /** SWID_GEN_H_ @}*/