The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/bsd/hfs/hfs_attrlist.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
    3  *
    4  * @APPLE_LICENSE_HEADER_START@
    5  * 
    6  * Copyright (c) 1999-2003 Apple Computer, Inc.  All Rights Reserved.
    7  * 
    8  * This file contains Original Code and/or Modifications of Original Code
    9  * as defined in and that are subject to the Apple Public Source License
   10  * Version 2.0 (the 'License'). You may not use this file except in
   11  * compliance with the License. Please obtain a copy of the License at
   12  * http://www.opensource.apple.com/apsl/ and read it before using this
   13  * file.
   14  * 
   15  * The Original Code and all software distributed under the License are
   16  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   17  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   18  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   19  * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   20  * Please see the License for the specific language governing rights and
   21  * limitations under the License.
   22  * 
   23  * @APPLE_LICENSE_HEADER_END@
   24  */
   25 #ifndef _HFS_ATTRLIST_H_
   26 #define _HFS_ATTRLIST_H_
   27 
   28 #include <sys/appleapiopts.h>
   29 
   30 #ifdef KERNEL
   31 #ifdef __APPLE_API_PRIVATE
   32 #include <sys/attr.h>
   33 #include <sys/vnode.h>
   34 
   35 #include <hfs/hfs_catalog.h>
   36 #include <hfs/hfs_cnode.h>
   37 
   38 
   39 struct attrblock {
   40         struct attrlist * ab_attrlist;
   41         void **           ab_attrbufpp;
   42         void **           ab_varbufpp;
   43         int               ab_flags;
   44         int               ab_blocksize;
   45 };
   46 
   47 
   48 #define ATTR_OWNERSHIP_SETMASK  (ATTR_CMN_OWNERID | ATTR_CMN_GRPID | \
   49         ATTR_CMN_ACCESSMASK | ATTR_CMN_FLAGS | ATTR_CMN_CRTIME |     \
   50         ATTR_CMN_MODTIME | ATTR_CMN_CHGTIME | ATTR_CMN_ACCTIME)
   51 
   52 #define ATTR_DATAFORK_MASK      (ATTR_FILE_TOTALSIZE | \
   53     ATTR_FILE_DATALENGTH | ATTR_FILE_DATAALLOCSIZE | ATTR_FILE_DATAEXTENTS)
   54 
   55 #define ATTR_RSRCFORK_MASK      (ATTR_FILE_TOTALSIZE | \
   56     ATTR_FILE_RSRCLENGTH | ATTR_FILE_RSRCALLOCSIZE | ATTR_FILE_RSRCEXTENTS)
   57 
   58 
   59 extern int hfs_attrblksize(struct attrlist *attrlist);
   60 
   61 extern unsigned long DerivePermissionSummary(uid_t obj_uid, gid_t obj_gid,
   62                         mode_t obj_mode, struct mount *mp,
   63                         struct ucred *cred, struct proc *p);
   64 
   65 extern void hfs_packattrblk(struct attrblock *abp, struct hfsmount *hfsmp,
   66                 struct vnode *vp, struct cat_desc *descp, struct cat_attr *attrp,
   67                 struct cat_fork *datafork, struct cat_fork *rsrcfork, struct proc *p);
   68 
   69 #endif /* __APPLE_API_PRIVATE */
   70 #endif /* KERNEL */
   71 #endif /* ! _HFS_ATTRLIST_H_ */

Cache object: 88efde6f37b114d56829fcc663e77a9e


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.