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 48*11337SWilliam.Krier@Sun.COM typedef struct mslsa_sid lsa_sid_t; 49*11337SWilliam.Krier@Sun.COM 508334SJose.Borrego@Sun.COM /* 518334SJose.Borrego@Sun.COM * lsalib.c 528334SJose.Borrego@Sun.COM */ 538670SJose.Borrego@Sun.COM uint32_t lsa_lookup_name(char *, uint16_t, smb_account_t *); 548670SJose.Borrego@Sun.COM uint32_t lsa_lookup_sid(smb_sid_t *, smb_account_t *); 5510717Samw@Sun.COM DWORD lsa_query_primary_domain_info(char *, char *, smb_domain_t *); 5610717Samw@Sun.COM DWORD lsa_query_account_domain_info(char *, char *, smb_domain_t *); 5710717Samw@Sun.COM DWORD lsa_query_dns_domain_info(char *, char *, smb_domain_t *); 589832Samw@Sun.COM DWORD lsa_enum_trusted_domains(char *, char *, smb_trusted_domains_t *); 599832Samw@Sun.COM DWORD lsa_enum_trusted_domains_ex(char *, char *, smb_trusted_domains_t *); 608334SJose.Borrego@Sun.COM 618334SJose.Borrego@Sun.COM /* 628334SJose.Borrego@Sun.COM * lsar_open.c 638334SJose.Borrego@Sun.COM */ 648670SJose.Borrego@Sun.COM int lsar_open(char *, char *, char *, mlsvc_handle_t *); 658670SJose.Borrego@Sun.COM int lsar_open_policy2(char *, char *, char *, mlsvc_handle_t *); 668670SJose.Borrego@Sun.COM int lsar_open_account(mlsvc_handle_t *, struct mslsa_sid *, mlsvc_handle_t *); 678670SJose.Borrego@Sun.COM int lsar_close(mlsvc_handle_t *); 688334SJose.Borrego@Sun.COM 698334SJose.Borrego@Sun.COM /* 708334SJose.Borrego@Sun.COM * lsar_lookup.c 718334SJose.Borrego@Sun.COM */ 728670SJose.Borrego@Sun.COM int lsar_query_security_desc(mlsvc_handle_t *); 7310717Samw@Sun.COM DWORD lsar_query_info_policy(mlsvc_handle_t *, WORD, smb_domain_t *); 748670SJose.Borrego@Sun.COM uint32_t lsar_lookup_names(mlsvc_handle_t *, char *, smb_account_t *); 75*11337SWilliam.Krier@Sun.COM uint32_t lsar_lookup_sids(mlsvc_handle_t *, smb_sid_t *, smb_account_t *); 768334SJose.Borrego@Sun.COM 778670SJose.Borrego@Sun.COM int lsar_enum_accounts(mlsvc_handle_t *, DWORD *, 788670SJose.Borrego@Sun.COM struct mslsa_EnumAccountBuf *); 799832Samw@Sun.COM DWORD lsar_enum_trusted_domains(mlsvc_handle_t *, DWORD *, 809832Samw@Sun.COM smb_trusted_domains_t *); 819832Samw@Sun.COM DWORD lsar_enum_trusted_domains_ex(mlsvc_handle_t *, DWORD *, 829832Samw@Sun.COM smb_trusted_domains_t *); 838670SJose.Borrego@Sun.COM int lsar_enum_privs_account(mlsvc_handle_t *, smb_account_t *); 848670SJose.Borrego@Sun.COM int lsar_lookup_priv_value(mlsvc_handle_t *, char *, struct ms_luid *); 858670SJose.Borrego@Sun.COM int lsar_lookup_priv_name(mlsvc_handle_t *, struct ms_luid *, char *, int); 868670SJose.Borrego@Sun.COM DWORD lsar_lookup_priv_display_name(mlsvc_handle_t *, char *, char *, int); 878334SJose.Borrego@Sun.COM 888334SJose.Borrego@Sun.COM #ifdef __cplusplus 898334SJose.Borrego@Sun.COM } 908334SJose.Borrego@Sun.COM #endif 918334SJose.Borrego@Sun.COM 928670SJose.Borrego@Sun.COM #endif /* _LSALIB_H */ 93