Unix File Attributes
The Unix File Attributes packet consists of the following:
<File-Index> <Type> <Filename>@<File-Attributes>@<Link> @<Extended-Attributes@> where
- @
represents a byte containing a binary zero.
- FileIndex
is the sequential file index starting from one assigned by the File daemon.
- Type
is one of the following:
#define FT_LNKSAVED 1 /* hard link to file already saved */ #define FT_REGE 2 /* Regular file but empty */ #define FT_REG 3 /* Regular file */ #define FT_LNK 4 /* Soft Link */ #define FT_DIR 5 /* Directory */ #define FT_SPEC 6 /* Special file -- chr, blk, fifo, sock */ #define FT_NOACCESS 7 /* Not able to access */ #define FT_NOFOLLOW 8 /* Could not follow link */ #define FT_NOSTAT 9 /* Could not stat file */ #define FT_NOCHG 10 /* Incremental option, file not changed */ #define FT_DIRNOCHG 11 /* Incremental option, directory not changed */ #define FT_ISARCH 12 /* Trying to save archive file */ #define FT_NORECURSE 13 /* No recursion into directory */ #define FT_NOFSCHG 14 /* Different file system, prohibited */ #define FT_NOOPEN 15 /* Could not open directory */ #define FT_RAW 16 /* Raw block device */ #define FT_FIFO 17 /* Raw fifo device */
- Filename
is the fully qualified filename.
- File-Attributes
consists of the 13 fields of the stat() buffer in ASCII base64 format separated by spaces. These fields and their meanings are shown below. This stat() packet is in Unix format, and MUST be provided (constructed) for ALL systems.
- Link
when the FT code is FT_LNK or FT_LNKSAVED, the item in question is a Unix link, and this field contains the fully qualified link name. When the FT code is not FT_LNK or FT_LNKSAVED, this field is null.
- Extended-Attributes
The exact format of this field is operating system dependent. It contains additional or extended attributes of a system dependent nature. Currently, this field is used only on WIN32 systems where it contains a ASCII base64 representation of the WIN32_FILE_ATTRIBUTE_DATA structure as defined by Windows. The fields in the base64 representation of this structure are like the File-Attributes separated by spaces.
The File-attributes consist of the following:
Field No. |
Stat Name |
Unix |
Win98 / NT |
MacOS |
---|---|---|---|---|
1 |
st_dev |
Device number of filesystem |
Drive number |
vRefNum |
2 |
st_ino |
Inode number |
Always 0 |
fileID / dirID |
3 |
st_mode |
File mode |
File mode |
777 dirs / apps; 666 docs; 444 locked docs |
4 |
st_nlink |
Number of links to the file |
Number of link (only on NTFS) |
Always 1 |
5 |
st_uid |
Owner ID |
Always 0 |
Always 0 |
6 |
st_gid |
Group ID |
Always 0 |
Always 0 |
7 |
st_rdev |
Device ID for special files |
Drive No. |
Always 0 |
8 |
st_size |
File size in bytes |
File size in bytes |
Data fork file size in bytes |
9 |
st_blksize |
Preferred block size |
Always 0 |
Preferred block size |
10 |
st_blocks |
Number of blocks allocated |
Always 0 |
Number of blocks allocated |
11 |
st_atime |
Last access time since epoch |
Last access time since epoch |
Last access time -66 years |
12 |
st_mtime |
Last modify time since epoch |
Last modify time since epoch |
Last access time -66 years |
13 |
st_ctime |
Inode change time since epoch |
File create time since epoch |
File create time -66 years |
See also
Possible Next Steps
Go back to Storage Media Output Format.
Go back to Developer Guide.