Home | History | Annotate | Download | only in smbsrv
      1 /*
      2  * CDDL HEADER START
      3  *
      4  * The contents of this file are subject to the terms of the
      5  * Common Development and Distribution License (the "License").
      6  * You may not use this file except in compliance with the License.
      7  *
      8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
      9  * or http://www.opensolaris.org/os/licensing.
     10  * See the License for the specific language governing permissions
     11  * and limitations under the License.
     12  *
     13  * When distributing Covered Code, include this CDDL HEADER in each
     14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     15  * If applicable, add the following below this CDDL HEADER, with the
     16  * fields enclosed by brackets "[]" replaced with your own identifying
     17  * information: Portions Copyright [yyyy] [name of copyright owner]
     18  *
     19  * CDDL HEADER END
     20  */
     21 /*
     22  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
     23  * Use is subject to license terms.
     24  */
     25 
     26 #ifndef _SMBSRV_MAC_CIFS_H
     27 #define	_SMBSRV_MAC_CIFS_H
     28 
     29 #pragma ident	"%Z%%M%	%I%	%E% SMI"
     30 
     31 /*
     32  * This file provides definitions for the Macintosh Extensions for CIFS
     33  * interface (see http://www.thursby.com/cifs).
     34  */
     35 
     36 #ifdef __cplusplus
     37 extern "C" {
     38 #endif
     39 
     40 
     41 /*
     42  * Macintosh information level extensions. The entire list is presented
     43  * here for convenience but for consistency with the existing CIFS
     44  * information levels don't use these values directly. Use the SMB_MAC_
     45  * definitions in cifs.h.
     46  *
     47  * SmbTrans2QueryFsInformation:		MAC_QUERY_FS_INFO
     48  * SmbTrans2Find{First|Next}2:		MAC_FIND_BOTH_HFS_INFO
     49  * SmbTrans2SetPathInformation:		MAC_SET_FINDER_INFO
     50  * SmbTrans2QueryPathInformation:	MAC_DT_{ADD|REMOVE|GET}_{APPL|ICON}
     51  */
     52 #define	MAC_QUERY_FS_INFO			0x301
     53 #define	MAC_FIND_BOTH_HFS_INFO			0x302
     54 #define	MAC_SET_FINDER_INFO			0x303
     55 #define	MAC_DT_ADD_APPL				0x304
     56 #define	MAC_DT_REMOVE_APPL			0x305
     57 #define	MAC_DT_GET_APPL				0x306
     58 #define	MAC_DT_GET_ICON				0x307
     59 #define	MAC_DT_GET_ICON_INFO			0x308
     60 #define	MAC_DT_ADD_ICON				0x309
     61 
     62 
     63 /*
     64  * Macintosh extensions support bits. Returned by the server in response
     65  * to a TRANS2_QUERY_FS_INFORMATION request when the information level
     66  * is MAC_QUERY_FS_INFO.
     67  */
     68 #define	MAC_SUPPORT_ACCESS_CONTROL		0x0010
     69 #define	MAC_SUPPORT_GETSETCOMMENTS		0x0020
     70 #define	MAC_SUPPORT_DESKTOPDB_CALLS		0x0040
     71 #define	MAC_SUPPORT_UNIQUE_IDS			0x0080
     72 #define	MAC_SUPPORT_NO_STREAMS			0x0100
     73 
     74 
     75 /*
     76  * The MAC_ACCESS values are returned from the MAC_FIND_BOTH_HFS_INFO
     77  * info level of TRANS2_FIND. Set SUPPORT_MAC_ACCESS_CNTRL to enable
     78  * support.
     79  *
     80  * The MAC_OWNER bit indicates that the user is the owner of the file
     81  * or directory.
     82  */
     83 #define	MAC_ACCESS_OWNER			0x0800
     84 #define	MAC_ACCESS_OWNER_READ			0x0400
     85 #define	MAC_ACCESS_OWNER_WRITE			0x0200
     86 #define	MAC_ACCESS_OWNER_SEARCH			0x0100
     87 #define	MAC_ACCESS_GROUP_READ			0x0040
     88 #define	MAC_ACCESS_GROUP_WRITE			0x0020
     89 #define	MAC_ACCESS_GROUP_SEARCH			0x0010
     90 #define	MAC_ACCESS_OTHER_READ			0x0004
     91 #define	MAC_ACCESS_OTHER_WRITE			0x0002
     92 #define	MAC_ACCESS_OTHER_SEARCH			0x0001
     93 
     94 
     95 /*
     96  * The MAC_FINDER values support the SMB_MAC_SET_FINDER_INFO info level
     97  * of TRANS2_SET_PATH_INFORMATION.
     98  */
     99 #define	MAC_FINDER_SET_CREATE_DATE		0x0001
    100 #define	MAC_FINDER_SET_MODE_DATE		0x0002
    101 #define	MAC_FINDER_SET_FL_ATTRIB		0x0004
    102 #define	MAC_FINDER_SET_INFO1			0x0008
    103 #define	MAC_FINDER_SET_INFO2			0x0010
    104 #define	MAC_FINDER_SET_HIDDEN			0x0020
    105 
    106 
    107 #ifdef __cplusplus
    108 }
    109 #endif
    110 
    111 
    112 #endif /* _SMBSRV_MAC_CIFS_H */
    113