8d7e41661dc4633488e93b13363137523ce59977jose borrego/*
8d7e41661dc4633488e93b13363137523ce59977jose borrego * CDDL HEADER START
8d7e41661dc4633488e93b13363137523ce59977jose borrego *
8d7e41661dc4633488e93b13363137523ce59977jose borrego * The contents of this file are subject to the terms of the
8d7e41661dc4633488e93b13363137523ce59977jose borrego * Common Development and Distribution License (the "License").
8d7e41661dc4633488e93b13363137523ce59977jose borrego * You may not use this file except in compliance with the License.
8d7e41661dc4633488e93b13363137523ce59977jose borrego *
8d7e41661dc4633488e93b13363137523ce59977jose borrego * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8d7e41661dc4633488e93b13363137523ce59977jose borrego * or http://www.opensolaris.org/os/licensing.
8d7e41661dc4633488e93b13363137523ce59977jose borrego * See the License for the specific language governing permissions
8d7e41661dc4633488e93b13363137523ce59977jose borrego * and limitations under the License.
8d7e41661dc4633488e93b13363137523ce59977jose borrego *
8d7e41661dc4633488e93b13363137523ce59977jose borrego * When distributing Covered Code, include this CDDL HEADER in each
8d7e41661dc4633488e93b13363137523ce59977jose borrego * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8d7e41661dc4633488e93b13363137523ce59977jose borrego * If applicable, add the following below this CDDL HEADER, with the
8d7e41661dc4633488e93b13363137523ce59977jose borrego * fields enclosed by brackets "[]" replaced with your own identifying
8d7e41661dc4633488e93b13363137523ce59977jose borrego * information: Portions Copyright [yyyy] [name of copyright owner]
8d7e41661dc4633488e93b13363137523ce59977jose borrego *
8d7e41661dc4633488e93b13363137523ce59977jose borrego * CDDL HEADER END
8d7e41661dc4633488e93b13363137523ce59977jose borrego */
8d7e41661dc4633488e93b13363137523ce59977jose borrego/*
cb174861876aea6950a7ab4ce944aff84b1914cdjoyce mcintosh * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
b3700b074e637f8c6991b70754c88a2cfffb246bGordon Ross * Copyright 2015 Nexenta Systems, Inc. All rights reserved.
8d7e41661dc4633488e93b13363137523ce59977jose borrego */
8d7e41661dc4633488e93b13363137523ce59977jose borrego
8d7e41661dc4633488e93b13363137523ce59977jose borrego#ifndef _SMBSRV_MLSVC_H
8d7e41661dc4633488e93b13363137523ce59977jose borrego#define _SMBSRV_MLSVC_H
8d7e41661dc4633488e93b13363137523ce59977jose borrego
29bd28862cfb8abbd3a0f0a4b17e08bbc3652836Alan Wright#include <smbsrv/smb_share.h>
8d7e41661dc4633488e93b13363137523ce59977jose borrego#include <smbsrv/ndl/netlogon.ndl>
8d7e41661dc4633488e93b13363137523ce59977jose borrego
8d7e41661dc4633488e93b13363137523ce59977jose borrego#ifdef __cplusplus
8d7e41661dc4633488e93b13363137523ce59977jose borregoextern "C" {
8d7e41661dc4633488e93b13363137523ce59977jose borrego#endif
8d7e41661dc4633488e93b13363137523ce59977jose borrego
b3700b074e637f8c6991b70754c88a2cfffb246bGordon Rossstruct netr_info;
b3700b074e637f8c6991b70754c88a2cfffb246bGordon Ross
8d7e41661dc4633488e93b13363137523ce59977jose borregoint smb_dclocator_init(void);
1ed6b69a5ca1ca3ee5e9a4931f74e2237c7e1c9fGordon Rossvoid smbrdr_initialize(void);
8d7e41661dc4633488e93b13363137523ce59977jose borregovoid dssetup_initialize(void);
8d7e41661dc4633488e93b13363137523ce59977jose borregovoid srvsvc_initialize(void);
8d7e41661dc4633488e93b13363137523ce59977jose borregovoid wkssvc_initialize(void);
8d7e41661dc4633488e93b13363137523ce59977jose borregovoid lsarpc_initialize(void);
8d7e41661dc4633488e93b13363137523ce59977jose borregovoid logr_initialize(void);
8d7e41661dc4633488e93b13363137523ce59977jose borregovoid netr_initialize(void);
8d7e41661dc4633488e93b13363137523ce59977jose borregovoid samr_initialize(void);
8d7e41661dc4633488e93b13363137523ce59977jose borregovoid svcctl_initialize(void);
8d7e41661dc4633488e93b13363137523ce59977jose borregovoid winreg_initialize(void);
8d7e41661dc4633488e93b13363137523ce59977jose borregoint srvsvc_gettime(unsigned long *);
8d7e41661dc4633488e93b13363137523ce59977jose borregovoid msgsvcsend_initialize(void);
8d7e41661dc4633488e93b13363137523ce59977jose borregovoid spoolss_initialize(void);
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United Statesvoid netdfs_initialize(void);
8d7e41661dc4633488e93b13363137523ce59977jose borrego
1fcced4c370617db71610fecffd5451a5894ca5eJordan Brownvoid logr_finalize(void);
1fcced4c370617db71610fecffd5451a5894ca5eJordan Brownvoid svcctl_finalize(void);
cb174861876aea6950a7ab4ce944aff84b1914cdjoyce mcintoshvoid spoolss_finalize(void);
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United Statesvoid netdfs_finalize(void);
1fcced4c370617db71610fecffd5451a5894ca5eJordan Brown
b3700b074e637f8c6991b70754c88a2cfffb246bGordon Ross/* netr_auth.c */
b3700b074e637f8c6991b70754c88a2cfffb246bGordon RossDWORD netr_open(char *, char *, mlsvc_handle_t *);
8d7e41661dc4633488e93b13363137523ce59977jose borregoint netr_close(mlsvc_handle_t *);
8d7e41661dc4633488e93b13363137523ce59977jose borregoDWORD netlogon_auth(char *, mlsvc_handle_t *, DWORD);
b3700b074e637f8c6991b70754c88a2cfffb246bGordon Rossint netr_setup_authenticator(struct netr_info *, struct netr_authenticator *,
8d7e41661dc4633488e93b13363137523ce59977jose borrego struct netr_authenticator *);
b3700b074e637f8c6991b70754c88a2cfffb246bGordon RossDWORD netr_validate_chain(struct netr_info *, struct netr_authenticator *);
8d7e41661dc4633488e93b13363137523ce59977jose borrego
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United Statesvoid ndr_srvsvc_timecheck(char *, char *);
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States
29bd28862cfb8abbd3a0f0a4b17e08bbc3652836Alan Wright/* Generic functions to get/set windows Security Descriptors */
29bd28862cfb8abbd3a0f0a4b17e08bbc3652836Alan Wrightuint32_t srvsvc_sd_get(smb_share_t *, uint8_t *, uint32_t *);
29bd28862cfb8abbd3a0f0a4b17e08bbc3652836Alan Wrightuint32_t srvsvc_sd_set(smb_share_t *, uint8_t *);
29bd28862cfb8abbd3a0f0a4b17e08bbc3652836Alan Wright
29bd28862cfb8abbd3a0f0a4b17e08bbc3652836Alan Wrightuint32_t smb_logon_init(void);
29bd28862cfb8abbd3a0f0a4b17e08bbc3652836Alan Wrightvoid smb_logon_fini(void);
29bd28862cfb8abbd3a0f0a4b17e08bbc3652836Alan Wright
e3f2c991a8548408db0a2787bd8b43d5124821d3Keyur Desai/* Locking for process-wide settings (i.e. privileges) */
e3f2c991a8548408db0a2787bd8b43d5124821d3Keyur Desaivoid smb_proc_initsem(void); /* init (or re-init in child) */
e3f2c991a8548408db0a2787bd8b43d5124821d3Keyur Desaiint smb_proc_takesem(void); /* parent before */
e3f2c991a8548408db0a2787bd8b43d5124821d3Keyur Desaivoid smb_proc_givesem(void); /* parent after */
e3f2c991a8548408db0a2787bd8b43d5124821d3Keyur Desai
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States/* Quota */
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United Statesvoid smb_quota_init(void);
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United Statesvoid smb_quota_fini(void);
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United Statesvoid smb_quota_add_fs(const char *);
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United Statesvoid smb_quota_remove_fs(const char *);
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States
b3700b074e637f8c6991b70754c88a2cfffb246bGordon Rossuint32_t smb_ddiscover_main(char *, smb_domainex_t *);
b3700b074e637f8c6991b70754c88a2cfffb246bGordon Ross
8d7e41661dc4633488e93b13363137523ce59977jose borrego#ifdef __cplusplus
8d7e41661dc4633488e93b13363137523ce59977jose borrego}
8d7e41661dc4633488e93b13363137523ce59977jose borrego#endif
8d7e41661dc4633488e93b13363137523ce59977jose borrego#endif /* _SMBSRV_MLSVC_H */