xref: /onnv-gate/usr/src/uts/common/smbsrv/mac_cifs.h (revision 10966:37e5dcdf36d3)
15331Samw /*
25331Samw  * CDDL HEADER START
35331Samw  *
45331Samw  * The contents of this file are subject to the terms of the
55331Samw  * Common Development and Distribution License (the "License").
65331Samw  * You may not use this file except in compliance with the License.
75331Samw  *
85331Samw  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
95331Samw  * or http://www.opensolaris.org/os/licensing.
105331Samw  * See the License for the specific language governing permissions
115331Samw  * and limitations under the License.
125331Samw  *
135331Samw  * When distributing Covered Code, include this CDDL HEADER in each
145331Samw  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
155331Samw  * If applicable, add the following below this CDDL HEADER, with the
165331Samw  * fields enclosed by brackets "[]" replaced with your own identifying
175331Samw  * information: Portions Copyright [yyyy] [name of copyright owner]
185331Samw  *
195331Samw  * CDDL HEADER END
205331Samw  */
215331Samw /*
22*10966SJordan.Brown@Sun.COM  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
235331Samw  * Use is subject to license terms.
245331Samw  */
255331Samw 
265331Samw #ifndef _SMBSRV_MAC_CIFS_H
275331Samw #define	_SMBSRV_MAC_CIFS_H
285331Samw 
295331Samw /*
305331Samw  * This file provides definitions for the Macintosh Extensions for CIFS
315331Samw  * interface (see http://www.thursby.com/cifs).
325331Samw  */
335331Samw 
345331Samw #ifdef __cplusplus
355331Samw extern "C" {
365331Samw #endif
375331Samw 
385331Samw 
395331Samw /*
405331Samw  * Macintosh information level extensions. The entire list is presented
415331Samw  * here for convenience but for consistency with the existing CIFS
425331Samw  * information levels don't use these values directly. Use the SMB_MAC_
43*10966SJordan.Brown@Sun.COM  * definitions in smb.h.
445331Samw  *
455331Samw  * SmbTrans2QueryFsInformation:		MAC_QUERY_FS_INFO
465331Samw  * SmbTrans2Find{First|Next}2:		MAC_FIND_BOTH_HFS_INFO
475331Samw  * SmbTrans2SetPathInformation:		MAC_SET_FINDER_INFO
485331Samw  * SmbTrans2QueryPathInformation:	MAC_DT_{ADD|REMOVE|GET}_{APPL|ICON}
495331Samw  */
505331Samw #define	MAC_QUERY_FS_INFO			0x301
515331Samw #define	MAC_FIND_BOTH_HFS_INFO			0x302
525331Samw #define	MAC_SET_FINDER_INFO			0x303
535331Samw #define	MAC_DT_ADD_APPL				0x304
545331Samw #define	MAC_DT_REMOVE_APPL			0x305
555331Samw #define	MAC_DT_GET_APPL				0x306
565331Samw #define	MAC_DT_GET_ICON				0x307
575331Samw #define	MAC_DT_GET_ICON_INFO			0x308
585331Samw #define	MAC_DT_ADD_ICON				0x309
595331Samw 
605331Samw 
615331Samw /*
625331Samw  * Macintosh extensions support bits. Returned by the server in response
635331Samw  * to a TRANS2_QUERY_FS_INFORMATION request when the information level
645331Samw  * is MAC_QUERY_FS_INFO.
655331Samw  */
665331Samw #define	MAC_SUPPORT_ACCESS_CONTROL		0x0010
675331Samw #define	MAC_SUPPORT_GETSETCOMMENTS		0x0020
685331Samw #define	MAC_SUPPORT_DESKTOPDB_CALLS		0x0040
695331Samw #define	MAC_SUPPORT_UNIQUE_IDS			0x0080
705331Samw #define	MAC_SUPPORT_NO_STREAMS			0x0100
715331Samw 
725331Samw 
735331Samw /*
745331Samw  * The MAC_ACCESS values are returned from the MAC_FIND_BOTH_HFS_INFO
755331Samw  * info level of TRANS2_FIND. Set SUPPORT_MAC_ACCESS_CNTRL to enable
765331Samw  * support.
775331Samw  *
785331Samw  * The MAC_OWNER bit indicates that the user is the owner of the file
795331Samw  * or directory.
805331Samw  */
815331Samw #define	MAC_ACCESS_OWNER			0x0800
825331Samw #define	MAC_ACCESS_OWNER_READ			0x0400
835331Samw #define	MAC_ACCESS_OWNER_WRITE			0x0200
845331Samw #define	MAC_ACCESS_OWNER_SEARCH			0x0100
855331Samw #define	MAC_ACCESS_GROUP_READ			0x0040
865331Samw #define	MAC_ACCESS_GROUP_WRITE			0x0020
875331Samw #define	MAC_ACCESS_GROUP_SEARCH			0x0010
885331Samw #define	MAC_ACCESS_OTHER_READ			0x0004
895331Samw #define	MAC_ACCESS_OTHER_WRITE			0x0002
905331Samw #define	MAC_ACCESS_OTHER_SEARCH			0x0001
915331Samw 
925331Samw 
935331Samw /*
945331Samw  * The MAC_FINDER values support the SMB_MAC_SET_FINDER_INFO info level
955331Samw  * of TRANS2_SET_PATH_INFORMATION.
965331Samw  */
975331Samw #define	MAC_FINDER_SET_CREATE_DATE		0x0001
985331Samw #define	MAC_FINDER_SET_MODE_DATE		0x0002
995331Samw #define	MAC_FINDER_SET_FL_ATTRIB		0x0004
1005331Samw #define	MAC_FINDER_SET_INFO1			0x0008
1015331Samw #define	MAC_FINDER_SET_INFO2			0x0010
1025331Samw #define	MAC_FINDER_SET_HIDDEN			0x0020
1035331Samw 
1045331Samw 
1055331Samw #ifdef __cplusplus
1065331Samw }
1075331Samw #endif
1085331Samw 
1095331Samw 
1105331Samw #endif /* _SMBSRV_MAC_CIFS_H */
111