<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.vmssoftware.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tonvanderzwet</id>
	<title>VSI OpenVMS Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.vmssoftware.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tonvanderzwet"/>
	<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/Special:Contributions/Tonvanderzwet"/>
	<updated>2026-05-09T22:33:27Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=MPW_WAITLIMIT&amp;diff=1395</id>
		<title>MPW WAITLIMIT</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=MPW_WAITLIMIT&amp;diff=1395"/>
		<updated>2019-10-28T20:56:31Z</updated>

		<summary type="html">&lt;p&gt;Tonvanderzwet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;MPW_WAITLIMIT&#039;&#039;&#039; is a dynamic [[System Parameters|system parameter]] that sets the number of pages on the modified-page list that causes a process to wait until the next time the modified- page writer writes the modified list. This parameter limits the rate at which any single process can produce modified pages. If this value is less than MPW_HILIMIT, a system deadlock occurs. The value for this parameter is normally equal to [[MPW_HILIMIT]].&lt;br /&gt;
&lt;br /&gt;
MPW_WAITLIMIT has the AUTOGEN and DYNAMIC attributes.&lt;br /&gt;
&lt;br /&gt;
[[Category:System Parameters]]&lt;/div&gt;</summary>
		<author><name>Tonvanderzwet</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=F$ENVIRONMENT()&amp;diff=1394</id>
		<title>F$ENVIRONMENT()</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=F$ENVIRONMENT()&amp;diff=1394"/>
		<updated>2019-10-26T18:29:41Z</updated>

		<summary type="html">&lt;p&gt;Tonvanderzwet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;F$ENVIRONMENT&#039;&#039;&#039; is a [[Lexical functions|lexical function]] that returns information about the current DCL command environment.&lt;br /&gt;
&lt;br /&gt;
=Syntax=&lt;br /&gt;
&lt;br /&gt;
F$ENVIRONMENT(item)&lt;br /&gt;
&lt;br /&gt;
=Return_Value=&lt;br /&gt;
&lt;br /&gt;
Information that corresponds to the specified item. The return value can be either an integer or a character string, depending on the specified item (see the Data Type column in the table below).&lt;br /&gt;
&lt;br /&gt;
=Arguments=&lt;br /&gt;
&lt;br /&gt;
==item==&lt;br /&gt;
&lt;br /&gt;
Specifies the type of information to be returned. Specify one of the following keywords (do not abbreviate these keywords):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;col&amp;quot; | Item&lt;br /&gt;
! colspan=&amp;quot;col&amp;quot; | Data Type&lt;br /&gt;
! colspan=&amp;quot;col&amp;quot; | Information Returned&lt;br /&gt;
|-&lt;br /&gt;
| CAPTIVE&lt;br /&gt;
| String&lt;br /&gt;
| TRUE if you are logged in to a captive account. The system manager can define captive accounts in the [[SYSUAF|user authorization file (UAF)]] by using the [[AUTHORIZE|Authorize utility (AUTHORIZE)]].&lt;br /&gt;
|-&lt;br /&gt;
| CONTROL&lt;br /&gt;
| String&lt;br /&gt;
| Control characters currently enabled with SET CONTROL. Multiple characters are separated by commas; if no control characters are enabled, the null string (&amp;quot;&amp;quot;) is returned.&lt;br /&gt;
|-&lt;br /&gt;
| DEFAULT&lt;br /&gt;
| String&lt;br /&gt;
| Current default device and directory name. The returned string is the same as SHOW DEFAULT output.&lt;br /&gt;
|-&lt;br /&gt;
| DEPTH&lt;br /&gt;
| Integer&lt;br /&gt;
| Current command procedure depth. The command procedure depth is 0 when you log in interactively and when you submit a batch job. The command procedure depth is 1 when you execute a command procedure interactively or from within a batch job. A nested command procedure has a depth of 1 greater than the depth of the command procedure from which the nested procedure is executed.&lt;br /&gt;
|-&lt;br /&gt;
| DISIMAGE&lt;br /&gt;
| String&lt;br /&gt;
| TRUE if you are logged in to an account that does not allow you to directly invoke images (for example, RUN is not allowed). The system manager can add or remove the DISIMAGE attribute for accounts in the UAF by using AUTHORIZE. &lt;br /&gt;
|-&lt;br /&gt;
| INTERACTIVE&lt;br /&gt;
| String&lt;br /&gt;
| TRUE if the process is executing interactively.&lt;br /&gt;
|-&lt;br /&gt;
| KEY_STATE&lt;br /&gt;
| String&lt;br /&gt;
| Current locked keypad state. See the description of the DEFINE/KEY command for more information on keypad states.&lt;br /&gt;
|-&lt;br /&gt;
| MAX_DEPTH&lt;br /&gt;
| Integer&lt;br /&gt;
|  Maximum allowable command procedure depth.&lt;br /&gt;
|-&lt;br /&gt;
| MESSAGE&lt;br /&gt;
| String&lt;br /&gt;
| Current setting of SET MESSAGE qualifiers. Each qualifier in the string is prefaced by a slash (/);  therefore, the output from F$ENVIRONMENT(&amp;quot;MESSAGE&amp;quot;) can be appended to the SET MESSAGE command to form a valid DCL command line.&lt;br /&gt;
|-&lt;br /&gt;
| NOCONTROL&lt;br /&gt;
| String&lt;br /&gt;
| Control characters currently disabled with SET NOCONTROL. Multiple characters are separated by commas (,);  if no control characters are disabled, the null string is returned.&lt;br /&gt;
|-&lt;br /&gt;
| ON_CONTROL_Y&lt;br /&gt;
| String&lt;br /&gt;
| If issued from a command procedure, returns TRUE if ON_CONTROL_Y is set. ON_ CONTROL_Y always returns FALSE at DCL command level.&lt;br /&gt;
|-&lt;br /&gt;
| ON_SEVERITY&lt;br /&gt;
| String&lt;br /&gt;
| If issued from a command procedure, returns the severity level at which the action specified with the ON command is performed. ON_SEVERITY returns NONE when SET NOON is in effect or at DCL command level.&lt;br /&gt;
|-&lt;br /&gt;
| OUTPUT_RATE&lt;br /&gt;
| String&lt;br /&gt;
| Delta time string containing the default output rate, which indicates how often data is written to the batch job log file while the batch job is executing. OUTPUT_RATE returns a null string if used interactively. &lt;br /&gt;
|-&lt;br /&gt;
| PROCEDURE&lt;br /&gt;
| String&lt;br /&gt;
| File specification of the current command procedure. If used interactively, the terminal device name is returned.&lt;br /&gt;
|-&lt;br /&gt;
| PROMPT&lt;br /&gt;
| String&lt;br /&gt;
| Current DCL prompt.&lt;br /&gt;
|-&lt;br /&gt;
| PROMPT_CONTROL&lt;br /&gt;
| String&lt;br /&gt;
| TRUE if a carriage return and line feed precede the prompt.&lt;br /&gt;
|-&lt;br /&gt;
| PROTECTION&lt;br /&gt;
| String&lt;br /&gt;
| Current default file protection. The string can be used with the SET PROTECTION/DEFAULT command to form a valid DCL command line.&lt;br /&gt;
|-&lt;br /&gt;
| RESTRICTED&lt;br /&gt;
| String&lt;br /&gt;
|  TRUE if you are logged in to a restricted account. The system manager can define restricted accounts in the UAF by using AUTHORIZE.&lt;br /&gt;
|-&lt;br /&gt;
| SYMBOL_SCOPE&lt;br /&gt;
| String&lt;br /&gt;
| [NO]LOCAL, [NO]GLOBAL to indicate the current symbol scoping state.&lt;br /&gt;
|-&lt;br /&gt;
| VERB_SCOPE&lt;br /&gt;
| String&lt;br /&gt;
| [NO]LOCAL, [NO]GLOBAL to indicate the current symbol scoping state for verbs.&lt;br /&gt;
|-&lt;br /&gt;
| VERIFY_IMAGE&lt;br /&gt;
| String&lt;br /&gt;
| TRUE if image verification (SET VERIFY=IMAGE) is in effect. If image verification is in effect, then the command procedure echoes input data read by images.&lt;br /&gt;
|-&lt;br /&gt;
| VERIFY_PREFIX&lt;br /&gt;
| String&lt;br /&gt;
| Returns the prefix control string set by means of the set prefix command.&lt;br /&gt;
|-&lt;br /&gt;
| VERIFY_PROCEDURE&lt;br /&gt;
| String&lt;br /&gt;
| TRUE if procedure verification SET VERIFY=PROCEDURE is in effect. If command verification is in effect, then the command procedure echoes DCL command lines.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Examples=&lt;br /&gt;
&lt;br /&gt;
 $ SAVE_MESSAGE = F$ENVIRONMENT(&amp;quot;MESSAGE&amp;quot;)&lt;br /&gt;
 $ SET MESSAGE/NOFACILITY/NOIDENTIFICATION&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 $ SET MESSAGE&#039;SAVE_MESSAGE&#039;&lt;br /&gt;
