18334SJose.Borrego@Sun.COM /* 28334SJose.Borrego@Sun.COM * CDDL HEADER START 38334SJose.Borrego@Sun.COM * 48334SJose.Borrego@Sun.COM * The contents of this file are subject to the terms of the 58334SJose.Borrego@Sun.COM * Common Development and Distribution License (the "License"). 68334SJose.Borrego@Sun.COM * You may not use this file except in compliance with the License. 78334SJose.Borrego@Sun.COM * 88334SJose.Borrego@Sun.COM * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 98334SJose.Borrego@Sun.COM * or http://www.opensolaris.org/os/licensing. 108334SJose.Borrego@Sun.COM * See the License for the specific language governing permissions 118334SJose.Borrego@Sun.COM * and limitations under the License. 128334SJose.Borrego@Sun.COM * 138334SJose.Borrego@Sun.COM * When distributing Covered Code, include this CDDL HEADER in each 148334SJose.Borrego@Sun.COM * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 158334SJose.Borrego@Sun.COM * If applicable, add the following below this CDDL HEADER, with the 168334SJose.Borrego@Sun.COM * fields enclosed by brackets "[]" replaced with your own identifying 178334SJose.Borrego@Sun.COM * information: Portions Copyright [yyyy] [name of copyright owner] 188334SJose.Borrego@Sun.COM * 198334SJose.Borrego@Sun.COM * CDDL HEADER END 208334SJose.Borrego@Sun.COM */ 218334SJose.Borrego@Sun.COM /* 228670SJose.Borrego@Sun.COM * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 238334SJose.Borrego@Sun.COM * Use is subject to license terms. 248334SJose.Borrego@Sun.COM */ 258334SJose.Borrego@Sun.COM 268670SJose.Borrego@Sun.COM #ifndef _LSALIB_H 278670SJose.Borrego@Sun.COM #define _LSALIB_H 288334SJose.Borrego@Sun.COM 298334SJose.Borrego@Sun.COM /* 308334SJose.Borrego@Sun.COM * Prototypes for the LSA library and RPC client side library interface. 318334SJose.Borrego@Sun.COM * There are two levels of interface defined here: lsa_xxx and lsar_xxx. 328334SJose.Borrego@Sun.COM * The lsa_xxx functions provide a high level interface which make 338334SJose.Borrego@Sun.COM * multiple RPC calls and do all the work necessary to obtain and return 348334SJose.Borrego@Sun.COM * the requested information. The lsar_xxx functions provide a low level 358334SJose.Borrego@Sun.COM * interface in which each function maps to a single underlying RPC. 368334SJose.Borrego@Sun.COM */ 378334SJose.Borrego@Sun.COM 388334SJose.Borrego@Sun.COM #include <smbsrv/ndl/lsarpc.ndl> 398670SJose.Borrego@Sun.COM #include <smbsrv/libsmb.h> 408334SJose.Borrego@Sun.COM #include <smbsrv/libmlsvc.h> 418334SJose.Borrego@Sun.COM #include <smbsrv/smb_sid.h> 428334SJose.Borrego@Sun.COM 438334SJose.Borrego@Sun.COM 448334SJose.Borrego@Sun.COM #ifdef __cplusplus 458334SJose.Borrego@Sun.COM extern "C" { 468334SJose.Borrego@Sun.COM #endif 478334SJose.Borrego@Sun.COM 488334SJose.Borrego@Sun.COM /* 498334SJose.Borrego@Sun.COM * lsalib.c 508334SJose.Borrego@Sun.COM */ 518670SJose.Borrego@Sun.COM uint32_t lsa_lookup_name(char *, uint16_t, smb_account_t *); 528670SJose.Borrego@Sun.COM uint32_t lsa_lookup_sid(smb_sid_t *, smb_account_t *); 53*9832Samw@Sun.COM DWORD lsa_query_primary_domain_info(char *, char *, nt_domain_t *); 54*9832Samw@Sun.COM DWORD lsa_query_account_domain_info(char *, char *, nt_domain_t *); 55*9832Samw@Sun.COM DWORD lsa_query_dns_domain_info(char *, char *, nt_domain_t *); 56*9832Samw@Sun.COM DWORD lsa_enum_trusted_domains(char *, char *, smb_trusted_domains_t *); 57*9832Samw@Sun.COM DWORD lsa_enum_trusted_domains_ex(char *, char *, smb_trusted_domains_t *); 588334SJose.Borrego@Sun.COM 598334SJose.Borrego@Sun.COM /* 608334SJose.Borrego@Sun.COM * lsar_open.c 618334SJose.Borrego@Sun.COM */ 628670SJose.Borrego@Sun.COM int lsar_open(char *, char *, char *, mlsvc_handle_t *); 638670SJose.Borrego@Sun.COM int lsar_open_policy2(char *, char *, char *, mlsvc_handle_t *); 648670SJose.Borrego@Sun.COM int lsar_open_account(mlsvc_handle_t *, struct mslsa_sid *, mlsvc_handle_t *); 658670SJose.Borrego@Sun.COM int lsar_close(mlsvc_handle_t *); 668334SJose.Borrego@Sun.COM 678334SJose.Borrego@Sun.COM /* 688334SJose.Borrego@Sun.COM * lsar_lookup.c 698334SJose.Borrego@Sun.COM */ 708670SJose.Borrego@Sun.COM int lsar_query_security_desc(mlsvc_handle_t *); 71*9832Samw@Sun.COM DWORD lsar_query_info_policy(mlsvc_handle_t *, WORD, nt_domain_t *); 728670SJose.Borrego@Sun.COM uint32_t lsar_lookup_names(mlsvc_handle_t *, char *, smb_account_t *); 738670SJose.Borrego@Sun.COM uint32_t lsar_lookup_names2(mlsvc_handle_t *, char *, smb_account_t *); 748670SJose.Borrego@Sun.COM uint32_t lsar_lookup_sids(mlsvc_handle_t *, struct mslsa_sid *, 758670SJose.Borrego@Sun.COM smb_account_t *); 768670SJose.Borrego@Sun.COM uint32_t lsar_lookup_sids2(mlsvc_handle_t *, struct mslsa_sid *, 778670SJose.Borrego@Sun.COM smb_account_t *); 788334SJose.Borrego@Sun.COM 798670SJose.Borrego@Sun.COM int lsar_enum_accounts(mlsvc_handle_t *, DWORD *, 808670SJose.Borrego@Sun.COM struct mslsa_EnumAccountBuf *); 81*9832Samw@Sun.COM DWORD lsar_enum_trusted_domains(mlsvc_handle_t *, DWORD *, 82*9832Samw@Sun.COM smb_trusted_domains_t *); 83*9832Samw@Sun.COM DWORD lsar_enum_trusted_domains_ex(mlsvc_handle_t *, DWORD *, 84*9832Samw@Sun.COM smb_trusted_domains_t *); 858670SJose.Borrego@Sun.COM int lsar_enum_privs_account(mlsvc_handle_t *, smb_account_t *); 868670SJose.Borrego@Sun.COM int lsar_lookup_priv_value(mlsvc_handle_t *, char *, struct ms_luid *); 878670SJose.Borrego@Sun.COM int lsar_lookup_priv_name(mlsvc_handle_t *, struct ms_luid *, char *, int); 888670SJose.Borrego@Sun.COM DWORD lsar_lookup_priv_display_name(mlsvc_handle_t *, char *, char *, int); 898334SJose.Borrego@Sun.COM 908334SJose.Borrego@Sun.COM #ifdef __cplusplus 918334SJose.Borrego@Sun.COM } 928334SJose.Borrego@Sun.COM #endif 938334SJose.Borrego@Sun.COM 948670SJose.Borrego@Sun.COM #endif /* _LSALIB_H */ 95