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 /*
23 * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
24 * Copyright 2015 Nexenta Systems, Inc. All rights reserved.
25 */
26
27 #ifndef _MLSVC_SAM_NDL_
28 #define _MLSVC_SAM_NDL_
29
30 /*
31 * Security Accounts Manager RPC (SAMR) interface definition.
32 */
33
34 #include "ndrtypes.ndl"
35
36 /* Windows NT */
37 #define SAMR_OPNUM_Connect 0x00 /* SamrConnect */
38 #define SAMR_OPNUM_CloseHandle 0x01
39 #define SAMR_OPNUM_SetSecObject 0x02
40 #define SAMR_OPNUM_QuerySecObject 0x03
41 #define SAMR_OPNUM_ShutdownSamServer 0x04 /* NotUsedOnWire */
42 #define SAMR_OPNUM_LookupDomain 0x05
43 #define SAMR_OPNUM_EnumLocalDomains 0x06
44 #define SAMR_OPNUM_OpenDomain 0x07
45 #define SAMR_OPNUM_QueryDomainInfo 0x08
46 #define SAMR_OPNUM_SetDomainInfo 0x09
47 #define SAMR_OPNUM_CreateDomainGroup 0x0a
48 #define SAMR_OPNUM_QueryDomainGroups 0x0b
49 #define SAMR_OPNUM_CreateDomainUser 0x0c
50 #define SAMR_OPNUM_EnumDomainUsers 0x0d
51 #define SAMR_OPNUM_CreateDomainAlias 0x0e
52 #define SAMR_OPNUM_EnumDomainAliases 0x0f
53 #define SAMR_OPNUM_LookupIds 0x10 /* GetAliasMembership */
54 #define SAMR_OPNUM_LookupNames 0x11
346 };
347
348 struct samr_logon_hours_all {
349 WORD units_per_week;
350 SIZE_IS(units_per_week / 8)
351 BYTE *hours;
352 };
353
354 /*
355 * SAMPR_USER_PASSWORD (in the MS Net API) or
356 * struct samr_user_password (internal use) is
357 * the "clear" form of struct samr_encr_passwd
358 * (SAMPR_ENCRYPTED_USER_PASSWORD in MS Net).
359 * It's not used by ndrgen, but is declared here
360 * to help clarify the relationship between these,
361 * and for the benefit of our client-side code.
362 */
363 #ifndef NDRGEN
364 #define SAMR_USER_PWLEN 256
365 struct samr_user_password {
366 smb_wchar_t Buffer[SAMR_USER_PWLEN];
367 DWORD Length;
368 };
369 #endif /* NDRGEN */
370
371 /* SAMPR_ENCRYPTED_USER_PASSWORD */
372 #define SAMR_ENCR_PWLEN 516 /* sizeof samr_user_password */
373 struct samr_encr_passwd {
374 BYTE data[SAMR_ENCR_PWLEN];
375 };
376
377 /* ENCRYPTED_NT_OWF_PASSWORD */
378 #define SAMR_PWHASH_LEN 16
379 struct samr_encr_hash {
380 BYTE data[SAMR_PWHASH_LEN];
381 };
382
383 /*
384 ***********************************************************************
385 * SamrConnect.
386 ***********************************************************************
|
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 /*
23 * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
24 * Copyright 2015 Nexenta Systems, Inc. All rights reserved.
25 */
26
27 #ifndef _MLSVC_SAM_NDL_
28 #define _MLSVC_SAM_NDL_
29
30 /*
31 * Security Accounts Manager RPC (SAMR) interface definition.
32 */
33
34 #include <libmlrpc/ndrtypes.ndl>
35
36 /* Windows NT */
37 #define SAMR_OPNUM_Connect 0x00 /* SamrConnect */
38 #define SAMR_OPNUM_CloseHandle 0x01
39 #define SAMR_OPNUM_SetSecObject 0x02
40 #define SAMR_OPNUM_QuerySecObject 0x03
41 #define SAMR_OPNUM_ShutdownSamServer 0x04 /* NotUsedOnWire */
42 #define SAMR_OPNUM_LookupDomain 0x05
43 #define SAMR_OPNUM_EnumLocalDomains 0x06
44 #define SAMR_OPNUM_OpenDomain 0x07
45 #define SAMR_OPNUM_QueryDomainInfo 0x08
46 #define SAMR_OPNUM_SetDomainInfo 0x09
47 #define SAMR_OPNUM_CreateDomainGroup 0x0a
48 #define SAMR_OPNUM_QueryDomainGroups 0x0b
49 #define SAMR_OPNUM_CreateDomainUser 0x0c
50 #define SAMR_OPNUM_EnumDomainUsers 0x0d
51 #define SAMR_OPNUM_CreateDomainAlias 0x0e
52 #define SAMR_OPNUM_EnumDomainAliases 0x0f
53 #define SAMR_OPNUM_LookupIds 0x10 /* GetAliasMembership */
54 #define SAMR_OPNUM_LookupNames 0x11
346 };
347
348 struct samr_logon_hours_all {
349 WORD units_per_week;
350 SIZE_IS(units_per_week / 8)
351 BYTE *hours;
352 };
353
354 /*
355 * SAMPR_USER_PASSWORD (in the MS Net API) or
356 * struct samr_user_password (internal use) is
357 * the "clear" form of struct samr_encr_passwd
358 * (SAMPR_ENCRYPTED_USER_PASSWORD in MS Net).
359 * It's not used by ndrgen, but is declared here
360 * to help clarify the relationship between these,
361 * and for the benefit of our client-side code.
362 */
363 #ifndef NDRGEN
364 #define SAMR_USER_PWLEN 256
365 struct samr_user_password {
366 ndr_wchar_t Buffer[SAMR_USER_PWLEN];
367 DWORD Length;
368 };
369 #endif /* NDRGEN */
370
371 /* SAMPR_ENCRYPTED_USER_PASSWORD */
372 #define SAMR_ENCR_PWLEN 516 /* sizeof samr_user_password */
373 struct samr_encr_passwd {
374 BYTE data[SAMR_ENCR_PWLEN];
375 };
376
377 /* ENCRYPTED_NT_OWF_PASSWORD */
378 #define SAMR_PWHASH_LEN 16
379 struct samr_encr_hash {
380 BYTE data[SAMR_PWHASH_LEN];
381 };
382
383 /*
384 ***********************************************************************
385 * SamrConnect.
386 ***********************************************************************
|