Defined HCD PA subtype in PWG namespace
[strongswan.git] / src / libtncif / tncif_pa_subtypes.c
1 /*
2 * Copyright (C) 2010-2015 Andreas Steffen
3 *
4 * HSR Hochschule fuer Technik Rapperswil
5 *
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>.
10 *
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
14 * for more details.
15 */
16
17 #include "tncif_pa_subtypes.h"
18
19 /* IETF PA Subtype names */
20 ENUM_BEGIN(pa_subtype_ietf_names, PA_SUBTYPE_IETF_TESTING, PA_SUBTYPE_IETF_NEA_CLIENT,
21 "Testing",
22 "Operating System",
23 "Anti-Virus",
24 "Anti-Spyware",
25 "Anti-Malware",
26 "Firewall",
27 "IDPS",
28 "VPN",
29 "NEA Client"
30 );
31 ENUM_NEXT(pa_subtype_ietf_names, PA_SUBTYPE_IETF_ANY, PA_SUBTYPE_IETF_ANY,
32 PA_SUBTYPE_IETF_NEA_CLIENT,
33 "ANY"
34 );
35 ENUM_END(pa_subtype_ietf_names, PA_SUBTYPE_IETF_ANY);
36
37 /* TCG PA Subtype names */
38 ENUM_BEGIN(pa_subtype_tcg_names, PA_SUBTYPE_TCG_PTS, PA_SUBTYPE_TCG_SWID,
39 "PTS",
40 "SCAP",
41 "SWID"
42 );
43 ENUM_NEXT(pa_subtype_tcg_names, PA_SUBTYPE_TCG_ANY, PA_SUBTYPE_TCG_ANY,
44 PA_SUBTYPE_TCG_SWID,
45 "ANY"
46 );
47 ENUM_END(pa_subtype_tcg_names, PA_SUBTYPE_TCG_ANY);
48
49 /* PWG PA Subtype names */
50 ENUM_BEGIN(pa_subtype_pwg_names, PA_SUBTYPE_PWG_HCD, PA_SUBTYPE_PWG_HCD,
51 "HCD"
52 );
53 ENUM_NEXT(pa_subtype_pwg_names, PA_SUBTYPE_PWG_ANY, PA_SUBTYPE_PWG_ANY,
54 PA_SUBTYPE_PWG_HCD,
55 "ANY"
56 );
57 ENUM_END(pa_subtype_pwg_names, PA_SUBTYPE_PWG_ANY);
58
59 /* FHH PA Subtype names */
60 ENUM_BEGIN(pa_subtype_fhh_names, PA_SUBTYPE_FHH_HOSTSCANNER, PA_SUBTYPE_FHH_DUMMY,
61 "HostScanner",
62 "Dummy"
63 );
64 ENUM_NEXT(pa_subtype_fhh_names, PA_SUBTYPE_FHH_PLATID, PA_SUBTYPE_FHH_ATTESTATION,
65 PA_SUBTYPE_FHH_DUMMY,
66 "PlatformID",
67 "Attestation"
68 );
69 ENUM_NEXT(pa_subtype_fhh_names, PA_SUBTYPE_FHH_CLAMAV, PA_SUBTYPE_FHH_CLAMAV,
70 PA_SUBTYPE_FHH_ATTESTATION,
71 "ClamAV"
72 );
73 ENUM_NEXT(pa_subtype_fhh_names, PA_SUBTYPE_FHH_ANY, PA_SUBTYPE_FHH_ANY,
74 PA_SUBTYPE_FHH_CLAMAV,
75 "ANY"
76 );
77 ENUM_END(pa_subtype_fhh_names, PA_SUBTYPE_FHH_ANY);
78
79 /* ITA-HSR PA Subtype names */
80 ENUM_BEGIN(pa_subtype_ita_names, PA_SUBTYPE_ITA_TEST, PA_SUBTYPE_ITA_ECHO,
81 "Test",
82 "Echo"
83 );
84 ENUM_NEXT(pa_subtype_ita_names, PA_SUBTYPE_ITA_ANY, PA_SUBTYPE_ITA_ANY,
85 PA_SUBTYPE_ITA_ECHO,
86 "ANY"
87 );
88 ENUM_END(pa_subtype_ita_names, PA_SUBTYPE_ITA_ANY);
89
90 /**
91 * See header
92 */
93 enum_name_t* get_pa_subtype_names(pen_t pen)
94 {
95 switch (pen)
96 {
97 case PEN_IETF:
98 return pa_subtype_ietf_names;
99 case PEN_TCG:
100 return pa_subtype_tcg_names;
101 case PEN_PWG:
102 return pa_subtype_pwg_names;
103 case PEN_FHH:
104 return pa_subtype_fhh_names;
105 case PEN_ITA:
106 return pa_subtype_ita_names;
107 default:
108 break;
109 }
110 return NULL;
111 }