Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I am trying to determine what all of the attributes are of a regular file (as opposed to a symbolic link, etc.) on Mac OS X with Mac OS Extended (Journaled) (HFS+). Here is my current list:

Compression State
Unix Permissions
User
Group
extended attributes (xattr)
last access time (stat)
last data modification (stat)
last file status change (stat)
archived flag (chflags)
opaque flag (chflags)
nodump flag (chflags)
sappend flag (chflags)
schg flag (chflags)
uappend flag (chflags)
uchg flag (chflags)
hidden flag (chflags)
ACLs
File Type Code
File Creator Code
Resource Fork
Hard Link Count

Can anyone think of any other attributes that I may have missed?

share|improve this question
1  
"Mac OS Extended" is also known as HFS+ and described in Technote TN1150. Your list is missing the link count (hardlinks). –  grawity Aug 26 '11 at 12:10
1  
IIRC, you can add any attributes you want to a file. Or is that just EXIF? –  digitxp Aug 26 '11 at 12:49
    
@digitxp If you are referring to extended attributes (xattr) mentioned above, then you are correct. Otherwise, I am not sure what you are referring to...can you provide an example? –  ericgorr Aug 26 '11 at 13:49

1 Answer 1

up vote 1 down vote accepted

Preparation

With OS X Mountain Lion:

macbookpro08-centrim:~ gjp22$ ls /Volumes/spare/touched.txt
ls: /Volumes/spare/touched.txt: No such file or directory
macbookpro08-centrim:~ gjp22$ touch /Volumes/spare/touched.txt

Result

Thanks to fileXray:

macbookpro08-centrim:~ gjp22$ sudo fileXray /Volumes/spare/touched.txt 
Password:
  path                 = spare:/touched.txt
# Catalog File Thread Record
# Record 43 in node 1 beginning at 512-byte sector 0x9040
  parentID             = 2
  nodeName             = touched.txt
# Catalog File Record
# Record 15 in node 19 beginning at 512-byte sector 0x90d0
  type                 = file
  file ID              = 76230
  flags                = 0000000010000010
                       . File has a thread record in the catalog.
                       . File has date-added stored in Finder Info.
  reserved1            = 0
  createDate           = Wed Dec 26 01:45:51 2012
  contentModDate       = Wed Dec 26 01:45:51 2012
  attributeModDate     = Wed Dec 26 01:45:51 2012
  accessDate           = Wed Dec 26 01:45:51 2012
  backupDate           = 0
  # BSD Info
  ownerID              = 19236 (gjp22)
  groupID              = 20 (staff)
  adminFlags           = 00000000
  ownerFlags           = 00000000
  fileMode             = -rw-r--r-- 
  linkCount            = 1
  textEncoding         = 0
  reserved2            = 0
  # Finder Info
  fdType               = 0
  fdCreator            = 0`
  fdFlags              = 0000000000000000
  fdLocation           = (v = 0, h = 0)
  opaque               = 0
  # Extended Finder Info
  reserved1            = 0
  date_added           = Wed Dec 26 01:45:51 2012
  extended_flags       = 0000000000000000
  reserved2            = 0
  reserved3            = 0
  # Data Fork
  logicalSize          = 0 bytes
  # Resource Fork
  logicalSize          = 0 bytes

Notes

Date added

FndrExtendedDirInfo and FndrExtendedFileInfo – both of which include date_added – appear in Apple open source for Mac OS X 10.7 (xnu-1699.22.73) but not 10.6.8.

Other fields

For the fields that are reserved, I don't know what uses might be made now or in the future.

For OS X 10.8.2

http://www.opensource.apple.com/source/xnu/xnu-2050.18.24/bsd/hfs/hfs_format.h

… describes the on-disk format for HFS and HFS Plus volumes. …

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.