xref: /onnv-gate/usr/src/lib/smbsrv/libmlsvc/common/lsalib.h (revision 11337:1f8fe42c7b83)
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