scanner imc/imv pair uses IETF VPN PA-TNC message subtype
[strongswan.git] / src / libtncif / tncif_pa_subtypes.c
1 /*
2 * Copyright (C) 2010-2011 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 ENUM_BEGIN(pa_subtype_ietf_names, PA_SUBTYPE_IETF_TESTING, PA_SUBTYPE_IETF_NEA_CLIENT,
20 "Testing",
21 "Operating System",
22 "Anti-Virus",
23 "Anti-Spyware",
24 "Anti-Malware",
25 "Firewall",
26 "IDPS",
27 "VPN",
28 "NEA Client"
29 );
30 ENUM_NEXT(pa_subtype_ietf_names, PA_SUBTYPE_IETF_ANY, PA_SUBTYPE_IETF_ANY,
31 PA_SUBTYPE_IETF_NEA_CLIENT,
32 "ANY"
33 );
34 ENUM_END(pa_subtype_ietf_names, PA_SUBTYPE_IETF_ANY);
35
36 ENUM_BEGIN(pa_subtype_tcg_names, PA_SUBTYPE_TCG_PTS, PA_SUBTYPE_TCG_PTS,
37 "PTS"
38 );
39 ENUM_NEXT(pa_subtype_tcg_names, PA_SUBTYPE_TCG_ANY, PA_SUBTYPE_TCG_ANY,
40 PA_SUBTYPE_TCG_PTS,
41 "ANY"
42 );
43 ENUM_END(pa_subtype_tcg_names, PA_SUBTYPE_TCG_ANY);
44
45 ENUM_BEGIN(pa_subtype_fhh_names, PA_SUBTYPE_FHH_HOSTSCANNER, PA_SUBTYPE_FHH_DUMMY,
46 "HostScanner",
47 "Dummy"
48 );
49 ENUM_NEXT(pa_subtype_fhh_names, PA_SUBTYPE_FHH_PLATID, PA_SUBTYPE_FHH_ATTESTATION,
50 PA_SUBTYPE_FHH_DUMMY,
51 "PlatformID",
52 "Attestation"
53 );
54 ENUM_NEXT(pa_subtype_fhh_names, PA_SUBTYPE_FHH_CLAMAV, PA_SUBTYPE_FHH_CLAMAV,
55 PA_SUBTYPE_FHH_ATTESTATION,
56 "ClamAV"
57 );
58 ENUM_NEXT(pa_subtype_fhh_names, PA_SUBTYPE_FHH_ANY, PA_SUBTYPE_FHH_ANY,
59 PA_SUBTYPE_FHH_CLAMAV,
60 "ANY"
61 );
62 ENUM_END(pa_subtype_fhh_names, PA_SUBTYPE_FHH_ANY);
63
64 ENUM_BEGIN(pa_subtype_ita_names, PA_SUBTYPE_ITA_TEST, PA_SUBTYPE_ITA_TEST,
65 "Test"
66 );
67 ENUM_NEXT(pa_subtype_ita_names, PA_SUBTYPE_ITA_ANY, PA_SUBTYPE_ITA_ANY,
68 PA_SUBTYPE_ITA_TEST,
69 "ANY"
70 );
71 ENUM_END(pa_subtype_ita_names, PA_SUBTYPE_ITA_ANY);
72
73 /**
74 * See header
75 */
76 enum_name_t* get_pa_subtype_names(pen_t pen)
77 {
78 switch (pen)
79 {
80 case PEN_IETF:
81 return pa_subtype_ietf_names;
82 case PEN_TCG:
83 return pa_subtype_tcg_names;
84 case PEN_FHH:
85 return pa_subtype_fhh_names;
86 case PEN_ITA:
87 return pa_subtype_ita_names;
88 default:
89 break;
90 }
91 return NULL;
92 }