1da6c28aaSamw /*
2da6c28aaSamw  * CDDL HEADER START
3da6c28aaSamw  *
4da6c28aaSamw  * The contents of this file are subject to the terms of the
5da6c28aaSamw  * Common Development and Distribution License (the "License").
6da6c28aaSamw  * You may not use this file except in compliance with the License.
7da6c28aaSamw  *
8da6c28aaSamw  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9da6c28aaSamw  * or http://www.opensolaris.org/os/licensing.
10da6c28aaSamw  * See the License for the specific language governing permissions
11da6c28aaSamw  * and limitations under the License.
12da6c28aaSamw  *
13da6c28aaSamw  * When distributing Covered Code, include this CDDL HEADER in each
14da6c28aaSamw  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15da6c28aaSamw  * If applicable, add the following below this CDDL HEADER, with the
16da6c28aaSamw  * fields enclosed by brackets "[]" replaced with your own identifying
17da6c28aaSamw  * information: Portions Copyright [yyyy] [name of copyright owner]
18da6c28aaSamw  *
19da6c28aaSamw  * CDDL HEADER END
20da6c28aaSamw  */
21da6c28aaSamw 
22da6c28aaSamw /*
233db3f65cSamw  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
24da6c28aaSamw  * Use is subject to license terms.
25da6c28aaSamw  */
26da6c28aaSamw 
27da6c28aaSamw /*
28da6c28aaSamw  * basic API declarations for share management
29da6c28aaSamw  */
30da6c28aaSamw 
31da6c28aaSamw #ifndef _LIBSHARE_SMB_H
32da6c28aaSamw #define	_LIBSHARE_SMB_H
33da6c28aaSamw 
34da6c28aaSamw #ifdef	__cplusplus
35da6c28aaSamw extern "C" {
36da6c28aaSamw #endif
37da6c28aaSamw 
383db3f65cSamw #include <smbsrv/smb_share.h>
39da6c28aaSamw 
40da6c28aaSamw /*
41da6c28aaSamw  * defined options types. These should be in a file rather than
42da6c28aaSamw  * compiled in. Until there is a plugin mechanism to add new types,
43da6c28aaSamw  * this is sufficient.
44da6c28aaSamw  */
45da6c28aaSamw #define	OPT_TYPE_ANY		0
46da6c28aaSamw #define	OPT_TYPE_STRING		1
47da6c28aaSamw #define	OPT_TYPE_BOOLEAN	2
48da6c28aaSamw #define	OPT_TYPE_NUMBER		3
49da6c28aaSamw #define	OPT_TYPE_PATH		4
50da6c28aaSamw #define	OPT_TYPE_PROTOCOL	5
51da6c28aaSamw #define	OPT_TYPE_NAME		6
52b89a8333Snatalie li - Sun Microsystems - Irvine United States #define	OPT_TYPE_ACCLIST	7
53*8d7e4166Sjose borrego #define	OPT_TYPE_CSC		8
54da6c28aaSamw 
55da6c28aaSamw struct option_defs {
56da6c28aaSamw 	char *tag;
57da6c28aaSamw 	int type;
58da6c28aaSamw 	int share;	/* share only option */
59da6c28aaSamw 	int (*check)(char *);
60da6c28aaSamw };
61da6c28aaSamw 
62da6c28aaSamw /*
63da6c28aaSamw  * Sharectl property refresh types. Bit mask to indicate which type(s)
64da6c28aaSamw  * of refresh might be needed on the service(s).
65da6c28aaSamw  */
66da6c28aaSamw 
67da6c28aaSamw #define	SMB_REFRESH_RESTART	0x0001	/* restart smb/server */
68da6c28aaSamw #define	SMB_REFRESH_REFRESH	0x0002	/* refresh smb/server */
69da6c28aaSamw 
70da6c28aaSamw 
71da6c28aaSamw #ifdef	__cplusplus
72da6c28aaSamw }
73da6c28aaSamw #endif
74da6c28aaSamw 
75da6c28aaSamw #endif /* _LIBSHARE_SMB_H */
76