https://wiki.vmssoftware.com/api.php?action=feedcontributions&user=Darya.zelenina&feedformat=atomVSI OpenVMS Wiki - User contributions [en]2024-03-28T14:07:30ZUser contributionsMediaWiki 1.31.0https://wiki.vmssoftware.com/index.php?title=Main_Page&diff=1299Main Page2019-08-08T07:30:26Z<p>Darya.zelenina: </p>
<hr />
<div><!-- This is the box on the left. --><br />
{| style="float:left;vertical-align:top;background-color:white;"<br />
|<br />
{| class="wikitable" <br />
! style="text-align:center; background-color:#2758AA;color:white;height:50px;width:1200px;" | <big>Attention</big><br />
|-<br />
| If you are an editor of our test wiki at vmssoftwaretraining.com, please register again [https://training.vmssoftware.com/login/signup.php here] to continue editing the wiki. We apologize for the inconvenience. <br />
We have merged all the changes made after May 21; if you believe any of your edits are lost, please contact the administrators of this wiki.<br />
|}<br />
|-<br />
|<br />
{| class="wikitable" <br />
! style="text-align:center; background-color:#2758AA;color:white;height:50px;width:1200px;" | <big>Introduction</big><br />
|-<br />
| style="text-align:left;height:50px;width:1200px;"| <big>About this Wiki</big><br />
<br />
VSI OpenVMS wiki is the world's biggest encyclopedia entirely dedicated to the OpenVMS operating system. <br />
The purpose of the project is to consolidate and organize information about this operating system and create an easily searcheable reference base to answer any questions about it. Ultimately, this encyclopedia should contain basic information on common features of OpenVMS and operations frequently performed by programmers and system managers using this system as well as links to the current documentation. The wiki model used to create this encyclopedia allows any registered user to write an article or suggest changes to an existing article, thus maximizing the number of contributions and maintaining the integrity and neutrality of the data.<br />
To date, our wiki has {{NUMBEROFARTICLES}} articles. View the full list [[Special:AllPages|here]] or use the search box in the top right corner to search this wiki. Or, if you are feeling adventurous, visit [[Special:Random|a random page]].<br />
<br />
<big>About OpenVMS</big><br />
<br />
OpenVMS is an operating system created in 1977 by the Digital Equipment Corporation and still widely used by large companies in the military, healthcare, banking, telecommunications and other industries. It is primarily known for its security and unrivaled clustering capabilities. It currently supports VAX, Alpha, and Itanium architectures and is working on a port to x86.<br />
|}<br />
|-<br />
|<br />
{| class="wikitable"<br />
|-<br />
! scope='col'; style="text-align:center;height:50px;width:1200px;background-color:#2758AA;color:white;" | <big>Categories</big><br />
|-<br />
| style=text-align:left;height:50px;width:1200px;" | <br />
* [[:Category:Architectures|Architectures]]<br />
* [[:Category:Lexical Functions|Lexical Functions]]<br />
* [[:Category:Security|Security]]<br />
* [[:Category:User Management|User Management]]<br />
* [[:Category:Volume Management|Volume Management]]<br />
* [[:Category:System Files|System Files]]<br />
* [[:Category:Disk Quota|Disk Quota]]<br />
* [[:Category:Password|Password]]<br />
* [[:Category:Startup Command Procedures|Startup Command Procedures]]<br />
* [[:Category:VMS IDE|VMS IDE]]<br />
[[Special:AllPages|Browse all articles]]<br />
|}<br />
|}<br />
<!-- This is the box on the right. --><br />
{| style="float:right;vertical-align:top;background-color:white;"<br />
|<br />
{| class="wikitable"<br />
! scope='col' style="height:50px; width:400px; text-align:center;background-color:#2758AA;color:white;" | <big>Article of the day</big><br />
|-<br />
| style="height:50px; width:400px; text-align:left;" | <big>'''Fibre Channel'''</big><br />
'''Fibre Channel''' is a high-performance ANSI standard network and storage interconnect for PCI-based Alpha systems. It is a full-duplex serial interconnect and can simultaneously transmit and receive over 100 megabytes per second. Fibre Channel supports simultaneous access of SCSI storage by multiple nodes connected to a Fibre Channel switch. A second type of interconnect is needed for node-to-node communications.<br />
[[Fibre Channel|Read more]]<br />
|}<br />
|-<br />
|<br />
{| class="wikitable"<br />
! colpan="3" style="height:50px; width:400px; text-align:center;background-color:#2758AA;color:white;" | <big>Resources</big><br />
|-<br />
| style="height:50px; width:400px; text-align:left;" |<br />
* [https://en.wikipedia.org/wiki/Help:Wikitext Wiki guidelines]<br />
* [http://vmssoftware.com/ VMS Software Inc.]<br />
* [http://vmssoftware.com/products_doc_hp_legacy.html OpenVMS Documentation]<br />
* [[:Category:VMS IDE|VMS IDE]]<br />
|}<br />
|-<br />
|<br />
{| class="wikitable"<br />
! colpan="3" style="height:50px; width:400px; text-align:center;background-color:#2758AA;color:white;" | <big>Did you know...</big><br />
|-<br />
| style="height:50px; width:400px; text-align:left;" |<br />
* that you could use angle brackets (<>) instead of square brackets ([]) in DCL [[File specification|directory specifications]]?<br />
* that the maximum value of the [[LGI parameters|LGI_HID_TIM]] parameter which specifies how long OpenVMS does not let intruders log in to the system is 1261440000 seconds, or 40 years?<br />
* that a [[Label|label]] name can contain a maximum of 255 characters?<br />
|}<br />
|}<br />
<br />
<br />
{| class="wikitable" style="background-color:white;float:bottom;style=height:100px;width:1680px;"<br />
! scope="col" colspan="3" style="height:50px; width:1680px; text-align:center;" | <big>You can help</big><br />
|-<br />
| colspan="3" style="height:50px; width:1680px;text-align:left; |Please help this wiki become the most informative and reliable source of information on OpenVMS! <br />
To help the project, you can:<br />
* [[How to write an article|write new articles]]<br />
* [[How to edit an article|expand and edit existing articles]]<br />
* add links to dead end pages<br />
* add pages to categories<br />
* translate this wiki to your language and more.<br />
To get editing access to this wiki, log in by clicking the button above. If you don't have an account or see a registration link, please contact training@vmssoftware.com for a registration.<br />
|}<br />
<br />
{| style="background-color:white;float:bottom;style=height:100px;width:1680px;"<br />
|<br />
{| class="wikitable"<br />
! scope='col' style="height:50px; width:400px; text-align:center;" | <big>Write</big><br />
|-<br />
| style="height:50px; width:400px; text-align:left;" | You can help the project by writing the following articles:<br />
* [[Quota]]<br />
* [[JOB_CONTROL]]<br />
* [[Subprocess]]<br />
* [[INSTALL]]<br />
* [[DECnet Phase IV]]<br />
[[Special:WantedPages|See all wanted pages]]<br />
|}<br />
|<br />
{| class="wikitable"<br />
! scope='col' style="height:50px; width:400px; text-align:center;" | <big>Add</big><br />
|-<br />
| style="height:50px; width:400px; text-align:left;" | You can help the project by expanding the following articles:<br />
* [[INDEXF.SYS]]<br />
* [[SETPRV]]<br />
* [[ADDUSER.COM]]<br />
* [[BADLOG.SYS]]<br />
* [[BADBLK.SYS]]<br />
[[Special:ShortPages|See all short pages]]<br />
|}<br />
|<br />
{| class="wikitable"<br />
! scope='col' style="height:50px; width:400px; text-align:center;" | <big>Edit</big><br />
|-<br />
| style="height:50px; width:400px; text-align:left;" | You can help the project by editing the following articles:<br />
* [[Audit ACE]]<br />
* [[Identifier ACE]]<br />
* [[ACE]]<br />
* [[BADBLK.SYS]]<br />
* [[Default directory]]<br />
[[Special:FewestRevisions|See all nonrevised pages]]<br />
|}<br />
|<br />
{| class="wikitable"<br />
! scope='col' style="height:50px; width:400px; text-align:center;" | <big>Categorize</big><br />
|-<br />
| style="height:50px; width:400px; text-align:left;" | You can help the project by categorizing the following articles:<br />
* [[$GETQUI output item codes]]<br />
* [[ACE]]<br />
* [[ACL]]<br />
* [[ACP DATACHECK]]<br />
* [[ACP SWAPFLGS]]<br />
[[Special:UncategorizedPages|See all uncategorized pages]]<br />
|}<br />
|}</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=$LCKPAG&diff=1274$LCKPAG2019-07-24T16:12:26Z<p>Darya.zelenina: Created page with "'''$LCKPAG''', or '''Lock Pages in Memory''', is a system service that locks a page or range of pages in memory. =Description= The Lock Pages in Memory se..."</p>
<hr />
<div>'''$LCKPAG''', or '''Lock Pages in Memory''', is a [[System Service|system service]] that locks a page or range of pages in memory.<br />
<br />
=Description=<br />
<br />
The Lock Pages in Memory service locks a page or range of pages in memory. The specified virtual pages are forced into the working set and then locked in memory.<br />
<br />
A locked page is not swapped out of memory if the working set of the process is swapped out. These pages are not candidates for page replacement and in this sense are locked in the working set as well.<br />
<br />
If more than one page is being locked and you need to determine specifically which pages were previously locked, the pages should be locked one at a time. If an error occurs while the $LCKPAG service is locking pages, the return array, if requested, indicates the pages that were successfully locked before the error occurred. If no pages are locked, both longwords in the return address array contain the value –1.<br />
<br />
On [[Alpha]] and [[I64|Integrity]] systems, if you are attempting to lock executable code, you should issue multiple $LCKPAG calls: one to lock the code pages and others to lock the linkage section references into these pages.<br />
<br />
=Syntax=<br />
<br />
<nowiki>SYS$LCKPAG </nowiki>[[#inadr|inadr]]<nowiki> ,[</nowiki>[[#retadr|retadr]]<nowiki>] ,[</nowiki>[[#acmode|acmode]]<nowiki>]</nowiki><br />
<br />
C Prototype:<br />
<br />
int sys$lckpag (struct _va_range *inadr, struct _va_range *retadr, unsigned <br />
int acmode);<br />
<br />
=Arguments=<br />
<br />
==inadr==<br />
{{SyservArgument|address_range|longword (unsigned)|read only|by reference}}<br />
<br />
Starting and ending virtual addresses of the range of pages to be locked. The inadr argument is the address of a 2-longword array containing, in order, the starting and ending process virtual addresses. Only the virtual page number portion of each virtual address is used; the low-order byte-within-page bits are ignored.<br />
<br />
On [[VAX]] systems, if the starting and ending virtual addresses are the same, a single page is locked.<br />
<br />
==retadr==<br />
{{SyservArgument|address_range|longword (unsigned)|write only|by reference}}<br />
<br />
Starting and ending process virtual addresses of the pages that $LCKPAG actually locked. The retadr argument is the address of a 2-longword array containing, in order, the starting and ending process virtual addresses.<br />
<br />
==acmode==<br />
{{SyservArgument|access_mode|longword (unsigned)|read only|by value}}<br />
<br />
Access mode to be associated with the pages to be locked. The acmode argument is a longword containing the access mode. The [[$PSLDEF]] macro defines the four access modes.<br />
<br />
The most privileged access mode used is the access mode of the caller. For the $LCKPAG service to complete successfully, the resultant access mode must be equal to or more privileged than the access mode already associated with the pages to be locked.<br />
<br />
=Condition Values Returned=<br />
{| class="wikitable"<br />
! colspan="col" | Value<br />
! colspan="col" | Description<br />
|-<br />
| SS$_WASCLR <br />
| The service completed successfully. All of the specified pages were previously unlocked.<br />
|-<br />
| SS$_WASSET <br />
| The service completed successfully. At least one of the specified pages was previously locked.<br />
|-<br />
| SS$_ACCVIO <br />
| The input array cannot be read; the output array cannot be written; the page in the specified range is inaccessible or nonexistent; or an attempt to lock pages was made by a caller whose access mode is less privileged than the access mode associated with the pages.<br />
|-<br />
| SS$_LCKPAGFUL <br />
| The system-defined maximum limit on the number of pages that can be locked in memory has been reached.<br />
|-<br />
| SS$_LDWSETFUL <br />
| The locked working set is full. If any more pages are locked, not enough dynamic pages will be available to continue execution.<br />
|-<br />
| SS$_NOPRIV <br />
| The process does not have the privilege to lock pages in memory.<br />
|-<br />
| SS$_PAGOWNVIO <br />
| The pages could not be locked because the access mode associated with the call to $LCKPAG was less privileged than the access mode associated with the pages that were to be locked.<br />
|}<br />
<br />
=Required Access or Privileges=<br />
The calling process must have PSWAPM privilege to lock pages into memory.<br />
<br />
=Required Quota=<br />
None<br />
<br />
=See also=<br />
* [[$ULKPAG]]<br />
* [https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-c04621447 OpenVMS Programming Concepts Manual]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=Main_Page&diff=1273Main Page2019-07-23T19:14:11Z<p>Darya.zelenina: </p>
<hr />
<div><!-- This is the box on the left. --><br />
{| style="float:left;vertical-align:top;background-color:white;"<br />
|<br />
{| class="wikitable" <br />
! style="text-align:center; background-color:#2758AA;color:white;height:50px;width:1200px;" | <big>Attention</big><br />
|-<br />
| If you are an editor of our test wiki at vmssoftwaretraining.com, please register again [https://training.vmssoftware.com/login/signup.php here] to continue editing the wiki. We apologize for the inconvenience. <br />
We have merged all the changes made after May 21; if you believe any of your edits are lost, please contact the administrators of this wiki.<br />
|}<br />
|-<br />
|<br />
{| class="wikitable" <br />
! style="text-align:center; background-color:#2758AA;color:white;height:50px;width:1200px;" | <big>Introduction</big><br />
|-<br />
| style="text-align:left;height:50px;width:1200px;"| <big>About this Wiki</big><br />
<br />
VSI OpenVMS wiki is the world's biggest encyclopedia entirely dedicated to the OpenVMS operating system. <br />
The purpose of the project is to consolidate and organize information about this operating system and create an easily searcheable reference base to answer any questions about it. Ultimately, this encyclopedia should contain basic information on common features of OpenVMS and operations frequently performed by programmers and system managers using this system as well as links to the current documentation. The wiki model used to create this encyclopedia allows any registered user to write an article or suggest changes to an existing article, thus maximizing the number of contributions and maintaining the integrity and neutrality of the data.<br />
To date, our wiki has {{NUMBEROFARTICLES}} articles. View the full list [[Special:AllPages|here]] or use the search box in the top right corner to search this wiki. Or, if you are feeling adventurous, visit [[Special:Random|a random page]].<br />
<br />
<big>About OpenVMS</big><br />
<br />
OpenVMS is an operating system created in 1977 by the Digital Equipment Corporation and still widely used by large companies in the military, healthcare, banking, telecommunications and other industries. It is primarily known for its security and unrivaled clustering capabilities. It currently supports VAX, Alpha, and Itanium architectures and is working on a port to x86.<br />
|}<br />
|-<br />
|<br />
{| class="wikitable"<br />
|-<br />
! scope='col'; style="text-align:center;height:50px;width:1200px;background-color:#2758AA;color:white;" | <big>Categories</big><br />
|-<br />
| style=text-align:left;height:50px;width:1200px;" | <br />
* [[:Category:Architectures|Architectures]]<br />
* [[:Category:Lexical Functions|Lexical Functions]]<br />
* [[:Category:Security|Security]]<br />
* [[:Category:User Management|User Management]]<br />
* [[:Category:Volume Management|Volume Management]]<br />
* [[:Category:System Files|System Files]]<br />
* [[:Category:Disk Quota|Disk Quota]]<br />
* [[:Category:Password|Password]]<br />
* [[:Category:Startup Command Procedures|Startup Command Procedures]]<br />
[[Special:AllPages|Browse all articles]]<br />
|}<br />
|}<br />
<!-- This is the box on the right. --><br />
{| style="float:right;vertical-align:top;background-color:white;"<br />
|<br />
{| class="wikitable"<br />
! scope='col' style="height:50px; width:400px; text-align:center;background-color:#2758AA;color:white;" | <big>Article of the day</big><br />
|-<br />
| style="height:50px; width:400px; text-align:left;" | <big>'''Fibre Channel'''</big><br />
'''Fibre Channel''' is a high-performance ANSI standard network and storage interconnect for PCI-based Alpha systems. It is a full-duplex serial interconnect and can simultaneously transmit and receive over 100 megabytes per second. Fibre Channel supports simultaneous access of SCSI storage by multiple nodes connected to a Fibre Channel switch. A second type of interconnect is needed for node-to-node communications.<br />
[[Fibre Channel|Read more]]<br />
|}<br />
|-<br />
|<br />
{| class="wikitable"<br />
! colpan="3" style="height:50px; width:400px; text-align:center;background-color:#2758AA;color:white;" | <big>Resources</big><br />
|-<br />
| style="height:50px; width:400px; text-align:left;" |<br />
* [https://en.wikipedia.org/wiki/Help:Wikitext Wiki guidelines]<br />
* [http://vmssoftware.com/ VMS Software Inc.]<br />
* [http://vmssoftware.com/products_doc_hp_legacy.html OpenVMS Documentation]<br />
|}<br />
|-<br />
|<br />
{| class="wikitable"<br />
! colpan="3" style="height:50px; width:400px; text-align:center;background-color:#2758AA;color:white;" | <big>Did you know...</big><br />
|-<br />
| style="height:50px; width:400px; text-align:left;" |<br />
* that you could use angle brackets (<>) instead of square brackets ([]) in DCL [[File specification|directory specifications]]?<br />
* that the maximum value of the [[LGI parameters|LGI_HID_TIM]] parameter which specifies how long OpenVMS does not let intruders log in to the system is 1261440000 seconds, or 40 years?<br />
* that a [[Label|label]] name can contain a maximum of 255 characters?<br />
|}<br />
|}<br />
<br />
<br />
{| class="wikitable" style="background-color:white;float:bottom;style=height:100px;width:1680px;"<br />
! scope="col" colspan="3" style="height:50px; width:1680px; text-align:center;" | <big>You can help</big><br />
|-<br />
| colspan="3" style="height:50px; width:1680px;text-align:left; |Please help this wiki become the most informative and reliable source of information on OpenVMS! <br />
To help the project, you can:<br />
* [[How to write an article|write new articles]]<br />
* [[How to edit an article|expand and edit existing articles]]<br />
* add links to dead end pages<br />
* add pages to categories<br />
* translate this wiki to your language and more.<br />
To get editing access to this wiki, log in by clicking the button above. If you don't have an account or see a registration link, please contact training@vmssoftware.com for a registration.<br />
|}<br />
<br />
{| style="background-color:white;float:bottom;style=height:100px;width:1680px;"<br />
|<br />
{| class="wikitable"<br />
! scope='col' style="height:50px; width:400px; text-align:center;" | <big>Write</big><br />
|-<br />
| style="height:50px; width:400px; text-align:left;" | You can help the project by writing the following articles:<br />
* [[Quota]]<br />
* [[JOB_CONTROL]]<br />
* [[Subprocess]]<br />
* [[INSTALL]]<br />
* [[DECnet Phase IV]]<br />
[[Special:WantedPages|See all wanted pages]]<br />
|}<br />
|<br />
{| class="wikitable"<br />
! scope='col' style="height:50px; width:400px; text-align:center;" | <big>Add</big><br />
|-<br />
| style="height:50px; width:400px; text-align:left;" | You can help the project by expanding the following articles:<br />
* [[INDEXF.SYS]]<br />
* [[SETPRV]]<br />
* [[ADDUSER.COM]]<br />
* [[BADLOG.SYS]]<br />
* [[BADBLK.SYS]]<br />
[[Special:ShortPages|See all short pages]]<br />
|}<br />
|<br />
{| class="wikitable"<br />
! scope='col' style="height:50px; width:400px; text-align:center;" | <big>Edit</big><br />
|-<br />
| style="height:50px; width:400px; text-align:left;" | You can help the project by editing the following articles:<br />
* [[Audit ACE]]<br />
* [[Identifier ACE]]<br />
* [[ACE]]<br />
* [[BADBLK.SYS]]<br />
* [[Default directory]]<br />
[[Special:FewestRevisions|See all nonrevised pages]]<br />
|}<br />
|<br />
{| class="wikitable"<br />
! scope='col' style="height:50px; width:400px; text-align:center;" | <big>Categorize</big><br />
|-<br />
| style="height:50px; width:400px; text-align:left;" | You can help the project by categorizing the following articles:<br />
* [[$GETQUI output item codes]]<br />
* [[ACE]]<br />
* [[ACL]]<br />
* [[ACP DATACHECK]]<br />
* [[ACP SWAPFLGS]]<br />
[[Special:UncategorizedPages|See all uncategorized pages]]<br />
|}<br />
|}</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=$CREMBX&diff=1272$CREMBX2019-07-23T19:13:09Z<p>Darya.zelenina: Created page with "'''$CREMBX''' is a system service that creates a virtual mailbox device and assigns an I/O channel to it. =Description= The Create Mailbox and..."</p>
<hr />
<div>'''$CREMBX''' is a [[System Service|system service]] that creates a virtual [[Mailbox|mailbox]] device and assigns an I/O channel to it.<br />
<br />
=Description=<br />
The Create Mailbox and Assign Channel service creates a virtual mailbox device<br />
named MBAn and assigns an I/O channel to it. The system provides the unit number n when it creates the mailbox. If a mailbox with the specified name already exists, the $CREMBX service assigns a channel to the existing mailbox.<br />
<br />
The $CREMBX service uses system dynamic memory to allocate a device database for the mailbox and for an entry in the logical name table (if a logical name is specified).<br />
<br />
When a temporary mailbox is created, the process’s buffered I/O byte count ([[BYTLM]]) quota is reduced by the amount specified in the bufquo argument. The size of the mailbox unit control block and the logical name (if specified) are also subtracted from the quota. The quota is returned to the process when the mailbox is deleted.<br />
<br />
The initial security profile created for a mailbox is taken from the mailbox template for the device class. The owner is then set to the process UIC and the promsk argument replaces the protection mask.<br />
<br />
After the process creates a mailbox, it and other processes can assign additional channels to it by calling the [[$ASSIGN|Assign I/O Channel ($ASSIGN)]] or Create Mailbox ($CREMBX) service. If the mailbox already exists, the $CREMBX service assigns a channel to that mailbox; in this way, cooperating processes need not consider which process must execute first to create the mailbox.<br />
<br />
A channel assigned to the mailbox READ ONLY is considered a READER. A channel assigned to the mailbox WRITE ONLY is considered a WRITER. A channel assigned to the mailbox READ/WRITE is considered both a WRITER and READER.<br />
<br />
A temporary mailbox is deleted when no more channels are assigned to it. A permanent mailbox must be explicitly marked for deletion with the [[$DELMBX|Delete Mailbox ($DELMBX)]] service; its actual deletion occurs when no more channels are assigned to it.<br />
<br />
A mailbox is treated as a shareable device; it cannot, however, be mounted or allocated.<br />
<br />
The mailbox unit number is determined when the mailbox is created. A process can obtain the unit number of the created mailbox by calling the [[$GETDVI|Get Device/Volume Information ($GETDVI)]] service using the channel returned by $CREMBX.<br />
<br />
Mailboxes are assigned sequentially increasing numbers (from 1 to a maximum of 9999) as they are created. When all unit numbers have been used, the system starts numbering again at unit 1. Logical names or mailbox names should be used to identify a mailbox between cooperating processes.<br />
<br />
Default values for the maximum message size and the buffer quota (an appropriate multiple of the message size) are determined for a specific system during system generation. The system parameter [[DEFMBXMXMSG]] determines the maximum message size; the system parameter [[DEFMBXBUFQUO]] determines the buffer quota. For termination mailboxes, the maximum message size must be at least as large as the termination message (currently 84 bytes).<br />
<br />
When you specify a logical name for a temporary mailbox, the $CREMBX service enters the name into the LNM$TEMPORARY_MAILBOX logical name table. Normally, LNM$TEMPORARY_MAILBOX specifies LNM$JOB, the jobwide logical name table; thus, only processes in the same job as the process that first creates the mailbox can use the logical name to access the temporary mailbox.<br />
<br />
If you want to use the temporary mailbox to enable communication between processes in different jobs, you must redefine LNM$TEMPORARY_MAILBOX in the process logical name directory table (LNM$PROCESS_DIRECTORY) to specify a logical name table that those processes can access.<br />
<br />
For instance, if you want to use the mailbox as a communication device for processes in the same group, you must redefine LNM$TEMPORARY_MAILBOX to specify LNM$GROUP, the group logical name table. The following DCL command assigns temporary mailbox logical names to the group logical name table:<br />
<br />
$ DEFINE/TABLE=LNM$PROCESS_DIRECTORY LNM$TEMPORARY_MAILBOX LNM$GROUP<br />
<br />
When you specify a logical name for a permanent mailbox, the system enters the name in the logical name table specified by the logical name table name LNM$PERMANENT_MAILBOX, which normally specifies LNM$SYSTEM, the system logical name table. If you want the logical name that you specify for the mailbox to be entered in a logical name table other than the system logical name table, you must redefine LNM$PERMANENT_MAILBOX to specify the desired table. For more information about logical name tables, see the [https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-c04621447 OpenVMS Programming Concepts Manual].<br />
<br />
If you redefine either LNM$TEMPORARY_MAILBOX or LNM$PERMANENT_MAILBOX, be sure that the name of the new table appears in the logical name table LNM$FILE_DEV. OpenVMS RMS and the I/O system services use LNM$FILE_DEV to translate I/O device names. If the logical name table specified by either LNM$TEMPORARY_MAILBOX or LNM$PERMANENT_MAILBOX does not appear in LNM$FILE_DEV, the system will be unable to translate the logical name of your mailbox and therefore will be unable to access your mailbox as an I/O device.<br />
<br />
If you redirect a logical name table to point to a process-private table, then the following occurs:<br />
<br />
* Other processes cannot access the mailbox by its name.<br />
* If the creating process issues a second call to $CREMBX, a different mailbox is created and a channel is assigned to the new mailbox. (If the creating process issues a second call to $CREMBX using a shared logical name, a second channel is assigned to the existing mailbox.)<br />
* The logical name is not deleted when the mailbox disappears.<br />
<br />
=Syntax=<br />
<nowiki>SYS$CREMBX [</nowiki>[[#prmflg|prmflg]]<nowiki>] ,</nowiki>[[#chan|chan]]<nowiki> ,[</nowiki>[[#maxmsg|maxmsg]]<nowiki>] ,[</nowiki>[[#bufquo|bufquo]]<nowiki>] ,[</nowiki>[[#promsk|promsk]]<nowiki>] ,[</nowiki>[[#acmode|acmode]]<nowiki>] ,[</nowiki>[[#lognam|lognam]]<nowiki>]<br />
,[</nowiki>[[#flags|flags]]<nowiki>] ,[</nowiki>[[#nullarg|nullarg]]<nowiki>]</nowiki><br />
<br />
C prototype:<br />
int sys$crembx (char prmflg, unsigned short int *chan, unsigned int maxmsg,<br />
unsigned int bufquo, unsigned int promsk, unsigned int acmode,<br />
void *lognam,...);<br />
<br />
=Arguments=<br />
==prmflg==<br />
{{SyservArgument|boolean|byte (unsigned)|read only|by value}}<br />
<br />
Indicator specifying whether the created mailbox is to be permanent or temporary.<br />
The prmflg argument is a byte value. The first bit specifies a permanent mailbox; the value 0, which is the default, specifies a temporary mailbox. Any other values result in an error.<br />
<br />
==chan==<br />
{{SyservArgument|channel|word|write only|by reference}}<br />
<br />
Channel number assigned by $CREMBX to the mailbox. The '''chan''' argument is<br />
the address of a word into which $CREMBX writes the channel number.<br />
<br />
==maxmsg==<br />
{{SyservArgument|longword_unsigned|longword (unsigned)|read only|by value}}<br />
<br />
Maximum size (in bytes) of a message that can be sent to the mailbox. The<br />
'''maxmsg''' argument is a longword value containing this size.<br />
The maximum value you can specify for the '''maxmsg''' argument is 65535. If you do not specify a value or specify the value as 0, the operating system provides a default value from the [[DEFMBXBUFQUO]] system parameter.<br />
<br />
==bufquo==<br />
{{SyservArgument|longword_unsigned|longword (unsigned)|read only|by value}}<br />
<br />
Number of bytes of system dynamic memory that can be used to buffer messages<br />
sent to the mailbox. The '''bufquo''' argument is a value containing this number. If you do not specify the '''bufquo''' argument or specify it as 0, the operating system provides a default value from the [[DEFMBXBUFQUO]] system parameter.<br />
<br />
For a temporary mailbox, this value must be less than or equal to the process<br />
buffer quota.<br />
<br />
Note that as of [[OpenVMS Version 7.3-1]], the maximum value limit for the '''bufquo''' argument is the amount of available non-paged pool.<br />
<br />
==promsk==<br />
{{SyservArgument|file_protection|longword (unsigned)|read only|by value}}<br />
<br />
Protection mask to be associated with the created mailbox. The '''promsk''' argument is a longword value that is the combined value of the bits set in the protection mask. Cleared bits grant access and set bits deny access to each of the four classes of user: world, group, owner, and system. The diagram on the right depicts these protection bits:<br />
[[File:Снимок.png|thumb]]<br />
<br />
If you do not specify the '''promsk''' argument or specify it as 0, the mailbox template is used.<br />
<br />
The logical access bit must be clear for the class of user requiring access to the mailbox. The access bit must be clear for all categories of user because logical access is required to read or write to a mailbox; thus, setting or clearing the read and write access bits is meaningless unless the logical access bit is also cleared.<br />
<br />
The physical access bit is ignored for all categories of user. Logical access also allows you to queue read or write attention ASTs.<br />
<br />
==acmode==<br />
{{SyservArgument|access_mode|longword (unsigned)|read only|by value}}<br />
<br />
Access mode to be associated with the channel to which the mailbox is assigned. The acmode argument is a longword containing the access mode.<br />
<br />
The [[$PSLDEF]] macro defines the following symbols for the four access modes:<br />
<br />
{| class="wikitable"<br />
! colspan="col" | Symbol<br />
! colspan="col" | Access Mode<br />
! colspan="col" | Numeric Value<br />
|-<br />
| PSL$C_KERNEL <br />
| Kernel <br />
| 0<br />
|-<br />
| PSL$C_EXEC <br />
| Executive <br />
| 1<br />
|-<br />
| PSL$C_SUPER <br />
| Supervisor <br />
| 2<br />
|-<br />
| PSL$C_USER <br />
| User <br />
| 3<br />
|}<br />
<br />
The most privileged access mode used is the access mode of the caller. The specified access mode and the access mode of the caller are compared. The less privileged (but the higher numeric valued) of the two access modes becomes the access mode associated with the assigned channel. I/O operations on the channel can be performed only from equal or more privileged access modes.<br />
<br />
==lognam==<br />
{{SyservArgument|logical_name|character-coded text string|read only|by descriptor–fixed-length string descriptor}}<br />
<br />
Logical name to be assigned to the mailbox. The '''lognam''' argument is the address of a character string descriptor pointing to the logical name string.<br />
<br />
The equivalence name for the mailbox is MBAn. The equivalence name is marked with the terminal attribute. Processes can use the logical name to assign other I/O channels to the mailbox.<br />
<br />
For permanent mailboxes, the $CREMBX service enters the specified logical name, if any, in the LNM$PERMANENT_MAILBOX logical name table and, for temporary mailboxes, into the LNM$TEMPORARY_MAILBOX logical name table.<br />
<br />
==flags==<br />
{{SyservArgument|mask_longword|longword (unsigned)|read only|by value}}<br />
<br />
The '''flags''' argument is used for specifying options for the assign operation that occurs in $CREMBX. The flags argument is a longword bit mask that enables the user to specify that the channel assigned to the mailbox is a READ ONLY or WRITE ONLY channel. If the flags argument is not specified, then the default channel behavior is READ/WRITE. The [[$CMBDEF]] macro defines a symbolic name for each flag bit.<br />
<br />
The following table describes each flag:<br />
<br />
{| class="wikitable"<br />
! colspan="col" | Flag<br />
! colspan="col" | Description<br />
|-<br />
| CMB$M_READONLY <br />
| When this flag is specified, $CREMBX assigns a readonly channel to the mailbox device. An attempt to issue a QIO WRITE operation on the mailbox channel results in an illegal I/O operation error.<br />
|-<br />
| CMB$M_WRITEONLY <br />
| When this flag is specified, $CREMBX assigns a writeonly channel to the mailbox device. An attempt to issue a QIO READ operation on the mailbox channel results in an illegal I/O operation error.<br />
|}<br />
<br />
For more information about the flags argument, see the {{Template:IO}}.<br />
<br />
==nullarg==<br />
{{SyservArgument|null_arg|longword (unsigned)|read only|by value}}<br />
<br />
Placeholding argument reserved by VSI.<br />
<br />
=Condition Values Returned=<br />
{| class="wikitable"<br />
! colspan="col" | Value<br />
! colspan="col" | Description<br />
|-<br />
| SS$_NORMAL <br />
| The service completed successfully.<br />
|-<br />
| SS$_ACCVIO <br />
| The logical name string or string descriptor cannot be read by the caller, or the channel number cannot be written by the caller.<br />
|-<br />
| SS$_BADPARAM <br />
| One or more of the arguments has an invalid value. One possible problem is the flags argument has both the CMB$M_READONLY and CMB$M_WRITEONLY flags set; however, only one of these values is allowed.<br />
|-<br />
| SS$_EXBYTLM <br />
| The process has insufficient buffer I/O byte count (BYTLM) quota to allocate the mailbox UCB or to satisfy buffer requirements.<br />
|-<br />
| SS$_INSFMEM <br />
| The system dynamic memory is insufficient for completing the service.<br />
|-<br />
| SS$_INTERLOCK <br />
| The bit map lock for allocating mailboxes from the specified shared memory is locked by another process.<br />
|-<br />
| SS$_IVLOGNAM <br />
| The logical name string has a length of 0 or has more than 255 characters.<br />
|-<br />
| SS$_IVSTSFLG <br />
| The bit set in the prmflg argument is undefined; this argument can have a value of 1 or 0.<br />
|-<br />
| SS$_NOIOCHAN <br />
| No I/O channel is available for assignment.<br />
|-<br />
| SS$_NOPRIV <br />
| The process does not have the privilege to create a temporary mailbox, a permanent mailbox, a mailbox in memory that is shared by multiple processors, or a logical name.<br />
|-<br />
| SS$_NOSHMBLOCK <br />
| No shared memory mailbox UCB is available for use to create a new mailbox.<br />
|-<br />
| SS$_OPINCOMPL <br />
| A duplicate unit number was encountered while linking a shared memory mailbox UCB. If this condition value is returned, contact your VSI support representative.<br />
|-<br />
| SS$_SHMNOTCNCT <br />
| The shared memory named in the name argument is not known to the system. This error can be caused by a spelling error in the string, an improperly assigned logical name, or the failure to identify the multiport memory as shared at system generation time.<br />
|-<br />
| SS$_TOOMANYLNAM <br />
| The logical name translation of the string named in the lognam argument exceeded the allowed depth.<br />
|}<br />
<br />
=Required Access or Privileges=<br />
Depending on the operation, the calling process might need one of the following<br />
privileges to use $CREMBX:<br />
* [[TMPMBX]] privilege whenever the prmflg argument is specified as 0; however,<br />
a process that has PRMMBX privilege will also meet this requirement.<br />
* [[PRMMBX]] privilege whenever the prmflg argument is specified as 1.<br />
* [[SYSNAM]] privilege to place a logical name for a mailbox in the system logical name table.<br />
* [[GRPNAM]] privilege to place a logical name for a mailbox in the group logical name table.<br />
<br />
=Required Quota=<br />
The calling process must have sufficient buffer I/O byte count ([[BYTLM]]) quota to allocate the mailbox unit control block (UCB) or to satisfy buffer requirements.<br />
<br />
When a temporary mailbox is created, the process’s buffered I/O byte count (BYTLM) quota is reduced by the amount specified in the bufquo argument. The size of the mailbox UCB and the logical name (if specified) are also subtracted from the quota. The quota is returned to the process when the mailbox is deleted.<br />
<br />
=See also=<br />
* [http://www.eight-cubed.com/examples/framework.php?file=sys_crembx.c A C example by James Duff]<br />
* [[$ALLOC]]<br />
* [[$ASSIGN]]<br />
* [[$BRKTHRU]]<br />
* [[$BRKTHRUW]]<br />
* [[$CANCEL]]<br />
* [[$DALLOC]]<br />
* [[$DASSGN]]<br />
* [[$DELMBX]]<br />
* [[$DEVICE_SCAN]]<br />
* [[$DISMOU]]<br />
* [[$GETDVI]]<br />
* [[$GETDVIW]]<br />
* [[$GETMSG]]<br />
* [[$GETQUI]]<br />
* [[$GETQUIW]]<br />
* [[$INIT_VOL]]<br />
* [[$MOUNT]]<br />
* [[$PUTMSG]]<br />
* [[$QIO]]<br />
* [[$QIOW]]<br />
* [[$SNDERR]]<br />
* [[$SNDJBC]]<br />
* [[$SNDJBCW]]<br />
* [[$SNDOPR]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=File:%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.png&diff=1271File:Снимок.png2019-07-23T18:49:07Z<p>Darya.zelenina: </p>
<hr />
<div>ZK-1707-GE Diagram of $CREMBX promsk protection mask</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=$DGBLSC&diff=1270$DGBLSC2019-07-23T18:28:23Z<p>Darya.zelenina: Created page with "'''$DGBLSC''', or '''Delete Global Section''', is a system service that marks an existing permanent global section for deletion. =Description= The Delete G..."</p>
<hr />
<div>'''$DGBLSC''', or '''Delete Global Section''', is a [[System Service|system service]] that marks an existing permanent global section for deletion.<br />
<br />
=Description=<br />
The Delete Global Section service marks an existing permanent global section for deletion. The actual deletion of the global section takes place when all processes that have mapped the global section have deleted the mapped pages.<br />
<br />
After a global section has been marked for deletion, any process that attempts to map it receives the warning return status code SS$_NOSUCHSEC.<br />
<br />
Temporary global sections are automatically deleted when the count of processes<br />
using the section goes to 0.<br />
<br />
On VAX systems, a section located in memory that is shared by multiple processors can be marked for deletion only by a process running on the same processor that created the section.<br />
<br />
The $DGBLSC service does not unmap a global section from a process’s virtual<br />
address space. To do this, the process should call the Delete Virtual Address<br />
Space ($DELTVA or $DELTVA_64) service, which deletes the pages to which the<br />
section is mapped.<br />
<br />
=Syntax=<br />
<nowiki>SYS$DGBLSC [</nowiki>[[#flags|flags]]<nowiki>] ,</nowiki>[[#gsdnam|gdsnam]]<nowiki> ,[</nowiki>[[#ident|ident]]<nowiki>]</nowiki><br />
<br />
C prototype:<br />
int sys$dgblsc (unsigned int flags, void *gsdnam, struct _secid *ident);<br />
<br />
=Arguments=<br />
<br />
==flags==<br />
{{SyservArgument|mask_longword|longword (unsigned)|read only|by value}}<br />
<br />
Mask indicating global section characteristics. The flags argument is a longword value. A value of 0 (the default) specifies a group global section; a value of SEC$M_SYSGBL specifies a system global section; a value of SEC$M_SHMGS on an OpenVMS Galaxy system creates a shared-memory global section.<br />
<br />
==gdsnam==<br />
{{SyservArgument|section_name|character-coded text string|read only|by descriptor-fixed-length string descriptor}}<br />
<br />
Name of the global section to be deleted. The '''gsdnam''' argument is the address<br />
of a character string descriptor pointing to this name string.<br />
<br />
For group global sections, the operating system interprets the group UIC as part of the global section name; thus, the names of global sections are unique to UIC groups.<br />
<br />
You can specify any name from 1 to 43 characters. All processes mapping to the<br />
same global section must specify the same name. Note that the name is case<br />
sensitive.<br />
<br />
Use of characters valid in logical names is strongly encouraged. Valid values<br />
include alphanumeric characters, the dollar sign ($), and the underscore (_). If the name string begins with an underscore (_), the underscore is stripped and the resultant string is considered to be the actual name. Use of the colon (:) is not permitted.<br />
<br />
Names are first subject to a logical name translation, after the application of the prefix GBL$ to the name. If the result translates, it is used as the name of the section. If the resulting name does not translate, the name specified by the caller is used as the name of the section.<br />
<br />
See [https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-c04621447 OpenVMS Programming Concepts Manual] for more information on logical name translations and section name procesing.<br />
<br />
==ident==<br />
{{SyservArgument|section_id|quadword (unsigned)|read only|by reference}}<br />
<br />
Identification value specifying the version number of the global section to be<br />
deleted and the matching criteria to be applied. The ident argument is the 32- or 64-bit address (on Alpha and I64 systems) or the 32-bit address (on VAX systems) of a quadword structure containing three fields.<br />
<br />
The version number is in the second longword. The version number contains two<br />
fields: a minor identification in the low-order 24 bits and a major identification in the high-order 8 bits. Values for these fields can be assigned by installation convention to differentiate versions of global sections. If you specify no version number when creating a section, processes that specify a version number when mapping cannot access the global section.<br />
The first longword specifies, in its low-order 3 bits, the matching criteria. The valid values, the symbolic names by which they can be specified, and their<br />
meanings are listed in the following table:<br />
<br />
{| class="wikitable"<br />
! colspan="col" | Value<br />
! colspan="col" | Name<br />
! colspan="col" | Match Criteria<br />
|-<br />
| 0<br />
| SEC$K_MATALL <br />
| Match all versions of the section<br />
|-<br />
| 1 <br />
| SEC$K_MATEQU <br />
| Match only if major and minor identifications match.<br />
|-<br />
| 2 <br />
| SEC$K_MATLEQ <br />
| Match if the major identifications are equal and the minor identification of the mapper is less than or equal to the minor identification of the global section<br />
|}<br />
<br />
If you specify no address or specify it as 0 (the default), the version number and match control fields default to 0.<br />
<br />
=Condition Values Returned=<br />
<br />
{| class="wikitable"<br />
! colspan="col" | Value<br />
! colspan="col" | Description<br />
|-<br />
| SS$_NORMAL <br />
| The service completed successfully.<br />
|-<br />
| SS$_ACCVIO <br />
| The global section name or name descriptor or the section identification field cannot be read by the caller.<br />
|-<br />
| SS$_INTERLOCK <br />
| The bit map lock for allocating global sections from the specified shared memory is locked by another process.<br />
|- <br />
| SS$_IVLOGNAM<br />
| The global section name has a length of 0 or has more than 15 characters.<br />
|-<br />
| SS$_IVSECFLG <br />
| You set an invalid flag, reserved flag, or flag requiring a user privilege.<br />
|-<br />
| SS$_IVSECIDCTL <br />
| The section identification match control field is invalid.<br />
|-<br />
| SS$_NOPRIV <br />
| The caller does not have the privilege to delete a system global section, does not have read/write access to a group global section, or does not have the privilege to delete a global section located in memory that is shared by multiple processors.<br />
|-<br />
| SS$_NOSUCHSEC <br />
| The specified global section does not exist, or the identifications do not match.<br />
|-<br />
| SS$_NOTCREATOR <br />
| The section is in memory shared by multiple processors and was created by a process on another processor.<br />
|-<br />
| SS$_SHMNOTCNCT ([[VAX]] specific) <br />
| The shared memory named in the name argument is not known to the system. This<br />
error can be caused by a spelling error in the string, an improperly assigned logical name, or the failure to identify the multiport memory as shared at system generation time.<br />
|-<br />
| SS$_TOOMANYLNAM <br />
| The logical name translation of the gsdnam string exceeded the allowed depth of 10.<br />
|}<br />
<br />
=Required Access or Privileges=<br />
Depending on the operation, the calling process might need one or more of the<br />
following privileges:<br />
* [[SYSGBL]] privilege to delete a system global section<br />
* [[PRMGBL]] privilege to delete a permanent global section<br />
* [[PFNMAP]] privilege to delete a page frame section<br />
* [[SHMEM]] privilege to delete a global section located in memory shared by<br />
multiple processors<br />
<br />
=Required Quota=<br />
None<br />
<br />
=See also=<br />
* [[$ADJSTK]]<br />
* [[$ADJWSL]]<br />
* [[$CRETVA]]<br />
* [[$CRMPSC]]<br />
* [[$DELTVA]]<br />
* [[$EXPREG]]<br />
* [[$LCKPAG]]<br />
* [[$LKWSET]]<br />
* [[$MGBLSC]]<br />
* [[$PURGWS]]<br />
* [[$SETPRT]]<br />
* [[$SETSTK]]<br />
* [[$SETSWM]]<br />
* [[$ULKPAG]]<br />
* [[$ULWSET]]<br />
* [[$UPDSEC]]<br />
* [[$UPDSECW]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=ALL_privileges&diff=1269ALL privileges2019-07-23T18:11:16Z<p>Darya.zelenina: </p>
<hr />
<div>'''ALL''' is a group of privileges that enable their holders to control the system. It is comprised of the following privileges:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Privilege !! Description<br />
|-<br />
| [[BYPASS]] || Disregard protection<br />
|-<br />
| [[CMEXEC]] || Change to executive mode<br />
|-<br />
| [[CMKRNL]] || Change to kernel mode<br />
|-<br />
| [[IMPERSONATE]] || Create detached processes of arbitrary UIC<br />
|-<br />
| [[DOWNGRADE]] || Write to a lower secrecy object or lower an object's classification<br />
|-<br />
| [[LOG_IO]] || Issue logical I/O requests<br />
|-<br />
| [[PFNMAP]] || Map to specific physical pages<br />
|-<br />
| [[PHY_IO]] || Issue physical I/O requests <br />
|-<br />
| [[SETPRV]] || Enable any privilege<br />
|-<br />
| [[SHARE]] || Access devices allocated to other users<br />
|-<br />
| [[SYSNAM]] || Insert system logical names in the name table<br />
|-<br />
| [[SYSPRV]] || Access objects through the system protection field<br />
|-<br />
| [[UPGRADE (privilege)]] || Write to a higher integrity object or raise an object's integrity level<br />
|}<br />
<br />
[[Category:Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=Category:All_Privileges&diff=1268Category:All Privileges2019-07-23T18:08:19Z<p>Darya.zelenina: Created page with "Category:Privileges"</p>
<hr />
<div>[[Category:Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=UPGRADE_(privilege)&diff=1267UPGRADE (privilege)2019-07-23T18:07:48Z<p>Darya.zelenina: Created page with "'''UPGRADE''' is a privilege that allows a process to manipulate mandatory access controls. The privilege allows a process to write to an object of higher integ..."</p>
<hr />
<div>'''UPGRADE''' is a [[Privileges|privilege]] that allows a process to manipulate mandatory access controls. The privilege allows a process to write to an object of higher integrity. This privilege is reserved for enhanced security products like SEVMS. <br />
<br />
[[Category:All Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=SHARE&diff=1266SHARE2019-07-23T18:06:45Z<p>Darya.zelenina: </p>
<hr />
<div>'''SHARE''' is a [[Privileges|privilege]] that lets the processes assign channels to devices allocates to other processes or to a nonshared device using the [[$ASSIGN|Assign I/O Channel ($ASSIGN)]] [[System Service|system service]]. Because this privilege has the potential to control the system, it belongs to the [[All privileges|All group of privileges]].<br />
<br />
This privilege should be granted only to system processes such as [[Symbiont|print symbionts]]. An irresponsible user with the SHARE privilege may interfere with the operation of devices belonging to other users.<br />
<br />
[[Category: All Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=ALL_privileges&diff=1265ALL privileges2019-07-23T18:06:16Z<p>Darya.zelenina: </p>
<hr />
<div>'''ALL''' is a group of privileges that enable their holders to control the system. It is comprised of the following privileges:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Privilege !! Description<br />
|-<br />
| [[BYPASS]] || Disregard protection<br />
|-<br />
| [[CMEXEC]] || Change to executive mode<br />
|-<br />
| [[CMKRNL]] || Change to kernel mode<br />
|-<br />
| [[IMPERSONATE]] || Create detached processes of arbitrary UIC<br />
|-<br />
| [[DOWNGRADE]] || Write to a lower secrecy object or lower an object's classification<br />
|-<br />
| [[LOG_IO]] || Issue logical I/O requests<br />
|-<br />
| [[PFNMAP]] || Map to specific physical pages<br />
|-<br />
| [[PHY_IO]] || Issue physical I/O requests <br />
|-<br />
| [[SETPRV]] || Enable any privilege<br />
|-<br />
| [[SHARE]] || Access devices allocated to other users<br />
|-<br />
| [[SYSNAM]] || Insert system logical names in the name table<br />
|-<br />
| [[SYSPRV]] || Access objects through the system protection field<br />
|-<br />
| [[UPGRADE]] || Write to a higher integrity object or raise an object's integrity level<br />
|}<br />
<br />
[[Category:Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=Category:Object_Privileges&diff=1264Category:Object Privileges2019-07-23T18:05:59Z<p>Darya.zelenina: Created page with "Category:Privileges"</p>
<hr />
<div>[[Category:Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=Category:Group_Privileges&diff=1263Category:Group Privileges2019-07-23T18:05:00Z<p>Darya.zelenina: Created page with "Category:Privileges"</p>
<hr />
<div>[[Category:Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=READALL&diff=1262READALL2019-07-23T18:04:18Z<p>Darya.zelenina: Created page with "'''READALL''' is a privilege that allows a process to bypass existing restrictions that would otherwise prevent the process from reading an object (such as UI..."</p>
<hr />
<div>'''READALL''' is a [[Privileges|privilege]] that allows a process to bypass existing restrictions that would otherwise prevent the process from reading an object (such as [[UIC Protection]] and [[ACL|ACLs]]. However, unlike the [[BYPASS]] privilege, which permits writing and deleting, READALL permits only the reading of objects and allows updating of such backup-related file characteristics as the backup date. It is intended to be an adequate privilege for backing up volumes. The READALL privilege lets a process perform the following tasks:<br />
<br />
{| class="wikitable"<br />
! colspan="col" | Task<br />
! colspan="col" | Interface<br />
|-<br />
| Read a user authorization record<br />
| [[$GETUAI]]<br />
|-<br />
| Display permanent network database records<br />
| [[NCP]]<br />
|}<br />
<br />
[[Category:Objects Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=OBJECT_privileges&diff=1261OBJECT privileges2019-07-23T18:00:26Z<p>Darya.zelenina: </p>
<hr />
<div>'''OBJECT''' is a group of [[Privileges|privileges]] that has potential to compromise the security of [[Object Class|protected objects]] such as [[File|files]] or [[Logical Name Table|logical name tables]]. It includes:<br />
<br />
* [[DIAGNOSE]] allows a proces to run online diagnostic programs and intercept and copy messages written to the error log file<br />
* [[READALL]] allows a process to bypass existing restrictions that would otherwise prevent the process from reading an object (such as [[UIC Protection]] or [[ACL|ACLS]])<br />
* [[VOLPRO]] allows a process to affect [[Volume|volumes]]<br />
<br />
[[Category:Object Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=OBJECT_privileges&diff=1260OBJECT privileges2019-07-23T17:58:55Z<p>Darya.zelenina: Created page with "'''OBJECT''' is a group of privileges that has potential to compromise the security of protected objects such as files or Logical Na..."</p>
<hr />
<div>'''OBJECT''' is a group of [[Privileges|privileges]] that has potential to compromise the security of [[Object Class|protected objects]] such as [[File|files]] or [[Logical Name Table|logical name tables]]. It includes:<br />
<br />
* [[DIAGNOSE]] allows a proces to run online diagnostic programs and intercept and copy messages written to the error log file<br />
* [[READALL]] allows a process to bypass existing restrictions that would otherwise prevent the process from reading an object (such as [[UIC Protection]] or [[ACL|ACLS]]<br />
* [[VOLPRO]] allows a process to affect [[Volume|volumes]]<br />
<br />
[[Category:Object Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=WORLD&diff=1259WORLD2019-07-23T17:33:59Z<p>Darya.zelenina: </p>
<hr />
<div>'''WORLD''' is a [[Privileges|privilege]] that allows a process to affect other processes both inside and outside its group by executing the following process-control system services:<br />
* [[$SUSPND|Suspend Process ($SUSPND)]]<br />
* [[$RESUME|Resume Process ($RESUME)]]<br />
* [[$DELPRC|Delete Process ($DELPRC)]]<br />
* [[$SETPRI|Set Priority ($SETPRI)]]<br />
* [[$WAKE|Wake ($WAKE)]]<br />
* [[$SCHDWK|Schedule Wakeup ($SCHDWK)]]<br />
* [[$CANWAK|Cancel Wakeup ($CANWAK)]]<br />
* [[$FORCEX|Force Exit ($FORCEX)]]<br />
<br />
The user's process is also allowed to examine processes outside its own group by executing the [[$GETJPI|Get Job/Process Information ($GETJPI)]] system service. A process with WORLD privilege can issue the SET PROCESS command for all other processes. Any process with WORLD privilege can also obtain information about a lock held by a process in another group using the [[$GETLKI|Get Lock Information ($GETLKI)]] system service.<br />
<br />
To exercise control over subprocesses that it created or to examine these subprocesses, a process needs no special privilege. To affect or examine other processes inside its own group, a process needs only the [[GROUP]] privilege. This privilege should only be granted to users who need to affect or examine processes outside their own group.<br />
<br />
[[Category:System Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=WORLD&diff=1258WORLD2019-07-23T17:33:27Z<p>Darya.zelenina: Created page with "'''WORLD''' is a privilege that allows a process to affect other processes both inside and outside its group by executing the following process-control system s..."</p>
<hr />
<div>'''WORLD''' is a [[Privileges|privilege]] that allows a process to affect other processes both inside and outside its group by executing the following process-control system services:<br />
* [[$SUSPND|Suspend Process ($SUSPND)]]<br />
* [[$RESUME|Resume Process ($RESUME)]]<br />
* [[$DELPRC|Delete Process ($DELPRC)]]<br />
* [[$SETPRI|Set Priority ($SETPRI)]]<br />
* [[$WAKE|Wake ($WAKE)]]<br />
* [[$SCHDWK|Schedule Wakeup ($SCHDWK)]]<br />
* [[$CANWAK|Cancel Wakeup ($CANWAK)]]<br />
* [[$FORCEX|Force Exit ($FORCEX)]]<br />
<br />
The user's process is also allowed to examine processes outside its own group by executing the [[$GETJPI|Get Job/Process Information ($GETJPI)]] system service. A process with WORLD privilege can issue the SET PROCESS command for all other processes. Any process with WORLD privilege can also obtain information about a lock held by a process in another group using the [[$GETLKI|Get Lock Information ($GETLKI)]] system service.<br />
<br />
To exercise control over subprocesses that it created or to examine these subprocesses, a process needs no special privilege. To affect or examine other processes inside its own group, a process needs only the [[GROUP]] privilege. This privilege should only be granted to users who need to affect or examine processes outside their own group.</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=Category:Privileges&diff=1257Category:Privileges2019-07-23T17:30:26Z<p>Darya.zelenina: Created page with "Category:Security"</p>
<hr />
<div>[[Category:Security]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=Category:System_Privileges&diff=1256Category:System Privileges2019-07-23T17:30:05Z<p>Darya.zelenina: Created page with "Category:Privileges"</p>
<hr />
<div>[[Category:Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=SYSLCK&diff=1255SYSLCK2019-07-23T17:29:21Z<p>Darya.zelenina: Created page with "'''SYSLCK''' is a privilege that allows a process to lock systemwide resources with the Enqueue Lock Request ($ENQ) system service or obtain informatio..."</p>
<hr />
<div>'''SYSLCK''' is a [[Privileges|privilege]] that allows a process to lock systemwide resources with the [[$ENQ|Enqueue Lock Request ($ENQ)]] system service or obtain information about a system resource with the [[$GETLKI|Get Lock Information ($GETLKI)]] system service.<br />
<br />
This privilege should only be granted to users who need to run programs that lock resources in the systemwide resource namespace. However, exercise caution when granting this privilege. Users who hold the SYSLCK privilege can interfere with the synchronization of all system and user software. <br />
<br />
[[Category:System Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=SECURITY_(privilege)&diff=1254SECURITY (privilege)2019-07-23T17:27:51Z<p>Darya.zelenina: Created page with "'''SECURITY''' is a privilege that allows a process to perform security-related functions such as modifying the system password with the DCL..."</p>
<hr />
<div>'''SECURITY''' is a [[Privileges|privilege]] that allows a process to perform security-related functions such as modifying the [[System Password|system password]] with the DCL command SET PASSWORD/SYSTEM or modifying the system alarm and audit settings using the DCL command SET AUDIT. The privilege not only lets a user process start and stop the audit server process with SET AUDIT, it also permits the process to use SET AUDIT to modify the<br />
characteristics of the auditing database, including those of the audit server, the system audit journal, the security archive file, resource monitoring, and the audit, alarm, or failure mode.<br />
<br />
This privilege should only be granted to security administrators. Irresponsible users who obtain this privilege can subvert the system's security mechanisms, lock out users through improper application of system passwords, and<br />
disable security auditing.<br />
<br />
The SECURITY privilege also lets a process perform the following tasks: <br />
<br />
{| class="wikitable"<br />
! colspan="col" | Task<br />
! colspan="col" | Interface<br />
|-<br />
| Display system auditing information about the system audit log file, audit server settings, and so on<br />
| SHOW AUDIT<br />
|-<br />
| Display Hidden [[ACL|ACEs]]<br />
| SHOW SECURITY<br />
|-<br />
| Display the system intrusion list or delete a record <br />
| SHOW INTRUSION, DELETE/INTRUSION<br />
|-<br />
| Enable the security operator terminal <br />
| REPLY/ENABLE=SECURITY, $SNDOPR<br />
|-<br />
| Enable [[Protected Subsystem|protected subsystems]] on a [[Volume|volume]] <br />
| MOUNT/SUBSYSTEM, $MOUNT, SET VOLUME/SUBSYSTEM<br />
|}<br />
<br />
[[Category:System Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=SECURITY&diff=1253SECURITY2019-07-23T17:24:15Z<p>Darya.zelenina: Created page with "'''SECURITY''' is a privilege that allows a process to perform security-related functions such as modifying the system password with the DCL..."</p>
<hr />
<div>'''SECURITY''' is a [[Privileges|privilege]] that allows a process to perform security-related functions such as modifying the [[System Password|system password]] with the DCL command SET PASSWORD/SYSTEM or modifying the system alarm and audit settings using the DCL command SET AUDIT. The privilege not only lets a user process start and stop the audit server process with SET AUDIT, it also permits the process to use SET AUDIT to modify the characteristics of the auditing database, including those of the audit server, the system audit journal, the security archive file, resource monitoring, and the audit, alarm, or failure mode.<br />
<br />
This privilege should only be granted to security administrators. Irresponsible users who obtain this privilege can subvert the system's security mechanisms, lock out users through improper application of system passwords, and<br />
disable security auditing.<br />
<br />
The SECURITY privilege also lets a process perform the following tasks: <br />
<br />
{| class="wikitable"<br />
! colspan="col" | Task<br />
! colspan-"col" | Interface<br />
|-<br />
| Display system auditing information about the system audit log file, audit server settings, and so on<br />
| SHOW AUDIT<br />
|-<br />
| Display Hidden [[ACL|ACEs]] <br />
| SHOW SECURITY<br />
|-<br />
| Display the system intrusion list or delete a record <br />
| SHOW INTRUSION, DELETE/INTRUSION<br />
|-<br />
| Enable the security operator terminal <br />
| REPLY/ENABLE=SECURITY, $SNDOPR<br />
|-<br />
| Enable protected subsystems on a volume <br />
| MOUNT/SUBSYSTEM, $MOUNT, SET VOLUME/SUBSYSTEM<br />
|}<br />
<br />
[[Category:System Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=SYSTEM_privileges&diff=1252SYSTEM privileges2019-07-23T17:21:11Z<p>Darya.zelenina: </p>
<hr />
<div>'''SYSTEM''' is a group of [[Privileges|privileges]] that have the potential to interfere with normal system operation. It includes:<br />
<br />
* [[ALTPRI]] allows a process to increase its own priority, set the base priority of a target process, and change the priority of its batch and print jobs<br />
* [[AUDIT (privilege)|AUDIT]] allows software to append audit records to the system [[Security Audit|security audit log file]]<br />
* [[OPER]] allows a process to use the [[OPCOM]] process to reply to users' requests, broadcast messages to all terminals, designate terminals as operator's terminals, etc<br />
* [[PSWARM]] allows a process to control whether it can be [[Swapping|swapped]] out of the balance set<br />
* [[SECURITY]] allows a process to perform security-related functions such as modifying the [[System Password|system password]] or [[Security Audit|security audit settings]]<br />
* [[SYSLCK]] allows a process to lock systemwide resources or obtain information about a systemwide resource<br />
* [[WORLD]] allows a process to affect other processes on the system: suspend, resume, wake, delete them, control their priority, etc<br />
<br />
[[Category:System Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=PSWARM&diff=1251PSWARM2019-07-23T17:19:38Z<p>Darya.zelenina: Created page with "'''PSWARM''' is a privilege that allows a process to control whether it can be swapped out of the balance set by executing the $SETSWM|Set Proces..."</p>
<hr />
<div>'''PSWARM''' is a [[Privileges|privilege]] that allows a process to control whether it can be [[Swapping|swapped]] out of the balance set by executing the [[$SETSWM|Set Process Swap Mode ($SETSWM)]] system service. A process must have this privilege to lock itself in the balance set (to disable swapping) or to unlock itself from the balance set (to enable swapping).<br />
<br />
With this privilege, a process can create a process that is locked in the balance set (swap mode is disabled) by using an optional argument to the [[$CREPRC|Create Process ($CREPRC)]] system service or, when the DCL command [[RUN]] is used to create a process, by using the /NOSWAPPING qualifier of the RUN command. Furthermore, a process can lock a page or range of pages in physical memory using the [[$LCKPAG|Lock Pages in Memory ($LCKPAG)]] system service.<br />
<br />
This privilege should only be granted to users who need to lock a process in memory for performance reasons. Typically, this will be a real-time process. If unqualified processes have the unrestricted ability to lock processes in the balance set, physical memory can be held unnecessarily and thereby degrade system performance. <br />
<br />
[[Category:System Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=SYSTEM_privileges&diff=1249SYSTEM privileges2019-07-23T17:03:34Z<p>Darya.zelenina: Created page with "'''SYSTEM''' is a group of privileges that have the potential to interfere with normal system operation. It includes: * ALTPRI allows a process to increase..."</p>
<hr />
<div>'''SYSTEM''' is a group of [[Privileges|privileges]] that have the potential to interfere with normal system operation. It includes:<br />
<br />
* [[ALTPRI]] allows a process to increase its own priority, set the base priority of a target process, and change the priority of its batch and print jobs<br />
* [[AUDIT]] allows software to append audit records to the system [[Security Audit|security audit log file]]<br />
* [[OPER]] allows a process to use the [[OPCOM]] process to reply to users' requests, broadcast messages to all terminals, designate terminals as operator's terminals, etc<br />
* [[PSWARM]] allows a process to control whether it can be [[Swapping|swapped]] out of the balance set<br />
* [[SECURITY]] allows a process to perform security-related functions such as modifying the [[System Password|system password]] or [[Security Audit|security audit settings]]<br />
* [[SYSLCK]] allows a process to lock systemwide resources or obtain information about a systemwide resource<br />
* [[WORLD]] allows a process to affect other processes on the system: suspend, resume, wake, delete them, control their priority, etc<br />
<br />
[[Category:System Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=SYSGBL&diff=1248SYSGBL2019-07-23T16:53:27Z<p>Darya.zelenina: Created page with "'''SYSGBL''' is a privilege that allows a process to create or delete system global sections by executing the Create and Map Section ($CRMPSC) or th..."</p>
<hr />
<div>'''SYSGBL''' is a [[Privileges|privilege]] that allows a process to create or delete system global sections by executing the [[$CRMPSC|Create and Map Section ($CRMPSC)]] or the [[$DGBLSC|Delete Global Section ($DGBLSC)]] system service. In addition, a process with this privilege (plus the [[CMKRNL]] and [[PRMGBL]] privileges) can use the Install utility ([[INSTALL]]).<br />
<br />
System global sections require space in the global section and global page tables, which are limited resources. <br />
<br />
[[Category:Files Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=SHMEM&diff=1247SHMEM2019-07-23T16:51:36Z<p>Darya.zelenina: Created page with "'''SHMEM''' is a privilege that allows a process to create global sections and mailboxes (permanent and temporary) in memory shared by multiple processors if th..."</p>
<hr />
<div>'''SHMEM''' is a [[Privileges|privilege]] that allows a process to create global sections and mailboxes (permanent and temporary) in memory shared by multiple processors if the process also has appropriate [[PRMGBL]], [[PRMMBX]], [[SYSGBL]], and [[TMPMBX]] privileges. Just as in local memory, the space required for a temporary mailbox in multiport memory counts against the buffered I/O byte count limit ([[BYTLM]]) of the process.<br />
<br />
The privilege also lets a user's process create or delete an event flag cluster in shared memory using the [[$ASCEFC|Associate Common Event Flag Cluster ($ASCEFC)]] or the [[$DACEFC|Disassociate Common Event Flag Cluster ($DACEFC)]] system service.<br />
<br />
[[Category:Devour Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=PRMMBX&diff=1246PRMMBX2019-07-23T16:37:46Z<p>Darya.zelenina: Created page with "'''PRMMBX''' is a privilege that allows a process to create or delete a permanent mailbox by executing the $CREMBX|Create Mailbox and Assign Channel ($CREMBX)..."</p>
<hr />
<div>'''PRMMBX''' is a [[Privileges|privilege]] that allows a process to create or delete a permanent mailbox by executing the [[$CREMBX|Create Mailbox and Assign Channel ($CREMBX)]] system service or the [[$DELMBX|Delete Mailbox ($DELMBX)]] system service. The privilege also allows the creation of temporary mailboxes with the [[$CREMBX]] service.<br />
<br />
Mailboxes are buffers in virtual memory that are treated as if they were record-oriented I/O devices. A mailbox is used for general interprocess communication.<br />
Do not grant PRMMBX to all users of the system. Permanent mailboxes are not automatically deleted when the creating processes are deleted and, thus, continue to use a portion of system dynamic memory. System performance degrades as system dynamic memory becomes scarce. <br />
<br />
[[Category:Devour Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=PRMGBL&diff=1245PRMGBL2019-07-23T16:33:43Z<p>Darya.zelenina: Created page with "'''PRMGBL''' is a privilege that allows a process to create or delete permanent global sections by executing the Create and Map Section ($CRMPSC) o..."</p>
<hr />
<div>'''PRMGBL''' is a [[Privileges|privilege]] that allows a process to create or delete permanent global sections by executing the [[$CREMPSC|Create and Map Section ($CRMPSC)]] or the [[$DGBLSC|Delete Global Section ($DGBLSC)]] system service. In addition, a process with this privilege (plus [[CMKRNL]] and [[SYSGBL]] privileges) can use the Install utility ([[INSTALL]]).<br />
<br />
Global sections are shared structures that can be mapped simultaneously in the virtual address space of many processes. All processes see the same code or data. Global sections are used for reentrant subroutines or data buffers.<br />
<br />
If permanent global sections are not explicitly deleted, they tie up space in the<br />
global section and global page tables, which are limited resources. <br />
<br />
[[Category:Devour Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=Category:Devour_Privileges&diff=1244Category:Devour Privileges2019-07-23T16:30:27Z<p>Darya.zelenina: Created page with "Category:Privileges"</p>
<hr />
<div>[[Category:Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=PRMCEB&diff=1243PRMCEB2019-07-23T16:30:03Z<p>Darya.zelenina: Created page with "'''PRMCEB''' is a privilege that allows a process to create or delete a permanent common event flag cluster by executing the $ASCEFC|Associate Common Event Fl..."</p>
<hr />
<div>'''PRMCEB''' is a [[Privileges|privilege]] that allows a process to create or delete a permanent common event flag cluster by executing the [[$ASCEFC|Associate Common Event Flag Cluster ($ASCEFC)]] or the [[$DLCEFC|Delete Common Event Flag Cluster ($DLCEFC)]] system service. Common event flag clusters enable cooperating processes to communicate with each other and thus synchronize their execution.<br />
<br />
Remember that if permanent common event flag clusters are not explicitly deleted, they tie up space in system dynamic memory, which may degrade system performance.<br />
<br />
[[Category:Devour Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=DEVOUR_privileges&diff=1242DEVOUR privileges2019-07-23T16:27:25Z<p>Darya.zelenina: Created page with "'''DEVOUR''' is a group of privileges that contains privileges with a potential to control noncritical systemwide resources: * ACNT allows a process to cre..."</p>
<hr />
<div>'''DEVOUR''' is a group of [[Privileges|privileges]] that contains privileges with a potential to control noncritical systemwide resources:<br />
<br />
* [[ACNT]] allows a process to create processes in which accounting is disabled<br />
* [[ALLSPOOL]] allows a process to allocate a spooled device<br />
* [[BUGCHK]] allows a process to make bugcheck error log entries from user, supervisor, or compatibility mode or to send messages to the system error logger<br />
* [[EXQUOTA]] allows a process to exceed any disk volume usage quotas set by the user's [[SYSUAF|account]]<br />
* [[GRPNAM]] allows a process to bypass discretionary access controls on the system logical name tables in order to insert names into the [[Logical Name Table|logical name table]] for the group that the process belongs to or delete names from it<br />
* [[PRMCEB]] allows a proces to create or delete permanent common event flag clusters<br />
* [[PRMGBL]] allows a process to create or delete permanent global sections<br />
* [[PRMMBX]] allows a process to create or delete a permanent [[Mailbox|mailbox]]<br />
* [[SHMEM]] allows a porcess to create global sections and [[Mailbox|mailboxes]] in memory shared by multiple processors if the process also has appropriate [[PRMGBL]], [[PRMMBX]], [[SYSGBL]] and [[TMPMBX]] privileges.<br />
<br />
[[Category:Devour Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=GROUP&diff=1241GROUP2019-07-23T16:08:44Z<p>Darya.zelenina: Created page with "'''GROUP''' is a privilege that allows the user's process to affect other processes in its own group by executing the following process-control system services:..."</p>
<hr />
<div>'''GROUP''' is a [[Privileges|privilege]] that allows the user's process to affect other processes in its own group by executing the following process-control system services:<br />
* [[$SUSPND|Suspend Process ($SUSPND)]]<br />
* [[$RESUME|Resume Process ($RESUME)]]<br />
* [[$DELPRC|Delete Process ($DELPRC)]]<br />
* [[$SETPRI|Set Priority ($SETPRI)]]<br />
* [[$WAKE|Wake ($WAKE)]]<br />
* [[$SCHDWK|Schedule Wakeup ($SCHDWK)]]<br />
* [[$CANWAK|Cancel Wakeup ($CANWAK)]]<br />
* [[$FORCEX|Force Exit ($FORCEX)]]<br />
<br />
With GROUP privilege, a user's process can control another process in the same group. The user's process is allowed to examine other processes in its own group by executing the [[$GETJPI|Get Job/Process Information ($GETJPI)]] system service. A process with GROUP privilege can issue the SET PROCESS command for other processes in its group.<br />
<br />
GROUP privilege is not needed for a process to exercise control over, or to examine, subprocesses that it created or other detached processes of its UIC. You should, however, grant this privilege to users who need to exercise control over the processes and operations of other members of their UIC group. <br />
<br />
[[Category:Group Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=GROUP_privileges&diff=1240GROUP privileges2019-07-23T16:06:06Z<p>Darya.zelenina: Created page with "'''GROUP privileges''' are privileges that let the process interfere with members of the same group. They include: * GROUP lets the process control other p..."</p>
<hr />
<div>'''GROUP privileges''' are [[Privileges|privileges]] that let the process interfere with members of the same group. They include:<br />
<br />
* [[GROUP]] lets the process control other processes in its own group: suspend, resume, wake, delete, set priority for that process, etc.<br />
* [[GRPPRV]] grants the process with the same group as the object owner the access rights provided by the object's system protection field. See [[UIC Protection]] for more information on access groups and protection settings.<br />
<br />
[[Category:Group Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=TMPMBX&diff=1239TMPMBX2019-07-23T15:52:46Z<p>Darya.zelenina: Created page with "'''TMPMBX''' is a privilege that lets the user's process create a temporary mailbox by executing the $CREMBX|Create Mailbox and Assign Channel ($C..."</p>
<hr />
<div>'''TMPMBX''' is a [[Privileges|privilege]] that lets the user's process create a temporary [[Mailbox|mailbox]] by executing the [[$CREMBX|Create Mailbox and Assign Channel ($CREMBX)]] system service.<br />
<br />
[[Category:Normal Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=NORMAL_privileges&diff=1238NORMAL privileges2019-07-23T15:36:34Z<p>Darya.zelenina: </p>
<hr />
<div>'''NORMAL''' is a group of [[Privileges|privileges]] that are required for a process to use the system effectively. They include:<br />
<br />
* [[TMPMBX]] that lets a process create a temporary mailbox with [[$CREMBX]], which is essential for interprocess communication<br />
* [[NETMBX]] that lets a process perform functions related to [[DECnet]]<br />
<br />
Normal privileges are harmless and should be given to every user on the system.<br />
<br />
[[Category:Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=NORMAL_privileges&diff=1237NORMAL privileges2019-07-23T15:33:26Z<p>Darya.zelenina: </p>
<hr />
<div>'''NORMAL''' is a group of [[Privileges|privileges]] that are required for a process to use the system effectively. They include:<br />
<br />
* [[TMPMBX]] that lets a process create a temporary mailbox with [[$CREMBX]], which is essential for interprocess communication<br />
* [[NETMBX]] that lets a process perform functions related to [[DECnet]]<br />
<br />
Normal privileges are harmless and should be given to every user on the system.<br />
<br />
[[Category:Normal Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=NORMAL_privileges&diff=1236NORMAL privileges2019-07-23T15:33:07Z<p>Darya.zelenina: Created page with "'''NORMAL''' is a group of privileges that are required for a process to use the system effectively. They include: * TMPMBX that lets a process create a te..."</p>
<hr />
<div>'''NORMAL''' is a group of [[Privileges|privileges]] that are required for a process to use the system effectively. They include:<br />
<br />
* [[TMPMBX]] that lets a process create a temporary mailbox with [[$CREMBX]], which is essential for interprocess communication<br />
* [[NETMBX]] that lets a process perform functions related to [[DECnet]]<br />
<br />
Normal privileges are harmless and should be given to every user on the system.<br />
<br />
[[Category:Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=UPGRADE&diff=1235UPGRADE2019-07-23T15:24:49Z<p>Darya.zelenina: Created page with "'''UPGRADE''' is a privilege that lets a process manipulate mandatory access controls. The privilege allows a process to write to an object of higher integrity...."</p>
<hr />
<div>'''UPGRADE''' is a [[Privileges|privilege]] that lets a process manipulate mandatory access controls. The privilege allows a process to write to an object of higher integrity. This privilege is reserced for enhanced security products like SEVMS.<br />
<br />
Users with the UPGRADE privilege may control the system, so it belongs to the [[All privileges|ALL group of privileges]].<br />
<br />
[[Category:Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=SHARE&diff=1234SHARE2019-07-23T15:22:22Z<p>Darya.zelenina: Created page with "'''SHARE''' is a privilege that lets the processes assign channels to devices allocates to other processes or to a nonshared device using the $ASSIGN|Assign I..."</p>
<hr />
<div>'''SHARE''' is a [[Privileges|privilege]] that lets the processes assign channels to devices allocates to other processes or to a nonshared device using the [[$ASSIGN|Assign I/O Channel ($ASSIGN)]] [[System Service|system service]]. Because this privilege has the potential to control the system, it belongs to the [[All privileges|All group of privileges]].<br />
<br />
This privilege should be granted only to system processes such as [[Symbiont|print symbionts]]. An irresponsible user with the SHARE privilege may interfere with the operation of devices belonging to other users.<br />
<br />
[[Category:Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=BEFORE_qualifier&diff=1233BEFORE qualifier2019-07-21T06:36:40Z<p>Darya.zelenina: Created page with "'''/BEFORE''' is a recurrent qualifier used by a few DCL commands that selects files created or modified prior to the date specified as the value. =Syntax= /BEFORE[=time..."</p>
<hr />
<div>'''/BEFORE''' is a recurrent qualifier used by a few [[DCL]] commands that selects files created or modified prior to the date specified as the value.<br />
<br />
=Syntax=<br />
/BEFORE[=time][/CREATED|MODIFIED]<br />
<br />
=Value=<br />
Specify date and time in [[Absolute Time|absolute format]] or as a combination of absolute and [[Delta Time|delta]] times, or as one of the following keywords:<br />
* BOOT<br />
* LOGIN<br />
* TODAY (default)<br />
* TOMORROW<br />
* YESTERDAY<br />
<br />
=Qualifiers=<br />
'''/CREATED''' or '''/MODIFIED''' can be used to indicate the time attribute to be used as the basis for selection. The '''/CREATED''' qualifier is the default.<br />
<br />
=Commands=<br />
The following commands use this qualifier:<br />
* [[SET FILE]]<br />
* [[DIRECTORY]]<br />
<br />
=See also=<br />
* [[SINCE Qualifier]]<br />
<br />
=See also=<br />
* [https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-c04623195 OpenVMS DCL Dictionary Vol II]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=SET_FILE&diff=1232SET FILE2019-07-21T06:36:38Z<p>Darya.zelenina: Created page with "'''SET FILE''' is a DCL command that modifies file characteristics. =Syntax= SET FILE filespec =Qualifiers= '''/ATTRIBUTE=(file-attribute[,...])''' sets the attributes..."</p>
<hr />
<div>'''SET FILE''' is a [[DCL]] command that modifies file characteristics.<br />
<br />
=Syntax=<br />
SET FILE filespec<br />
<br />
=Qualifiers=<br />
<br />
'''/ATTRIBUTE=(file-attribute[,...])''' sets the attributes associated with a file. The following table lists possible keywords and the relationship to both ACP-QIO and OpenVMS RMS File attributes:<br />
<br />
{| class="wikitable"<br />
! colspan="col" | Keyword<br />
! colspan="col" | ACP_QIO File Attribute<br />
! colspan-"col" | OpenVMS RMS File Attribute<br />
! colspan="col" | Description<br />
|-<br />
| ATTDATE=date<br />
| FAT$C_ATTDATE<br />
| XAB$Q_ATT<br />
| attribute modification date<br />
|-<br />
| ACCDATE=date<br />
| FAT$C_ACCDATE<br />
| XAB$Q_ACC<br />
| file access date<br />
|-<br />
| BAKDATE=date <br />
| FAT$C_BAKDATE <br />
| XAB$Q_BDT<br />
| backup date<br />
|-<br />
| BKS:value <br />
| FAT$B_BKTSIZE=byte <br />
| FAB$B_BKS=byte<br />
| bucket size<br />
|-<br />
| CREDATE=date <br />
| FAT$C_CREDATE <br />
| XAB$Q_CDT<br />
| creation date<br />
|-<br />
| DEQ:value <br />
| FAT$W_DEFEXT=word <br />
| FAB$W_DEQ=word<br />
| default extend quantity<br />
|-<br />
| EBK:value <br />
| FAT$L_EFBLK=longword <br />
| XAB$L_EBK=longword<br />
| end of file VBN<br />
|-<br />
| EXPDATE=date <br />
| FAT$C_EXPDATE <br />
| XAB$Q_EDT<br />
| expiration date<br />
|-<br />
| FFB:value <br />
| FAT$W_FFBYTE=word<br />
| XAB$W_FFB=word<br />
| first free byte in FAT$L_EFBLK<br />
|-<br />
| FSZ:value <br />
| FAT$B_VFCSIZE=byte <br />
| FAB$B_FSZ=byte<br />
| size in bytes of fixed-length control for VFC records<br />
|-<br />
| GBC:value <br />
| FAT$W_GBC=word <br />
| FAB$W_GBC=word<br />
| global buffer count<br />
|-<br />
| HBK:value <br />
| FAT$L_HIBLK=longword <br />
| XAB$L_HBK=longword<br />
| highest allocated VBN<br />
|-<br />
| LRL:value <br />
| FAT$W_RSIZE=word <br />
| XAB$W_LRL=word<br />
| record size<br />
|-<br />
| MODDATE=date <br />
| FAT$C_MODDATE <br />
| XAB$Q_MOD<br />
| last time data was modified<br />
|-<br />
| MRS:value <br />
| FAT$W_MAXREC=word <br />
| FAB$W_MRS=word<br />
| maximum record size<br />
|-<br />
| ORG:IDX <br />
| FAT$V_FILEORG=FAT$C_INDEXED <br />
| FAB$B_ORG=FAB$C_IDX<br />
| indicates that the file is indexed<br />
|-<br />
| ORG:REL <br />
| FAT$V_FILEORG=FAT$C_RELATIVE <br />
| FAB$B_ORG=FAB$C_REL<br />
| indicates that the file is relative<br />
|-<br />
| ORG:SEQ <br />
| FAT$V_FILEORG=FAT$C_SEQUENTIAL <br />
| FAB$B_ORG=FAB$C_SEQ<br />
| indicates that the file is sequential<br />
|-<br />
| RAT:BLK <br />
| FAT$B_RATTRIB=FAT$M_NOSPAN <br />
| FAB$B_RAT=FAB$M_BLK<br />
| indicates that the file does not have spanned records<br />
|-<br />
| RAT:CR <br />
| FAT$B_RATTRIB=FAT$M_IMPLIEDCC <br />
| FAB$B_RAT=FAB$M_CR<br />
| indicates that the file has implied carriage control<br />
|-<br />
| RAT:FTN <br />
| FAT$B_RATTRIB=FAT$M_FORTRANCC <br />
| FAB$B_RAT=FAB$M_FTN<br />
| indicates that the file has Fortran carriage control<br />
|-<br />
| RAT:MSB <br />
| FAT$B_RATTRIB=FAT$M_MSBVAR <br />
| FAB$B_RAT=FAB$M_MSB<br />
| <br />
|-<br />
| RAT:NONE <br />
| FAT$B_RATTRIB=0 <br />
| FAB$B_RAT=0<br />
| indicates that no record atributes are specified<br />
|-<br />
| RAT:PRN <br />
| FAT$B_RATTRIB=FAT$M_PRINTCC <br />
| FAB$B_RAT=FAB$M_PRN<br />
| indicates that the file has print file carriage control<br />
|-<br />
| REVDATE=date <br />
| FAT$C_REVDATE <br />
| XAB$Q_RDT<br />
| revision date and time<br />
|-<br />
| RFM:FIX <br />
| FAT$V_RTYPE=FAT$C_FIXED <br />
| FAB$B_RFM=FAB$C_FIX<br />
| indicates that record type is fixed-length<br />
|-<br />
| RFM:STM <br />
| FAT$V_RTYPE=FAT$C_STREAM <br />
| FAB$B_RFM=FAB$C_STM<br />
| indicates that the file is in RMS stream format<br />
|-<br />
| RFM:STMCR <br />
| FAT$V_RTYPE=FAT$C_STREAMCR <br />
| FAB$B_RFM=FAB$C_STMCR<br />
| indicates that the file is in RMS stream terminated by CR format<br />
|-<br />
| RFM:STMLF <br />
| FAT$V_RTYPE=FAT$C_STREAMLF <br />
| FAB$B_RFM=FAB$C_STMLF<br />
| indicates that the file is in RMS stream terminates by LF format<br />
|-<br />
| RFM:UDF <br />
| FAT$V_RTYPE=FAT$C_UNDEFINED <br />
| FAB$B_RFM=FAB$C_UDF<br />
| indicates that the file is in undefined record format (stream binary)<br />
|-<br />
| RFM:VAR <br />
| FAT$V_RTYPE=FAT$C_VARIABLE <br />
| FAB$B_RFM=FAB$C_VAR<br />
| indicates that the record type is variable-length<br />
|-<br />
| RFM:VFC <br />
| FAT$V_RTYPE=FAT$C_VFC <br />
| FAB$B_RFM=FAB$C_VFC<br />
| indicates that the record type is variable-length fixed control<br />
|-<br />
| VRS:value <br />
| FAT$W_VERSIONS=word <br />
| XAB$W_VERLIMIT=word<br />
| default version limit (valid only if the file is a directory)<br />
|}<br />
<br />
'''/[NO]BACKUP specifies whether the [[BACKUP]] utility records the contents of the file. '''/NOBACKUP''' causes only the attributes of the file to be recorded, but not its contents; this is usually used for system files such as [[INDEXF.SYS]] or [[Page File|page]] and [[Swap File|swap]] files. This qualifier is valid only for [[ODS-2]] and [[ODS-5]] files. <br />
<br />
'''/BEFORE[=time]''' selects only the files dated prior to the specified date. See the full description of this qualifier in the [[BEFORE Qualifier|dedicated article]].<br />
<br />
'''/BY_OWNER[=uic]''' selects only those files whole owner [[UIC]] matches the specified UIC. The default is the UIC of the current process.<br />
<br />
'''/CACHING_ATTRIBUTE=keyword''' controls the default caching option used by the [[XFC|Extended File Cache]] when an application accesses the file without specifying which caching option it wants to use on this file or, if the file is a [[Directory File|directory file]], which caching option will be inherited by new files and subdirectories created in this directory. The keywords are:<br />
* WRITETHROUGH: the file should be cached<br />
* NO_CACHING: the file should not be cached<br />
<br />
'''/[NO]CONFIRM''' controls whether a request is issued before each SET FILE operation to confirm whether the operation should be performed on each particular file. See [[CONFIRM Qualifier]] for a full description of this qualifier.<br />
<br />
'''/CREATED''': see '''/BEFORE''' or '''/SINCE'''.<br />
<br />
'''/DATA_CHECK[=([NO]READ,[NO]WRITE)]''' specifies whether a read data check (rereading each record), a write data check (reading each record after it is written), or a combination of the two is performed on the file during transfers. By default, a write data check is performed.<br />
<br />
'''/END_OF_FILE''' resets the end-of-file (EOF) mark to the highest block allocated.<br />
<br />
'''/ENTER=new-filespec''' creates an [[Alias|alias]] or a [[Hardlink<br />
hardlink]] for the file.<br />
<br />
'''/ERASE_ON_DELETE''' specifies that the specified files are explicitly erased from the disk when removed with the [[DELETE]] or [[PURGE]] command.<br />
<br />
'''/EXCLUDE=(filespec[,...])''' excludes the specified file from the operation. See [[EXCLUDE Qualifier]] for a full description of this qualifier.<br />
<br />
'''/[NO]EXPIRATION_DATE[=date]''' controls whether an expiration date is assigned to specific files. Expiration date is used to protect files from overwriting: to overwrite an unexpired file, you will have to specify /OVERRIDE=EXPIRATION when you [[MOUNT Utility|mount]] the volume. <br />
<br />
Required Read, Write, and Control [[UIC Protection|access]] to the file. Date should be specified as [[Absolute Time|absolute time]]; absolute time keywords are allowed. If you specify 0 as the date, today's date is used.<br />
<br />
'''/EXTENSION[=n]''' sets the extend quantity default for the file, the number of blocks to extend a sequential file. The value of n can range from 0 to 65,535. If you omit the value specification or specify a value of 0, OpenVMS Record Management Services (OpenVMS RMS) calculates its own value for the /EXTENSION qualifier.<br />
<br />
'''/[NO]GLOBAL_BUFFER[=keyword[=n]]''' sets the [[RMS]] global buffer count (the number of buffers that can be shared by processes accessing the file) for the specified files. The keywords are:<br />
* COUNT=n specifies the longword count of the number of global buffers<br />
* PERCENT=p specifies the size of the global cache as percent of the total number of blocks currently used in the file.<br />
* DEFAULT requests RMS at runtime to recalculate the global cache size based on an algorithm that makes use of two global buffer [[SYSGEN]] parameters, [[GB_CACHEALLMAX]] and [[GB_DEFPERCENT]].<br />
<br />
'''/MODIFIED''' modifies the time value specified with '''/BEFORE''' or '''/SINCE'''. See [[BEFORE Qualifier]] or [[SINCE Qualifier]] for more information.<br />
<br />
'''/[NO]MOVE''' controls whether movefile operations are enabled on the specified volume.<br />
<br />
When you create a file, movefile operations are enabled on that file. You should disable movefile operations on specialized files that are accessed other than through the XQP (such as files accessed through logical I/O to a disk).<br />
Note that movefile operations are automatically disabled on critical system files. Do not enable movefile operations on these files.<br />
<br />
'''/NODIRECTORY''' removes the directory attributes of a file, which allows you to delete the file even if other files are contained in the directory. Requires [[SYSPRV]].<br />
<br />
'''/REMOVE''' allows you to remove [[Alias|aliases]] and [[Hardlink|hardlinks]].<br />
<br />
'''/SHARE''' allows you to enable or disable global buffers or statistics on a file currently being accessed by other users. Requires [[SYSPRV]].<br />
<br />
'''/[NO]SHELVABLE''' controls whether the file is shelvable.<br />
<br />
'''/SINCE''' selects only those files dated on or after the specified time. See [[SINCE Qualifier]] for a full description of this qualifier.<br />
<br />
'''[NO]STATISTICS''' enables the gathering of RMS statistics on the specified file. These statistics can then be viewed by using the Monitor utility, which is invoked with the [[DCL]] command [[MONITOR]]. The SET FILE/STATISTICS command applies an application ACE to the specified file. The ACE does not affect access control and is only meaningful to the application assigning it.<br />
<br />
'''/STYLE=keyword''' spcifies the file name format for display purposes. The valid keywords are:<br />
* CONDENSED (default) displays a file name representation of what is generated to fit into a 255-length characters string. The filename may contain a DID or FID abbreviation in the file specification.<br />
* EXPANDED displays the file name representation of what is stored on the disk. This filename does not contain any DID or FID abbreviations.<br />
<br />
'''/[NO]SYMLINK''' indicates whether the symbolic link is set. If an input file is a symbolic link, the file referred to by the symbolic link is the<br />
file that is set.<br />
<br />
'''/TRUNCATE''' truncates the file at the end of the block containing the end-of-file (EOF) marker, that is, the qualifier releases allocated but unused blocks of the file.<br />
<br />
'''/UNLOCK''' clears a file marked as deaccess locked. Deaccess locking is required by and used by those few applications that maintain their own locking and consistency, typically without the use of the OpenVMS distributed lock manager, and potentially also without the use of RMS. When an application using deaccess locking does not correctly deaccess the file (often due to an application or system failure), the file is marked as locked, and is thus inaccessable until the integrity of the contents of the file are verified and the SET FILE/UNLOCK command is used.<br />
<br />
This command does not affect the state of files that are locked using RMS or the distributed lock manager.<br />
<br />
'''/VERSION_LIMIT[=n]''' specifies the maximum number of versions for the specified file. No value specified or 0 means that the version number is only limited by the [[Files-11] architectural limit of 32,767.<br />
<br />
=See also=<br />
* [https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-c04623195 OpenVMS DCL Dictionary]<br />
* [http://vmssoftware.com/docs/VSI_OpenVMS_BaseOS/6346_System_Security_Guide.pdf OpenVMS Guide to System Security]<br />
* [ftp://ftp.hp.com/pub/openvms/doc/AA-PV6SF-TK.PDF OpenVMS I/O User's Reference Manual]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=SYSPRV&diff=1231SYSPRV2019-07-21T04:53:39Z<p>Darya.zelenina: Created page with "'''SYSPRV''' is a privilege that lets a process access protected objects by the system protection field and also read and modify the owner (UIC), the UIC-based..."</p>
<hr />
<div>'''SYSPRV''' is a [[Privileges|privilege]] that lets a process access protected objects by the system protection field and also read and modify the owner (UIC), the UIC-based protection code, and the ACL of an object. Due to its potential to control the system, SYSPRV belongs to the All group of privileges. Even if an object is protected against system access, a process with SYSPRV privilege can change the object's protection to gain access to it. Any process with SYSPRV privilege can add, modify, or delete entries in the system user authorization file ([[SYSUAF.DAT]]).<br />
Exercise caution when granting this privilege. Normally, grant this privilege only to system managers and security administrators. If unqualified users have system access rights, the operating system and service to others can be easily disrupted. Such disruptions can include failure of the system, destruction of all system and user data, and exposure of confidential information.<br />
The SYSPRV privilege also lets a process perform the following tasks:<br />
<br />
{| class="wikitable"<br />
! colspan="col" | Task <br />
! colspan="col" | Interface<br />
|-<br />
| Modify a file's expiration date <br />
| [[SET FILE]]/EXPIRATION<br />
|-<br />
| Modify the number of interlocked queue retries <br />
| [[$QIO]] request to an Ethernet 802 driver (DEBNA/NI)<br />
|-<br />
| Set the spin-wait time on the port command register<br />
| $QIO request to an Ethernet 802 driver (DEBNA)<br />
|-<br />
| Set the FROM field in a mail message <br />
| MAIL routines<br />
|-<br />
| Access a MAIL maintenance record <br />
| MAIL<br />
|-<br />
| Modify or delete a MAIL database record <br />
| MAIL<br />
|-<br />
| Modify the group number and password of a local area cluster<br />
| CLUSTER_AUTHORIZE component of SYSMAN<br />
|-<br />
| Perform transaction recovery, join a transaction as coordinator, transition a transaction<br />
| [[DECdtm]] software<br />
|}<br />
<br />
A process whose group [[UIC]] is less than or equal to the system parameter [[MAXSYSGRP]] has implied SYSPRV. When a process has SYSPRV or implied SYSPRV, it can also perform the following tasks:<br />
<br />
{| class="wikitable"<br />
! colspan="col" | Task <br />
! colspan="col" | Interface<br />
|-<br />
| Initialize a magnetic tape <br />
| [[$INIT_VOL]]<br />
|-<br />
| Override creation of an owner [[ACL|ACE]] on a newly created file<br />
| [[$QIO]] request to F11BXQP<br />
|-<br />
| Clear the directory bit in a directory's file header <br />
| [[$QIO]] request to the F11BXQP, [[SET FILE]]/NODIRECTORY<br />
|-<br />
| Acquire or release a volume lock <br />
| [[$QIO]] request to F11BXQP<br />
|-<br />
| Force mount verification on a volume <br />
| [[$QIO]] request to F11BXQP<br />
|-<br />
| Create a file access window with the no access lock bit set<br />
| [[$QIO]] request to F11BXQP<br />
|-<br />
| Specify null lock mode for a volume lock <br />
| [[$QIO]] request to F11BXQP<br />
|-<br />
| Access a locked file <br />
| [[$QIO]] request to F11BXQP<br />
|-<br />
| Disable [[Disk Quota|disk quotas]] on volume <br />
| [[$QIO]] request to F11BXQP<br />
|-<br />
| Enable disk quotas on volume <br />
| [[$QIO]] request to F11BXQP<br />
|}<br />
<br />
[[Category:All Privileges]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=DCL&diff=1230DCL2019-07-19T04:08:10Z<p>Darya.zelenina: Created page with "'''DCL''', or the '''Digital Command Language''', is the default command line interpreter for OpenVMS systems. It can be used to interact with OpenVMS systems on t..."</p>
<hr />
<div>'''DCL''', or the '''Digital Command Language''', is the default [[CLI|command line interpreter]] for [[OpenVMS]] systems. It can be used to interact with OpenVMS systems on the command line and write [[Command Procedure|command procedures]] (scripts).<br />
<br />
See [[CLI|Command Line Interpreter]] for more information on DCL.<br />
<br />
=Features=<br />
==Command Abbreviation==<br />
<br />
[[CLI#Command Verb|Command verbs]] and [[Symbol|symbols]] in DCL can be abbreviated to the minimum number of characters that make the command unique: for example, as long as there is no other command that starts with the same letter, a command can be abbreviated to one character. Usually, however, it takes 2-4 letters to specify a command unambiguously.<br />
<br />
DCL only looks at the first 4 characters of a command verb.<br />
<br />
==Normalization==<br />
When processing a command line, DCL:<br />
* translates all characters to uppercase<br />
* removes multiple spaces, leading and trailing spaces<br />
* removes comments (whatever starts with an exclamation point(!))<br />
<br />
Normalization also applies to filenames if the process's parse style is set to TRADITIONAL. Extended file specifications (uppercase letters, extended character set) available for [[ODS-5]] disks can be entered when the parse style is set to EXTENDED with the SET PROCESS/PARSE_STYLE=EXTENDED command.<br />
<br />
Information in double quotes (such as equivalence strings, search queries, and multi-word qualifier values) is not subject to normalization.<br />
<br />
=Scripting=<br />
In DCL scripts, all command lines including comment lines need to be preceded with a dollar sign ($). All lines not preceded with a dollar sign are considered to be data lines for the previous command.<br />
<br />
=See also=<br />
* [https://www.vmssoftware.com/pdfs/HP_branded_docs_1st_batch/HP_DCL_Dictionary_Vol1.pdf OpenVMS DCL Dictionaly A-M]<br />
* [https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-c04623195 OpenVMS DCL Dictionary N-Z]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=OpenVMS&diff=1229OpenVMS2019-07-19T03:47:29Z<p>Darya.zelenina: added architecture, featres, and distribution information</p>
<hr />
<div>'''OpenVMS''' in an operating system created in 1976 by the [[DEC|Digital Equipment Corporation]] for the 32-bit [[PDP-11]] computer line that was eventually named [[VAX]]. It is currently developed and supported by VMS Software Inc. based in Bolton, MA, USA.<br />
<br />
=Architectures=<br />
OpenVMS currently works with three architectures: 32-bit [[VAX]], 64-bit [[Alpha]], and 64-bit [[Integrity]]. Transition to x86 is [http://vmssoftware.com/updates_port.html underway].<br />
<br />
=Features=<br />
OpenVMS is a multi-user, multitasking operating system that supports virtual memory. OpenVMS supports clustering (up to 96 nodes) that provides distributed processing, resource sharing, and cluster uptimes of dozens of years.<br />
<br />
=The Open Prefix=<br />
The operating system originally called VAX/VMS was renamed to OpenVMS when ported to the [[Alpha]] platform around 1992 to reflect the high degree of support for industry standards such as POSIX.<br />
<br />
This prefix is now generally regarded as silent by OpenVMS users and developers calling the operating system "VMS".<br />
<br />
=Distribution=<br />
Licenses and support for OpenVMS are currently provided by VMS Software Inc. only; see [http://vmssoftware.com/ the official website] for sales information. There is a free student package that includes a limited VMS license and an emulated [[Alpha]] server available for download at [https://training.vmssoftware.com/hobbyist/ the VSI Training website].<br />
<br />
=Releases=<br />
{| class="wikitable"<br />
! colspan="col" | Version<br />
! colspan="col" | Date<br />
! colspan="col" | Architecture<br />
! colspan="col" | Producer<br />
! colspan="col" | Key Enhancements/Release Notes<br />
|-<br />
| [[VAX/VMS Version 1.0|V1.0]]<br />
| 25 October 1978<br />
| [[VAX-11/780]]<br />
| [[DEC|Digital]]<br />
| [http://www.bitsavers.org/www.computer.museum.uq.edu.au/pdf/AE-C770B-TE%20VAX-VMS%20Operating%20System,%20Version%201.0%20SPD%2025.1.2.pdf Product Description]<br />
|-<br />
| VAX/VMS Version 1.5<br />
| February 1979<br />
| [[VAX-11/780]]<br />
| [[DEC|Digital]]<br />
| [http://www.bitsavers.org/www.computer.museum.uq.edu.au/pdf/AA-D015B-TE%20VAX-VMS%20Release%20Notes.pdf Version 1.5 Release Notes]<br />
|-<br />
| V2.0<br />
| April 1980<br />
| [[VAX-11/750]]<br />
| [[DEC|Digital]]<br />
| [https://archive.org/details/bitsavers_decvaxvms2ReleaseNotesMar80_3242450 Release Notes]<br />
|-<br />
| V3.0<br />
| April 1982<br />
| [[VAX-11/730]]<br />
| [[DEC|Digital]]<br />
| [https://tech-insider.org/vms/research/acrobat/8205.pdf Release Notes]<br />
|-<br />
| V4.0<br />
| September 1984<br />
| [[VAX]] and MicroVMS for MicroVAX<br />
| [[DEC|Digital]]<br />
| VAXclusters, Connection Manager, Distributed Lock Manager, Distributed File System, Distributed RMS, Distributed Job Controller, Improved System Security, MicroVMS, VAX/VMS workstations <br />
|-<br />
| V4.2<br />
| October 15,1985<br />
| [[VAX]] and MicroVMS for MicroVAX<br />
| [[DEC|Digital]]<br />
| rowspan="11" | Volume Shadowing, RMS Journaling<br />
|-<br />
| V4.3<br />
| December 18,1986<br />
| [[VAX]] and MicroVMS for MicroVAX<br />
| [[DEC|Digital]]<br />
|-<br />
| V4.3-A<br />
| Jan 06,1986<br />
| [[VAX]] and MicroVMS for MicroVAX<br />
| [[DEC|Digital]]<br />
|-<br />
| V4.4<br />
| Jul 14,1986<br />
| [[VAX]] and MicroVMS for MicroVAX<br />
| [[DEC|Digital]]<br />
|-<br />
| V4.5<br />
| Nov 14,1986<br />
| [[VAX]] and MicroVMS for MicroVAX<br />
| [[DEC|Digital]]<br />
|-<br />
| V4.5A<br />
| December 15,1986<br />
| [[VAX]] and MicroVMS for MicroVAX<br />
| [[DEC|Digital]]<br />
|-<br />
| V4.5B<br />
| March 23,1987<br />
| [[VAX]] and MicroVMS for MicroVAX<br />
| [[DEC|Digital]]<br />
|-<br />
| V4.5C<br />
| May 04,1987<br />
| [[VAX]] and MicroVMS for MicroVAX<br />
| [[DEC|Digital]]<br />
|-<br />
| V4.6<br />
| August 07,1987<br />
| [[VAX]] and MicroVMS for MicroVAX<br />
| [[DEC|Digital]]<br />
|-<br />
| V4.7<br />
| December 02,1987<br />
| [[VAX]] and MicroVMS for MicroVAX<br />
| [[DEC|Digital]]<br />
|-<br />
| V4.7A<br />
| March 28.1988<br />
| [[VAX]] and MicroVMS for MicroVAX<br />
| [[DEC|Digital]]<br />
|-<br />
| V5.0<br />
| May 16,1988<br />
| [[VAX]]<br />
| [[DEC|Digital]]<br />
| rowspan="4" | Mixed Interconnect VAXclusters, Symmetric Multiprocessing, expanded system management functions, and internationalization of terminal displays<br />
|-<br />
| V5.0-1<br />
| July 05.1988<br />
| [[VAX]]<br />
| [[DEC|Digital]]<br />
|-<br />
| V5.0-2<br />
| September 06,1988<br />
| [[VAX]]<br />
| [[DEC|Digital]]<br />
|-<br />
| V5.0-2A<br />
| October 19,1988<br />
| [[VAX 6000]]<br />
| [[DEC|Digital]]<br />
|-<br />
| MAYFAIR <br />
V5.1<br />
| January 06,1989<br />
| [[VAX]]<br />
| [[DEC|Digital]]<br />
| VMS DECwindows and CDA<br />
|-<br />
| V5.1-B<br />
| February 17,1989<br />
| [[VAX]]<br />
| [[DEC|Digital]]<br />
| <br />
|-<br />
| FIREFOX <br />
V5.1-1<br />
| April 10,1989<br />
| [[VAX]]<br />
| [[DEC|Digital]]<br />
| <br />
|-<br />
| V5.2<br />
| July 23,1989<br />
| [[VAX 6000]]<br />
| [[DEC|Digital]]<br />
| rowspan="2" | Major enhancements to BACKUP - improved performance, Cluster wide Process Services available, VAXcluster system limit raised to 96 computers, VMS Security Enhancements, enhancements to the VMS Debugger System Management Enhancement Support for the VAX 6000 Model 400 system, and MicroVAX and VAXserver 3100 Systems<br />
|-<br />
| PVAX <br />
V5.2-1<br />
| September 14,1989<br />
| [[VAX 6000]]<br />
| [[DEC|Digital]]<br />
|-<br />
| V5.3<br />
| October 27,1989<br />
| [[VAX 6000]]<br />
| [[DEC|Digital]]<br />
| rowspan="3" | Improved DECwindows software for workstations, Distributed Name Service (DNS) for network based systems, Enhanced VAX Text Processing Utility (TPU) and Extensible VAX Editor (EVE), Small Computer System Interface (SCSI) support, New VMS DECwindows Graphics Option Support, Support for TA90E tape drive & RA92 DSA Disk<br />
|-<br />
| V5.3-1<br />
| January 30,1990<br />
| [[VAX 6000]]<br />
| [[DEC|Digital]]<br />
|-<br />
| V5.3-2<br />
| April 4,1990<br />
| [[VAX 6000]]<br />
| [[DEC|Digital]]<br />
|-<br />
| AETNA<br />
V5.4<br />
| August 27,1990<br />
| [[VAX 6000]]<br />
| [[DEC|Digital]]<br />
| Aquarius, Cirrus, Rigel/Vectors, HB Volume Shadowing <br />
The VAXft 3000 system and Version 5.4 of VMS together offer fault tolerance and high application availability. New embedded VMS system services support DECtp architecture, providing features and enabling technologies for distributed transaction processing. VMS Volume Shadowing now provides new controller-independent cluster-wide shadowing capabilities for all DSA (Digital Storage Architecture) configurations. VAX RMS Journaling now supports distributed transactions, utilizing new embedded VMS TP services. <br />
|-<br />
| V5.4-0A<br />
| September 24,1990<br />
| [[VAX 6000]]<br />
| [[DEC|Digital]]<br />
| Fixes for VAX 6000 and VAX 9000. Hardware bugfixes to V5.4 Limited distribution - only shipped to 6000 & 9000 sites.<br />
|-<br />
| V5.4-1<br />
| November 19,1990<br />
| [[VAX 6000]]<br />
| [[DEC|Digital]]<br />
| VMS maintenance kit and optional new functionality, LAT V5.4-1. V5.4-1 is minimum version required for support of VMS Volume Shadowing Phase II<br />
|-<br />
| V5.4-1A<br />
| December 18,1990<br />
| [[VAX 6000]]<br />
| [[DEC|Digital]]<br />
| Revised V5.4-1 kit for VAX 6000-400 Series Systems<br />
|-<br />
| V5.4-2 <br />
| March 11,1991<br />
| [[VAX 6000]]<br />
| [[DEC|Digital]]<br />
| Support for VAX 4000 Model 200 series, KFMSA adapter, various peripheral devices & option LAT V5.4-2 saveset<br />
|-<br />
| SIGMA<br />
V5.4-3<br />
| September 05,1991<br />
| [[VAX 6000]]<br />
| [[DEC|Digital]]<br />
| Quality improvements to V5.4, DEMFA and FDDI support, Local Area VAXcluster Multiple Adapter Support, Autotuning. Lat V5.4-3 is an optional saveset. Lat software will no longer be optional in next VMS release. Latent hardware support.<br />
|-<br />
| MAGIC<br />
V5.5<br />
| November 1,1991<br />
| [[VAX 6000]]<br />
| [[DEC|Digital]]<br />
| Support for Batch/Print, TMSCP server support, SCSI Shadowing V5.5 Multi-Adapter LAVc, IOSB enhancement for Vol Shad Phase II, Improved Cluster Failover, POSIX Hooks, DECdtm 1.1, Phase V hooks, RTL changes, Hardware support contained in 5.4-3.<br />
|-<br />
| MAGIC MUP<br />
V5.5-1<br />
| June 06,1992<br />
| [[VAX 6000]]<br />
| [[DEC|Digital]]<br />
| Quality improvements to V5.5, Batch/Print facility and Lock Manager<br />
|-<br />
| LHR <br />
V5.5-2HW <br />
| September 04,1992<br />
| [[VAX 6000]]<br />
| [[DEC|Digital]]<br />
| OpenVMS VAX V5.5-2HW was a special hardware release that supported the following new VAX systems and peripherals: <br />
VAX 7000 Model 600 & VAX 10000 Model 600 (Neon) VAX 4000 Model 400 (Omega-slow)/ VAX 4000 Model 100 (Cheetah-Q) MicroVAX 3100 Model 90 (Cheetah-W) / VAXstation 4000 Model 90 (Cougar) / RZ26 / TZ86 / ESE50 <br />
|-<br />
| AMBER<br />
V5.5-2<br />
| October 08,1992<br />
| [[VAX 6000]]<br />
| [[DEC|Digital]]<br />
| Maintenance Release to update Versions V5.5, A5.5, V5.5-1, A5.5-1, V5.5-2HW, A5.5-2HW. Contains all the changes in V5.5-1. OpenVMS VAX V5.5-2 supercedes V5.5-2HW. This release also supports the new VAX Systems and Peripherals listed in V5.5-2 HW.<br />
|-<br />
| V1.0 AXP<br />
| November 1992<br />
| [[Alpha]]<br />
| [[DEC|Digital]]<br />
| First release of OpenVMS AXP offers most of the base O/S functionality found in OpenVMS VAX V5.4-2<br />
|-<br />
| VIKING<br />
V5.5-2H4<br />
| July 26,1993<br />
| [[VAX]]<br />
| [[DEC|Digital]]<br />
| Limited Hardware Release based on V5.5-2. Includes support for VAX 4000 models: 100A, 500A,600A,700A. Also supports 2nd SCSI adapter, KZDDA, on MicroVAX 3100 Model 90. Also includes support for DEFTA (FDDI to TURBOchannel adapter) and DEFQA (FDDI to Q-bus adapter)and Tagged Command Queuing (TCQ) for StorageWorks RAID Array 110 Subsystem. <br />
|-<br />
| JETSTREAM<br />
V5.5-2HF<br />
| July 16,1993<br />
| [[VAX]]<br />
| [[DEC|Digital]]<br />
| Limited Hardware Release based on V5.5-2. Includes support for VAXft model 810 system.<br />
|-<br />
| DELTA AXP<br />
V1.5<br />
| May 18,1993<br />
| [[Alpha]]<br />
| [[DEC|Digital]]<br />
| Second functional release of OpenVMS AXP. Adds OpenVMS cluster support, SMP, DECdtm V1.1, clusterwide batch & print queing subsystem, Infoserver initial system load support, xterminal support, ISO 9660, virtual I/O cache for standalone system. <br />
|-<br />
| BLADE <br />
V6.0<br />
| June 7, 1993<br />
| [[VAX 7000]] and [[VAX10000]]<br />
| [[DEC|Digital]]<br />
| Functional release to include new features and security enhancements, i.e., Extended Physical Addressing up to 3.5 GB, Virtual Balance Slots, Extended Virtual Addressing, Virtual I/O Cache, $SCHED System Service, System Snapshot, ISO 9660 Standards Compliance, MSCP, Security Enhancements to make OpenVMS VAX C2 compliant.<br />
|-<br />
| DELTA PLUS/AXP<br />
V1.5-1H1<br />
| October 18,1993<br />
| [[Alpha]]<br />
| [[DEC|Digital]]<br />
| Hardware support release based on V1.5. Includes support for DEC2000 models 300 & 500, and DEC3000 models 600, 600S, 800, 800S. Also includes support for the PMAZC TURBO channel adapter.<br />
|-<br />
| CORAL/VAX<br />
V6.1<br />
| March 18.1994<br />
| [[VAX]]<br />
| [[DEC|Digital]]<br />
| Functional release containing all previous functionality of OpenVMS VAX V6.0 and OpenVMS VAX V5.5-2H4 releases plus: DECnet/OSI Full Names, PCSI, Per-Disk licensing for OpenVMS Volume Shadowing, support for Polycenter HSM, XQP+ perform ance enhancements, Infoserver Tape Backup, Debugger Heap Analyzer, LAT Symbiont customization.<br />
|-<br />
| EPSILON AXP<br />
V6.1<br />
| May 05,1994 <br />
| [[Alpha]]<br />
| [[DEC|Digital]]<br />
| Third AXP functional release. Achieves functional equivalence with OpenVMS VAX V6.1. Includes: PCSI (for O/S & LP installations), user written device drivers, system code debugger, DECdtm V1.2, movefile support, TMSCP tape server, modifiable LAT symbiont, class-architecture satellite booting XQP+, V6.0 security features, clusterwide virtual I/O cache, & more.<br />
|-<br />
| PHANTOM<br />
V6.1-1H1<br />
| September 22,1994<br />
| [[Alpha]]<br />
| [[DEC|Digital]]<br />
| Support for AlphaStation 400 4/233,266, Alphastation 200 4/166,233<br />
|-<br />
| SPIRIT<br />
V6.1-1H2<br />
| November 23,1994<br />
| [[Alpha]]<br />
| [[DEC|Digital]]<br />
| Support for AlphaServer 1000 4/233, AlphaStation 200 4/100,266, AlphaServer 400 4/166<br />
|-<br />
| DRAGON<br />
VAX 6.2<br />
| May 15,1995<br />
| [[VAX]]<br />
| [[DEC|Digital]]<br />
| Enhances functional equivalence by providing the following features introduced in OpenVMS AXP V6.1: Dynamic Device Recognition, Command Recall, Personation System Services, LATmaster V2.0, Cluster Event Notification Services, and Show System Enhancements. This release also includes these new features: Support for System Dump file off system disk, TMSCP for SCSI tapes, New Mgmt. Station (ARGUS), Backup Manager, Cluster client license, XPG4 DEC C/C++ RTL, Shadowset limit expansion, Search Utility and Show Utility Enhancements, Automatic Foreign Commands, TCP/IP Hooks and Booting clusters without DECnet (LAN-MOP). Support for Controller Based Shadowing has been removed in OpenVMS VAX V6.2. The OpenVMS Freeware CD-ROM has been included in the OpenVMS V6.2 distribution kit. <br />
|-<br />
| ZETA<br />
ALPHA V6.2<br />
| May 15,1995<br />
| [[Alpha]]<br />
| [[DEC|Digital]]<br />
| Enhances functional equivalence by providing the following features included in OpenVMS VAX V6.1: SCSI II Tagged Command Queuing and DECnet/OSI Fullnames. This release also includes these new features: SCSI Clusters, Multi Site Clusters, PCI and ISA/EISA support, Token-ring support, TMSCP for SCSI tapes, New Management Station (ARGUS), Backup Manager, Cluster client license, XPG4 DEC C/C++ RTL, Shadowset limit expansion, Search Utility and Show Utility Enhancements, Automatic Foreign Commands, TCP/IP Hooks and Booting clusters without DECnet (LAN-MOP) The OpenVMS Freeware CD-ROM has been included in the OpenVMS V6.2 distribution kit.<br />
|-<br />
| GHOST<br />
V6.2-1H1<br />
| December 06,1995<br />
| [[Alpha]]<br />
| [[DEC|Digital]]<br />
| Support for AlphaServer 2100A 5/250,300 2100A 4/275, AlphaStation 255/233,300<br />
|-<br />
| EAGLE<br />
VAX V7.0<br />
| December 18,1995<br />
| [[VAX]]<br />
| [[DEC|Digital]]<br />
| Integrated support for TCP/IP Mail, standard socket library, and time zone support. Clusterwide $CREPRC, 1024 process identifiers in Queuing requests.<br />
|-<br />
| THETA<br />
ALPHA V7.0<br />
| December 18.1995<br />
| [[Alpha]]<br />
| [[DEC|Digital]]<br />
| Introduced 64-bit virtual addressing and Kernel Threads capabilities. Also provided Fast Path, and Fast I/O plus the same functionality as Eagle. <br />
|-<br />
| ZOMBIE<br />
V6.1-1H2<br />
| February 22,1996<br />
| [[Alpha]]<br />
| [[DEC|Digital]]<br />
| Support for new low-end AlphaServer 1000<br />
Support for CI to PCI adapter (CIPCA) <br />
Provides same support and functionality as Ghost. <br />
|-<br />
| GOBLIN<br />
V6.2-1H3<br />
| May 21,1996<br />
| [[Alpha]]<br />
| [[DEC|Digital]]<br />
| AlphaServer 4100 5/300, 5/300E, 5/300 (Rawhide), AlphaServer 4000 5/300 & 5/400 (Wrangler), AlphaStation 500/500, Alpha Server 1000A 5/400, AlphaServer 300, AlphaServer 8200/8400 8200/8400 FWD SCSI clusters support. Plus, provides same support and functionality as Ghost and Zombie. <br />
|-<br />
| GRYPHON<br />
V7.1<br />
| December 20,1996<br />
| [[VAX]] and [[Alpha]]<br />
| [[DEC|Digital]]<br />
| Provides new features specifically designed to improve performance and expand configuration flexibility for OpenVMS Clusters. Enhancements and new features focused on connecting OpenVMS with the Internet, extending Very Large Memory (VLM) capabilities introduced in OpenVMS Alpha V7.0, and making system management of OpenVMS systems easier. Key functionality: Memory Channel (Alpha), Extended VLM capabilities (Alpha), SCSI Device Naming (Alpha & VAX), High SCSI ID (Alpha), CI-to-PCI (CIPCA) adapter support, LAN Emulation Client and Classic IP support (Alpha), OpenVMS Internet Product Suite (Alpha & VAX), DECnet-Plus replaces DECnet Phase IV in the OpenVMS Alpha and VAX operating system installation and upgrade procedures, DECnet Phase IV available as a layered product, DECamds is licensed with the base operating system license, Mount and Shadow driver rewrites (Alpha & VAX), Callable Backup API (Alpha & VAX), OpenVMS Management Station V2.1 (Alpha & VAX), Dump file off the system disk (Alpha), Volume Shadowing mini-merge enabled on system disks, External authentication (Alpha & VAX), new DCL PIPE command, and Cluster Client and Volume Shadowing Per Disk License Enforcement. <br />
|-<br />
| HAILSTORM<br />
V7.1-1H2<br />
| October 22,1997<br />
| [[Alpha]]<br />
| [[DEC|Digital]]<br />
| Hardware update for the OpenVMS V7.1 Alpha release. Support for the following: <br />
UltraSCSI: <br />
- KZPBA-CA adapter on AlphaServers 4100, 4000, 2100, 2100A, 2000, 1200, 1000, 1000A and 800<br />
UltraSCSI disks such as RZ1BB, RZ1CB and RZ1DB HSZ70 UltraSCSI controller for the Enterprise Storage Array 10,000 (initially in Fast SCSI mode on the KZPSA adapter<br />
AlphaServer 800 5/500<br />
AlphaServer 1200 <br />
DIGITAL Modular Computing Components:<br />
- Alpha 5/366 PICMG SBC <br />
- Alpha 5/433 PICMG SBC<br />
DE500-BA Network Adapter<br />
DE500-FA Network Adapter (run-time only) <br />
|-<br />
| HAILSTORM 2<br />
V7.1-2<br />
| March 03,1992<br />
| [[Alpha]]<br />
| [[DEC|Digital]]<br />
| Hardware update for the OpenVMS V7.1 Alpha release adding third party boot support <br />
|-<br />
| BLIZZARD<br />
V7.1-2<br />
| November 1998<br />
| [[Alpha]]<br />
| [[DEC|Digital]]<br />
| Includes all hardware supported in OpenVMS Versions 7.1-1H1 and 7.1-1H2, as well as the following new hardware support:<br />
- Compaq AlphaServers GS60, GS140, DS10, DS20, DS20E and ES40 with remedial kits <br />
- Compaq AlphaStations XP900and XP1000 with remedial kis<br />
- Digital Personal Workstations with integrated IDE CD-ROM support <br />
- Ultra SCSI Clusters <br />
- KZPCM adapter<br />
- SCSI hub DWZZH-05, with four-node support in a SCSI multihost cluster system<br />
- Gigabit Ethernet<br />
- OpenVMS support for Compact/PCI <br />
- OpenVMS support for IDE CD-ROM Device Driver<br />
- MCII <br />
- Memory Channel V2.0 <br />
|-<br />
| RAVEN<br />
[[OpenVMS Version 7.2|V7.2]]<br />
| January 1999<br />
| [[VAX]] and [[Alpha]]<br />
| [[Compaq]]<br />
| Provides new features and enhancements that focus on the following areas:<br />
Compaq Galaxy Software Architecture on OpenVMS Alpha, COM V1.0 for OpenVMS, Intra-Cluster Communication System Services (ICC), Clusterwide Logicals, Fibre Channel Storage Interconnect, Storage Multibus Failover, Gigabit Ethernet, Lock Manager, Smaller Disk Cluster Factors, Per-Thread Security Profiles, OpenVMS Backup, OpenVMS Management Station V3.1, Faster Image Activations, Windows Debug Extensions, Alpha Firmware Revision Checking, RMS Global Buffer Hashing, Java Development Kit V1.1.6, Netscape FastTrack Server, Dual formatted OpenVMS Online Doc CDROM, DIGITAL TCP/IP Services V5.0 for OpenVMS, New UNIX style command interface, CIDR Support, BIND 8.1, Load Broker, NTP Enhancement, New SNMP Implementation, DHCP (Dynamic Host Configuration Protocol), Gated, Extended File System Support by FTP, DECnet-Plus for OpenVMS V7.2, Advanced Server V7.2 for OpenVMS (Alpha).<br />
|-<br />
| RAVEN HW01<br />
V7.2+TIMA<br />
| May 1999<br />
| [[Alpha]]<br />
| [[DEC|Digital]]<br />
| Provides support for Compaq AlphaServers GS60, GS140 and DS20 which include the new 21264 processor technology; OpenVMS Galaxy configurations on Compaq AlphaServers GS60 and GS140 systems; new Fibre Channel storage interconnect support on AlphaServer 800, 1200, 4000, 4100, 8200 and 8400 systems; Gigabit Ethernet, a new high bandwidth standard in Ethernet technology; Memory Channel Version 2.0. <br />
|-<br />
| RAVEN PLUS<br />
V7.2-1<br />
| June 1999<br />
| [[Alpha]]<br />
| [[DEC|Digital]]<br />
| Includes all the capabilities of OpenVMS Alpha V7.2 plus provides the following new support: COM V1.1 for OpenVMS (with NT authentication); Compaq AlphaServers GS140, GS60, GS60E, ES40, DS20, and DS10; Compaq Galaxy Software Architecture on OpenVMS AlphaServers GS140, GS60 and GS60E; Compaq AlphaStation XP900 workstation; New Fibre Channel storage interconnect support on AlphaServer 800, 1000A, 1200, 4000, 4100, 8200, 8400, GS60, GS60E, and GS140 systems; Gigabit Ethernet, a high bandwidth standard in Ethernet technology; Memory Channel Version 2.0; Multipath failover with shadowing support for parallel SCSI and Fibre Channel configurations; Intel Fast Ethernet (10/100); Multiple tape density fixes; Remedial kit fixes from December '98 to May '99<br />
The following layered products have been updated and are included in the OpenVMS V7.2-1 kit: Advanced Server V7.2A for OpenVMS Alpha, DIGITAL TCP/IP Services for OpenVMS V5.0A, Availability Manager V1.2, DECnet-Plus V7.2-1, and Netscape FastTrack Server V3.01A.<br />
|-<br />
| PELE<br />
V7.2-1H1<br />
| June 2000<br />
| [[Alpha]]<br />
| [[DEC|Digital]]<br />
| Includes all the capabilities of OpenVMS Alpha V7.2-1 plus provides the following new support: OpenVMS support for Compaq AlphaServer GS160 and GS320 systems, OpenVMS support for hard and soft partitions (Galaxy) on AlphaServer GS160 and GS320 systems, OpenVMS Resource Affinity Domain (RAD) support for applications, new Spinlock Tracking Utility in SDA, RMS Locking enhancements, and remedial fixes from May, 1999 to mid-March, 2000. <br />
|-<br />
| Kestrel<br />
[[OpenVMS Version 7.3|V7.3]]<br />
| April 2001<br />
| [[VAX]] and [[Alpha]]<br />
| [[HPE]]<br />
| Provides the following new capabilities: Improved disaster tolerant capabilities with ATM & Gigabit Ethernet as cluster interconnects, greater system availability during backups with faster reintregration of shadow members after copies, enhanced VMS support for the latest ENSA Storage offerings, greater serviceability for the new AlphaServer GS systems with CPU Online Add/Remove, application performance benefits with Extended File Cache, improved Cluster, SMP and system performance through enhancements to RMS and the clusterwide Lock Manager and Fastpath support for Fibre Channel and SCSI storage, industry standard Kerberos V5 security, VMS Intrusion Detection expands to be cluster-wide, ECP Data Collector and ECP Performance Analyzer are included with operating system, plus the OpenVMS license is expanded to include all these new eBusiness technologies: Compaq Secure Web Server V1.0 for OpenVMS Alpha (Based on Apache), Mozilla Web Browser (Alpha only), COM for OpenVMS, Extensible Markup Language API (XML parser), Java (TM) 2 SDK, Standard Edition V1.2.2, Attunity Connect "On Platform" Package (native JDBC driver included), Reliable Transaction Router (RTR), and OpenVMS Enterprise Directory for eBusiness (X.500).<br />
|-<br />
| TUTU<br />
V7.2-2<br />
| August 2001<br />
| [[Alpha]]<br />
| [[HPE]]<br />
| OpenVMS Alpha V7.2-2 contains all of the features that were available in OpenVMS Alpha V7.2-1 and V7.2-1H1, as well as the following enhancements: Increased system performance and SMP scaling, Volume Shadowing Minicopy feature, support for Fibre Channel-Attached Tapes, updates Registry Server, Security enhancements, and LAN ATM Adapter support. OpenVMS Alpha V7.2-2 is the recommended version to co-exist in mixed version clusters with OpenVMS V7.3. <br />
|-<br />
| RUBY<br />
V7.3-1<br />
| August 2002<br />
| [[Alpha]]<br />
| [[DEC|Digital]]<br />
| OpenVMS Alpha V7.3-1 focuses on expanding our OpenVMS SAN offering, improving system availability, providing I/O and SMP performance improvements and enhanced security. This release also includes enhancements to make it much easier to port UNIX applications to OpenVMS. It also delivers the highest levels of availability, scalability, flexibility, performance and security that are required for ebusiness.<br />
|-<br />
| OPAL<br />
V7.3-2<br />
| October 2003<br />
| [[Alpha]]<br />
| [[HPE]]<br />
| OpenVMS Alpha V7.3-2 focuses on increased I/O and SMP performance, improved system availability, expanded Storage Area Network (SAN) offerings, and enhanced security, UNIX portability and system management features. This release also provides support for new AlphaServer GS1280 65P and DS15 systems, as well as all existing AlphaServer systems.<br />
|-<br />
| EMERALD<br />
V7.4<br />
| colspan="4" | Never released<br />
|-<br />
| MAKO <br />
V8.0<br />
| June 2003<br />
| [[Alpha]] and limited evaluation for [[Integrity]]<br />
| [[HPE]]<br />
| The OpenVMS V8.0 Evaluation Release for HP Integrity Servers runs on rx2600 McKinley based Integrity servers. This evaluation kit was only available to selected OpenVMS ISVs and Partners. The goal was to work very closely with a limited number of partners to start porting their applications for a broad spectrum of the OpenVMS solutions in the market.<br />
|-<br />
| JAWS<br />
V8.1<br />
| December 2003<br />
| [[Integrity]]<br />
| [[HPE]]<br />
| The OpenVMS V8.1 Evaluation Release for HP Integrity Servers runs on rx2600 and rx4640 Integrity servers. The evaluation kit is available for those who want to get a jump on porting their environments to OpenVMS for Itanium architecture-based HP Integrity Servers in anticipation of the production quality release scheduled for H2CY2004. <br />
|-<br />
| TOPAZ<br />
[[OpenVMS Version 8.2|V8.2]]<br />
| February 2005<br />
| [[Alpha]] and [[Integrity]]<br />
| [[HPE]]<br />
| The OpenVMS V8.2 Production Release for HP Integrity Servers runs on rx1600-2, rx2600-2 and rx4640-8 systems. OpenVMS V8.2 includes Volume Shadowing support for host based mini-merge, infrastructure changes to support performance and scalability enhancements in future OpenVMS releases, as well as updates to security and standards. This release also includes support for mixed architecture AlphaServer and Integrity server clusters with shared fibre channel storage, up to 16 nodes.<br />
|-<br />
| DORY<br />
V8.2-1<br />
| July 2005<br />
| [[Integrity]]<br />
| [[HPE]]<br />
| The OpenVMS V8.2-1 release is an HP Integrity server-only release that introduces support for the newest Integrity cell-based rx7620, rx8620, and Superdome systems. OpenVMS V8.2-1 also continues support for all of the Integrity servers and options supported in OpenVMS V8.2. OpenVMS V8.2-1 is a replacement for OpenVMS V8.2 on Integrity. Standard support for OpenVMS V8.2 on Integrity ends June 2006 or when V8.3 ships. OpenVMS V8.2-1 includes performance and scalability enhancements, support for hard partitioning (nPar) on partitions up to 4 cells, expanded support for mixed architecture AlphaServer and Integrity system clusters, and low-cost multi-host SCSI clusters<br />
|-<br />
| NEMO<br />
[[OpenVMS Version 8.3|V8.3]]<br />
| July 2006<br />
| [[Alpha]] and [[Integrity]]<br />
| [[HPE]]<br />
| HP OpenVMS V8.3 for Alpha and Integrity server systems introduces support for the newest Integrity server (entry level mid-range and high-end systems including Superdome. V8.3 also continues support for all Integrity servers and options and new capabilities supported in V8.2 and V8.2-1. V8.3 includes expanded cluster configuration support, performance, scalability, security, standards and Adaptive Enterprise enhancements. Standard support for OpenVMS V8.2 on Integrity servers systems ends on December 31, 2006.<br />
|-<br />
| ORION<br />
V8.3-1H1<br />
| October 2007<br />
| [[Integrity]]<br />
| [[HPE]]<br />
| OpenVMS v8.3-1H1 for Integrity servers is the 30th anniversary edition of the OpenVMS operating system. It delivers new features, enhanced system management functionality for the BL860c Server Blade, and support for the latest revisions of the Dual-Core Intel Itanium processors for the rx2660, rx3600, rx7640, rx8640, and Superdome servers. <br />
|-<br />
| JEDI<br />
[[OpenVMS Version 8.4|V8.4]]<br />
| June 2010<br />
| [[Alpha]] and [[Integrity]]<br />
| [[HPE]]<br />
| OpenVMS v8.4 for Integrity servers and Alpha Systems introduces support for OpenVMS as a guest operating system in an HP Integrity VM environment on the Integrity platform. V8.4 delivers new and enhanced features Clusters over IP, Extended membership, Shadowing, 2TB Volume Support, Integrity with RADsupport HP TCP/IP Services Version 5.7 for OpenVMS, Provisioning with full install for the BL860c and Bl870c Server Blades and support for the Dual-Core Intel Itanium processors for the rx2620, rx2660, rx3600, rx6600, rx7640, rx8640, and Superdome servers.<br />
|-<br />
| BOLTON <br />
[[OpenVMS Version 8.4|V8.4-1H1]]<br />
| June 2015<br />
| [[Alpha]] and [[Integrity]]<br />
| [[VSI|VMS Software Inc.]]<br />
| [http://h30266.www3.hpe.com/VSIMay2015-5900-3621.pdf Cover Letter and Release Notes]<br />
|-<br />
| MAYNARD<br />
V8.4-2<br />
| March 2016<br />
| [[Alpha]] and [[Integrity]]<br />
| [[VSI|VMS Software Inc.]]<br />
| [http://vmssoftware.com/pdfs/vms_pdf/VSI_OpenVMS_SPD_OS_V842.pdf SPD and Quick Specs]<br />
|-<br />
| HUDSON<br />
V8.4-2L1<br />
| March 2016<br />
| [[Alpha]] and [[Integrity]]<br />
| [[VSI|VMS Software Inc.]]<br />
| This new release is identical to the last Maynard release of OpenVMS, except for one major difference: all components of OpenVMS that rely on OpenSSL have been upgraded to use the latest VSI SSL release, VSI SSL1 V1.0, which is an implementation of the OpenSSL V1.0.2 standard. OpenSSL is used by many operating system functions, networking products, OpenVMS layered products, and open source applications.<br />
|-<br />
| FELTON<br />
V8.4-2L2<br />
| April 2017<br />
| [[Alpha]]<br />
| [[VSI|VMS Software Inc.]]<br />
| Performance build - EV6/EV7<br />
|}<br />
<br />
=See also=<br />
* [http://vmssoftware.com/ VMS Software Inc.'s official website]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=Foreign_Command&diff=1228Foreign Command2019-07-18T11:54:09Z<p>Darya.zelenina: Created page with "A '''foreign command''' is a symbol that represents the file specification of a non-DCL image and can be used to invoke that image. The dollar sign in front of the..."</p>
<hr />
<div>A '''foreign command''' is a [[Symbol|symbol]] that represents the file specification of a non-DCL image and can be used to invoke that image. The dollar sign in front of the file specification is required since it implies a RUN command.<br />
<br />
<nowiki><br />
$ PRINTALL :== $[ACCOUNTS]PRINTALL<br />
</nowiki><br />
<br />
For the image file specification, the default device and directory name is [[SYS$SYSTEM]], the default file type is .EXE, and the default file version number is the highest version, so the foreign command above will run PRINTALL.EXE; located in SYS$SYSDEVICE:[ACCOUNTS].<br />
<br />
=See also=<br />
* [[Command Definition Utility]]</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=Symbol&diff=1227Symbol2019-07-18T11:49:02Z<p>Darya.zelenina: Created page with "A '''symbol''' is a name that represents a numeric, string, or boolean value (represented as a numeric or string value). Symbols are a CLI construct and are stored in proc..."</p>
<hr />
<div>A '''symbol''' is a name that represents a numeric, string, or boolean value (represented as a numeric or string value). Symbols are a [[CLI]] construct and are stored in process-specific symbol tables.<br />
<br />
Symbols are used:<br />
* as command synonyms and [[Foreign Command|foreign commands]] to simplify interaction with DCL<br />
* to store and manipulate data in command procedures and on the command line<br />
* to pass data between command procedures in a single process<br />
<br />
=Data types=<br />
Symbols can store numeric and string values; both numeric and string values can also be treated as boolean values. The value of the symbol can be a 32-bit integer or a string with 1 to 255 characters (for [[VAX]]) or 1 to 8192 characters (for [[Alpha]] and [[I64 systems]]).<br />
<br />
=Symbol table=<br />
Symbols are stored in the local and global symbol table. Local symbols are accessible from the current and nested command levels, global symbols are accessible from all command levels. The symbol table is defined by the number of equal signs in symbol assignment: single equal sign (=) stands for local symbol, double equal sign (==) stands for global symbol.<br />
<br />
If symbols with the same name but different equivalence strings are defined in different tables, local symbols are preferred to global symbols. <br />
<br />
Access to local and global symbol in command procedures can be controlled with the [[SET SYMBOL]] command: SET SYMBOL/SCOPE=NOLOCAL causes all local symbols defined in outer procedure levels to be treated as undefined by the current procedure level and all inner procedure levels, and SET SYMBOL/SCOPE=NOGLOCAL causes all global symbols to be inaccessible to the current procedure level and all inner procedure levels.<br />
<br />
=Symbol assignment=<br />
Symbols are assigned to equivalence strings with an equal sign (=). The following rules apply:<br />
<br />
* a single equal sign (=) is used for local symbol assignments, double equal sign (==) for global symbol assignments<br />
* a colon may be used in front of the equal sign (:= or :==) to indicate that the symbol has a string value<br />
* if the equivalence string is enclosed in double quotes (""), a string symbol is defined and the equivalence string is not normalized by [[DCL]]. If the equivalence string is not enclosed in double quotes but a colon is used in front of the equals sign, a string symbol is defined but the equivalence string is normalized. If the equivalence string is not enclosed in double quotes and no colon is used in front of the equals sign, but the equivalence string does not have a numeric value, an error is displayed because [[DCL]] treats the equivalence string itself like a symbol:<br />
<br />
<nowiki><br />
$ a = hello<br />
%DCL-W-UNDSYM, undefined symbol - check validity and spelling<br />
\HELLO\<br />
</nowiki><br />
* symbols can be abbreviated if an asterisk (*) is inserted in the symbol name (e.g. SY*MBOL will cause SY, SYM, SYMB, SYMBO and SYMBOL to be replaced with the value of SYMBOL)<br />
<br />
To delete a symbol, DELETE/SYMBOL is used. By default, it works with local symbols; to delete a global symbol, specify /GLOBAL.<br />
<br />
=Displaying Symbols=<br />
SHOW SYMBOL displays the symbol passed as the parameters (wildcards * and % can be used) or all symbols if /ALL is used.<br />
<br />
=See also=<br />
* {{Template:Userman}}</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=CLI&diff=1226CLI2019-07-18T11:23:18Z<p>Darya.zelenina: fixed a link</p>
<hr />
<div>'''CLI''', or '''Command Line Interpreter''', is a piece of software responsible for parsing user input on the command line and taking the required action (such as invoking images). Even though OpenVMS provides a possibility of using multiple CLIs, only [[DCL]] CLI is supplied with OpenVMS.<br />
<br />
=Command Line Elements=<br />
After interpreting [[Logical Name|logical names]] and [[Symbol|symbols]], every word or symbol entered by the user on the command line is identified as one of the following elements:<br />
<br />
==Verb==<br />
Command verb is the first and the only indispensable element on the command line.<br />
<br />
==Keyword==<br />
Keywords accompany some command verbs with a very broad sense such as SET or SHOW and follow the command verb immediately delimited with a space.<br />
<br />
==Parameter==<br />
The purpose of parameters is to provide objects for the command verb to perform operations on (such as symbols, logical names, files and other objects). Parameters can appear anywhere on the command line after the command verb and keywords delimited with a space. Parameters in a list are delimited with a comma but no spaces.<br />
<br />
==Qualifier==<br />
Qualifiers (similar to options in other OSs) serve to change the behavior of the command verb. They are delimited with slashes (/) and (optional) spaces. Sometimes the qualifier position matters:<br />
<br />
* command qualifiers appear after the command verb or keywords and change the meaning of the entire command (<nowiki>PRINT/COPIES=3 FILE1,FILE2</nowiki> prints three copies of both files)<br />
* positional qualifiers change the meaning of the command line element they follow (e.g. if they appear after a certain parameter they change the meaning (<nowiki>PRINT FILE1/COPIES=3,FILE2</nowiki> prints three copies of FILE1 but one copy of FILE2)<br />
<br />
=CLI Symbols=<br />
[[Symbol|Symbols]] are stored in the CLI symbol table. The size of this table is defined in the system parameter [[CLISYMTBL]]. In any process, CLI defines the following reserved symbols:<br />
<br />
* [[$STATUS]]<br />
* [[$SEVERITY]]<br />
* [[$RESTART]]<br />
<br />
In a batch process, CLI defines symbols [[P1]] through [[P8]] that allow access to the batch job parameters.<br />
<br />
=Symbol Interpretation=<br />
Certain elements on the command line follow this order of interpretation by CLI: <br />
<br />
local [[Symbol|symbol]] - global [[Symbol|symbol]] - [[DCL Tables]] - [[DCL$PATH]]<br />
<br />
Here they are:<br />
<br />
* on the right side of an assignment statement (=)<br />
* in an argument for a [[Lexical Functions|lexical function]]<br />
* in a [[DEPOSIT]], [[EXAMINE]], or [[WRITE]] command<br />
* at the beginning of a command line when the string is not followed by an equal sign (=) or a colon (:)<br />
* in the brackets on the left side of an assignment statement when you are performing substring substitution or numeric overlays<br />
<br />
In all other cases words appearing on the command line are treated as [[#Command Line Elements|Command Line Elements]]: for example, any word appearing after TYPE that is not preceded by a slash to indicate that it is a qualifier is considered to be the parameter of a TYPE command, i.e. a file residing in the default directory (or a logical name that points to a file):<br />
<br />
<nowiki><br />
$ type my_symbol<br />
%TYPE-W-SEARCHFAIL, error searching for DKA0:[TEST]MY_SYMBOL.LIS;<br />
-RMS-E-FNF, file not found<br />
</nowiki><br />
<br />
To force symbol substitution on the command line, use single brackets:<br />
<br />
<nowiki><br />
$ type 'my_symbol'<br />
This is a file.<br />
</nowiki><br />
<br />
=Process Permanent Files=<br />
<br />
CLI initializes the following process permanent files and logical names for them:<br />
* [[SYS$INPUT]]<br />
* [[SYS$OUTPUT]]<br />
* [[SYS$ERROR]]<br />
* [[SYS$COMMAND]]<br />
<br />
=Prompt=<br />
A prompt is a symbol that appears on the command line prompting the user to take action. The default prompt defined by DCL is "$". It can be changed with [[SET PROMPT]]; some commands that require user input (such as [[INQUIRE]] or [[READ SYS$COMMAND]]) allow you to set a different prompt for the duration of that command.<br />
<br />
=Commands Executed Inside the CLI=<br />
<br />
The following commands are executed inside the CLI, which means they do not invoke images:<br />
<br />
* = ([[Symbol|symbol]] assignment)<br />
* [[ALLOCATE]]<br />
* [[ASSIGN]]<br />
* [[ATTACH]]<br />
* [[CALL]]<br />
* [[CANCEL]]<br />
* [[CLOSE]]<br />
* [[CONNECT]] <br />
* [[CONTINUE]]<br />
* CREATE/LOGICAL_NAME_TABLE<br />
* [[DEALLOCATE]]<br />
* [[DEASSIGN]]<br />
* [[DEBUG]]<br />
* [[DECK]]<br />
* [[DEFINE]]<br />
* [[DEFINE/KEY]] <br />
* DELETE/[[SYMBOL]] <br />
* [[DISCONNECT]]<br />
* [[ELSE]] <br />
* [[ENDIF]] <br />
* [[ENDSUBROUTINE]]<br />
* [[EOD]] <br />
* [[EXAMINE]] <br />
* [[EXIT]]<br />
* [[GOSUB]] <br />
* [[GOTO]] <br />
* [[IF]]<br />
* [[INQUIRE]] <br />
* [[ON]] <br />
* [[OPEN]]<br />
* [[READ]] <br />
* [[RECALL]] <br />
* [[RETURN]]<br />
* [[SET CONTROL]] <br />
* [[SET DEFAULT]] <br />
* [[SET KEY]]<br />
* [[SET ON]]<br />
* [[SET OUTPUT_RATE]] <br />
* [[SET PROMPT]]<br />
* [[SET PROTECTION/DEFAULT]] <br />
* [[SET SYMBOL/SCOPE]] <br />
* [[SET UIC]]<br />
* [[SET VERIFY]] <br />
* [[SHOW DEFAULT]] <br />
* [[SHOW KEY]]<br />
* [[SHOW PROTECTION]] <br />
* [[SHOW QUOTA]]<br />
* [[SHOW STATUS]]<br />
* [[SHOW SYMBOL]] <br />
* [[SHOW TIME]] <br />
* [[SHOW TRANSLATION]]<br />
* [[SPAWN]] <br />
* [[STOP]] <br />
* [[SUBROUTINE]]<br />
* [[THEN]] <br />
* [[WAIT]] <br />
* [[WRITE]]<br />
<br />
=See also=<br />
* {{Template:Userman}}</div>Darya.zeleninahttps://wiki.vmssoftware.com/index.php?title=CLI&diff=1225CLI2019-07-18T11:22:35Z<p>Darya.zelenina: added prompt information</p>
<hr />
<div>'''CLI''', or '''Command Line Interpreter''', is a piece of software responsible for parsing user input on the command line and taking the required action (such as invoking images). Even though OpenVMS provides a possibility of using multiple CLIs, only [[DCL]] CLI is supplied with OpenVMS.<br />
<br />
=Command Line Elements=<br />
After interpreting [[Logical Name|logical names]] and [[Symbol|symbols]], every word or symbol entered by the user on the command line is identified as one of the following elements:<br />
<br />
==Verb==<br />
Command verb is the first and the only indispensable element on the command line.<br />
<br />
==Keyword==<br />
Keywords accompany some command verbs with a very broad sense such as SET or SHOW and follow the command verb immediately delimited with a space.<br />
<br />
==Parameter==<br />
The purpose of parameters is to provide objects for the command verb to perform operations on (such as symbols, logical names, files and other objects). Parameters can appear anywhere on the command line after the command verb and keywords delimited with a space. Parameters in a list are delimited with a comma but no spaces.<br />
<br />
==Qualifier==<br />
Qualifiers (similar to options in other OSs) serve to change the behavior of the command verb. They are delimited with slashes (/) and (optional) spaces. Sometimes the qualifier position matters:<br />
<br />
* command qualifiers appear after the command verb or keywords and change the meaning of the entire command (<nowiki>PRINT/COPIES=3 FILE1,FILE2</nowiki> prints three copies of both files)<br />
* positional qualifiers change the meaning of the command line element they follow (e.g. if they appear after a certain parameter they change the meaning (<nowiki>PRINT FILE1/COPIES=3,FILE2</nowiki> prints three copies of FILE1 but one copy of FILE2)<br />
<br />
=CLI Symbols=<br />
[[Symbol|Symbols]] are stored in the CLI symbol table. The size of this table is defined in the system parameter [[CLISYMTBL]]. In any process, CLI defines the following reserved symbols:<br />
<br />
* [[$STATUS]]<br />
* [[$SEVERITY]]<br />
* [[$RESTART]]<br />
<br />
In a batch process, CLI defines symbols [[P1]] through [[P8]] that allow access to the batch job parameters.<br />
<br />
=Symbol Interpretation=<br />
Certain elements on the command line follow this order of interpretation by CLI: <br />
<br />
local [[Symbol|symbol]] - global [[Symbol|symbol]] - [[DCL Tables]] - [[DCL$PATH]]<br />
<br />
Here they are:<br />
<br />
* on the right side of an assignment statement (=)<br />
* in an argument for a [[Lexical Function|lexical function]]<br />
* in a [[DEPOSIT]], [[EXAMINE]], or [[WRITE]] command<br />
* at the beginning of a command line when the string is not followed by an equal sign (=) or a colon (:)<br />
* in the brackets on the left side of an assignment statement when you are performing substring substitution or numeric overlays<br />
<br />
In all other cases words appearing on the command line are treated as [[#Command Line Elements|Command Line Elements]]: for example, any word appearing after TYPE that is not preceded by a slash to indicate that it is a qualifier is considered to be the parameter of a TYPE command, i.e. a file residing in the default directory (or a logical name that points to a file):<br />
<br />
<nowiki><br />
$ type my_symbol<br />
%TYPE-W-SEARCHFAIL, error searching for DKA0:[TEST]MY_SYMBOL.LIS;<br />
-RMS-E-FNF, file not found<br />
</nowiki><br />
<br />
To force symbol substitution on the command line, use single brackets:<br />
<br />
<nowiki><br />
$ type 'my_symbol'<br />
This is a file.<br />
</nowiki><br />
<br />
=Process Permanent Files=<br />
<br />
CLI initializes the following process permanent files and logical names for them:<br />
* [[SYS$INPUT]]<br />
* [[SYS$OUTPUT]]<br />
* [[SYS$ERROR]]<br />
* [[SYS$COMMAND]]<br />
<br />
=Prompt=<br />
A prompt is a symbol that appears on the command line prompting the user to take action. The default prompt defined by DCL is "$". It can be changed with [[SET PROMPT]]; some commands that require user input (such as [[INQUIRE]] or [[READ SYS$COMMAND]]) allow you to set a different prompt for the duration of that command.<br />
<br />
=Commands Executed Inside the CLI=<br />
<br />
The following commands are executed inside the CLI, which means they do not invoke images:<br />
<br />
* = ([[Symbol|symbol]] assignment)<br />
* [[ALLOCATE]]<br />
* [[ASSIGN]]<br />
* [[ATTACH]]<br />
* [[CALL]]<br />
* [[CANCEL]]<br />
* [[CLOSE]]<br />
* [[CONNECT]] <br />
* [[CONTINUE]]<br />
* CREATE/LOGICAL_NAME_TABLE<br />
* [[DEALLOCATE]]<br />
* [[DEASSIGN]]<br />
* [[DEBUG]]<br />
* [[DECK]]<br />
* [[DEFINE]]<br />
* [[DEFINE/KEY]] <br />
* DELETE/[[SYMBOL]] <br />
* [[DISCONNECT]]<br />
* [[ELSE]] <br />
* [[ENDIF]] <br />
* [[ENDSUBROUTINE]]<br />
* [[EOD]] <br />
* [[EXAMINE]] <br />
* [[EXIT]]<br />
* [[GOSUB]] <br />
* [[GOTO]] <br />
* [[IF]]<br />
* [[INQUIRE]] <br />
* [[ON]] <br />
* [[OPEN]]<br />
* [[READ]] <br />
* [[RECALL]] <br />
* [[RETURN]]<br />
* [[SET CONTROL]] <br />
* [[SET DEFAULT]] <br />
* [[SET KEY]]<br />
* [[SET ON]]<br />
* [[SET OUTPUT_RATE]] <br />
* [[SET PROMPT]]<br />
* [[SET PROTECTION/DEFAULT]] <br />
* [[SET SYMBOL/SCOPE]] <br />
* [[SET UIC]]<br />
* [[SET VERIFY]] <br />
* [[SHOW DEFAULT]] <br />
* [[SHOW KEY]]<br />
* [[SHOW PROTECTION]] <br />
* [[SHOW QUOTA]]<br />
* [[SHOW STATUS]]<br />
* [[SHOW SYMBOL]] <br />
* [[SHOW TIME]] <br />
* [[SHOW TRANSLATION]]<br />
* [[SPAWN]] <br />
* [[STOP]] <br />
* [[SUBROUTINE]]<br />
* [[THEN]] <br />
* [[WAIT]] <br />
* [[WRITE]]<br />
<br />
=See also=<br />
* {{Template:Userman}}</div>Darya.zelenina