1/*
2 * Definitions for libfwnt
3 *
4 * Copyright (C) 2009-2021, Joachim Metz <joachim.metz@gmail.com>
5 *
6 * Refer to AUTHORS for acknowledgements.
7 *
8 * This program is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU Lesser General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public License
19 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
20 */
21
22#if !defined( _LIBFWNT_DEFINITIONS_H )
23#define _LIBFWNT_DEFINITIONS_H
24
25#include <libfwnt/types.h>
26
27#define LIBFWNT_VERSION				@VERSION@
28
29/* The version string
30 */
31#define LIBFWNT_VERSION_STRING			"@VERSION@"
32
33/* The byte order definitions
34 */
35enum LIBFWNT_ENDIAN
36{
37	LIBFWNT_ENDIAN_BIG			= (int) 'b',
38	LIBFWNT_ENDIAN_LITTLE			= (int) 'l'
39};
40
41/* The security identifier (SID) authorities
42 */
43enum LIBFWNT_SECURITY_IDENTIFIER_AUTHORITIES
44{
45	LIBFWNT_AUTHORITY_NULL			= 0x00,
46	LIBFWNT_AUTHORITY_WORLD			= 0x01,
47	LIBFWNT_AUTHORITY_LOCAL			= 0x02,
48	LIBFWNT_AUTHORITY_CREATOR		= 0x03,
49	LIBFWNT_AUTHORITY_NON_UNIQUE		= 0x04,
50	LIBFWNT_AUTHORITY_NT_AUTHORITY		= 0x05,
51
52	LIBFWNT_AUTHORITY_EXCHANGE_2007		= 0x09
53};
54
55/* The access control types
56 */
57enum LIBFWNT_ACCESS_CONTROL_TYPES
58{
59	LIBFWNT_ACCESS_ALLOWED			= 0x00,
60	LIBFWNT_ACCESS_DENIED			= 0x01,
61	LIBFWNT_SYSTEM_AUDIT			= 0x02,
62	LIBFWNT_SYSTEM_ALARM			= 0x03,
63	LIBFWNT_ACCESS_ALLOWED_COMPOUND		= 0x04,
64	LIBFWNT_ACCESS_ALLOWED_OBJECT		= 0x05,
65	LIBFWNT_ACCESS_DENIED_OBJECT		= 0x06,
66	LIBFWNT_SYSTEM_AUDIT_OBJECT		= 0x07,
67	LIBFWNT_SYSTEM_ALARM_OBJECT		= 0x08,
68	LIBFWNT_ACCESS_ALLOWED_CALLBACK		= 0x09,
69	LIBFWNT_ACCESS_DENIED_CALLBACK		= 0x0a,
70	LIBFWNT_ACCESS_ALLOWED_CALLBACK_OBJECT	= 0x0b,
71	LIBFWNT_ACCESS_DENIED_CALLBACK_OBJECT	= 0x0c,
72	LIBFWNT_SYSTEM_AUDIT_CALLBACK		= 0x0d,
73	LIBFWNT_SYSTEM_ALARM_CALLBACK		= 0x0e,
74	LIBFWNT_SYSTEM_AUDIT_CALLBACK_OBJECT	= 0x0f,
75	LIBFWNT_SYSTEM_ALARM_CALLBACK_OBJECT	= 0x10,
76	LIBFWNT_SYSTEM_MANDATORY_LABEL		= 0x11
77};
78
79#endif /* !defined( _LIBFWNT_DEFINITIONS_H ) */
80
81