Header files access header information using normal D3 utilities.
Through the OSFI, it is possible to access information about an item such as update stamps, permissions, ownership, and driver-specific data. The header driver translates this information into a format that looks like a standard D3 item.
NOTE |
Access to the header information via this driver is read-only. The only way to modify the header information is through the normal update routines. This is enabled via the Y correlative for D3 files. With the Y correlative, the user, PIB, and/or timedate can be stamped by appending a u, p, and/or t to the y character. No other information is currently available for normal items. Header information updates on non-D3 items depend on the behavior of the remote file system to which those items belong. |
Any utility that physically moves the data (such as copy) changes the header information.
The save and restore utilities save and restore the header information as well.
When reading items via the header driver, the items are returned as a dynamic array with the following raw attribute definitions:
NOTE |
Attributes 11-14 apply only for UNIX. |
Attribute |
Description |
md Entry |
1 User-ID |
D3 user name or the UNIX user number in hexadecimal of the last user to update this item. |
hdr.user |
2 PIB |
D3 PIB (in hexadecimal) of the last user to update this item. This field is undefined for non-D3 drivers. |
hdr.pib |
3 Time/date |
Hexadecimal representation of the number of seconds elapsed since 12:00 AM December 31, 1967 and the time the item was last updated. |
hdr.date and hdr.time |
4 Permissions |
Hexadecimal number representing the permissions on the item. This currently only applies to non-D3 items. |
N/A |
5 GroupID |
Group ID (in hexadecimal). Currently used only by the UNIX driver, but may be used by other drivers in the future. |
N/A |
6 - 10 |
Reserved |
N/A |
11 |
File type:
|
hdr:unix:type |
12 |
Size in decimal. |
hdr:unix:bytes |
13 |
Mode in octal. |
hdr:unix:omode |
14 |
Mode in text format (-rwxrwxrwx). |
hdr:unix:mode |
15 |
User-ID in decimal. |
hdr:unix:uid |
16 |
User-ID name. |
hdr:unix:user |
17 |
Group ID in decimal. |
hdr:unix:gid |
18 |
Group ID name. |
hdr:unix:group |
19 |
Creation date in decimal. |
hdr:unix:cdate |
20 |
Creation time in decimal. |
hdr:unix:ctime |
21 |
Modification date in decimal. |
hdr:unix:mdate |
22 |
Modification time in decimal. |
hdr:unix:mtime |
23 |
Access date in decimal. |
hdr:unix:adate |
24 |
Access time in decimal. |
hdr:unix:atime |
The format of the header Q-pointer is:
file.name |
||
|
001 |
Q |
|
002 |
|
|
003 |
hdr:filename |
where
hdr |
Name of the hdr host in the dm,hosts, file. |
filename |
Name of the target file to examine. This can be a local D3 file (assuming the Y correlative has been added to the D-pointer), or a remote file (UNIX or MS-DOS). |
The file can also be opened by pre-pending the file name with the string "hdr:".
WARNING |
Because the hdr: driver is read-only, it does not make sense to create a QS-pointer to it (to attempt to save the header data). Any attempt to do this will have no effect upon a restore. Note that it is not necessary to save header information since it is implicitly saved and restored using the save and restore utilities. Header information is not recorded on a t-dump since the succeeding t-load is considered to be a batch of new updates which change the header information in a driver-specific manner. Note that updates performed to a file from a remote site will always show the updated user as dm. |
See Also