c1b4ae96753756208a0d1a3a467239f8f2ba0b7b
[strongswan.git] / src / libtncif / tncif_pa_subtypes.h
1 /*
2 * Copyright (C) 2011 Andreas Steffen, HSR Hochschule fuer Technik Rapperswil
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
8 *
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
11 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * for more details.
13 */
14
15 /**
16 * @defgroup tncif_pa_subtypes tncif_pa_subtypes
17 * @{ @ingroup libtncif
18 */
19
20 #ifndef TNCIF_PA_SUBTYPES_H_
21 #define TNCIF_PA_SUBTYPES_H_
22
23 typedef enum pa_subtype_ietf_t pa_subtype_ietf_t;
24 typedef enum pa_subtype_tcg_t pa_subtype_tcg_t;
25 typedef enum pa_subtype_fhh_t pa_subtype_fhh_t;
26 typedef enum pa_subtype_ita_t pa_subtype_ita_t;
27
28 #include <library.h>
29 #include <pen/pen.h>
30
31 /**
32 * PA-TNC IETF Standard Subtypes as defined in section 3.5 of RFC 5792
33 */
34 enum pa_subtype_ietf_t {
35 PA_SUBTYPE_IETF_TESTING = 0,
36 PA_SUBTYPE_IETF_OPERATING_SYSTEM = 1,
37 PA_SUBTYPE_IETF_ANTI_VIRUS = 2,
38 PA_SUBTYPE_IETF_ANTI_SPYWARE = 3,
39 PA_SUBTYPE_IETF_ANTI_MALWARE = 4,
40 PA_SUBTYPE_IETF_FIREWALL = 5,
41 PA_SUBTYPE_IETF_IDPS = 6,
42 PA_SUBTYPE_IETF_VPN = 7,
43 PA_SUBTYPE_IETF_NEA_CLIENT = 8
44 };
45
46 /**
47 * enum name for pa_subtype_ietf_t.
48 */
49 extern enum_name_t *pa_subtype_ietf_names;
50
51 /**
52 * PA-TNC TCG Subtypes
53 */
54 enum pa_subtype_tcg_t {
55 PA_SUBTYPE_TCG_PTS = 1
56 };
57
58 /**
59 * enum name for pa_subtype_tcg_t.
60 */
61 extern enum_name_t *pa_subtype_tcg_names;
62
63 /**
64 * PA-TNC FHH Subtypes
65 */
66 enum pa_subtype_fhh_t {
67 PA_SUBTYPE_FHH_HOSTSCANNER = 0x30,
68 PA_SUBTYPE_FHH_DUMMY = 0x31,
69 PA_SUBTYPE_FHH_PLATID = 0x33,
70 PA_SUBTYPE_FHH_ATTESTATION = 0x34,
71 PA_SUBTYPE_FHH_CLAMAV = 0x41
72 };
73
74 /**
75 * enum name for pa_subtype_fhh_t.
76 */
77 extern enum_name_t *pa_subtype_fhh_names;
78
79 /**
80 * PA-TNC ITA-HSR Subtypes
81 */
82 enum pa_subtype_ita_t {
83 PA_SUBTYPE_ITA_TEST = 1,
84 PA_SUBTYPE_ITA_SCANNER = 2
85 };
86
87 /**
88 * enum name for pa_subtype_ita_t.
89 */
90 extern enum_name_t *pa_subtype_ita_names;
91
92 /**
93 * Return the pa_subtype_names for a given PEN
94 *
95 * @param pen Private Enterprise Number (PEN)
96 * @return pa_subtype_names if found, NULL else
97 */
98 extern enum_name_t* get_pa_subtype_names(pen_t pen);
99
100 #endif /** TNCIF_PA_SUBTYPES_H_ @}*/