2  * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. 
   4  * @APPLE_LICENSE_HEADER_START@ 
   6  * The contents of this file constitute Original Code as defined in and 
   7  * are subject to the Apple Public Source License Version 1.1 (the 
   8  * "License").  You may not use this file except in compliance with the 
   9  * License.  Please obtain a copy of the License at 
  10  * http://www.apple.com/publicsource and read it before using this file. 
  12  * This Original Code and all software distributed under the License are 
  13  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER 
  14  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 
  15  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 
  16  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the 
  17  * License for the specific language governing rights and limitations 
  20  * @APPLE_LICENSE_HEADER_END@ 
  22 /* Copyright (c) 1998 Apple Computer, Inc. All Rights Reserved */ 
  27  * 01-27-98 chw at Apple Computer, Inc. 
  40         fsid_t                  vst_volid
;              /* volume identifier */ 
  41         fsobj_id_t              vst_nodeid
;             /* object's id */ 
  42         fsobj_type_t            vst_vnodetype
;  /* vnode type (VREG, VCPLX, VDIR, etc.) */ 
  43         fsobj_tag_t             vst_vnodetag
;   /* vnode tag (HFS, UFS, etc.) */ 
  44         mode_t                  vst_mode
;               /* inode protection mode */ 
  45         nlink_t                 vst_nlink
;              /* number of hard links */ 
  46         uid_t                   vst_uid
;                /* user ID of the file's owner */ 
  47         gid_t                   vst_gid
;                /* group ID of the file's group */ 
  48         dev_t                   vst_dev
;                /* inode's device */ 
  49         dev_t                   vst_rdev
;               /* device type */ 
  51         struct  timespec vst_atimespec
; /* time of last access */ 
  52         struct  timespec vst_mtimespec
; /* time of last data modification */ 
  53         struct  timespec vst_ctimespec
; /* time of last file status change */ 
  55         time_t                  vst_atime
;              /* time of last access */ 
  56         long                    vst_atimensec
;  /* nsec of last access */ 
  57         time_t                  vst_mtime
;              /* time of last data modification */ 
  58         long                    vst_mtimensec
;  /* nsec of last data modification */ 
  59         time_t                  vst_ctime
;              /* time of last file status change */ 
  60         long                    vst_ctimensec
;  /* nsec of last file status change */ 
  62         off_t                   vst_filesize
;   /* file size, in bytes */ 
  63         quad_t                  vst_blocks
;             /* bytes allocated for file */ 
  64         u_int32_t               vst_blksize
;    /* optimal blocksize for I/O */ 
  65         u_int32_t               vst_flags
;              /* user defined flags for file */ 
  68 #endif /* ! _POSIX_SOURCE */ 
  70 #endif /* !_SYS_VSTAT_H_ */