&lt;br /&gt;
This example uses the F$ENVIRONMENT function to save the current message setting before changing the setting. At the end of the command procedure, the original message setting is restored. The single quotation marks (` &#039;)  surrounding the symbol SAVE_MESSAGE indicate that the value for the symbol&lt;br /&gt;
should be substituted.&lt;br /&gt;
&lt;br /&gt;
 $ MAX = F$ENVIRONMENT(&amp;quot;MAX_DEPTH&amp;quot;)&lt;br /&gt;
 $ SHOW SYMBOL MAX&lt;br /&gt;
   MAX = 32   Hex = 00000020  Octal = 00000000040&lt;br /&gt;
&lt;br /&gt;
This example uses the F$ENVIRONMENT function to determine the maximum depth allowable within command procedures.&lt;br /&gt;
&lt;br /&gt;
 $ SAVE_PROT = F$ENVIRONMENT(&amp;quot;PROTECTION&amp;quot;)&lt;br /&gt;
 $ SET PROTECTION = (SYSTEM:RWED, OWNER:RWED, GROUP, WORLD)/DEFAULT&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 $ SET PROTECTION = (&#039;SAVE_PROT&#039;)/DEFAULT&lt;br /&gt;
&lt;br /&gt;
This example uses the F$ENVIRONMENT function to save the current default protection before changing the protection. At the end of the command procedure, the original protection is restored. You must place single quotation marks around the symbol SAVE_PROT to request symbol substitution.&lt;br /&gt;
&lt;br /&gt;
[[Category:Lexical Functions]]&lt;/div&gt;</summary>
		<author><name>Tonvanderzwet</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=F$PROCESS()&amp;diff=1393</id>
		<title>F$PROCESS()</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=F$PROCESS()&amp;diff=1393"/>
		<updated>2019-10-26T18:24:08Z</updated>

		<summary type="html">&lt;p&gt;Tonvanderzwet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;F$PROCESS&#039;&#039;&#039; is a [[Lexical functions|lexical function]] that obtains the current process name string. The F$PROCESS function has no arguments, but must be followed by parentheses.&lt;br /&gt;
&lt;br /&gt;
=Syntax=&lt;br /&gt;
&lt;br /&gt;
F$PROCESS()&lt;br /&gt;
&lt;br /&gt;
=Return Value=&lt;br /&gt;
&lt;br /&gt;
A character string containing the current process name.&lt;br /&gt;
&lt;br /&gt;
=Examples=&lt;br /&gt;
&lt;br /&gt;
 $ NAME = F$PROCESS()&lt;br /&gt;
 $ SHOW SYMBOL NAME&lt;br /&gt;
   NAME = &amp;quot;MARTIN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
In this example, the F$PROCESS function returns the current process name and assigns it to the symbol NAME.&lt;br /&gt;
&lt;br /&gt;
[[Category:Lexical Functions]]&lt;/div&gt;</summary>
		<author><name>Tonvanderzwet</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=File&amp;diff=1392</id>
		<title>File</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=File&amp;diff=1392"/>
		<updated>2019-10-26T17:54:20Z</updated>

		<summary type="html">&lt;p&gt;Tonvanderzwet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;file&#039;&#039;&#039; is a data structure for storing information on a storage media, an ordered collection of logically related records treated as a unit. File operations are provided by the [[RMS|Record Management Services]]. Files are identified by [[File ID|file IDs]] which contain the location of the [[File header|file header]]. File headers stored in [[INDEXF.SYS]] contain file metadata and pointers to where the file data is stored on disk.&lt;br /&gt;
&lt;br /&gt;
=File Organization=&lt;br /&gt;
[[RMS]] supports the following file organization types:&lt;br /&gt;
&lt;br /&gt;
* sequential&lt;br /&gt;
* relative&lt;br /&gt;
* indexed&lt;br /&gt;
&lt;br /&gt;
To find out the organization of a particular file, do a DIRECTORY/FULL.&lt;br /&gt;
&lt;br /&gt;
==Sequential File Organization==&lt;br /&gt;
In sequential file organization, records are arranges one after the other in the order in which they are stored. When editing a sequential file, new records cannot be inserted between existing records because no physical space separates them - you can only add records to the end of the file.&lt;br /&gt;
&lt;br /&gt;
Sequential file organization is supported for all device types; this is the only file organization for non-disk devices. A sequential file is created by default when you use the CREATE command.&lt;br /&gt;
&lt;br /&gt;
==Relative File Organization==&lt;br /&gt;
The relative file organization allows sequential and random access of records. A relative file consists of a series of numbered fixed-length records; RMS uses the relative record number - the record&#039;s position relative to the beginning of the file - to randomly access records. Relative files allow random get and put operations and can be write-shared.&lt;br /&gt;
&lt;br /&gt;
==Indexed File Organization==&lt;br /&gt;
Indexed files store data records in an index structure ordered by the primary key; data can be retrieved using index structures ordered by primary or alternate keys.&lt;br /&gt;
&lt;br /&gt;
Record Access Mode&lt;br /&gt;
RMS provides two record access modes: [[Sequential Access to Files|sequential access]] and [[Random Access to Files|random access]].&lt;br /&gt;
Random access can be further catalogued as one of the three following modes:&lt;br /&gt;
* Random access by key value&lt;br /&gt;
* Random access by relative record number&lt;br /&gt;
* Random access by record file address (RFA)&lt;br /&gt;
Although you cannot change its file organization after you create a file, you can change the record access mode each time you access a record in the file. For example, a relative file can be processed in sequential access mode one time and in a random access mode the next time. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! rowspan=&amp;quot;2;&amp;quot; | Access Mode&lt;br /&gt;
! colspan=&amp;quot;3;&amp;quot; | File Organization&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&#039;col&#039; | Sequential&lt;br /&gt;
! colspan=&#039;col&#039; | Relative&lt;br /&gt;
! colspan=&#039;col&#039; | Indexed&lt;br /&gt;
|-&lt;br /&gt;
| Sequential&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| Random by relative record number&lt;br /&gt;
| Permitted with fixed-length record format on disk devices only&lt;br /&gt;
| Yes&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| Random by key value&lt;br /&gt;
| No&lt;br /&gt;
| No&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| Random by record file address&lt;br /&gt;
| Permitted on disk devices only&lt;br /&gt;
| Yes&lt;br /&gt;
| No &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FID=&lt;br /&gt;
A file is idenitified by the [[File_ID|file ID]] which consists of three numbers:&lt;br /&gt;
* the file number - the offset into [[INDEXF.SYS]] where the [[File header|file header]] is stored&lt;br /&gt;
* the file sequence number specifying how many times this file number has been used&lt;br /&gt;
* the relative volume number specifying the number of the volume in the [[Volume Set|volume set]] where the file is stored&lt;br /&gt;
&lt;br /&gt;
=Aliases=&lt;br /&gt;
Several directory entries with different names possibly found in different directories can point to the same [[File_ID]] and thus same data on disk. This is called aliases or links.&lt;br /&gt;
&lt;br /&gt;
In the following example, an alias is created for REPORT.DAT:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ dir&lt;br /&gt;
&lt;br /&gt;
Directory DKA0:[JDOE]&lt;br /&gt;
&lt;br /&gt;
DATA.DIR;1          REPORT.DAT;1&lt;br /&gt;
&lt;br /&gt;
Total of 2 files.&lt;br /&gt;
$ set file/enter=report_alias.dat&lt;br /&gt;
_File: report.dat&lt;br /&gt;
$ dir&lt;br /&gt;
&lt;br /&gt;
Directory DKA0:[JDOE]&lt;br /&gt;
&lt;br /&gt;
DATA.DIR;1          REPORT.DAT;1        REPORT_ALIAS.DAT;1&lt;br /&gt;
&lt;br /&gt;
Total of 3 files.&lt;br /&gt;
$ dir /file_id&lt;br /&gt;
&lt;br /&gt;
Directory DKA0:[JDOE]&lt;br /&gt;
&lt;br /&gt;
DATA.DIR;1           (6170,17222,0)&lt;br /&gt;
REPORT.DAT;1         (6169,17222,0)&lt;br /&gt;
REPORT_ALIAS.DAT;1   (6169,17222,0)&lt;br /&gt;
&lt;br /&gt;
Total of 3 files.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Normally when a file that has an alias is deleted, a dangling directory entry appears - that is, the alias cannot be used to access the file header and the file is &amp;quot;lost&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ delete report.dat;1&lt;br /&gt;
$ type REPORT_ALIAS.DAT;1&lt;br /&gt;
%TYPE-W-OPENIN, error opening DKA0:[JDOE]REPORT_ALIAS.DAT;1 as input&lt;br /&gt;
-RMS-E-FNF, file not found&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[ODS-5]] volumes with [[Hardlink|hardlinks]] enabled support hard links: that is, aliases that can act like files. On a volume with hard links enabled, you can delete the original file, and if there is at least one alias pointing to the file header, the file data is accessible.&lt;br /&gt;
&lt;br /&gt;
=Directory Files=&lt;br /&gt;
Directory files are special files that contain the list of files in a directory and their FIDs. Directory files always have the extension of .DIR and version 1.&lt;br /&gt;
&lt;br /&gt;
=Metadata=&lt;br /&gt;
File metadata are stored in the file header in [[INDEXF.SYS]]. You can view it with DIRECTORY/FULL or DUMP/HEADER:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ dir/full data.dir&lt;br /&gt;
&lt;br /&gt;
Directory DKA0:[JDOE]&lt;br /&gt;
&lt;br /&gt;
DATA.DIR;1                    File ID:  (6170,17222,0)&lt;br /&gt;
Size:            1/16         Owner:    [JDOE]&lt;br /&gt;
Created:    29-MAR-2019 15:56:38.74&lt;br /&gt;
Modified:   29-MAR-2019 15:56:38.74 (0)&lt;br /&gt;
Expires:    &amp;lt;None specified&amp;gt;&lt;br /&gt;
Backup:     &amp;lt;No backup recorded&amp;gt;&lt;br /&gt;
Effective:  &amp;lt;None specified&amp;gt;&lt;br /&gt;
Recording:  &amp;lt;None specified&amp;gt;&lt;br /&gt;
Accessed:   &amp;lt;None specified&amp;gt;&lt;br /&gt;
Attr Mod:   &amp;lt;None specified&amp;gt;&lt;br /&gt;
Data Mod:   &amp;lt;None specified&amp;gt;&lt;br /&gt;
Linkcount:  1&lt;br /&gt;
File organization:  Sequential&lt;br /&gt;
Shelved state:      Online&lt;br /&gt;
Caching attribute:  Writethrough&lt;br /&gt;
File attributes:    Allocation: 16, Extend: 0, Global buffer count: 0&lt;br /&gt;
                    No default version limit, Contiguous, MoveFile disabled&lt;br /&gt;
                    Directory file&lt;br /&gt;
Record format:      Variable length, maximum 512 bytes, longest 512 bytes&lt;br /&gt;
Record attributes:  No carriage control, Non-spanned&lt;br /&gt;
RMS attributes:     None&lt;br /&gt;
Journaling enabled: None&lt;br /&gt;
File protection:    System:RWE, Owner:RWE, Group:RE, World:E&lt;br /&gt;
Access Cntrl List:  None&lt;br /&gt;
Client attributes:  None&lt;br /&gt;
&lt;br /&gt;
Total of 1 file, 1/16 blocks.&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
* {{Template:Fap}}&lt;/div&gt;</summary>
		<author><name>Tonvanderzwet</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=File&amp;diff=1391</id>
		<title>File</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=File&amp;diff=1391"/>
		<updated>2019-10-26T12:14:42Z</updated>

		<summary type="html">&lt;p&gt;Tonvanderzwet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;file&#039;&#039;&#039; is a data structure for storing information on a storage media, an ordered collection of logically related records treated as a unit. File operations are provided by the [[RMS|Record Management Services]]. Files are identified by [[File ID|file IDs]] which contain the location of the [[File header|file header]]. File headers stored in [[INDEXF.SYS]] contain file metadata and pointers to where the file data is stored on disk.&lt;br /&gt;
&lt;br /&gt;
=File Organization=&lt;br /&gt;
[[RMS]] supports the following file organization types:&lt;br /&gt;
&lt;br /&gt;
* sequential&lt;br /&gt;
* relative&lt;br /&gt;
* indexed&lt;br /&gt;
&lt;br /&gt;
To find out the organization of a particular file, do a DIRECTORY/FULL.&lt;br /&gt;
&lt;br /&gt;
==Sequential File Organization==&lt;br /&gt;
In sequential file organization, records are arranges one after the other in the order in which they are stored. When editing a sequential file, new records cannot be inserted between existing records because no physical space separates them - you can only add records to the end of the file.&lt;br /&gt;
&lt;br /&gt;
Sequential file organization is supported for all device types; this is the only file organization for non-disk devices. A sequential file is created by default when you use the CREATE command.&lt;br /&gt;
&lt;br /&gt;
==Relative File Organization==&lt;br /&gt;
The relative file organization allows sequential and random access of records. A relative file consists of a series of numbered fixed-length records; RMS uses the relative record number - the record&#039;s position relative to the beginning of the file - to randomly access records. Relative files allow random get and put operations and can be write-shared.&lt;br /&gt;
&lt;br /&gt;
==Indexed File Organization==&lt;br /&gt;
Indexed files store data records in an index structure ordered by the primary key; data can be retrieved using index structures ordered by primary or alternate keys.&lt;br /&gt;
&lt;br /&gt;
Record Access Mode&lt;br /&gt;
RMS provides two record access modes: [[Sequential Access to Files|sequential access]] and [[Random Access to Files|random access]].&lt;br /&gt;
Random access can be further catalogued as one of the three following modes:&lt;br /&gt;
* Random access by key value&lt;br /&gt;
* Random access by relative record number&lt;br /&gt;
* Random access by record file address (RFA)&lt;br /&gt;
Although you cannot change its file organization after you create a file, you can change the record access mode each time you access a record in the file. For example, a relative file can be processed in sequential access mode one time and in a random access mode the next time. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! rowspan=&amp;quot;2;&amp;quot; | Access Mode&lt;br /&gt;
! colspan=&amp;quot;3;&amp;quot; | File Organization&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&#039;col&#039; | Sequential&lt;br /&gt;
! colspan=&#039;col&#039; | Relative&lt;br /&gt;
! colspan=&#039;col&#039; | Indexed&lt;br /&gt;
|-&lt;br /&gt;
| Sequential&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| Random by relative record number&lt;br /&gt;
| Permitted with fixed-length record format on disk devices only&lt;br /&gt;
| Yes&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| Random by key value&lt;br /&gt;
| No&lt;br /&gt;
| No&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| Random by record file address&lt;br /&gt;
| Permitted on disk devices only&lt;br /&gt;
| Yes&lt;br /&gt;
| No &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FID=&lt;br /&gt;
A file is idenitified by the [[File_ID|file ID]] which consists of three numbers:&lt;br /&gt;
* the file number - the offset into [[INDEXF.SYS]] where the [[File header|file header]] is stored&lt;br /&gt;
* the file sequence number specifying how many times this file number has been used&lt;br /&gt;
* the relative volume number specifying the number of the volume in the [[Volume Set|volume set]] where the file is stored&lt;br /&gt;
&lt;br /&gt;
=Aliases=&lt;br /&gt;
Several directory entries with different names possibly found in different directories can point to the same [[File_ID]] and thus same data on disk. This is called aliases or links.&lt;br /&gt;
&lt;br /&gt;
In the following example, an alias is created for REPORT.DAT:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ dir&lt;br /&gt;
&lt;br /&gt;
Directory DKA0:[JDOE]&lt;br /&gt;
&lt;br /&gt;
DATA.DIR;1          REPORT.DAT;1&lt;br /&gt;
&lt;br /&gt;
Total of 2 files.&lt;br /&gt;
$ set file/enter=report_alias.dat&lt;br /&gt;
_File: report.dat&lt;br /&gt;
$ dir&lt;br /&gt;
&lt;br /&gt;
Directory DKA0:[JDOE]&lt;br /&gt;
&lt;br /&gt;
DATA.DIR;1          REPORT.DAT;1        REPORT_ALIAS.DAT;1&lt;br /&gt;
&lt;br /&gt;
Total of 3 files.&lt;br /&gt;
$ dir /file_id&lt;br /&gt;
&lt;br /&gt;
Directory DKA0:[JDOE]&lt;br /&gt;
&lt;br /&gt;
DATA.DIR;1           (6170,17222,0)&lt;br /&gt;
REPORT.DAT;1         (6169,17222,0)&lt;br /&gt;
REPORT_ALIAS.DAT;1   (6169,17222,0)&lt;br /&gt;
&lt;br /&gt;
Total of 3 files.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Normally when a file that has an alias is deleted, a dangling directory entry appears - that is, the alias cannot be used to access the file header and the file is &amp;quot;lost&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ delete report.dat;1&lt;br /&gt;
$ type REPORT_ALIAS.DAT;1&lt;br /&gt;
%TYPE-W-OPENIN, error opening DKA0:[JDOE]REPORT_ALIAS.DAT;1 as input&lt;br /&gt;
-RMS-E-FNF, file not found&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[ODS-5]] volumes with [[Hardlink|hardlinks]] enabled support hard links: that is, aliases that can act like files. On a volume with hard links enabled, you can delete the original file, and if there is at least one alias pointing to the file header, the file data is accessible.&lt;br /&gt;
&lt;br /&gt;
=Directory Files=&lt;br /&gt;
Directory files are special files that contain the list of files in a directory and their FIDs. Directory files always have the extension of .DIR and version 1.&lt;br /&gt;
&lt;br /&gt;
=Metadata=&lt;br /&gt;
File metadata are stored in the file header in [[INDEXF.SYS]]. You can view it with DIRECTORY/FULL or DUMP/HEADER:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ dir/full data.dir&lt;br /&gt;
&lt;br /&gt;
Directory DKA0:[JDOE]&lt;br /&gt;
&lt;br /&gt;
DATA.DIR;1                    File ID:  (6170,17222,0)&lt;br /&gt;
Size:            1/16         Owner:    [JDOE]&lt;br /&gt;
Created:    29-MAR-2019 15:56:38.74&lt;br /&gt;
Modified:   29-MAR-2019 15:56:38.74 (0)&lt;br /&gt;
Expires:    &amp;lt;None specified&amp;gt;&lt;br /&gt;
Backup:     &amp;lt;No backup recorded&amp;gt;&lt;br /&gt;
Effective:  &amp;lt;None specified&amp;gt;&lt;br /&gt;
Recording:  &amp;lt;None specified&amp;gt;&lt;br /&gt;
Accessed:   &amp;lt;None specified&amp;gt;&lt;br /&gt;
Attr Mod:   &amp;lt;None specified&amp;gt;&lt;br /&gt;
Data Mod:   &amp;lt;None specified&amp;gt;&lt;br /&gt;
Linkcount:  1&lt;br /&gt;
File organization:  Sequential&lt;br /&gt;
Shelved state:      Online&lt;br /&gt;
Caching attribute:  Writethrough&lt;br /&gt;
File attributes:    Allocation: 16, Extend: 0, Global buffer count: 0&lt;br /&gt;
                    No default version limit, Contiguous, MoveFile disabled&lt;br /&gt;
                    Directory file&lt;br /&gt;
Record format:      Variable length, maximum 512 bytes, longest 512 bytes&lt;br /&gt;
Record attributes:  No carriage control, Non-spanned&lt;br /&gt;
RMS attributes:     None&lt;br /&gt;
Journaling enabled: None&lt;br /&gt;
File protection:    System:RWE, Owner:RWE, Group:RE, World:E&lt;br /&gt;
Access Cntrl List:  None&lt;br /&gt;
Client attributes:  None&lt;br /&gt;
&lt;br /&gt;
Total of 1 file, 1/16 blocks.&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also==&lt;br /&gt;
* {{Template:Fap}}&lt;/div&gt;</summary>
		<author><name>Tonvanderzwet</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=File&amp;diff=1390</id>
		<title>File</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=File&amp;diff=1390"/>
		<updated>2019-10-26T12:13:29Z</updated>

		<summary type="html">&lt;p&gt;Tonvanderzwet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;file&#039;&#039;&#039; is a data structure for storing information on a storage media, an ordered collection of logically related records treated as a unit. File operations are provided by the [[RMS|Record Management Services]]. Files are identified by [[File ID|file IDs]] which contain the location of the [[File header|file header]]. File headers stored in [[INDEXF.SYS]] contain file metadata and pointers to where the file data is stored on disk.&lt;br /&gt;
&lt;br /&gt;
=File Organization=&lt;br /&gt;
[[RMS]] supports the following file organization types:&lt;br /&gt;
&lt;br /&gt;
* sequential&lt;br /&gt;
* relative&lt;br /&gt;
* indexed&lt;br /&gt;
&lt;br /&gt;
To find out the organization of a particular file, do a DIRECTORY/FULL.&lt;br /&gt;
&lt;br /&gt;
==Sequential File Organization==&lt;br /&gt;
In sequential file organization, records are arranges one after the other in the order in which they are stored. When editing a sequential file, new records cannot be inserted between existing records because no physical space separates them - you can only add records to the end of the file.&lt;br /&gt;
&lt;br /&gt;
Sequential file organization is supported for all device types; this is the only file organization for non-disk devices. A sequential file is created by default when you use the CREATE command.&lt;br /&gt;
&lt;br /&gt;
==Relative File Organization==&lt;br /&gt;
The relative file organization allows sequential and random access of records. A relative file consists of a series of numbered fixed-length records; RMS uses the relative record number - the record&#039;s position relative to the beginning of the file - to randomly access records. Relative files allow random get and put operations and can be write-shared.&lt;br /&gt;
&lt;br /&gt;
==Indexed File Organization==&lt;br /&gt;
Indexed files store data records in an index structure ordered by the primary key; data can be retrieved using index structures ordered by primary or alternate keys.&lt;br /&gt;
&lt;br /&gt;
Record Access Mode&lt;br /&gt;
RMS provides two record access modes: [[Sequential Access to Files|sequential access]] and [[Random Access to Files|random access]].&lt;br /&gt;
Random access can be further catalogued as one of the three following modes:&lt;br /&gt;
* Random access by key value&lt;br /&gt;
* Random access by relative record number&lt;br /&gt;
* Random access by record file address (RFA)&lt;br /&gt;
Although you cannot change its file organization after you create a file, you can change the record access mode each time you access a record in the file. For example, a relative file can be processed in sequential access mode one time and in a random access mode the next time. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! rowspan=&amp;quot;2;&amp;quot; | Access Mode&lt;br /&gt;
! colspan=&amp;quot;3;&amp;quot; | File Organization&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&#039;col&#039; | Sequential&lt;br /&gt;
! colspan=&#039;col&#039; | Relative&lt;br /&gt;
! colspan=&#039;col&#039; | Indexed&lt;br /&gt;
|-&lt;br /&gt;
| Sequential&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| Random by relative record number&lt;br /&gt;
| Permitted with fixed-length record format on disk devices only&lt;br /&gt;
| Yes&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| Random by key value&lt;br /&gt;
| No&lt;br /&gt;
| No&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| Random by record file address&lt;br /&gt;
| Permitted on disk devices only&lt;br /&gt;
| Yes&lt;br /&gt;
| No &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FID=&lt;br /&gt;
A file is idenitified by the [[File_ID|file ID]] which consists of three numbers:&lt;br /&gt;
* the file number - the offset into [[INDEXF.SYS]] where the [[File Header|file header]] is stored&lt;br /&gt;
* the file sequence number specifying how many times this file number has been used&lt;br /&gt;
* the relative volume number specifying the number of the volume in the [[Volume Set|volume set]] where the file is stored&lt;br /&gt;
&lt;br /&gt;
=Aliases=&lt;br /&gt;
Several directory entries with different names possibly found in different directories can point to the same [[File_ID]] and thus same data on disk. This is called aliases or links.&lt;br /&gt;
&lt;br /&gt;
In the following example, an alias is created for REPORT.DAT:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ dir&lt;br /&gt;
&lt;br /&gt;
Directory DKA0:[JDOE]&lt;br /&gt;
&lt;br /&gt;
DATA.DIR;1          REPORT.DAT;1&lt;br /&gt;
&lt;br /&gt;
Total of 2 files.&lt;br /&gt;
$ set file/enter=report_alias.dat&lt;br /&gt;
_File: report.dat&lt;br /&gt;
$ dir&lt;br /&gt;
&lt;br /&gt;
Directory DKA0:[JDOE]&lt;br /&gt;
&lt;br /&gt;
DATA.DIR;1          REPORT.DAT;1        REPORT_ALIAS.DAT;1&lt;br /&gt;
&lt;br /&gt;
Total of 3 files.&lt;br /&gt;
$ dir /file_id&lt;br /&gt;
&lt;br /&gt;
Directory DKA0:[JDOE]&lt;br /&gt;
&lt;br /&gt;
DATA.DIR;1           (6170,17222,0)&lt;br /&gt;
REPORT.DAT;1         (6169,17222,0)&lt;br /&gt;
REPORT_ALIAS.DAT;1   (6169,17222,0)&lt;br /&gt;
&lt;br /&gt;
Total of 3 files.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Normally when a file that has an alias is deleted, a dangling directory entry appears - that is, the alias cannot be used to access the file header and the file is &amp;quot;lost&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ delete report.dat;1&lt;br /&gt;
$ type REPORT_ALIAS.DAT;1&lt;br /&gt;
%TYPE-W-OPENIN, error opening DKA0:[JDOE]REPORT_ALIAS.DAT;1 as input&lt;br /&gt;
-RMS-E-FNF, file not found&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[ODS-5]] volumes with [[Hardlink|hardlinks]] enabled support hard links: that is, aliases that can act like files. On a volume with hard links enabled, you can delete the original file, and if there is at least one alias pointing to the file header, the file data is accessible.&lt;br /&gt;
&lt;br /&gt;
=Directory Files=&lt;br /&gt;
Directory files are special files that contain the list of files in a directory and their FIDs. Directory files always have the extension of .DIR and version 1.&lt;br /&gt;
&lt;br /&gt;
=Metadata=&lt;br /&gt;
File metadata are stored in the file header in [[INDEXF.SYS]]. You can view it with DIRECTORY/FULL or DUMP/HEADER:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ dir/full data.dir&lt;br /&gt;
&lt;br /&gt;
Directory DKA0:[JDOE]&lt;br /&gt;
&lt;br /&gt;
DATA.DIR;1                    File ID:  (6170,17222,0)&lt;br /&gt;
Size:            1/16         Owner:    [JDOE]&lt;br /&gt;
Created:    29-MAR-2019 15:56:38.74&lt;br /&gt;
Modified:   29-MAR-2019 15:56:38.74 (0)&lt;br /&gt;
Expires:    &amp;lt;None specified&amp;gt;&lt;br /&gt;
Backup:     &amp;lt;No backup recorded&amp;gt;&lt;br /&gt;
Effective:  &amp;lt;None specified&amp;gt;&lt;br /&gt;
Recording:  &amp;lt;None specified&amp;gt;&lt;br /&gt;
Accessed:   &amp;lt;None specified&amp;gt;&lt;br /&gt;
Attr Mod:   &amp;lt;None specified&amp;gt;&lt;br /&gt;
Data Mod:   &amp;lt;None specified&amp;gt;&lt;br /&gt;
Linkcount:  1&lt;br /&gt;
File organization:  Sequential&lt;br /&gt;
Shelved state:      Online&lt;br /&gt;
Caching attribute:  Writethrough&lt;br /&gt;
File attributes:    Allocation: 16, Extend: 0, Global buffer count: 0&lt;br /&gt;
                    No default version limit, Contiguous, MoveFile disabled&lt;br /&gt;
                    Directory file&lt;br /&gt;
Record format:      Variable length, maximum 512 bytes, longest 512 bytes&lt;br /&gt;
Record attributes:  No carriage control, Non-spanned&lt;br /&gt;
RMS attributes:     None&lt;br /&gt;
Journaling enabled: None&lt;br /&gt;
File protection:    System:RWE, Owner:RWE, Group:RE, World:E&lt;br /&gt;
Access Cntrl List:  None&lt;br /&gt;
Client attributes:  None&lt;br /&gt;
&lt;br /&gt;
Total of 1 file, 1/16 blocks.&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also==&lt;br /&gt;
* {{Template:Fap}}&lt;/div&gt;</summary>
		<author><name>Tonvanderzwet</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=File&amp;diff=1389</id>
		<title>File</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=File&amp;diff=1389"/>
		<updated>2019-10-26T12:12:48Z</updated>

		<summary type="html">&lt;p&gt;Tonvanderzwet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;file&#039;&#039;&#039; is a data structure for storing information on a storage media, an ordered collection of logically related records treated as a unit. File operations are provided by the [[RMS|Record Management Services]]. Files are identified by [[File ID|file IDs]] which contain the location of the [[File Header|file header]]. File headers stored in [[INDEXF.SYS]] contain file metadata and pointers to where the file data is stored on disk.&lt;br /&gt;
&lt;br /&gt;
=File Organization=&lt;br /&gt;
[[RMS]] supports the following file organization types:&lt;br /&gt;
&lt;br /&gt;
* sequential&lt;br /&gt;
* relative&lt;br /&gt;
* indexed&lt;br /&gt;
&lt;br /&gt;
To find out the organization of a particular file, do a DIRECTORY/FULL.&lt;br /&gt;
&lt;br /&gt;
==Sequential File Organization==&lt;br /&gt;
In sequential file organization, records are arranges one after the other in the order in which they are stored. When editing a sequential file, new records cannot be inserted between existing records because no physical space separates them - you can only add records to the end of the file.&lt;br /&gt;
&lt;br /&gt;
Sequential file organization is supported for all device types; this is the only file organization for non-disk devices. A sequential file is created by default when you use the CREATE command.&lt;br /&gt;
&lt;br /&gt;
==Relative File Organization==&lt;br /&gt;
The relative file organization allows sequential and random access of records. A relative file consists of a series of numbered fixed-length records; RMS uses the relative record number - the record&#039;s position relative to the beginning of the file - to randomly access records. Relative files allow random get and put operations and can be write-shared.&lt;br /&gt;
&lt;br /&gt;
==Indexed File Organization==&lt;br /&gt;
Indexed files store data records in an index structure ordered by the primary key; data can be retrieved using index structures ordered by primary or alternate keys.&lt;br /&gt;
&lt;br /&gt;
Record Access Mode&lt;br /&gt;
RMS provides two record access modes: [[Sequential Access to Files|sequential access]] and [[Random Access to Files|random access]].&lt;br /&gt;
Random access can be further catalogued as one of the three following modes:&lt;br /&gt;
* Random access by key value&lt;br /&gt;
* Random access by relative record number&lt;br /&gt;
* Random access by record file address (RFA)&lt;br /&gt;
Although you cannot change its file organization after you create a file, you can change the record access mode each time you access a record in the file. For example, a relative file can be processed in sequential access mode one time and in a random access mode the next time. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! rowspan=&amp;quot;2;&amp;quot; | Access Mode&lt;br /&gt;
! colspan=&amp;quot;3;&amp;quot; | File Organization&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&#039;col&#039; | Sequential&lt;br /&gt;
! colspan=&#039;col&#039; | Relative&lt;br /&gt;
! colspan=&#039;col&#039; | Indexed&lt;br /&gt;
|-&lt;br /&gt;
| Sequential&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| Random by relative record number&lt;br /&gt;
| Permitted with fixed-length record format on disk devices only&lt;br /&gt;
| Yes&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| Random by key value&lt;br /&gt;
| No&lt;br /&gt;
| No&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| Random by record file address&lt;br /&gt;
| Permitted on disk devices only&lt;br /&gt;
| Yes&lt;br /&gt;
| No &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FID=&lt;br /&gt;
A file is idenitified by the [[File_ID|file ID]] which consists of three numbers:&lt;br /&gt;
* the file number - the offset into [[INDEXF.SYS]] where the [[File Header|file header]] is stored&lt;br /&gt;
* the file sequence number specifying how many times this file number has been used&lt;br /&gt;
* the relative volume number specifying the number of the volume in the [[Volume Set|volume set]] where the file is stored&lt;br /&gt;
&lt;br /&gt;
=Aliases=&lt;br /&gt;
Several directory entries with different names possibly found in different directories can point to the same [[File_ID]] and thus same data on disk. This is called aliases or links.&lt;br /&gt;
&lt;br /&gt;
In the following example, an alias is created for REPORT.DAT:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ dir&lt;br /&gt;
&lt;br /&gt;
Directory DKA0:[JDOE]&lt;br /&gt;
&lt;br /&gt;
DATA.DIR;1          REPORT.DAT;1&lt;br /&gt;
&lt;br /&gt;
Total of 2 files.&lt;br /&gt;
$ set file/enter=report_alias.dat&lt;br /&gt;
_File: report.dat&lt;br /&gt;
$ dir&lt;br /&gt;
&lt;br /&gt;
Directory DKA0:[JDOE]&lt;br /&gt;
&lt;br /&gt;
DATA.DIR;1          REPORT.DAT;1        REPORT_ALIAS.DAT;1&lt;br /&gt;
&lt;br /&gt;
Total of 3 files.&lt;br /&gt;
$ dir /file_id&lt;br /&gt;
&lt;br /&gt;
Directory DKA0:[JDOE]&lt;br /&gt;
&lt;br /&gt;
DATA.DIR;1           (6170,17222,0)&lt;br /&gt;
REPORT.DAT;1         (6169,17222,0)&lt;br /&gt;
REPORT_ALIAS.DAT;1   (6169,17222,0)&lt;br /&gt;
&lt;br /&gt;
Total of 3 files.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Normally when a file that has an alias is deleted, a dangling directory entry appears - that is, the alias cannot be used to access the file header and the file is &amp;quot;lost&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ delete report.dat;1&lt;br /&gt;
$ type REPORT_ALIAS.DAT;1&lt;br /&gt;
%TYPE-W-OPENIN, error opening DKA0:[JDOE]REPORT_ALIAS.DAT;1 as input&lt;br /&gt;
-RMS-E-FNF, file not found&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[ODS-5]] volumes with [[Hardlink|hardlinks]] enabled support hard links: that is, aliases that can act like files. On a volume with hard links enabled, you can delete the original file, and if there is at least one alias pointing to the file header, the file data is accessible.&lt;br /&gt;
&lt;br /&gt;
=Directory Files=&lt;br /&gt;
Directory files are special files that contain the list of files in a directory and their FIDs. Directory files always have the extension of .DIR and version 1.&lt;br /&gt;
&lt;br /&gt;
=Metadata=&lt;br /&gt;
File metadata are stored in the file header in [[INDEXF.SYS]]. You can view it with DIRECTORY/FULL or DUMP/HEADER:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ dir/full data.dir&lt;br /&gt;
&lt;br /&gt;
Directory DKA0:[JDOE]&lt;br /&gt;
&lt;br /&gt;
DATA.DIR;1                    File ID:  (6170,17222,0)&lt;br /&gt;
Size:            1/16         Owner:    [JDOE]&lt;br /&gt;
Created:    29-MAR-2019 15:56:38.74&lt;br /&gt;
Modified:   29-MAR-2019 15:56:38.74 (0)&lt;br /&gt;
Expires:    &amp;lt;None specified&amp;gt;&lt;br /&gt;
Backup:     &amp;lt;No backup recorded&amp;gt;&lt;br /&gt;
Effective:  &amp;lt;None specified&amp;gt;&lt;br /&gt;
Recording:  &amp;lt;None specified&amp;gt;&lt;br /&gt;
Accessed:   &amp;lt;None specified&amp;gt;&lt;br /&gt;
Attr Mod:   &amp;lt;None specified&amp;gt;&lt;br /&gt;
Data Mod:   &amp;lt;None specified&amp;gt;&lt;br /&gt;
Linkcount:  1&lt;br /&gt;
File organization:  Sequential&lt;br /&gt;
Shelved state:      Online&lt;br /&gt;
Caching attribute:  Writethrough&lt;br /&gt;
File attributes:    Allocation: 16, Extend: 0, Global buffer count: 0&lt;br /&gt;
                    No default version limit, Contiguous, MoveFile disabled&lt;br /&gt;
                    Directory file&lt;br /&gt;
Record format:      Variable length, maximum 512 bytes, longest 512 bytes&lt;br /&gt;
Record attributes:  No carriage control, Non-spanned&lt;br /&gt;
RMS attributes:     None&lt;br /&gt;
Journaling enabled: None&lt;br /&gt;
File protection:    System:RWE, Owner:RWE, Group:RE, World:E&lt;br /&gt;
Access Cntrl List:  None&lt;br /&gt;
Client attributes:  None&lt;br /&gt;
&lt;br /&gt;
Total of 1 file, 1/16 blocks.&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also==&lt;br /&gt;
* {{Template:Fap}}&lt;/div&gt;</summary>
		<author><name>Tonvanderzwet</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=Category:Startup_Command_Procedures&amp;diff=1388</id>
		<title>Category:Startup Command Procedures</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=Category:Startup_Command_Procedures&amp;diff=1388"/>
		<updated>2019-10-26T09:21:57Z</updated>

		<summary type="html">&lt;p&gt;Tonvanderzwet: Created page with &amp;quot;This category contains articles describing OpenVMS startup command procedures. Use &amp;lt;nowiki&amp;gt;{{Template:Startup Command Procedures}}&amp;lt;/nowiki&amp;gt; in your article to make a link to y...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This category contains articles describing OpenVMS startup command procedures. Use &amp;lt;nowiki&amp;gt;{{Template:Startup Command Procedures}}&amp;lt;/nowiki&amp;gt; in your article to make a link to your article appear in this category.&lt;/div&gt;</summary>
		<author><name>Tonvanderzwet</name></author>
	</entry>
</feed>