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