Mercurial > illumos > illumos-gate
view usr/src/uts/common/smbsrv/smb_fsops.h @ 9914:15092dda0737
6847056 smb_ads_computer_op() dumps core when joining Win 2008 R2 domain
6848702 NDR buffer decode support
6797780 return code mismatches
6850931 SMB volume properties Quota tab display
6851425 Unable to create hard links via SMB/CIFS using cygwin
6840353 Fail to set or retrieve the share ACL using Windows test program
author | Alan Wright <amw@Sun.COM> |
---|---|
date | Fri, 19 Jun 2009 12:13:15 -0600 |
parents | 152b6e0d9b1a |
children | d540bbbe2461 |
line wrap: on
line source
/* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #ifndef _SMBSRV_SMB_FSOPS_H #define _SMBSRV_SMB_FSOPS_H /* * This header file contains all the functions for the interface between * the smb layer and the fs layer. */ #include <smbsrv/smb_i18n.h> #include <smbsrv/smbinfo.h> #include <smbsrv/smb_ktypes.h> #include <smbsrv/smb_vops.h> #include <sys/callb.h> #include <sys/flock.h> #ifdef __cplusplus extern "C" { #endif int smb_fsop_amask_to_omode(uint32_t); int smb_fsop_open(smb_node_t *, int, cred_t *); void smb_fsop_close(smb_node_t *, int, cred_t *); int smb_fsop_oplock_install(smb_node_t *, int); void smb_fsop_oplock_uninstall(smb_node_t *); int smb_fsop_create(smb_request_t *, cred_t *, smb_node_t *, char *name, smb_attr_t *attr, smb_node_t **ret_snode, smb_attr_t *ret_attr); int smb_fsop_mkdir(struct smb_request *sr, cred_t *cr, smb_node_t *snode, char *name, smb_attr_t *attr, smb_node_t **ret_snode, smb_attr_t *ret_attr); int smb_fsop_remove(struct smb_request *sr, cred_t *cr, smb_node_t *dir_snode, char *name, uint32_t flags); int smb_fsop_rmdir(struct smb_request *sr, cred_t *cr, smb_node_t *dir_snode, char *name, uint32_t flags); int smb_fsop_getattr(struct smb_request *sr, cred_t *cr, smb_node_t *snode, smb_attr_t *attr); int smb_maybe_mangled_name(char *name); int smb_fsop_link(smb_request_t *, cred_t *, smb_node_t *, smb_node_t *, char *); int smb_fsop_rename(struct smb_request *sr, cred_t *cr, smb_node_t *from_snode, char *from_name, smb_node_t *to_snode, char *to_name); int smb_fsop_setattr(struct smb_request *sr, cred_t *cr, smb_node_t *snode, smb_attr_t *set_attr, smb_attr_t *ret_attr); int smb_fsop_read(struct smb_request *sr, cred_t *cr, smb_node_t *snode, uio_t *uio, smb_attr_t *ret_attr); int smb_fsop_write(smb_request_t *, cred_t *, smb_node_t *, uio_t *, uint32_t *, smb_attr_t *, int); int smb_fsop_statfs(cred_t *cr, struct smb_node *snode, struct statvfs64 *statp); int smb_fsop_remove_streams(struct smb_request *sr, cred_t *cr, smb_node_t *fnode); int smb_fsop_access(smb_request_t *sr, cred_t *cr, smb_node_t *snode, uint32_t faccess); void smb_fsop_eaccess(smb_request_t *sr, cred_t *cr, smb_node_t *snode, uint32_t *faccess); int smb_fsop_lookup_name(struct smb_request *sr, cred_t *cr, int flags, smb_node_t *root_node, smb_node_t *dir_snode, char *name, smb_node_t **ret_snode, smb_attr_t *ret_attr); int smb_fsop_lookup(struct smb_request *sr, cred_t *cr, int flags, smb_node_t *root_node, smb_node_t *dir_snode, char *name, smb_node_t **ret_snode, smb_attr_t *ret_attr); int smb_fsop_commit(smb_request_t *sr, cred_t *cr, struct smb_node *snode); int smb_fsop_aclread(smb_request_t *, cred_t *, smb_node_t *, smb_fssd_t *); int smb_fsop_aclwrite(smb_request_t *, cred_t *, smb_node_t *, smb_fssd_t *); acl_type_t smb_fsop_acltype(smb_node_t *); int smb_fsop_sdread(smb_request_t *, cred_t *, smb_node_t *, smb_fssd_t *); int smb_fsop_sdwrite(smb_request_t *, cred_t *, smb_node_t *, smb_fssd_t *, int); uint32_t smb_fsop_shrlock(cred_t *, smb_node_t *, uint32_t, uint32_t, uint32_t); void smb_fsop_unshrlock(cred_t *cr, smb_node_t *node, uint32_t uniq_fid); int smb_fsop_frlock(smb_node_t *, smb_lock_t *, boolean_t, cred_t *); /* * Lookup-related flags * * SMB_FOLLOW_LINKS Follow symbolic links. * SMB_IGNORE_CASE Perform case-insensitive lookup. * SMB_CATIA Perform CATIA character substitution */ #define SMB_FOLLOW_LINKS 0x00000001 #define SMB_IGNORE_CASE 0x00000002 #define SMB_CATIA 0x00000004 #ifdef __cplusplus } #endif #endif /* _SMBSRV_SMB_FSOPS_H */