mirror of
https://github.com/golang/sys.git
synced 2026-02-09 04:06:04 +03:00
unix: use setattrlist for UtimesNano on Darwin for ns resolution
Follow CL 74952 for x/sys/unix. Update golang/go#22528 Change-Id: Id146da75b80a64cfa4eac28e9bb7b3befe944718 Reviewed-on: https://go-review.googlesource.com/75610 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
committed by
Brad Fitzpatrick
parent
95c6576299
commit
feaf45c67f
@@ -38,6 +38,8 @@ includes_Darwin='
|
||||
#define _DARWIN_C_SOURCE
|
||||
#define KERNEL
|
||||
#define _DARWIN_USE_64_BIT_INODE
|
||||
#include <stdint.h>
|
||||
#include <sys/attr.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/event.h>
|
||||
#include <sys/ptrace.h>
|
||||
@@ -423,6 +425,7 @@ ccflags="$@"
|
||||
$2 ~ /^GENL_/ ||
|
||||
$2 ~ /^UTIME_/ ||
|
||||
$2 ~ /^XATTR_(CREATE|REPLACE)/ ||
|
||||
$2 ~ /^ATTR_(BIT_MAP_COUNT|(CMN|VOL|FILE)_)/ ||
|
||||
$2 ~ /^WDIOC_/ ||
|
||||
$2 !~ "WMESGLEN" &&
|
||||
$2 ~ /^W[A-Z0-9]+$/ ||
|
||||
|
||||
@@ -570,7 +570,12 @@ func UtimesNano(path string, ts []Timespec) error {
|
||||
if len(ts) != 2 {
|
||||
return EINVAL
|
||||
}
|
||||
err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
|
||||
// Darwin setattrlist can set nanosecond timestamps
|
||||
err := setattrlistTimes(path, ts)
|
||||
if err != ENOSYS {
|
||||
return err
|
||||
}
|
||||
err = utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
|
||||
if err != ENOSYS {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -187,6 +187,35 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func setattrlistTimes(path string, times []Timespec) error {
|
||||
_p0, err := BytePtrFromString(path)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
var attrList attrList
|
||||
attrList.bitmapCount = ATTR_BIT_MAP_COUNT
|
||||
attrList.CommonAttr = ATTR_CMN_MODTIME | ATTR_CMN_ACCTIME
|
||||
|
||||
// order is mtime, atime: the opposite of Chtimes
|
||||
attributes := [2]Timespec{times[1], times[0]}
|
||||
|
||||
const options = 0
|
||||
_, _, e1 := Syscall6(
|
||||
SYS_SETATTRLIST,
|
||||
uintptr(unsafe.Pointer(_p0)),
|
||||
uintptr(unsafe.Pointer(&attrList)),
|
||||
uintptr(unsafe.Pointer(&attributes)),
|
||||
uintptr(unsafe.Sizeof(attributes)),
|
||||
uintptr(options),
|
||||
0,
|
||||
)
|
||||
if e1 != 0 {
|
||||
return e1
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func utimensat(dirfd int, path string, times *[2]Timespec, flags int) error {
|
||||
// Darwin doesn't support SYS_UTIMENSAT
|
||||
return ENOSYS
|
||||
|
||||
@@ -125,6 +125,11 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func setattrlistTimes(path string, times []Timespec) error {
|
||||
// used on Darwin for UtimesNano
|
||||
return ENOSYS
|
||||
}
|
||||
|
||||
/*
|
||||
* Exposed directly
|
||||
*/
|
||||
|
||||
@@ -120,6 +120,11 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func setattrlistTimes(path string, times []Timespec) error {
|
||||
// used on Darwin for UtimesNano
|
||||
return ENOSYS
|
||||
}
|
||||
|
||||
// Derive extattr namespace and attribute name
|
||||
|
||||
func xattrnamespace(fullattr string) (ns int, attr string, err error) {
|
||||
|
||||
@@ -124,6 +124,11 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
|
||||
return -1, ENOSYS
|
||||
}
|
||||
|
||||
func setattrlistTimes(path string, times []Timespec) error {
|
||||
// used on Darwin for UtimesNano
|
||||
return ENOSYS
|
||||
}
|
||||
|
||||
/*
|
||||
* Exposed directly
|
||||
*/
|
||||
|
||||
@@ -102,6 +102,11 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func setattrlistTimes(path string, times []Timespec) error {
|
||||
// used on Darwin for UtimesNano
|
||||
return ENOSYS
|
||||
}
|
||||
|
||||
/*
|
||||
* Exposed directly
|
||||
*/
|
||||
|
||||
@@ -49,6 +49,86 @@ const (
|
||||
AF_UNSPEC = 0x0
|
||||
AF_UTUN = 0x26
|
||||
ALTWERASE = 0x200
|
||||
ATTR_BIT_MAP_COUNT = 0x5
|
||||
ATTR_CMN_ACCESSMASK = 0x20000
|
||||
ATTR_CMN_ACCTIME = 0x1000
|
||||
ATTR_CMN_ADDEDTIME = 0x10000000
|
||||
ATTR_CMN_BKUPTIME = 0x2000
|
||||
ATTR_CMN_CHGTIME = 0x800
|
||||
ATTR_CMN_CRTIME = 0x200
|
||||
ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000
|
||||
ATTR_CMN_DEVID = 0x2
|
||||
ATTR_CMN_DOCUMENT_ID = 0x100000
|
||||
ATTR_CMN_ERROR = 0x20000000
|
||||
ATTR_CMN_EXTENDED_SECURITY = 0x400000
|
||||
ATTR_CMN_FILEID = 0x2000000
|
||||
ATTR_CMN_FLAGS = 0x40000
|
||||
ATTR_CMN_FNDRINFO = 0x4000
|
||||
ATTR_CMN_FSID = 0x4
|
||||
ATTR_CMN_FULLPATH = 0x8000000
|
||||
ATTR_CMN_GEN_COUNT = 0x80000
|
||||
ATTR_CMN_GRPID = 0x10000
|
||||
ATTR_CMN_GRPUUID = 0x1000000
|
||||
ATTR_CMN_MODTIME = 0x400
|
||||
ATTR_CMN_NAME = 0x1
|
||||
ATTR_CMN_NAMEDATTRCOUNT = 0x80000
|
||||
ATTR_CMN_NAMEDATTRLIST = 0x100000
|
||||
ATTR_CMN_OBJID = 0x20
|
||||
ATTR_CMN_OBJPERMANENTID = 0x40
|
||||
ATTR_CMN_OBJTAG = 0x10
|
||||
ATTR_CMN_OBJTYPE = 0x8
|
||||
ATTR_CMN_OWNERID = 0x8000
|
||||
ATTR_CMN_PARENTID = 0x4000000
|
||||
ATTR_CMN_PAROBJID = 0x80
|
||||
ATTR_CMN_RETURNED_ATTRS = 0x80000000
|
||||
ATTR_CMN_SCRIPT = 0x100
|
||||
ATTR_CMN_SETMASK = 0x41c7ff00
|
||||
ATTR_CMN_USERACCESS = 0x200000
|
||||
ATTR_CMN_UUID = 0x800000
|
||||
ATTR_CMN_VALIDMASK = 0xffffffff
|
||||
ATTR_CMN_VOLSETMASK = 0x6700
|
||||
ATTR_FILE_ALLOCSIZE = 0x4
|
||||
ATTR_FILE_CLUMPSIZE = 0x10
|
||||
ATTR_FILE_DATAALLOCSIZE = 0x400
|
||||
ATTR_FILE_DATAEXTENTS = 0x800
|
||||
ATTR_FILE_DATALENGTH = 0x200
|
||||
ATTR_FILE_DEVTYPE = 0x20
|
||||
ATTR_FILE_FILETYPE = 0x40
|
||||
ATTR_FILE_FORKCOUNT = 0x80
|
||||
ATTR_FILE_FORKLIST = 0x100
|
||||
ATTR_FILE_IOBLOCKSIZE = 0x8
|
||||
ATTR_FILE_LINKCOUNT = 0x1
|
||||
ATTR_FILE_RSRCALLOCSIZE = 0x2000
|
||||
ATTR_FILE_RSRCEXTENTS = 0x4000
|
||||
ATTR_FILE_RSRCLENGTH = 0x1000
|
||||
ATTR_FILE_SETMASK = 0x20
|
||||
ATTR_FILE_TOTALSIZE = 0x2
|
||||
ATTR_FILE_VALIDMASK = 0x37ff
|
||||
ATTR_VOL_ALLOCATIONCLUMP = 0x40
|
||||
ATTR_VOL_ATTRIBUTES = 0x40000000
|
||||
ATTR_VOL_CAPABILITIES = 0x20000
|
||||
ATTR_VOL_DIRCOUNT = 0x400
|
||||
ATTR_VOL_ENCODINGSUSED = 0x10000
|
||||
ATTR_VOL_FILECOUNT = 0x200
|
||||
ATTR_VOL_FSTYPE = 0x1
|
||||
ATTR_VOL_INFO = 0x80000000
|
||||
ATTR_VOL_IOBLOCKSIZE = 0x80
|
||||
ATTR_VOL_MAXOBJCOUNT = 0x800
|
||||
ATTR_VOL_MINALLOCATION = 0x20
|
||||
ATTR_VOL_MOUNTEDDEVICE = 0x8000
|
||||
ATTR_VOL_MOUNTFLAGS = 0x4000
|
||||
ATTR_VOL_MOUNTPOINT = 0x1000
|
||||
ATTR_VOL_NAME = 0x2000
|
||||
ATTR_VOL_OBJCOUNT = 0x100
|
||||
ATTR_VOL_QUOTA_SIZE = 0x10000000
|
||||
ATTR_VOL_RESERVED_SIZE = 0x20000000
|
||||
ATTR_VOL_SETMASK = 0x80002000
|
||||
ATTR_VOL_SIGNATURE = 0x2
|
||||
ATTR_VOL_SIZE = 0x4
|
||||
ATTR_VOL_SPACEAVAIL = 0x10
|
||||
ATTR_VOL_SPACEFREE = 0x8
|
||||
ATTR_VOL_UUID = 0x40000
|
||||
ATTR_VOL_VALIDMASK = 0xf007ffff
|
||||
B0 = 0x0
|
||||
B110 = 0x6e
|
||||
B115200 = 0x1c200
|
||||
|
||||
@@ -49,6 +49,86 @@ const (
|
||||
AF_UNSPEC = 0x0
|
||||
AF_UTUN = 0x26
|
||||
ALTWERASE = 0x200
|
||||
ATTR_BIT_MAP_COUNT = 0x5
|
||||
ATTR_CMN_ACCESSMASK = 0x20000
|
||||
ATTR_CMN_ACCTIME = 0x1000
|
||||
ATTR_CMN_ADDEDTIME = 0x10000000
|
||||
ATTR_CMN_BKUPTIME = 0x2000
|
||||
ATTR_CMN_CHGTIME = 0x800
|
||||
ATTR_CMN_CRTIME = 0x200
|
||||
ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000
|
||||
ATTR_CMN_DEVID = 0x2
|
||||
ATTR_CMN_DOCUMENT_ID = 0x100000
|
||||
ATTR_CMN_ERROR = 0x20000000
|
||||
ATTR_CMN_EXTENDED_SECURITY = 0x400000
|
||||
ATTR_CMN_FILEID = 0x2000000
|
||||
ATTR_CMN_FLAGS = 0x40000
|
||||
ATTR_CMN_FNDRINFO = 0x4000
|
||||
ATTR_CMN_FSID = 0x4
|
||||
ATTR_CMN_FULLPATH = 0x8000000
|
||||
ATTR_CMN_GEN_COUNT = 0x80000
|
||||
ATTR_CMN_GRPID = 0x10000
|
||||
ATTR_CMN_GRPUUID = 0x1000000
|
||||
ATTR_CMN_MODTIME = 0x400
|
||||
ATTR_CMN_NAME = 0x1
|
||||
ATTR_CMN_NAMEDATTRCOUNT = 0x80000
|
||||
ATTR_CMN_NAMEDATTRLIST = 0x100000
|
||||
ATTR_CMN_OBJID = 0x20
|
||||
ATTR_CMN_OBJPERMANENTID = 0x40
|
||||
ATTR_CMN_OBJTAG = 0x10
|
||||
ATTR_CMN_OBJTYPE = 0x8
|
||||
ATTR_CMN_OWNERID = 0x8000
|
||||
ATTR_CMN_PARENTID = 0x4000000
|
||||
ATTR_CMN_PAROBJID = 0x80
|
||||
ATTR_CMN_RETURNED_ATTRS = 0x80000000
|
||||
ATTR_CMN_SCRIPT = 0x100
|
||||
ATTR_CMN_SETMASK = 0x41c7ff00
|
||||
ATTR_CMN_USERACCESS = 0x200000
|
||||
ATTR_CMN_UUID = 0x800000
|
||||
ATTR_CMN_VALIDMASK = 0xffffffff
|
||||
ATTR_CMN_VOLSETMASK = 0x6700
|
||||
ATTR_FILE_ALLOCSIZE = 0x4
|
||||
ATTR_FILE_CLUMPSIZE = 0x10
|
||||
ATTR_FILE_DATAALLOCSIZE = 0x400
|
||||
ATTR_FILE_DATAEXTENTS = 0x800
|
||||
ATTR_FILE_DATALENGTH = 0x200
|
||||
ATTR_FILE_DEVTYPE = 0x20
|
||||
ATTR_FILE_FILETYPE = 0x40
|
||||
ATTR_FILE_FORKCOUNT = 0x80
|
||||
ATTR_FILE_FORKLIST = 0x100
|
||||
ATTR_FILE_IOBLOCKSIZE = 0x8
|
||||
ATTR_FILE_LINKCOUNT = 0x1
|
||||
ATTR_FILE_RSRCALLOCSIZE = 0x2000
|
||||
ATTR_FILE_RSRCEXTENTS = 0x4000
|
||||
ATTR_FILE_RSRCLENGTH = 0x1000
|
||||
ATTR_FILE_SETMASK = 0x20
|
||||
ATTR_FILE_TOTALSIZE = 0x2
|
||||
ATTR_FILE_VALIDMASK = 0x37ff
|
||||
ATTR_VOL_ALLOCATIONCLUMP = 0x40
|
||||
ATTR_VOL_ATTRIBUTES = 0x40000000
|
||||
ATTR_VOL_CAPABILITIES = 0x20000
|
||||
ATTR_VOL_DIRCOUNT = 0x400
|
||||
ATTR_VOL_ENCODINGSUSED = 0x10000
|
||||
ATTR_VOL_FILECOUNT = 0x200
|
||||
ATTR_VOL_FSTYPE = 0x1
|
||||
ATTR_VOL_INFO = 0x80000000
|
||||
ATTR_VOL_IOBLOCKSIZE = 0x80
|
||||
ATTR_VOL_MAXOBJCOUNT = 0x800
|
||||
ATTR_VOL_MINALLOCATION = 0x20
|
||||
ATTR_VOL_MOUNTEDDEVICE = 0x8000
|
||||
ATTR_VOL_MOUNTFLAGS = 0x4000
|
||||
ATTR_VOL_MOUNTPOINT = 0x1000
|
||||
ATTR_VOL_NAME = 0x2000
|
||||
ATTR_VOL_OBJCOUNT = 0x100
|
||||
ATTR_VOL_QUOTA_SIZE = 0x10000000
|
||||
ATTR_VOL_RESERVED_SIZE = 0x20000000
|
||||
ATTR_VOL_SETMASK = 0x80002000
|
||||
ATTR_VOL_SIGNATURE = 0x2
|
||||
ATTR_VOL_SIZE = 0x4
|
||||
ATTR_VOL_SPACEAVAIL = 0x10
|
||||
ATTR_VOL_SPACEFREE = 0x8
|
||||
ATTR_VOL_UUID = 0x40000
|
||||
ATTR_VOL_VALIDMASK = 0xf007ffff
|
||||
B0 = 0x0
|
||||
B110 = 0x6e
|
||||
B115200 = 0x1c200
|
||||
|
||||
@@ -49,6 +49,86 @@ const (
|
||||
AF_UNSPEC = 0x0
|
||||
AF_UTUN = 0x26
|
||||
ALTWERASE = 0x200
|
||||
ATTR_BIT_MAP_COUNT = 0x5
|
||||
ATTR_CMN_ACCESSMASK = 0x20000
|
||||
ATTR_CMN_ACCTIME = 0x1000
|
||||
ATTR_CMN_ADDEDTIME = 0x10000000
|
||||
ATTR_CMN_BKUPTIME = 0x2000
|
||||
ATTR_CMN_CHGTIME = 0x800
|
||||
ATTR_CMN_CRTIME = 0x200
|
||||
ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000
|
||||
ATTR_CMN_DEVID = 0x2
|
||||
ATTR_CMN_DOCUMENT_ID = 0x100000
|
||||
ATTR_CMN_ERROR = 0x20000000
|
||||
ATTR_CMN_EXTENDED_SECURITY = 0x400000
|
||||
ATTR_CMN_FILEID = 0x2000000
|
||||
ATTR_CMN_FLAGS = 0x40000
|
||||
ATTR_CMN_FNDRINFO = 0x4000
|
||||
ATTR_CMN_FSID = 0x4
|
||||
ATTR_CMN_FULLPATH = 0x8000000
|
||||
ATTR_CMN_GEN_COUNT = 0x80000
|
||||
ATTR_CMN_GRPID = 0x10000
|
||||
ATTR_CMN_GRPUUID = 0x1000000
|
||||
ATTR_CMN_MODTIME = 0x400
|
||||
ATTR_CMN_NAME = 0x1
|
||||
ATTR_CMN_NAMEDATTRCOUNT = 0x80000
|
||||
ATTR_CMN_NAMEDATTRLIST = 0x100000
|
||||
ATTR_CMN_OBJID = 0x20
|
||||
ATTR_CMN_OBJPERMANENTID = 0x40
|
||||
ATTR_CMN_OBJTAG = 0x10
|
||||
ATTR_CMN_OBJTYPE = 0x8
|
||||
ATTR_CMN_OWNERID = 0x8000
|
||||
ATTR_CMN_PARENTID = 0x4000000
|
||||
ATTR_CMN_PAROBJID = 0x80
|
||||
ATTR_CMN_RETURNED_ATTRS = 0x80000000
|
||||
ATTR_CMN_SCRIPT = 0x100
|
||||
ATTR_CMN_SETMASK = 0x41c7ff00
|
||||
ATTR_CMN_USERACCESS = 0x200000
|
||||
ATTR_CMN_UUID = 0x800000
|
||||
ATTR_CMN_VALIDMASK = 0xffffffff
|
||||
ATTR_CMN_VOLSETMASK = 0x6700
|
||||
ATTR_FILE_ALLOCSIZE = 0x4
|
||||
ATTR_FILE_CLUMPSIZE = 0x10
|
||||
ATTR_FILE_DATAALLOCSIZE = 0x400
|
||||
ATTR_FILE_DATAEXTENTS = 0x800
|
||||
ATTR_FILE_DATALENGTH = 0x200
|
||||
ATTR_FILE_DEVTYPE = 0x20
|
||||
ATTR_FILE_FILETYPE = 0x40
|
||||
ATTR_FILE_FORKCOUNT = 0x80
|
||||
ATTR_FILE_FORKLIST = 0x100
|
||||
ATTR_FILE_IOBLOCKSIZE = 0x8
|
||||
ATTR_FILE_LINKCOUNT = 0x1
|
||||
ATTR_FILE_RSRCALLOCSIZE = 0x2000
|
||||
ATTR_FILE_RSRCEXTENTS = 0x4000
|
||||
ATTR_FILE_RSRCLENGTH = 0x1000
|
||||
ATTR_FILE_SETMASK = 0x20
|
||||
ATTR_FILE_TOTALSIZE = 0x2
|
||||
ATTR_FILE_VALIDMASK = 0x37ff
|
||||
ATTR_VOL_ALLOCATIONCLUMP = 0x40
|
||||
ATTR_VOL_ATTRIBUTES = 0x40000000
|
||||
ATTR_VOL_CAPABILITIES = 0x20000
|
||||
ATTR_VOL_DIRCOUNT = 0x400
|
||||
ATTR_VOL_ENCODINGSUSED = 0x10000
|
||||
ATTR_VOL_FILECOUNT = 0x200
|
||||
ATTR_VOL_FSTYPE = 0x1
|
||||
ATTR_VOL_INFO = 0x80000000
|
||||
ATTR_VOL_IOBLOCKSIZE = 0x80
|
||||
ATTR_VOL_MAXOBJCOUNT = 0x800
|
||||
ATTR_VOL_MINALLOCATION = 0x20
|
||||
ATTR_VOL_MOUNTEDDEVICE = 0x8000
|
||||
ATTR_VOL_MOUNTFLAGS = 0x4000
|
||||
ATTR_VOL_MOUNTPOINT = 0x1000
|
||||
ATTR_VOL_NAME = 0x2000
|
||||
ATTR_VOL_OBJCOUNT = 0x100
|
||||
ATTR_VOL_QUOTA_SIZE = 0x10000000
|
||||
ATTR_VOL_RESERVED_SIZE = 0x20000000
|
||||
ATTR_VOL_SETMASK = 0x80002000
|
||||
ATTR_VOL_SIGNATURE = 0x2
|
||||
ATTR_VOL_SIZE = 0x4
|
||||
ATTR_VOL_SPACEAVAIL = 0x10
|
||||
ATTR_VOL_SPACEFREE = 0x8
|
||||
ATTR_VOL_UUID = 0x40000
|
||||
ATTR_VOL_VALIDMASK = 0xf007ffff
|
||||
B0 = 0x0
|
||||
B110 = 0x6e
|
||||
B115200 = 0x1c200
|
||||
|
||||
@@ -49,6 +49,86 @@ const (
|
||||
AF_UNSPEC = 0x0
|
||||
AF_UTUN = 0x26
|
||||
ALTWERASE = 0x200
|
||||
ATTR_BIT_MAP_COUNT = 0x5
|
||||
ATTR_CMN_ACCESSMASK = 0x20000
|
||||
ATTR_CMN_ACCTIME = 0x1000
|
||||
ATTR_CMN_ADDEDTIME = 0x10000000
|
||||
ATTR_CMN_BKUPTIME = 0x2000
|
||||
ATTR_CMN_CHGTIME = 0x800
|
||||
ATTR_CMN_CRTIME = 0x200
|
||||
ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000
|
||||
ATTR_CMN_DEVID = 0x2
|
||||
ATTR_CMN_DOCUMENT_ID = 0x100000
|
||||
ATTR_CMN_ERROR = 0x20000000
|
||||
ATTR_CMN_EXTENDED_SECURITY = 0x400000
|
||||
ATTR_CMN_FILEID = 0x2000000
|
||||
ATTR_CMN_FLAGS = 0x40000
|
||||
ATTR_CMN_FNDRINFO = 0x4000
|
||||
ATTR_CMN_FSID = 0x4
|
||||
ATTR_CMN_FULLPATH = 0x8000000
|
||||
ATTR_CMN_GEN_COUNT = 0x80000
|
||||
ATTR_CMN_GRPID = 0x10000
|
||||
ATTR_CMN_GRPUUID = 0x1000000
|
||||
ATTR_CMN_MODTIME = 0x400
|
||||
ATTR_CMN_NAME = 0x1
|
||||
ATTR_CMN_NAMEDATTRCOUNT = 0x80000
|
||||
ATTR_CMN_NAMEDATTRLIST = 0x100000
|
||||
ATTR_CMN_OBJID = 0x20
|
||||
ATTR_CMN_OBJPERMANENTID = 0x40
|
||||
ATTR_CMN_OBJTAG = 0x10
|
||||
ATTR_CMN_OBJTYPE = 0x8
|
||||
ATTR_CMN_OWNERID = 0x8000
|
||||
ATTR_CMN_PARENTID = 0x4000000
|
||||
ATTR_CMN_PAROBJID = 0x80
|
||||
ATTR_CMN_RETURNED_ATTRS = 0x80000000
|
||||
ATTR_CMN_SCRIPT = 0x100
|
||||
ATTR_CMN_SETMASK = 0x41c7ff00
|
||||
ATTR_CMN_USERACCESS = 0x200000
|
||||
ATTR_CMN_UUID = 0x800000
|
||||
ATTR_CMN_VALIDMASK = 0xffffffff
|
||||
ATTR_CMN_VOLSETMASK = 0x6700
|
||||
ATTR_FILE_ALLOCSIZE = 0x4
|
||||
ATTR_FILE_CLUMPSIZE = 0x10
|
||||
ATTR_FILE_DATAALLOCSIZE = 0x400
|
||||
ATTR_FILE_DATAEXTENTS = 0x800
|
||||
ATTR_FILE_DATALENGTH = 0x200
|
||||
ATTR_FILE_DEVTYPE = 0x20
|
||||
ATTR_FILE_FILETYPE = 0x40
|
||||
ATTR_FILE_FORKCOUNT = 0x80
|
||||
ATTR_FILE_FORKLIST = 0x100
|
||||
ATTR_FILE_IOBLOCKSIZE = 0x8
|
||||
ATTR_FILE_LINKCOUNT = 0x1
|
||||
ATTR_FILE_RSRCALLOCSIZE = 0x2000
|
||||
ATTR_FILE_RSRCEXTENTS = 0x4000
|
||||
ATTR_FILE_RSRCLENGTH = 0x1000
|
||||
ATTR_FILE_SETMASK = 0x20
|
||||
ATTR_FILE_TOTALSIZE = 0x2
|
||||
ATTR_FILE_VALIDMASK = 0x37ff
|
||||
ATTR_VOL_ALLOCATIONCLUMP = 0x40
|
||||
ATTR_VOL_ATTRIBUTES = 0x40000000
|
||||
ATTR_VOL_CAPABILITIES = 0x20000
|
||||
ATTR_VOL_DIRCOUNT = 0x400
|
||||
ATTR_VOL_ENCODINGSUSED = 0x10000
|
||||
ATTR_VOL_FILECOUNT = 0x200
|
||||
ATTR_VOL_FSTYPE = 0x1
|
||||
ATTR_VOL_INFO = 0x80000000
|
||||
ATTR_VOL_IOBLOCKSIZE = 0x80
|
||||
ATTR_VOL_MAXOBJCOUNT = 0x800
|
||||
ATTR_VOL_MINALLOCATION = 0x20
|
||||
ATTR_VOL_MOUNTEDDEVICE = 0x8000
|
||||
ATTR_VOL_MOUNTFLAGS = 0x4000
|
||||
ATTR_VOL_MOUNTPOINT = 0x1000
|
||||
ATTR_VOL_NAME = 0x2000
|
||||
ATTR_VOL_OBJCOUNT = 0x100
|
||||
ATTR_VOL_QUOTA_SIZE = 0x10000000
|
||||
ATTR_VOL_RESERVED_SIZE = 0x20000000
|
||||
ATTR_VOL_SETMASK = 0x80002000
|
||||
ATTR_VOL_SIGNATURE = 0x2
|
||||
ATTR_VOL_SIZE = 0x4
|
||||
ATTR_VOL_SPACEAVAIL = 0x10
|
||||
ATTR_VOL_SPACEFREE = 0x8
|
||||
ATTR_VOL_UUID = 0x40000
|
||||
ATTR_VOL_VALIDMASK = 0xf007ffff
|
||||
B0 = 0x0
|
||||
B110 = 0x6e
|
||||
B115200 = 0x1c200
|
||||
|
||||
Reference in New Issue
Block a user