Don't define SMB_TRANS_ENC_GSS if we don't have KRB5.
[Samba.git] / source / include / rpc_netlogon.h
blobcd88ffef5950702728cc9048d4aa480929cce1e5
1 /*
2 Unix SMB/CIFS implementation.
3 SMB parameters and setup
4 Copyright (C) Andrew Tridgell 1992-1997
5 Copyright (C) Luke Kenneth Casson Leighton 1996-1997
6 Copyright (C) Paul Ashton 1997
7 Copyright (C) Jean François Micouleau 2002
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>.
23 #ifndef _RPC_NETLOGON_H /* _RPC_NETLOGON_H */
24 #define _RPC_NETLOGON_H
26 /* Some flag values reverse engineered from NLTEST.EXE */
27 /* used in the NETLOGON_CONTROL[2] reply */
29 #define NL_CTRL_IN_SYNC 0x0000
30 #define NL_CTRL_REPL_NEEDED 0x0001
31 #define NL_CTRL_REPL_IN_PROGRESS 0x0002
32 #define NL_CTRL_FULL_SYNC 0x0004
34 #define LOGON_KRB5_FAIL_CLOCK_SKEW 0x02000000
36 /* Flags for controlling the behaviour of a particular logon */
38 /* sets NETLOGON_SERVER_TRUST_ACCOUNT user_flag */
39 #if 0
40 #define MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT 0x00000020
41 #define MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT 0x00000800
43 /* updates the "logon time" on network logon */
44 #define MSV1_0_UPDATE_LOGON_STATISTICS 0x00000004
46 /* returns the user parameters in the driveletter */
47 #define MSV1_0_RETURN_USER_PARAMETERS 0x00000008
49 /* returns the profilepath in the driveletter and
50 * sets LOGON_PROFILE_PATH_RETURNED user_flag */
51 #define MSV1_0_RETURN_PROFILE_PATH 0x00000200
52 #endif
54 #define INTERACTIVE_LOGON_TYPE 1
55 #define NET_LOGON_TYPE 2
57 /* LOCKOUT_STRING */
58 typedef struct account_lockout_string {
59 uint32 array_size;
60 uint32 offset;
61 uint32 length;
62 /* uint16 *bindata; */
63 uint64 lockout_duration;
64 uint64 reset_count;
65 uint32 bad_attempt_lockout;
66 uint32 dummy;
67 } LOCKOUT_STRING;
69 /* HDR_LOCKOUT_STRING */
70 typedef struct hdr_account_lockout_string {
71 uint16 size;
72 uint16 length;
73 uint32 buffer;
74 } HDR_LOCKOUT_STRING;
76 #define DSGETDC_VALID_FLAGS ( \
77 DS_FORCE_REDISCOVERY | \
78 DS_DIRECTORY_SERVICE_REQUIRED | \
79 DS_DIRECTORY_SERVICE_PREFERRED | \
80 DS_GC_SERVER_REQUIRED | \
81 DS_PDC_REQUIRED | \
82 DS_BACKGROUND_ONLY | \
83 DS_IP_REQUIRED | \
84 DS_KDC_REQUIRED | \
85 DS_TIMESERV_REQUIRED | \
86 DS_WRITABLE_REQUIRED | \
87 DS_GOOD_TIMESERV_PREFERRED | \
88 DS_AVOID_SELF | \
89 DS_ONLY_LDAP_NEEDED | \
90 DS_IS_FLAT_NAME | \
91 DS_IS_DNS_NAME | \
92 DS_RETURN_FLAT_NAME | \
93 DS_RETURN_DNS_NAME )
95 struct DS_DOMAIN_CONTROLLER_INFO {
96 const char *domain_controller_name;
97 const char *domain_controller_address;
98 int32 domain_controller_address_type;
99 struct GUID *domain_guid;
100 const char *domain_name;
101 const char *dns_forest_name;
102 uint32 flags;
103 const char *dc_site_name;
104 const char *client_site_name;
107 #endif /* _RPC_NETLOGON_H */