5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21 /*
22 * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
24 *
25 * Copyright 2014 Nexenta Systems, Inc. All rights reserved.
26 */
27
28 #ifndef _MLSVC_NETR_NDL_
29 #define _MLSVC_NETR_NDL_
30
31 /*
32 ***********************************************************************
33 *
34 * NetLogon RPC (NETR) interface definition.
35 *
36 ***********************************************************************
37 */
38
39 #include "ndrtypes.ndl"
40
41
42 #define NETR_OPNUM_UasLogon 0x00
43 #define NETR_OPNUM_UasLogoff 0x01
44 #define NETR_OPNUM_SamLogon 0x02
45 #define NETR_OPNUM_SamLogoff 0x03
46 #define NETR_OPNUM_ServerReqChallenge 0x04
47 #define NETR_OPNUM_ServerAuthenticate 0x05
48 #define NETR_OPNUM_ServerPasswordSet 0x06
49 #define NETR_OPNUM_DatabaseDeltas 0x07
50 #define NETR_OPNUM_DatabaseSync 0x08
51 #define NETR_OPNUM_AccountDeltas 0x09
52 #define NETR_OPNUM_AccountSync 0x0a
53 #define NETR_OPNUM_GetDCName 0x0b
54 #define NETR_OPNUM_LogonControl 0x0c
55 #define NETR_OPNUM_GetAnyDCName 0x0d
56 #define NETR_OPNUM_LogonControl2 0x0E
57 #define NETR_OPNUM_ServerAuthenticate2 0x0F
58 #define NETR_OPNUM_DatabaseSync2 0x10
59 #define NETR_OPNUM_DatabaseRedo 0x11
378 * the correct fixup offsets. If ndrgen did the right thing,
379 * netr_validation_info would be one of the out parameters. However,
380 * if we do it that way, the switch_value isn't known early enough to
381 * do the fixup calculation. So it all has to go in netr_SamLogon.
382 */
383 struct netr_validation_info {
384 WORD validation_level;
385 SWITCH(validation_level)
386 union netr_validation_u ru;
387 };
388
389
390 /*
391 * WARNING
392 *
393 * Validation_level is really a WORD and authoritative is really a
394 * BYTE. They are declared as DWORD here due to the way things are
395 * unmarshalled. NT does not clear out the unused bytes in the
396 * DWORD so they must be cast to get the correct value.
397 */
398 OPERATION(NETR_OPNUM_SamLogon)
399 struct netr_SamLogon {
400 IN LPTSTR servername;
401 IN LPTSTR hostname;
402 IN struct netr_authenticator *auth;
403 INOUT struct netr_authenticator *ret_auth;
404 IN struct netr_login_info logon_info;
405 INOUT WORD validation_level;
406 SWITCH(validation_level)
407 OUT union netr_validation_u ru;
408 OUT DWORD authoritative;
409 OUT DWORD status;
410 };
411
412
413 /*
414 ***********************************************************************
415 * SamLogoff
416 ***********************************************************************
417 */
|
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21 /*
22 * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
24 *
25 * Copyright 2018 Nexenta Systems, Inc. All rights reserved.
26 */
27
28 #ifndef _MLSVC_NETR_NDL_
29 #define _MLSVC_NETR_NDL_
30
31 /*
32 ***********************************************************************
33 *
34 * NetLogon RPC (NETR) interface definition.
35 *
36 ***********************************************************************
37 */
38
39 #include <libmlrpc/ndrtypes.ndl>
40
41
42 #define NETR_OPNUM_UasLogon 0x00
43 #define NETR_OPNUM_UasLogoff 0x01
44 #define NETR_OPNUM_SamLogon 0x02
45 #define NETR_OPNUM_SamLogoff 0x03
46 #define NETR_OPNUM_ServerReqChallenge 0x04
47 #define NETR_OPNUM_ServerAuthenticate 0x05
48 #define NETR_OPNUM_ServerPasswordSet 0x06
49 #define NETR_OPNUM_DatabaseDeltas 0x07
50 #define NETR_OPNUM_DatabaseSync 0x08
51 #define NETR_OPNUM_AccountDeltas 0x09
52 #define NETR_OPNUM_AccountSync 0x0a
53 #define NETR_OPNUM_GetDCName 0x0b
54 #define NETR_OPNUM_LogonControl 0x0c
55 #define NETR_OPNUM_GetAnyDCName 0x0d
56 #define NETR_OPNUM_LogonControl2 0x0E
57 #define NETR_OPNUM_ServerAuthenticate2 0x0F
58 #define NETR_OPNUM_DatabaseSync2 0x10
59 #define NETR_OPNUM_DatabaseRedo 0x11
378 * the correct fixup offsets. If ndrgen did the right thing,
379 * netr_validation_info would be one of the out parameters. However,
380 * if we do it that way, the switch_value isn't known early enough to
381 * do the fixup calculation. So it all has to go in netr_SamLogon.
382 */
383 struct netr_validation_info {
384 WORD validation_level;
385 SWITCH(validation_level)
386 union netr_validation_u ru;
387 };
388
389
390 /*
391 * WARNING
392 *
393 * Validation_level is really a WORD and authoritative is really a
394 * BYTE. They are declared as DWORD here due to the way things are
395 * unmarshalled. NT does not clear out the unused bytes in the
396 * DWORD so they must be cast to get the correct value.
397 */
398 ALIGN(2)
399 OPERATION(NETR_OPNUM_SamLogon)
400 struct netr_SamLogon {
401 IN LPTSTR servername;
402 IN LPTSTR hostname;
403 IN struct netr_authenticator *auth;
404 INOUT struct netr_authenticator *ret_auth;
405 IN struct netr_login_info logon_info;
406 INOUT WORD validation_level;
407 SWITCH(validation_level)
408 OUT union netr_validation_u ru;
409 OUT DWORD authoritative;
410 OUT DWORD status;
411 };
412
413
414 /*
415 ***********************************************************************
416 * SamLogoff
417 ***********************************************************************
418 */
|