]>
Commit | Line | Data |
---|---|---|
1c79356b A |
1 | /* |
2 | * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. | |
3 | * | |
4 | * @APPLE_LICENSE_HEADER_START@ | |
5 | * | |
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. | |
11 | * | |
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 | |
18 | * under the License. | |
19 | * | |
20 | * @APPLE_LICENSE_HEADER_END@ | |
21 | */ | |
22 | /* Copyright (c) 1998 Apple Computer, Inc. All Rights Reserved */ | |
23 | /*- | |
24 | * @(#)vstat.h | |
25 | */ | |
26 | /* HISTORY | |
27 | * 01-27-98 chw at Apple Computer, Inc. | |
28 | * Created. | |
29 | */ | |
30 | ||
31 | #ifndef _SYS_VSTAT_H_ | |
32 | #define _SYS_VSTAT_H_ | |
33 | ||
34 | #include <sys/time.h> | |
35 | #include <sys/attr.h> | |
36 | ||
37 | #ifndef _POSIX_SOURCE | |
38 | ||
39 | struct vstat { | |
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 */ | |
50 | #ifndef _POSIX_SOURCE | |
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 */ | |
54 | #else | |
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 */ | |
61 | #endif | |
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 */ | |
66 | }; | |
67 | ||
68 | #endif /* ! _POSIX_SOURCE */ | |
69 | ||
70 | #endif /* !_SYS_VSTAT_H_ */ |