d5729b423402dacf99560f9d9fcbeba7657b0f53
[strongswan.git] / src / libpts / pts / components / ita / ita_comp_func_name.h
1 /*
2 * Copyright (C) 2011 Sansar Choinyambuu
3 * HSR Hochschule fuer Technik Rapperswil
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the
7 * Free Software Foundation; either version 2 of the License, or (at your
8 * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * for more details.
14 */
15
16 /**
17 * @defgroup pts_ita_comp_func_name pts_ita_comp_func_name
18 * @{ @ingroup pts
19 */
20
21 #ifndef PTS_ITA_COMP_FUNC_NAME_H_
22 #define PTS_ITA_COMP_FUNC_NAME_H_
23
24 typedef enum pts_ita_qualifier_type_t pts_ita_qualifier_type_t;
25 typedef enum pts_ita_comp_func_name_t pts_ita_comp_func_name_t;
26
27 #include <library.h>
28
29 /**
30 * PTS Component Functional Name Qualifier Flags for the ITA namespace
31 */
32 #define PTS_ITA_QUALIFIER_FLAG_KERNEL (1<<5)
33 #define PTS_ITA_QUALIFIER_FLAG_SUB (1<<4)
34
35 extern char pts_ita_qualifier_flag_names[];
36
37 /**
38 * Size of the PTS Component Functional Name Qualifier Type field
39 */
40 #define PTS_ITA_QUALIFIER_TYPE_SIZE 4
41
42 /**
43 * PTS Component Functional Name Qualifier Types for the ITA namespace
44 * equal to section 5.2 of PTS Protocol: Binding to TNC IF-M Specification
45 */
46 enum pts_ita_qualifier_type_t {
47 /** Unknown */
48 PTS_ITA_QUALIFIER_TYPE_UNKNOWN = 0x0,
49 /** Trusted Platform */
50 PTS_ITA_QUALIFIER_TYPE_TRUSTED = 0x1,
51 /** Operating System */
52 PTS_ITA_QUALIFIER_TYPE_OS = 0x2,
53 /** Graphical User Interface */
54 PTS_ITA_QUALIFIER_TYPE_GUI = 0x3,
55 /** Application */
56 PTS_ITA_QUALIFIER_TYPE_APP = 0x4,
57 /** Networking */
58 PTS_ITA_QUALIFIER_TYPE_NET = 0x5,
59 /** Library */
60 PTS_ITA_QUALIFIER_TYPE_LIB = 0x6,
61 /** TNC Defined Component */
62 PTS_ITA_QUALIFIER_TYPE_TNC = 0x7,
63 /** All Matching Components */
64 PTS_ITA_QUALIFIER_TYPE_ALL = 0xF,
65 };
66
67 extern enum_name_t *pts_ita_qualifier_type_names;
68
69 /**
70 * PTS Component Functional Name Binary Enumeration for the ITA namespace
71 */
72 enum pts_ita_comp_func_name_t {
73 /** Ignore */
74 PTS_ITA_COMP_FUNC_NAME_IGNORE = 0x0000,
75 /** Trusted GRUB Boot Loader */
76 PTS_ITA_COMP_FUNC_NAME_TGRUB = 0x0001,
77 /** Trusted Boot */
78 PTS_ITA_COMP_FUNC_NAME_TBOOT = 0x0002,
79 };
80
81 extern enum_name_t *pts_ita_comp_func_names;
82
83 #endif /** PTS_ITA_COMP_FUNC_NAME_H_ @}*/